Adding hetzner cloud controller manager for hetzner cloud load balancers.
This commit is contained in:
parent
f9b96df175
commit
7cb2ea263d
8 changed files with 76 additions and 0 deletions
18
kubernetes/apps/kube-system/hccm/app/externalsecret.yaml
Normal file
18
kubernetes/apps/kube-system/hccm/app/externalsecret.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
apiVersion: external-secrets.io/v1beta1
|
||||||
|
kind: ExternalSecret
|
||||||
|
metadata:
|
||||||
|
name: hcloud
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
secretStoreRef:
|
||||||
|
kind: ClusterSecretStore
|
||||||
|
name: onepassword-connect
|
||||||
|
target:
|
||||||
|
name: hcloud
|
||||||
|
creationPolicy: Owner
|
||||||
|
data:
|
||||||
|
- secretKey: network
|
||||||
|
remoteRef:
|
||||||
|
key: hetzner
|
||||||
|
property: cloud-api-token
|
21
kubernetes/apps/kube-system/hccm/app/helmrelease.yaml
Normal file
21
kubernetes/apps/kube-system/hccm/app/helmrelease.yaml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: hccm
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: hcloud-cloud-controller-manager
|
||||||
|
version: v1.18.0
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: hetzner
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 30m
|
||||||
|
values:
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
7
kubernetes/apps/kube-system/hccm/app/kustomization.yaml
Normal file
7
kubernetes/apps/kube-system/hccm/app/kustomization.yaml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: kube-system
|
||||||
|
resources:
|
||||||
|
- ./helmrelease.yaml
|
16
kubernetes/apps/kube-system/hccm/ks.yaml
Normal file
16
kubernetes/apps/kube-system/hccm/ks.yaml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: cluster-apps-hetzner-hccm
|
||||||
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
substitution.flux.home.arpa/enabled: "true"
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: "./kubernetes/apps/kube-system/hccm/app"
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: valinor
|
||||||
|
wait: true
|
|
@ -1,3 +1,4 @@
|
||||||
|
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
||||||
---
|
---
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
||||||
---
|
---
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
10
kubernetes/flux/repositories/helm/hetzner.yaml
Normal file
10
kubernetes/flux/repositories/helm/hetzner.yaml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: hetzner
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
url: https://charts.hetzner.cloud
|
||||||
|
timeout: 3m
|
|
@ -1,3 +1,4 @@
|
||||||
|
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
||||||
---
|
---
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
@ -12,6 +13,7 @@ resources:
|
||||||
- external-secrets.yaml
|
- external-secrets.yaml
|
||||||
- fairwinds.yaml
|
- fairwinds.yaml
|
||||||
- grafana.yaml
|
- grafana.yaml
|
||||||
|
- hetzner.yaml
|
||||||
- ingress-nginx.yaml
|
- ingress-nginx.yaml
|
||||||
- jahanson.yaml
|
- jahanson.yaml
|
||||||
- jetstack.yaml
|
- jetstack.yaml
|
||||||
|
|
Reference in a new issue