fujin-cli 0.11.5__tar.gz → 0.12.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fujin-cli might be problematic. Click here for more details.

Files changed (86) hide show
  1. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/CHANGELOG.md +4 -21
  2. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/PKG-INFO +1 -1
  3. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/pyproject.toml +5 -5
  4. fujin_cli-0.12.0/src/fujin/__init__.py +1 -0
  5. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/__main__.py +3 -2
  6. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/systemd.py +1 -1
  7. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/templates/simple.service +0 -1
  8. {fujin_cli-0.11.5/src/fujin/templates/gunicorn → fujin_cli-0.12.0/src/fujin/templates}/web.service +4 -4
  9. {fujin_cli-0.11.5/src/fujin/templates/gunicorn → fujin_cli-0.12.0/src/fujin/templates}/web.socket +1 -1
  10. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/uv.lock +1 -1
  11. fujin_cli-0.11.5/src/fujin/__init__.py +0 -0
  12. fujin_cli-0.11.5/src/fujin/templates/granian/web.service +0 -22
  13. fujin_cli-0.11.5/src/fujin/templates/web.service +0 -22
  14. fujin_cli-0.11.5/src/fujin/templates/web.socket +0 -11
  15. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/.github/workflows/publish.yml +0 -0
  16. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/.gitignore +0 -0
  17. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/.pre-commit-config.yaml +0 -0
  18. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/.readthedocs.yaml +0 -0
  19. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/LICENSE.txt +0 -0
  20. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/README.md +0 -0
  21. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/Vagrantfile +0 -0
  22. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/changelog.rst +0 -0
  23. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/app.rst +0 -0
  24. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/config.rst +0 -0
  25. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/deploy.rst +0 -0
  26. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/docs.rst +0 -0
  27. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/down.rst +0 -0
  28. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/index.rst +0 -0
  29. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/init.rst +0 -0
  30. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/printenv.rst +0 -0
  31. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/proxy.rst +0 -0
  32. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/prune.rst +0 -0
  33. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/redeploy.rst +0 -0
  34. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/rollback.rst +0 -0
  35. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/server.rst +0 -0
  36. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/commands/up.rst +0 -0
  37. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/conf.py +0 -0
  38. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/configuration.rst +0 -0
  39. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/hooks.rst +0 -0
  40. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/index.rst +0 -0
  41. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/installation.rst +0 -0
  42. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/requirements.txt +0 -0
  43. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/secrets.rst +0 -0
  44. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/docs/tutorial.rst +0 -0
  45. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/README.md +0 -0
  46. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/bookstore/__init__.py +0 -0
  47. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/bookstore/__main__.py +0 -0
  48. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/bookstore/asgi.py +0 -0
  49. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/bookstore/settings.py +0 -0
  50. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/bookstore/urls.py +0 -0
  51. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/bookstore/wsgi.py +0 -0
  52. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/fujin.toml +0 -0
  53. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/manage.py +0 -0
  54. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/pyproject.toml +0 -0
  55. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/django/bookstore/requirements.txt +0 -0
  56. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/golang/pocketbase/.env.prod +0 -0
  57. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/examples/golang/pocketbase/fujin.toml +0 -0
  58. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/justfile +0 -0
  59. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/__init__.py +0 -0
  60. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/_base.py +0 -0
  61. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/app.py +0 -0
  62. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/config.py +0 -0
  63. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/deploy.py +0 -0
  64. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/docs.py +0 -0
  65. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/down.py +0 -0
  66. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/init.py +0 -0
  67. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/printenv.py +0 -0
  68. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/proxy.py +0 -0
  69. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/prune.py +0 -0
  70. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/redeploy.py +0 -0
  71. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/rollback.py +0 -0
  72. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/server.py +0 -0
  73. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/commands/up.py +0 -0
  74. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/config.py +0 -0
  75. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/connection.py +0 -0
  76. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/errors.py +0 -0
  77. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/hooks.py +0 -0
  78. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/proxies/__init__.py +0 -0
  79. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/proxies/caddy.py +0 -0
  80. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/proxies/dummy.py +0 -0
  81. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/proxies/nginx.py +0 -0
  82. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/secrets/__init__.py +0 -0
  83. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/secrets/bitwarden.py +0 -0
  84. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/secrets/dopppler.py +0 -0
  85. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/secrets/onepassword.py +0 -0
  86. {fujin_cli-0.11.5 → fujin_cli-0.12.0}/src/fujin/secrets/system.py +0 -0
