djaploy 1.2.9__tar.gz → 1.3.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.
- {djaploy-1.2.9 → djaploy-1.3.0}/PKG-INFO +2 -2
- {djaploy-1.2.9 → djaploy-1.3.0}/README.md +1 -1
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/config.py +1 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/infra/djaploy_hooks.py +5 -0
- djaploy-1.3.0/djaploy/version.py +1 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy.egg-info/PKG-INFO +2 -2
- {djaploy-1.2.9 → djaploy-1.3.0}/pyproject.toml +1 -1
- djaploy-1.2.9/djaploy/version.py +0 -1
- {djaploy-1.2.9 → djaploy-1.3.0}/LICENSE +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/app.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/borg/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/borg/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/borg/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/janitor/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/janitor/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/janitor/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/janitor/infra/commands/createjanitoruser.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/janitor/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/nginx/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/nginx/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/nginx/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/nginx/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/rclone/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/rclone/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/rclone/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/rclone/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/sync_certs/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/sync_certs/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/sync_certs/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/sync_certs/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/systemd/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/systemd/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/systemd/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/systemd/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/tailscale/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/tailscale/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/tailscale/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/tailscale/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/versioning/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/versioning/apps.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/versioning/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/apps/versioning/infra/djaploy_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/artifact.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/bin/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/bin/django_pyinfra.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/bin/gunicornherder.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/builtin_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/certificates.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/changelog.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/_utils.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/activate.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/configure.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/deploy.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/restore.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/rollback.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/status.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/commands/sync_certs.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/deploy.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/discovery.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/infra/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/infra/bluegreen.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/infra/templates.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/infra/utils.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/commands/__init__.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/commands/djaploy.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/commands/restore_backup.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/commands/sync_certs.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/commands/update_certs.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/commands/verify.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/management/utils.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/notifications.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/utils.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy/versioning.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy.egg-info/SOURCES.txt +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy.egg-info/dependency_links.txt +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy.egg-info/entry_points.txt +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy.egg-info/requires.txt +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/djaploy.egg-info/top_level.txt +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/setup.cfg +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_bluegreen.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_borg.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_config.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_deploy_scripts.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_discovery.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_gunicornherder.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_hooks.py +0 -0
- {djaploy-1.2.9 → djaploy-1.3.0}/tests/test_versioning.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: djaploy
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Modular Django deployment system based on pyinfra
|
|
5
5
|
Author-email: Johanna Mae Dimayuga <johanna@techco.fi>
|
|
6
6
|
License: MIT License
|
|
@@ -204,7 +204,7 @@ All deployment configuration lives on `djaploy.config.HostConfig`. Commonly used
|
|
|
204
204
|
| `shared_resources` | — | Extra paths symlinked from `shared/` |
|
|
205
205
|
| `db_dir` | — | External database directory template |
|
|
206
206
|
| `gunicorn_conf` | — | `workers`, `timeout`, `umask`, `wsgi_module`, `health_check_*` |
|
|
207
|
-
| `nginx_conf` | — | `server_name`, `listen`, `client_max_body_size`, `custom` |
|
|
207
|
+
| `nginx_conf` | — | `server_name`, `listen`, `client_max_body_size`, `static_path`, `media_path`, `custom` |
|
|
208
208
|
| `core_conf` | — | `poetry_no_root`, `exclude_groups`, `poetry_lock`, `databases` |
|
|
209
209
|
| `versioning_conf` / `notifications_conf` | — | See [Release Notifications & Versioning](#release-notifications--versioning) |
|
|
210
210
|
| `backup` / `borg_backup` | — | `BackupConfig` / `BorgBackupConfig` |
|
|
@@ -142,7 +142,7 @@ All deployment configuration lives on `djaploy.config.HostConfig`. Commonly used
|
|
|
142
142
|
| `shared_resources` | — | Extra paths symlinked from `shared/` |
|
|
143
143
|
| `db_dir` | — | External database directory template |
|
|
144
144
|
| `gunicorn_conf` | — | `workers`, `timeout`, `umask`, `wsgi_module`, `health_check_*` |
|
|
145
|
-
| `nginx_conf` | — | `server_name`, `listen`, `client_max_body_size`, `custom` |
|
|
145
|
+
| `nginx_conf` | — | `server_name`, `listen`, `client_max_body_size`, `static_path`, `media_path`, `custom` |
|
|
146
146
|
| `core_conf` | — | `poetry_no_root`, `exclude_groups`, `poetry_lock`, `databases` |
|
|
147
147
|
| `versioning_conf` / `notifications_conf` | — | See [Release Notifications & Versioning](#release-notifications--versioning) |
|
|
148
148
|
| `backup` / `borg_backup` | — | `BackupConfig` / `BorgBackupConfig` |
|
|
@@ -176,6 +176,7 @@ class HostConfig(tuple, metaclass=HostConfigMetaclass):
|
|
|
176
176
|
manage_py_path: str = "manage.py" # Relative path to manage.py in the artifact
|
|
177
177
|
db_dir: Optional[str] = None # External database directory template
|
|
178
178
|
generate_local_settings: bool = False # Generate local.py with DATABASES, ALLOWED_HOSTS, etc.
|
|
179
|
+
secret_key: Optional[str] = None # Django SECRET_KEY value (e.g. OpSecret) injected into generated local.py
|
|
179
180
|
shared_resources: Optional[List[str]] = None # Paths to symlink from shared/
|
|
180
181
|
|
|
181
182
|
# Per-module configuration (merged with defaults)
|
|
@@ -562,6 +562,11 @@ def generate_local_settings(host_data, artifact_path):
|
|
|
562
562
|
|
|
563
563
|
lines.append("DEBUG = False\n")
|
|
564
564
|
|
|
565
|
+
secret_key = getattr(host_data, "secret_key", None)
|
|
566
|
+
if secret_key:
|
|
567
|
+
# str() resolves an OpSecret to its value; repr safely quotes/escapes it.
|
|
568
|
+
lines.append(f"SECRET_KEY = {str(secret_key)!r}\n")
|
|
569
|
+
|
|
565
570
|
if is_zero_downtime(host_data) or is_bluegreen(host_data):
|
|
566
571
|
static_path, media_path = get_static_media_paths(host_data)
|
|
567
572
|
lines.append(f'STATIC_ROOT = "{static_path}"\n')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.3.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: djaploy
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Modular Django deployment system based on pyinfra
|
|
5
5
|
Author-email: Johanna Mae Dimayuga <johanna@techco.fi>
|
|
6
6
|
License: MIT License
|
|
@@ -204,7 +204,7 @@ All deployment configuration lives on `djaploy.config.HostConfig`. Commonly used
|
|
|
204
204
|
| `shared_resources` | — | Extra paths symlinked from `shared/` |
|
|
205
205
|
| `db_dir` | — | External database directory template |
|
|
206
206
|
| `gunicorn_conf` | — | `workers`, `timeout`, `umask`, `wsgi_module`, `health_check_*` |
|
|
207
|
-
| `nginx_conf` | — | `server_name`, `listen`, `client_max_body_size`, `custom` |
|
|
207
|
+
| `nginx_conf` | — | `server_name`, `listen`, `client_max_body_size`, `static_path`, `media_path`, `custom` |
|
|
208
208
|
| `core_conf` | — | `poetry_no_root`, `exclude_groups`, `poetry_lock`, `databases` |
|
|
209
209
|
| `versioning_conf` / `notifications_conf` | — | See [Release Notifications & Versioning](#release-notifications--versioning) |
|
|
210
210
|
| `backup` / `borg_backup` | — | `BackupConfig` / `BorgBackupConfig` |
|
djaploy-1.2.9/djaploy/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.2.9"
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|