45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# Minikube hello
|
|
|
|
A minimal NGINX application with separate production and live-edit
|
|
development deployments.
|
|
|
|
## Build and push
|
|
|
|
```bash
|
|
docker build -t git.fisoft.eu/ficik/minikube/hello:latest .
|
|
docker push git.fisoft.eu/ficik/minikube/hello:latest
|
|
```
|
|
|
|
## 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 ./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`.
|