frontblok-deploy
Deployment engine for React SPA frontends. Extracts all reusable deployment infrastructure into one Python package.
One package. One pattern. Every frontend.
What it owns
- Dockerfile — Multi-stage node:20-alpine → nginx:1.25-alpine build
- nginx.conf — Security-hardened config with parameterized CSP
- k8s/deployment.yaml — Full Kubernetes manifest with placeholder replacement
- Deploy engine — The 10-step chain: env → validate → generate files → git sha → docker build → push → namespace → secret → apply → rollout
What each app provides
Each frontend repo's deploy.py is pure config — declaring what makes THIS app different:
#!/usr/bin/env python3
from frontblok_deploy import FrontendDeployer
FrontendDeployer(
vite_args=[
"VITE_DATABASE_API_URL",
"VITE_BUSINESS_LOGIC_API_URL",
"VITE_GOOGLE_CLIENT_ID",
],
required_vars=[
"VITE_DATABASE_API_URL",
"VITE_GOOGLE_CLIENT_ID",
],
csp_sources={
"script_src": "https://js.stripe.com https://accounts.google.com https://apis.google.com https://cdn.jsdelivr.net",
"style_src": "https://fonts.googleapis.com https://accounts.google.com https://cdn.jsdelivr.net",
"font_src": "https://fonts.gstatic.com https://fonts.googleapis.com",
"frame_src": "https://js.stripe.com https://hooks.stripe.com https://accounts.google.com",
},
).deploy()
That's it. No Dockerfile, no nginx.conf, no K8s manifest needed in the repo. The package generates them at deploy time.
Install
pip install frontblok-deploy
# or for development
pip install -e /path/to/frontblok-deploy
Release files for frontblok-deploy 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| frontblok_deploy-0.4.3.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| frontblok_deploy-0.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.7 kB
Release files / frontblok_deploy-0.4.3.tar.gz
| Download URL | frontblok_deploy-0.4.3.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5261230f13a8f8c8d0c09cc99428c372e37e52612ddb4461b5953de1b6881ef7
|
|
BLAKE2b-256 checksum How to use checksums |
183228546727a09ae43a03eb489bb0e7b1740b308fde56c85e030371037a1307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / frontblok_deploy-0.4.3-py3-none-any.whl
| Download URL | frontblok_deploy-0.4.3-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a9d79bf1fb1fed94dc91f13c22f2a5e85b397f4afc4be757e1f896379ebeeb1
|
|
BLAKE2b-256 checksum How to use checksums |
a5214a0072c62c052042be83b62cc234ab34dcf7afd6b412b38902eb5773a765
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|