Skip to content

Releases: Tobi-De/fujin

v0.13.2

Choose a tag to compare

@github-actions github-actions released this 29 Nov 10:37

🐛 Bug Fixes

  • Hanging interactive shell on 3.14

v0.13.1

Choose a tag to compare

@github-actions github-actions released this 28 Nov 08:33

🐛 Bug Fixes

  • Broken cli because of missing gevent

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 27 Nov 23:03

Release Notes

New Features

Ejectable Defaults & Configuration Management

Fujin has adopted an "ejectable defaults" philosophy. This means you now have full control over the configuration files (Systemd units, Caddyfile) used to deploy your application.

  • fujin init: Now generates a .fujin/ directory containing Jinja2 templates for your services and web server configuration.
  • fujin.toml: Remains the source of truth for high-level configuration (domain, user, processes), while the templates in .fujin/ define the implementation details.
  • Custom Templates: You can edit the files in .fujin/ to customize your deployment (e.g., adding specific Caddy directives or Systemd options).

Enhanced Process Configuration

The [processes] section in fujin.toml now supports a dictionary format, allowing for more granular control over each process.

Old Format:

[processes]
web = "gunicorn myapp.wsgi:application"
worker = "celery -A myapp worker"

New Format:

[processes]
web = { command = "gunicorn myapp.wsgi:application", socket = true }
worker = { command = "celery -A myapp worker", replicas = 2 }
  • command: The command to run.
  • socket: (Optional) Enable socket activation for this process.
  • replicas: (Optional) Number of replicas to run (future support).
  • timer: (Optional) Systemd timer schedule (e.g., "OnCalendar=daily").

Custom Caddy Configuration Path

You can now specify a custom directory for Caddy configuration files on the server.

[webserver]
config_dir = "/etc/caddy/custom_conf.d"

Bug Fixes

  • Fixed a critical bug in deploy.py where rm -r was called without arguments during pruning, causing deployment failures on fresh installs.
  • Fixed an issue where the deploy command would fail if the releases directory was empty.

Internal Improvements

  • Testing: Migrated the test suite to use inline-snapshot for more robust and readable tests.
  • CI/CD: Added GitHub Actions workflow for automated testing.

v0.12.0

Choose a tag to compare

@Tobi-De Tobi-De released this 08 Mar 21:48

🚀 Features

  • Add process name to systemd service
  • Add fujin version info
  • Set system as the default secrets adapter
  • Add system secret reader

🐛 Bug Fixes

  • Env content parse logic

🚜 Refactor

  • Rename env_content to env

📚 Documentation

  • Apply a more consistent writing style

Full Changelog: v0.10.0...v0.12.0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 24 Nov 18:09

🚀 Features

  • Add doppler support to secrets

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 23 Nov 10:47

🚜 Refactor

  • Drop configurable proxy manager

📚 Documentation

  • Add links to template systemd service files

⚡ Performance

  • Run systemd commands concurrently using gevent

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 23 Nov 09:19

🚀 Features

  • Env content can be define directly in toml

🚜 Refactor

  • Avoid running secret adapter if no secret placeholder is found

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Nov 07:38

🚀 Features

  • Rewrite hooks (#30)

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 23 Nov 07:02

🐛 Bug Fixes

  • Broken .venv folder can fail deploy

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 22 Nov 18:01

🚀 Features

  • Inject secrets via bitwarden and 1password (#29)
  • Add certbot_email configuration for nginx

🚜 Refactor

  • Move requirements copy to transfer_files