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
|
|
```
|
|
|
|
Each subtree must live below the PVC mount at `/home/node`. Its `src/` directory
|
|
is mounted directly into NGINX, so edits are visible immediately. Stop an
|
|
instance and permanently remove all of its labeled Kubernetes resources with:
|
|
|
|
```bash
|
|
./dev/stop.sh hello
|
|
```
|
|
|
|
The scripts use namespace `vibes`, PVC `control-vibes-control-data`, PVC mount
|
|
root `/home/node`, and domain `control.k.mancave.link` by default. Override them
|
|
with `DEV_NAMESPACE`, `DEV_PVC`, `DEV_PVC_MOUNT_ROOT`, or `DEV_DOMAIN`.
|