refactor(structure): move to 7project dir

This commit is contained in:
2025-10-05 01:30:55 +02:00
parent 291305c2e5
commit d58d553945
111 changed files with 6638 additions and 36 deletions

View File

@@ -0,0 +1,12 @@
apiVersion: networking.cfargotunnel.com/v1alpha2
kind: ClusterTunnel
metadata:
name: cluster-tunnel
spec:
newTunnel:
name: ${cloudflare_tunnel_name}
cloudflare:
email: ${cloudflare_email}
domain: ${cloudflare_domain}
secret: cloudflare-secrets
accountId: ${cloudflare_account_id}

View File

@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: cloudflare-operator-system
resources:
- https://github.com/adyanth/cloudflare-operator.git/config/default?ref=v0.13.1

View File

@@ -0,0 +1,50 @@
terraform {
required_providers {
kubectl = {
source = "gavinbunney/kubectl"
version = "1.19.0"
}
helm = {
source = "hashicorp/helm"
version = "3.0.2"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "2.38.0"
}
kustomization = {
source = "kbst/kustomization"
version = "0.9.6"
}
}
}
data "kustomization" "cloudflare-kustomization" {
path = "${path.module}/kustomization"
}
resource "kustomization_resource" "cloudflare" {
provider = kustomization
for_each = data.kustomization.cloudflare-kustomization.ids
manifest = data.kustomization.cloudflare-kustomization.manifests[each.key]
}
resource "kubectl_manifest" "cloudflare-api-token" {
yaml_body = templatefile("${path.module}/secret.yaml", {
cloudflare_api_token = var.cloudflare_api_token
})
}
resource "kubectl_manifest" "cloudflare-tunnel" {
yaml_body = templatefile("${path.module}/cluster-tunnel.yaml", {
cloudflare_tunnel_name = var.cloudflare_tunnel_name
cloudflare_email = var.cloudflare_email
cloudflare_domain = var.cloudflare_domain
cloudflare_account_id = var.cloudflare_account_id
})
depends_on = [kustomization_resource.cloudflare]
}

View File

@@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
metadata:
name: cloudflare-secrets
namespace: cloudflare-operator-system
type: Opaque
stringData:
CLOUDFLARE_API_TOKEN: "${cloudflare_api_token}"

View File

@@ -0,0 +1,30 @@
variable "cloudflare_api_token" {
type = string
description = "Cloudflare API token"
sensitive = true
nullable = false
}
variable "cloudflare_tunnel_name" {
type = string
description = "Cloudflare Tunnel Name"
default = "tofu-tunnel"
nullable = false
}
variable "cloudflare_email" {
type = string
description = "Cloudflare Email"
nullable = false
}
variable "cloudflare_domain" {
type = string
description = "Cloudflare Domain"
nullable = false
}
variable "cloudflare_account_id" {
type = string
description = "Cloudflare Account ID"
nullable = false
}