Skip to content

Configuration

After initialization, tsukatsuki will generate a file with the name of tsukatsuki.yaml. This config file will be needed and used for a lot of tsukatsuki command, making it mandatory.

YAML Structure

tsukatsuki.yaml example

project:
  name: tsukatsuki-test
  port: 5500
  runtime: go
  build_image: golang:1.24.4-bookworm
  entrypoint: ./cmd/api/main.go
server:
  ip: 2407:6ac0:3:9d:abcd::1c7
  setup_user: setup
  ssh_port: 2222
  security: true
proxy:
  type: caddy
  domain: app.example.com
  docker_image: caddy:2.10.2-alpine
  acme_email: admin@example.com
services:
- name: postgresql
  docker_image: postgres:18.0-alpine
- name: redis
  docker_image: redis:8.2-alpine3.22
- name: rabbitmq
  docker_image: rabbitmq:4.2-management-alpine
- name: minio
  docker_image: minio/minio:RELEASE.2025-09-07T16-13-09Z
path:
  local_path: /home/alie/code/golang/tsukatsuki-test
  remote_path: /home/tsukatsuki/tsukatsuki
  output_dir: deploy
  env_file: .env
github_actions:
- type: actions-cd
- type: actions-ci
Key Description Available Values
project.name Used for naming, identification, and grouping deployment resources.
project.port Port the application listens on inside the container.
project.runtime Application runtime type that determines build and execution behavior. go, node
project.build_image Base Docker image used to build the application Docker image.
project.entrypoint File or executable used to start the application.
server.ip IP address of the target deployment server. Supports IPv4 and IPv6.
server.setup_user System user used for deployment and file ownership. Root user is not allowed.
server.ssh_port SSH port used for remote server access.
server.security When enabled, tsukatsuki generate produces additional security Ansible roles. true, false
proxy.type Reverse proxy implementation used to expose the application. traefik, caddy
proxy.domain Public domain assigned to the application.
proxy.docker_image Docker image used to run the reverse proxy.
proxy.acme_email Email address used for automatic TLS certificate registration.
services List of dependent services required by the application.
services[].name Logical service name used for identification and internal networking. postgresql, redis, rabbitmq, minio
services[].docker_image Docker image used to run the service.
path.local_path Local filesystem path containing the project source.
path.remote_path Remote filesystem path where the project is deployed.
path.output_dir Directory where deployment artifacts are generated.
path.env_file Environment variable file loaded at runtime.
github_actions List of GitHub Actions workflows enabled for the project.
github_actions[].type Type of GitHub Actions workflow to be generated. actions-ci, actions-cd

Generated .env

Some services will need environments to be able to work, this too can include the application that will be deployed. After generating configuration, be it via init or generate command. This .env will be used in the project-compose.yaml that will be generated, and will need manual configuration from the user.