mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 15:12:08 +01:00
refactor(structure): move to 7project dir
This commit is contained in:
12
7project/tofu/modules/cloudflare/cluster-tunnel.yaml
Normal file
12
7project/tofu/modules/cloudflare/cluster-tunnel.yaml
Normal 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}
|
||||
@@ -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
|
||||
50
7project/tofu/modules/cloudflare/main.tf
Normal file
50
7project/tofu/modules/cloudflare/main.tf
Normal 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]
|
||||
}
|
||||
8
7project/tofu/modules/cloudflare/secret.yaml
Normal file
8
7project/tofu/modules/cloudflare/secret.yaml
Normal 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}"
|
||||
30
7project/tofu/modules/cloudflare/variables.tf
Normal file
30
7project/tofu/modules/cloudflare/variables.tf
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user