@@ -4,36 +4,19 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [0.11.4] - 2025-03-08
8
-
9
- ### 🐛 Bug Fixes
10
-
11
- - No mutable default
12
-
13
- ## [0.11.3] - 2025-03-08
14
-
15
- ### Cfeat
16
-
17
- - Add fujin version info
18
-
19
- ## [0.11.2] - 2025-03-08
7
+ ## [unreleased]
20
8
 
21
9
  ### 🚀 Features
22
10
 
11
+ - Add process name to systemd service
12
+ - Add fujin version info
23
13
  - Set system as the default secrets adapter
24
-
25
- ## [0.11.1] - 2025-03-08
14
+ - Add system secret reader
26
15
 
27
16
  ### 🐛 Bug Fixes
28
17
 
29
18
  - Env content parse logic
30
19
 
31
- ## [0.11.0] - 2025-03-08
32
-
33
- ### 🚀 Features
34
-
35
- - Add system secret reader
36
-
37
20
  ### 🚜 Refactor
38
21
 
39
22
  - Rename env_content to env
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fujin-cli
3
- Version: 0.11.5
3
+ Version: 0.12.0
4
4
  Summary: Get your project up and running in a few minutes on your own vps.
5
5
  Project-URL: Documentation, https://github.com/falcopackages/fujin#readme
6
6
  Project-URL: Issues, https://github.com/falcopackages/fujin/issues
