get cloudflared client real ip and fix crowdsec mw

This commit is contained in:
2025-11-29 17:24:51 +01:00
parent 72628f0f0e
commit f7bfe2f71d
6 changed files with 33 additions and 26 deletions

View File

@@ -291,6 +291,9 @@
traefik: traefik:
expose: expose:
default: true default: true
web:
forwardedHeaders:
trustedIPs: ["10.42.0.0/16"] #default k3s cidr
ingressRoute: ingressRoute:
dashboard: dashboard:
enabled: true enabled: true
@@ -343,7 +346,7 @@
additionalArguments: additionalArguments:
- '--providers.file.filename=/config/dynamic.yaml' - '--providers.file.filename=/config/dynamic.yaml'
- '--providers.kubernetesingress.ingressendpoint.publishedservice=kube-system/traefik' - '--providers.kubernetesingress.ingressendpoint.publishedservice=kube-system/traefik'
- "--providers.kubernetescrd" - "--providers.kubernetescrd.allowcrossnamespace=true"
certificatesResolvers: certificatesResolvers:
letsencrypt: letsencrypt:
acme: acme:

View File

@@ -3,3 +3,6 @@
Provisionne un utilisateur gitea "tofu_module_reader", Provisionne un utilisateur gitea "tofu_module_reader",
autorisé à lire certains projets il est utilisé par la CI pour récupérer des blueprints terraform autorisé à lire certains projets il est utilisé par la CI pour récupérer des blueprints terraform
via sa clé ssh répertoriée dans vault. via sa clé ssh répertoriée dans vault.
#
configure les tokens ovh et cloudflare pour permettre aux autre projet de gérer des resources du cloud

View File

@@ -68,7 +68,9 @@ module "cf_arcodange_cms_token" {
"account:Account DNS Settings Write", "account:Account DNS Settings Write",
"account:Account Settings Read", "account:Account Settings Read",
"zone:Zone Write", "zone:Zone Write",
"zone:Zone Settings Write",
"zone:DNS Write", "zone:DNS Write",
"account:Cloudflare Tunnel Write",
] ]
} }
} }

View File

@@ -75,7 +75,7 @@ resource "cloudflare_account_token" "token" {
resource "null_resource" "cloudflare_account_token_replace" { # replace token when permission names change resource "null_resource" "cloudflare_account_token_replace" { # replace token when permission names change
triggers = { triggers = {
"account_permissions" = sha256(join("",sort([for p_id in local.selected_account_permissions: lookup(local.permission_map_from_id, p_id)]))) "account_permissions" = sha256(join("", sort([for p_id in local.selected_account_permissions : lookup(local.permission_map_from_id, p_id)])))
"bucket_permissions" = sha256(join("",sort([for p_id in local.selected_bucket_permissions: lookup(local.permission_map_from_id, p_id)]))) "bucket_permissions" = sha256(join("", sort([for p_id in local.selected_bucket_permissions : lookup(local.permission_map_from_id, p_id)])))
} }
} }

View File

@@ -3,7 +3,7 @@ data "ovh_iam_reference_actions" "domain" {
type = "domain" type = "domain"
} }
locals { locals {
domain_read_permissions = [ for a in data.ovh_iam_reference_actions.domain.actions: a if contains(a.categories, "READ") ] domain_read_permissions = [for a in data.ovh_iam_reference_actions.domain.actions : a if contains(a.categories, "READ")]
} }
resource "ovh_me_api_oauth2_client" "cms" { resource "ovh_me_api_oauth2_client" "cms" {

View File

@@ -30,11 +30,10 @@ provider "gitea" { # https://registry.terraform.io/providers/go-gitea/gitea/late
provider "vault" { provider "vault" {
address = "https://vault.arcodange.duckdns.org" address = "https://vault.arcodange.duckdns.org"
token = "hvs.CAESIH6uB0AKBdNoX5HdY4FQ8NlF1Dvrxoxo6fbMEnkhQ2zJGh4KHGh2cy40cFU1UHAzejl0bXB4VElJWGpobTNaQ3U" auth_login_jwt { # TERRAFORM_VAULT_AUTH_JWT environment variable
# auth_login_jwt { # TERRAFORM_VAULT_AUTH_JWT environment variable mount = "gitea_jwt"
# mount = "gitea_jwt" role = "gitea_cicd"
# role = "gitea_cicd" }
# }
} }
provider "google" { provider "google" {