add isolated live development deployments

This commit is contained in:
2026-07-21 20:58:12 +00:00
parent 12711bc3fa
commit 872529b3d9
16 changed files with 322 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
# Minikube hello
A minimal NGINX image deployed to Minikube with Helm at
`http://hello.k.mancave.link`.
A minimal NGINX application with separate production and live-edit
development deployments.
## Build and push
@@ -10,12 +10,35 @@ docker build -t git.fisoft.eu/ficik/minikube/hello:latest .
docker push git.fisoft.eu/ficik/minikube/hello:latest
```
## Deploy
## Production deployment
Create a `kubernetes.io/dockerconfigjson` pull secret named
`git-fisoft-registry` in the `hello` namespace with credentials for
`git.fisoft.eu`, then install the chart:
```bash
helm upgrade --install hello ./chart --namespace hello --create-namespace
helm upgrade --install hello ./deploy/helm --namespace hello --create-namespace
```
## Live development
Each development instance gets its own URL, Kubernetes label, and shared source
directory. The scripts default to the current repository directory name, or an
instance can be supplied explicitly:
```bash
./dev/start.sh hello
./dev/start.sh feature-one feature-one.control.k.mancave.link
```
Edits anywhere under `src/` are mirrored into the running NGINX pod. Stop an
instance and permanently remove its Kubernetes resources, sync process, and
shared files with:
```bash
./dev/stop.sh hello
```
The scripts use namespace `vibes`, PVC `control-vibes-control-data`, and domain
`control.k.mancave.link` by default. Override them with `DEV_NAMESPACE`,
`DEV_PVC`, `DEV_SHARED_ROOT`, `DEV_PVC_SUBPATH_ROOT`, or `DEV_DOMAIN`.