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
|
- [cert-manager](https://cert-manager.io/) - SSL certificates - with Cloudflare DNS challenge
|
||||||
- [calico](https://www.tigera.io/project-calico/) - CNI (container network interface)
|
- [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
|
- [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
|
- [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
|
- [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
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
|
- echo-server
|
||||||
- hajimari
|
- hajimari
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: authentik-charts
|
name: authentik-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://charts.goauthentik.io/
|
url: https://charts.goauthentik.io/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: bitnami-charts
|
name: bitnami-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://charts.bitnami.com/bitnami
|
url: https://charts.bitnami.com/bitnami
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: deliveryhero-charts
|
name: deliveryhero-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://charts.deliveryhero.io/
|
url: https://charts.deliveryhero.io/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: descheduler-charts
|
name: descheduler-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://kubernetes-sigs.github.io/descheduler
|
url: https://kubernetes-sigs.github.io/descheduler
|
||||||
timeout: 3m
|
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
|
name: emberstack-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://emberstack.github.io/helm-charts/
|
url: https://emberstack.github.io/helm-charts/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: external-dns-charts
|
name: external-dns-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://kubernetes-sigs.github.io/external-dns
|
url: https://kubernetes-sigs.github.io/external-dns
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: grafana-charts
|
name: grafana-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://grafana.github.io/helm-charts
|
url: https://grafana.github.io/helm-charts
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: hajimari-charts
|
name: hajimari-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://hajimari.io
|
url: https://hajimari.io
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: infracloudio-charts
|
name: infracloudio-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://infracloudio.github.io/charts
|
url: https://infracloudio.github.io/charts
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: jetstack-charts
|
name: jetstack-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://charts.jetstack.io/
|
url: https://charts.jetstack.io/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: k8s-at-home-charts
|
name: k8s-at-home-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://k8s-at-home.com/charts/
|
url: https://k8s-at-home.com/charts/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,7 @@ resources:
|
|||||||
- bitnami-charts.yaml
|
- bitnami-charts.yaml
|
||||||
- deliveryhero-charts.yaml
|
- deliveryhero-charts.yaml
|
||||||
- descheduler-charts.yaml
|
- descheduler-charts.yaml
|
||||||
|
- ealenn-charts.yaml
|
||||||
- emberstack-charts.yaml
|
- emberstack-charts.yaml
|
||||||
- external-dns-charts.yaml
|
- external-dns-charts.yaml
|
||||||
- grafana-charts.yaml
|
- grafana-charts.yaml
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: metallb-charts
|
name: metallb-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://metallb.github.io/metallb
|
url: https://metallb.github.io/metallb
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: metrics-server-charts
|
name: metrics-server-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://kubernetes-sigs.github.io/metrics-server
|
url: https://kubernetes-sigs.github.io/metrics-server
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: minecraft-server-charts
|
name: minecraft-server-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://itzg.github.io/minecraft-server-charts/
|
url: https://itzg.github.io/minecraft-server-charts/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: minio-charts
|
name: minio-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://operator.min.io
|
url: https://operator.min.io
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: nfs-subdir-external-provisioner-charts
|
name: nfs-subdir-external-provisioner-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
|
url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: node-feature-discovery-charts
|
name: node-feature-discovery-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://kubernetes-sigs.github.io/node-feature-discovery/charts
|
url: https://kubernetes-sigs.github.io/node-feature-discovery/charts
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: prometheus-community-charts
|
name: prometheus-community-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://prometheus-community.github.io/helm-charts
|
url: https://prometheus-community.github.io/helm-charts
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: rook-ceph-charts
|
name: rook-ceph-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://charts.rook.io/release
|
url: https://charts.rook.io/release
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: stakater-charts
|
name: stakater-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://stakater.github.io/stakater-charts
|
url: https://stakater.github.io/stakater-charts
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: traefik-charts
|
name: traefik-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://helm.traefik.io/traefik
|
url: https://helm.traefik.io/traefik
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -5,6 +5,6 @@ metadata:
|
|||||||
name: weaveworks-kured-charts
|
name: weaveworks-kured-charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
url: https://weaveworks.github.io/kured
|
url: https://weaveworks.github.io/kured
|
||||||
timeout: 3m
|
timeout: 3m
|
||||||
@@ -22,7 +22,7 @@ metadata:
|
|||||||
name: traefik-crds
|
name: traefik-crds
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 30m
|
||||||
prune: false
|
prune: false
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: GitRepository
|
kind: GitRepository
|
||||||
|
|||||||
@@ -108,3 +108,12 @@ resource "cloudflare_record" "hajimari" {
|
|||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = 1
|
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