feat(cluster): implement echo-server helm release
Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
30 files changed
+92
-23
No files matched your search
@@ -21,6 +21,7 @@ Feel free to read up on any of these technologies before you get started to be m
|
||||
|
||||
- [cert-manager](https://cert-manager.io/) - SSL certificates - with Cloudflare DNS challenge
|
||||
- [calico](https://www.tigera.io/project-calico/) - CNI (container network interface)
|
||||
- [echo-server](https://github.com/Ealenn/Echo-Server) - REST Server Tests (Echo-Server) API (useful for debugging HTTP issues)
|
||||
- [flux](https://toolkit.fluxcd.io/) - GitOps tool for deploying manifests from the `cluster` directory
|
||||
- [hajimari](https://github.com/toboshii/hajimari) - start page with ingress discovery
|
||||
- [kube-vip](https://kube-vip.io/) - layer 2 load balancer for the Kubernetes control plane
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: echo-server
|
||||
namespace: default
|
||||
spec:
|
||||
interval: 5m
|
||||
chart:
|
||||
spec:
|
||||
chart: echo-server
|
||||
version: 0.3.1
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: ealenn-charts
|
||||
namespace: flux-system
|
||||
interval: 5m
|
||||
values:
|
||||
image:
|
||||
repository: docker.io/ealen/echo-server
|
||||
tag: 0.5.1
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: "letsencrypt-production"
|
||||
hajimari.io/enable: "true"
|
||||
hajimari.io/icon: "video-input-antenna"
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
|
||||
hosts:
|
||||
- host: "echo-server.${SECRET_DOMAIN}"
|
||||
paths:
|
||||
- "/"
|
||||
tls:
|
||||
- secretName: echo-server-tls
|
||||
hosts:
|
||||
- "echo-server.${SECRET_DOMAIN}"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
memory: 96Mi
|
||||
@@ -0,0 +1,5 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- config-pvc.yaml
|
||||
- helm-release.yaml
|
||||
@@ -1,4 +1,5 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- echo-server
|
||||
- hajimari
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: authentik-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://charts.goauthentik.io/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: bitnami-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://charts.bitnami.com/bitnami
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: deliveryhero-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://charts.deliveryhero.io/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: descheduler-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://kubernetes-sigs.github.io/descheduler
|
||||
timeout: 3m
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
apiVersion: source.toolkit.fluxcd.io/v1beta1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: ealenn-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 30m
|
||||
url: https://ealenn.github.io/charts
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: emberstack-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://emberstack.github.io/helm-charts/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: external-dns-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://kubernetes-sigs.github.io/external-dns
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: grafana-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://grafana.github.io/helm-charts
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: hajimari-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://hajimari.io
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: infracloudio-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://infracloudio.github.io/charts
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: jetstack-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://charts.jetstack.io/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: k8s-at-home-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://k8s-at-home.com/charts/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,7 @@ resources:
|
||||
- bitnami-charts.yaml
|
||||
- deliveryhero-charts.yaml
|
||||
- descheduler-charts.yaml
|
||||
- ealenn-charts.yaml
|
||||
- emberstack-charts.yaml
|
||||
- external-dns-charts.yaml
|
||||
- grafana-charts.yaml
|
||||
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: metallb-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://metallb.github.io/metallb
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: metrics-server-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://kubernetes-sigs.github.io/metrics-server
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: minecraft-server-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://itzg.github.io/minecraft-server-charts/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: minio-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://operator.min.io
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: nfs-subdir-external-provisioner-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: node-feature-discovery-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://kubernetes-sigs.github.io/node-feature-discovery/charts
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: prometheus-community-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://prometheus-community.github.io/helm-charts
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: rook-ceph-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://charts.rook.io/release
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: stakater-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://stakater.github.io/stakater-charts
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: traefik-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://helm.traefik.io/traefik
|
||||
timeout: 3m
|
||||
@@ -5,6 +5,6 @@ metadata:
|
||||
name: weaveworks-kured-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
url: https://weaveworks.github.io/kured
|
||||
timeout: 3m
|
||||
@@ -22,7 +22,7 @@ metadata:
|
||||
name: traefik-crds
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 15m
|
||||
interval: 30m
|
||||
prune: false
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
|
||||
@@ -108,3 +108,12 @@ resource "cloudflare_record" "hajimari" {
|
||||
type = "CNAME"
|
||||
ttl = 1
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "echo_server" {
|
||||
name = "echo-server"
|
||||
zone_id = lookup(data.cloudflare_zones.domain.zones[0], "id")
|
||||
value = "ipv4.${data.sops_file.cloudflare_secrets.data["cloudflare_domain"]}"
|
||||
proxied = true
|
||||
type = "CNAME"
|
||||
ttl = 1
|
||||
}
|
||||
Reference in new issue
Block a user