Installation
helm upgrade --install by-other-means ./helm -n by-other-means --create-namespace
Secrets
Gitea Auth secret for pulling the container from the private registry (namespace-scoped, so this needs to be created once per namespace):
kubectl -n by-other-means \
create secret docker-registry gitea-auth \
--docker-server=https://gitea.pixelparasol.com \
--docker-username=nathan \
--docker-password=<redacted> \
--docker-email=nathan@pixelparasol.com
Build the image
npm run build
DOCKER_REGISTRY="gitea.pixelparasol.com/nathan/by-other-means" && CI_COMMIT_SHORT_SHA=$(git rev-parse --short HEAD)
docker buildx build --no-cache -f Dockerfile . --platform linux/amd64 -t $DOCKER_REGISTRY:latest -t $DOCKER_REGISTRY:$CI_COMMIT_SHORT_SHA
docker login gitea.pixelparasol.com
docker push $DOCKER_REGISTRY:$CI_COMMIT_SHORT_SHA; docker push $DOCKER_REGISTRY:latest
Troubleshooting
You may find yourself in a state where you need to do secret checks to see how they render.
adding the --dry-run=server argument to your upgrade will render the secret checks.
helm upgrade --install by-other-means ./helm -n by-other-means --dry-run=server
Helm Diff
Install the helm-diff plugin
helm plugin install https://github.com/databus23/helm-diff
view the diff if an upgrade were issued
helm diff upgrade by-other-means ./helm -n by-other-means
Deployment
The app can be deployed by tag by specifying it with --set
helm upgrade by-other-means ./helm -n by-other-means --set deploy.app.tag="v1.0.4"