From 5654805ff52b6d2c9f01047082ece734dfac5896 Mon Sep 17 00:00:00 2001 From: Vegard Hagen Date: Thu, 13 Jul 2023 07:34:58 +0200 Subject: [PATCH] wip(cloudflared): Configuring cloudflared for tunneling --- infra/cloudflared/config-map.yaml | 8 +++++ infra/cloudflared/deployment.yaml | 50 ++++++++++++++++++++++++++++ infra/cloudflared/kustomization.yaml | 9 +++++ infra/cloudflared/namespace.yaml | 4 +++ infra/cloudflared/tunnel-token.yaml | 12 +++++++ infra/project.yaml | 2 ++ 6 files changed, 85 insertions(+) create mode 100644 infra/cloudflared/config-map.yaml create mode 100644 infra/cloudflared/deployment.yaml create mode 100644 infra/cloudflared/kustomization.yaml create mode 100644 infra/cloudflared/namespace.yaml create mode 100644 infra/cloudflared/tunnel-token.yaml diff --git a/infra/cloudflared/config-map.yaml b/infra/cloudflared/config-map.yaml new file mode 100644 index 0000000..4c8fdca --- /dev/null +++ b/infra/cloudflared/config-map.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: cloudflared +data: + config.yaml: | + metrics: 0.0.0.0:2000 + no-autoupdate: true \ No newline at end of file diff --git a/infra/cloudflared/deployment.yaml b/infra/cloudflared/deployment.yaml new file mode 100644 index 0000000..1512f8c --- /dev/null +++ b/infra/cloudflared/deployment.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cloudflared + namespace: cloudflared +spec: + selector: + matchLabels: + app: cloudflared + replicas: 1 + template: + metadata: + labels: + app: cloudflared + spec: + containers: + - name: cloudflared + image: cloudflare/cloudflared:latest + args: + - tunnel + - --config + - /etc/cloudflared/config/config.yaml + - run + livenessProbe: + httpGet: + path: /ready + port: 2000 + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + env: + - name: TUNNEL_TOKEN + valueFrom: + secretKeyRef: + key: tunnel-token + name: tunnel-token + volumeMounts: + - name: config + mountPath: /etc/cloudflared/config + readOnly: true + volumes: + - name: config + configMap: + name: cloudflared + items: + - key: config.yaml + path: config.yaml + - name: tunnel-token + secret: + secretName: tunnel-token \ No newline at end of file diff --git a/infra/cloudflared/kustomization.yaml b/infra/cloudflared/kustomization.yaml new file mode 100644 index 0000000..27c735d --- /dev/null +++ b/infra/cloudflared/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: cloudflared + +resources: + - namespace.yaml + - config-map.yaml + - tunnel-token.yaml +# - deployment.yaml \ No newline at end of file diff --git a/infra/cloudflared/namespace.yaml b/infra/cloudflared/namespace.yaml new file mode 100644 index 0000000..d64dc44 --- /dev/null +++ b/infra/cloudflared/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: cloudflared \ No newline at end of file diff --git a/infra/cloudflared/tunnel-token.yaml b/infra/cloudflared/tunnel-token.yaml new file mode 100644 index 0000000..addd3d9 --- /dev/null +++ b/infra/cloudflared/tunnel-token.yaml @@ -0,0 +1,12 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: tunnel-token + namespace: cloudflared +spec: + encryptedData: + tunnel-token: AgCD0EVPfDDgsUEm4GyjGbC1WtpwPHHZpMF2KuonW5fXWWQMM4ju/0sZT7hMdi4SP8oGjRKQ/l844i3F/dlWzOoKZHXxH8QjMoHUjFWzPW50Kk+U7bplwNAZylvz2Ng9jCujgQUEXSeOTwM9Zc5ssBzS0DpiNkXxy4aNroCFScW6w8WcGCxGyHUXB4iy0QP6XGDLbElJryhqqOrPoS9BlTvycSKShYGD+9dNyw4ZyLvfGX14ijZgRWR6imCUwirm8teMMu2hlyNVfhO/quBtfA86GQGYivTrofR+yTN++4t5FBmJ87HqkkW/E1gGG5x8G1EI5VYggs2jTXXPgH3ckw+fKA7vgTHTzbEVjPKW1Tn+W85CWOqfLnQbxvqqhahNwZ96GX2KAgfNbqdLpeBJvvG6Li7esluxkOW6hrWLlaoPtz4E4de2LtKv4tsXkZhqtpAIPRca/cZVNxiYD2+NPx7dliKbV07CUhqn5v9G9+nq7N4nena+KFJDOwgRwDk4KVnBL/ssk+45oUY70UZ7Y/iSKj25BMVPLO3eMVUxAlY27Ec0MNL0TXfy1mm3X2vyyA3mnhDnZrXMbPWeNPijsID2fzH7vZeRuEef6O7kNzvWqgZGNbeOgtQY0T2b3iTdSOdCz/q+Sj4OXZBXyjKcNLQH5iV2nOVdc+JAiX0IWc16taOPfk7JvNMoHzk5puRPacQEn91ZAwSngb8f0PkLfHqy0hWeb06OzuLvy+VE0M75vUINuSAGa3l1iXvI8oD2UNq1THFyW+JDYi+sxhaLuoCLhKBKt2CKsQ2hfCVKzyjInD7BcTIQjHKJRJu1tOp5qiAcWDr7ojP06Y4qMHCF7a/9Qdzv8EtN5nKRL4PmSmyeTuD5L8gl7PnROXG8e6gny5oJL/QeOwqk/mHpIJIxib+ZQAJM0LYMFGR/hw7Tpxhgen4ahKKVm60f + template: + metadata: + name: tunnel-token + namespace: cloudflared \ No newline at end of file diff --git a/infra/project.yaml b/infra/project.yaml index 4e8ad37..47c6cc3 100644 --- a/infra/project.yaml +++ b/infra/project.yaml @@ -14,6 +14,8 @@ spec: server: '*' - namespace: 'cert-manager' server: '*' + - namespace: 'cloudflared' + server: '*' - namespace: 'kubernetes-dashboard' server: '*' - namespace: 'metallb-system'