@@ -7,7 +7,7 @@ requires = [
7
7
 
8
8
  [project]
9
9
  name = "fujin-cli"
10
- version = "0.11.5"
10
+ version = "0.12.0"
11
11
  description = "Get your project up and running in a few minutes on your own vps."
12
12
  readme = "README.md"
13
13
  keywords = [
@@ -152,7 +152,7 @@ lint.isort.required-imports = [
152
152
  lint.pyupgrade.keep-runtime-typing = true
153
153
 
154
154
  [tool.bumpversion]
155
- current_version = "0.11.5"
155
+ current_version = "0.12.0"
156
156
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
157
157
  serialize = [
158
158
  "{major}.{minor}.{patch}",
@@ -177,9 +177,9 @@ search = 'version = "{current_version}"'
177
177
  replace = 'version = "{new_version}"'
178
178
 
179
179
  [[tool.bumpversion.files]]
180
- filename = "src/fujin/__main__.py"
181
- replace = 'version="{new_version}"'
182
- search = 'version="{current_version}"'
180
+ filename = "src/fujin/__init__.py"
181
+ replace = '__version__ = "{new_version}"'
182
+ search = '__version__ = "{current_version}"'
183
183
 
184
184
  [tool.mypy]
185
185
  check_untyped_defs = true
@@ -0,0 +1 @@
1
+ __version__ = "0.12.0"
@@ -7,6 +7,7 @@ import sys
7
7
  from pathlib import Path
8
8
 
9
9
  import cappa
10
+ import fujin
10
11
 
11
12
  from fujin.commands.app import App
12
13
  from fujin.commands.config import ConfigCMD
@@ -50,9 +51,9 @@ class Fujin:
50
51
  def main():
51
52
  alias_cmd = _parse_aliases()
52
53
  if alias_cmd:
53
- cappa.invoke(Fujin, argv=alias_cmd, version="0.11.5")
54
+ cappa.invoke(Fujin, argv=alias_cmd, version=fujin.__version__)
54
55
  else:
55
- cappa.invoke(Fujin, version="0.11.5")
56
+ cappa.invoke(Fujin, version=fujin.__version__)
56
57
 
57
58
 
58
59
  def _parse_aliases() -> list[str] | None:
@@ -102,7 +102,7 @@ class ProcessManager:
102
102
  body = (
103
103
  local_config.read_text()
104
104
  if local_config.exists() and not ignore_local
105
- else template.format(**context, command=command)
105
+ else template.format(**context, command=command, process_name=name)
106
106
  )
107
107
  files.append((name, body))
108
108
  # if using unix then we are sure a web process was defined and the proxy is not dummy
@@ -1,7 +1,6 @@
1
1
  # All options are documented here https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html
2
2
  [Unit]
3
3
  Description={app_name} {process_name}
4
- After=network.target
5
4
 
6
5
  [Service]
7
6
  User={user}
@@ -1,13 +1,13 @@
1
1
  # All options are documented here https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html
2
2
  # Inspiration was taken from here https://docs.gunicorn.org/en/stable/deploy.html#systemd
3
3
  [Unit]
4
- Description={app_name} daemon
4
+ Description={app_name} {process_name}
5
5
  Requires={app_name}.socket
6
6
  After=network.target
7
7
 
8
8
  [Service]
9
- Type=notify
10
- NotifyAccess=main
9
+ #Type=notify
10
+ #NotifyAccess=main
11
11
  User={user}
12
12
  Group={user}
13
13
  RuntimeDirectory={app_name}
@@ -22,4 +22,4 @@ PrivateTmp=true
22
22
  ProtectSystem=strict
23
23
 
24
24
  [Install]
25
- WantedBy=multi-user.target
25
+ WantedBy=multi-user.target
@@ -8,4 +8,4 @@ SocketGroup=www-data
8
8
  SocketMode=0660
9
9
 
10
10
  [Install]
11
- WantedBy=sockets.target
11
+ WantedBy=sockets.target
@@ -478,7 +478,7 @@ wheels = [
478
478
 
479
479
  [[package]]
480
480
  name = "fujin-cli"
481
- version = "0.11.4"
481
+ version = "0.12.0"
482
482
  source = { editable = "." }
483
483
  dependencies = [
484
484
  { name = "cappa" },
File without changes
@@ -1,22 +0,0 @@
1
- # All options are documented here https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html
2
- # Inspiration was taken from here https://docs.gunicorn.org/en/stable/deploy.html#systemd
3
- [Unit]
4
- Description={app_name} daemon
5
- After=network.target
6
-
7
- [Service]
8
- User={user}
9
- Group={user}
10
- RuntimeDirectory={app_name}
11
- WorkingDirectory={app_dir}
12
- ExecStart={app_dir}/{command}
13
- EnvironmentFile={app_dir}/.env
14
- ExecReload=/bin/kill -s HUP $MAINPID
15
- KillMode=mixed
16
- TimeoutStopSec=5
17
- PrivateTmp=true
18
- # if your app does not need administrative capabilities, let systemd know
19
- ProtectSystem=strict
20
-
21
- [Install]
22
- WantedBy=multi-user.target
@@ -1,22 +0,0 @@
1
- # All options are documented here https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html
2
- # Inspiration was taken from here https://docs.gunicorn.org/en/stable/deploy.html#systemd
3
- [Unit]
4
- Description={app_name} daemon
5
- After=network.target
6
-
7
- [Service]
8
- User={user}
9
- Group={user}
10
- RuntimeDirectory={app_name}
11
- WorkingDirectory={app_dir}
12
- ExecStart={app_dir}/{command}
13
- EnvironmentFile={app_dir}/.env
14
- ExecReload=/bin/kill -s HUP $MAINPID
15
- KillMode=mixed
16
- TimeoutStopSec=5
17
- PrivateTmp=true
18
- # if your app does not need administrative capabilities, let systemd know
19
- ProtectSystem=strict
20
-
21
- [Install]
22
- WantedBy=multi-user.target
@@ -1,11 +0,0 @@
1
- [Unit]
2
- Description={app_name} socket
3
-
4
- [Socket]
5
- ListenStream=/run/{app_name}.sock
6
- SocketUser=www-data
7
- SocketGroup=www-data
8
- SocketMode=0660
9
-
10
- [Install]
11
- WantedBy=sockets.target
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes