feat(cluster): implement echo-server helm release

Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
Devin Buhl committed 2022-02-15 11:56:36 -05:00
1 parent 920ef8b42a
commit aff703a6b4
30 files changed
+92 -23

No files matched your search

+1
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -22,7 +22,7 @@ metadata:
name: traefik-crds
namespace: flux-system
spec:
interval: 15m
interval: 30m
prune: false
sourceRef:
kind: GitRepository
+9
View File
@@ -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
}