diff --git a/anydatacenter/10-devops/.terraform.lock.hcl b/anydatacenter/10-devops/.terraform.lock.hcl new file mode 100644 index 0000000..19fac18 --- /dev/null +++ b/anydatacenter/10-devops/.terraform.lock.hcl @@ -0,0 +1,41 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/helm" { + version = "2.16.1" + constraints = "~> 2.16" + hashes = [ + "h1:TerRBdq69SxIWg3ET2VE0bcP0BYRIWZOp1QxXj/14Fk=", + "zh:0003f6719a32aee9afaeeb001687fc0cfc8c2d5f54861298cf1dc5711f3b4e65", + "zh:16cd5bfee09e7bb081b8b4470f31a9af508e52220fd97fd81c6dda725d9422fe", + "zh:51817de8fdc2c2e36785f23fbf4ec022111bd1cf7679498c16ad0ad7471c16db", + "zh:51b95829b2873be40a65809294bffe349e40cfccc3ff6fee0f471d01770e0ebd", + "zh:56b158dde897c47e1460181fc472c3e920aa23db40579fdc2aad333c1456d2dd", + "zh:916641d26c386959eb982e680028aa677b787687ef7c1283241e45620bc8df50", + "zh:aec15ca8605babba77b283f2ca35daca53e006d567e1c3a3daf50497035b820b", + "zh:c2cecf710b87c8f3a4d186da2ea12cf08041f97ae0c6db82649720d6ed929d65", + "zh:dbdd96f17aea25c7db2d516ab8172a5e683c6686c72a1a44173d2fe96319be39", + "zh:de11e180368434a796b1ab6f20fde7554dc74f7800e063b8e4c8ec3a86d0be63", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + "zh:f827a9c1540d210c56053a2d5d5a6abda924896ffa8eeedc94054cf6d44c5f60", + ] +} + +provider "registry.terraform.io/hashicorp/kubernetes" { + version = "2.34.0" + hashes = [ + "h1:QOiO85qZnkUm7kAtuPkfblchuKPWUqRdNVWE5agpr8k=", + "zh:076b451dc8629c49f4260de6d43595e98ac5f1bdbebb01d112659ef94d99451f", + "zh:0c29855dbd3c6ba82fce680fa5ac969d4e09e20fecb4ed40166b778bd19895a4", + "zh:583b4dfcea4d8392dd7904c00b2ff41bbae78d238e8b72e5ad580370a24a4ecb", + "zh:5e20844d8d1af052381d00de4febd4055ad0f3c3c02795c361265b9ef72a1075", + "zh:766b7ab7c4727c62b5887c3922e0467c4cc355ba0dc3aabe465ebb86bc1caabb", + "zh:776a5000b441d7c8262d17d4a4aa4aa9760ae64de4cb7172961d9e007e0be1e5", + "zh:7838f509235116e55adeeecbe6def3da1b66dd3c4ce0de02fc7dc66a60e1d630", + "zh:931e5581ec66c145c1d29198bd23fddc8d0c5cbf4cda22e02dba65644c7842f2", + "zh:95e728efa2a31a63b879fd093507466e509e3bfc9325eb35ea3dc28fed15c6f7", + "zh:972b9e3ca2b6a1057dcf5003fc78cabb0dd8847580bddeb52d885ebd64df38ea", + "zh:ef6114217965d55f5bddbd7a316b8f85f15b8a77c075fcbed95813039d522e0a", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + ] +} diff --git a/anydatacenter/10-devops/kyverno.tf b/anydatacenter/10-devops/kyverno.tf new file mode 100644 index 0000000..0a8b273 --- /dev/null +++ b/anydatacenter/10-devops/kyverno.tf @@ -0,0 +1,31 @@ +resource "kubernetes_namespace" "kyverno" { + metadata { + name = "kyverno" + } +} + +resource "helm_release" "kyverno" { + name = "kyverno" + namespace = kubernetes_namespace.kyverno.metadata[0].name + + repository = "https://kyverno.github.io/kyverno/" + chart = "kyverno" + version = "3.3.3" + + values = [yamlencode({ + admissionController = { + replicas = 1 + } + backgroundController = { + replicas = 1 + } + cleanupController = { + replicas = 1 + } + reportsController = { + replicas = 1 + } + })] + + wait_for_jobs = true +} diff --git a/anydatacenter/10-devops/main.tf b/anydatacenter/10-devops/main.tf new file mode 100644 index 0000000..f27c668 --- /dev/null +++ b/anydatacenter/10-devops/main.tf @@ -0,0 +1,19 @@ +terraform { + backend "local" { + path = "10-devops.tfstate" + } +} + +variable "kubectx" { + type = string +} + +provider "kubernetes" { + config_context = var.kubectx +} + +provider "helm" { + kubernetes { + config_context = var.kubectx + } +} diff --git a/anydatacenter/10-devops/versions.tf b/anydatacenter/10-devops/versions.tf new file mode 100644 index 0000000..c011f4e --- /dev/null +++ b/anydatacenter/10-devops/versions.tf @@ -0,0 +1,12 @@ +module "versions" { + source = "../../modules/versions" +} + +terraform { + required_providers { + helm = { + source = "hashicorp/helm" + version = "~>2.16" + } + } +}