config: seankhliao/kluster @ v0.19.0
use with:
make create-cluster
make decrypt
// or create appropriate secret fileskubectl apply -k .
// maybe repeat a few times if things failGKE, but cheaply, ok? 1 zonal E2 node
use kubectl
's built in kustomize support
helm install --dry-run --debug name repo/chart > bundle.yaml
kubectl apply -k .
--prune --all
especially with GKE managed resources(?)configMapGenerator
and secretGenerator
means config and secrets get their own files (and file types!)cert-manager is a royal pain to get running. DO NOT attempt to change anything from their default config
Lets Encrypt Cluster Issuer with Cloudflare DNS Challenge
Zone:Zone:Read
, Zone:DNS:Edit
on all zones(?)apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: le-issuer
spec:
acme:
email: admin@example.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: le-issuer-account
solvers:
- dns01:
cloudflare:
email: admin@example.com
apiTokenSecretRef:
name: cloudflare
key: token
certificate resource:
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: api.seankhliao.com
spec:
secretName: api-seankhliao-com-tls
duration: 2160h
renewBefore: 360h
dnsNames:
- api.seankhliao.com
- "*.api.seankhliao.com"
issuerRef:
name: le-issuer
kind: ClusterIssuer