Configuration for my self-hosted software deployed to Kubernetes.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Rob Watson 1675199abd Update Gitea > 1.90.0 2 months ago
cert-manager Add Kustomize-managed ClusterIssuer 7 months ago
deploy Update Gitea > 1.90.0 2 months ago
kind Add solar-toolkit-gateway configuration 11 months ago
.gitignore Add basic Kustomize build flow 1 year ago
LICENSE Add LICENSE 12 months ago
README.md Config updates 2 months ago
picture.jpg Update README 1 year ago

README.md

Netflux on Kubernetes

This is a learning project to migrate the self-hosted services that I host at netflux.io to Kubernetes.

Me deploying my blog on Kubernetes

This repository contains the Kubernetes manifests, which are built using Kustomize. Helm chart dependencies are inflated and managed in this repository to improve observability. The cluster is deployed to DigitalOcean managed K8S in production, but can be easily applied to a local cluster for testing.

Building

The manifests can be built with:

make dev

and applied with:

make dev | kubectl apply -f -

Helm charts

When required, helm charts can be inflated with:

# install or update the prometheus helm chart:
make inflate name=prometheus chart=prometheus-community/prometheus

An optional values file can be provided in deploy/base/values/prometheus.yaml (update the helm chart name accordingly).

Cluster setup

cert-manager

cert-manager should only be installed in production. It is not managed inside this repository.

See: https://cert-manager.io/docs/installation/helm/

helm repo add jetstack https://charts.jetstack.io
helm repo up
helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.8.0 --set installCRDs=true

# create issuers
kubectl apply -f cert-manager/issuer-staging.yml
kubectl apply -f cert-manager/issuer-production.yml

This should be sufficient for cert-manager to issue certificates automatically when the tls.enabled value is set to true.

Manual installations

The following installations are not defined in this repo.