diff --git a/terraform/README.md b/terraform/README.md deleted file mode 100644 index 84c73b2..0000000 --- a/terraform/README.md +++ /dev/null @@ -1,15 +0,0 @@ -### Environment variables -- `TF_VAR_vultr_apikey` -- `TF_VAR_proxmox_node01_password` -- `TF_VAR_proxmox_node02_password` -- `TF_VAR_proxmox_node03_password` -- `TF_VAR_proxmox_node04_password` -- `TF_VAR_proxmox_node05_password` -### Create proxmox terraform user -``` -# Create the user -pveum user add terraform@pve --password hackme123 - -# Assign the user the correct role -pveum aclmod / -user terraform@pve -role Administrator -``` \ No newline at end of file diff --git a/terraform/staging/.gitlab-ci.yml b/terraform/staging/.gitlab-ci.yml deleted file mode 100644 index 8a457f6..0000000 --- a/terraform/staging/.gitlab-ci.yml +++ /dev/null @@ -1,32 +0,0 @@ -# To contribute improvements to CI/CD templates, please follow the Development guide at: -# https://docs.gitlab.com/ee/development/cicd/templates.html -# This specific template is located at: -# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform.latest.gitlab-ci.yml - -include: - - template: Terraform/Base.latest.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Terraform/Base.latest.gitlab-ci.yml - - template: Jobs/SAST-IaC.latest.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/SAST-IaC.latest.gitlab-ci.yml - -stages: - - validate - - test - - build - - deploy - -fmt: - extends: .terraform:fmt - needs: [] - -validate: - extends: .terraform:validate - needs: [] - -build: - extends: .terraform:build - -deploy: - extends: .terraform:deploy - dependencies: - - build - environment: - name: $TF_STATE_NAME \ No newline at end of file diff --git a/terraform/staging/main.tf b/terraform/staging/main.tf deleted file mode 100644 index 29bcb38..0000000 --- a/terraform/staging/main.tf +++ /dev/null @@ -1,50 +0,0 @@ -terraform { - backend "http" { - } - required_providers { - proxmox = { - source = "Telmate/proxmox" - version = "2.8.0" - } - } -} - -provider "proxmox" { - alias = "prox01" - pm_api_url = "https://10.15.0.101:8006/api2/json" - pm_user = var.proxmox_user - pm_password = var.proxmox_node01_password - pm_tls_insecure = true -} - -provider "proxmox" { - alias = "prox02" - pm_api_url = "https://10.15.0.102:8006/api2/json" - pm_user = var.proxmox_user - pm_password = var.proxmox_node02_password - pm_tls_insecure = true -} - -provider "proxmox" { - alias = "prox03" - pm_api_url = "https://10.15.0.103:8006/api2/json" - pm_user = var.proxmox_user - pm_password = var.proxmox_node03_password - pm_tls_insecure = true -} - -provider "proxmox" { - alias = "prox04" - pm_api_url = "https://10.15.0.104:8006/api2/json" - pm_user = var.proxmox_user - pm_password = var.proxmox_node04_password - pm_tls_insecure = true -} - -provider "proxmox" { - alias = "prox05" - pm_api_url = "https://10.15.0.105:8006/api2/json" - pm_user = var.proxmox_user - pm_password = var.proxmox_node05_password - pm_tls_insecure = true -} \ No newline at end of file diff --git a/terraform/staging/variables.tf b/terraform/staging/variables.tf deleted file mode 100644 index 06d380c..0000000 --- a/terraform/staging/variables.tf +++ /dev/null @@ -1,28 +0,0 @@ -variable "proxmox_user" { - default = "terraform@pve" -} - -variable "proxmox_node01_password" { - type = string - description = "prox01 pve pass" -} - -variable "proxmox_node02_password" { - type = string - description = "prox02 pve pass" -} - -variable "proxmox_node03_password" { - type = string - description = "prox03 pve pass" -} - -variable "proxmox_node04_password" { - type = string - description = "prox04 pve pass" -} - -variable "proxmox_node05_password" { - type = string - description = "prox05 pve pass" -} \ No newline at end of file diff --git a/terraform/testbed-hetzner/.gitlab-ci.yml b/terraform/testbed-hetzner/.gitlab-ci.yml deleted file mode 100644 index 8a457f6..0000000 --- a/terraform/testbed-hetzner/.gitlab-ci.yml +++ /dev/null @@ -1,32 +0,0 @@ -# To contribute improvements to CI/CD templates, please follow the Development guide at: -# https://docs.gitlab.com/ee/development/cicd/templates.html -# This specific template is located at: -# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform.latest.gitlab-ci.yml - -include: - - template: Terraform/Base.latest.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Terraform/Base.latest.gitlab-ci.yml - - template: Jobs/SAST-IaC.latest.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/SAST-IaC.latest.gitlab-ci.yml - -stages: - - validate - - test - - build - - deploy - -fmt: - extends: .terraform:fmt - needs: [] - -validate: - extends: .terraform:validate - needs: [] - -build: - extends: .terraform:build - -deploy: - extends: .terraform:deploy - dependencies: - - build - environment: - name: $TF_STATE_NAME \ No newline at end of file diff --git a/terraform/testbed-hetzner/k8s-masters.tf b/terraform/testbed-hetzner/k8s-masters.tf deleted file mode 100644 index 94a980e..0000000 --- a/terraform/testbed-hetzner/k8s-masters.tf +++ /dev/null @@ -1,35 +0,0 @@ -resource "vultr_instance" "master01test" { - tag = "staging-testbed" - hostname = "master01.teststaging.example.com" - plan = "vc2-2c-4gb" - region = "ams" - os_id = "477" - enable_ipv6 = false - backups = "disabled" - ddos_protection = false - activation_email = true -} - -resource "vultr_instance" "master02test" { - tag = "staging-testbed" - hostname = "master02.teststaging.example.com" - plan = "vc2-2c-4gb" - region = "ams" - os_id = "477" - enable_ipv6 = false - backups = "disabled" - ddos_protection = false - activation_email = true -} - -resource "vultr_instance" "master03test" { - tag = "staging-testbed" - hostname = "master03.teststaging.example.com" - plan = "vc2-2c-4gb" - region = "ams" - os_id = "477" - enable_ipv6 = false - backups = "disabled" - ddos_protection = false - activation_email = true -} diff --git a/terraform/testbed-hetzner/k8s-workers.tf b/terraform/testbed-hetzner/k8s-workers.tf deleted file mode 100644 index c8fe69f..0000000 --- a/terraform/testbed-hetzner/k8s-workers.tf +++ /dev/null @@ -1,41 +0,0 @@ -resource "proxmox_vm_qemu" "worker01test" { - count = 1 - vmid = 211 - name = "worker01.teststaging.example.com" - target_node = "prox05" - clone = "debian-cloudinit" - os_type = "cloud-init" - cores = 4 - sockets = "1" - cpu = "kvm64" - memory = 4096 - scsihw = "virtio-scsi-pci" - bootdisk = "virtio0" - - disk { - id = 0 - size = 32 - type = "virtio" - storage = "local" - iothread = true - } - - network { - id = 0 - model = "virtio" - bridge = "vmbr0" - } - - lifecycle { - ignore_changes = [ - network, - ] - } - - # Cloud Init Settings - #ipconfig0 = "ip=212.83.177.200/24,gw=10.10.10.1" - cicustom = "network=local:snippets/networkworker01teststaging.yaml" - sshkeys = < { - instance_class = var.instance_type - } - } - monitoring_interval = 60 - iam_role_use_name_prefix = false - iam_role_name = "${var.prefix}-rds-monitoring-role" - kms_key_id = module.kms.key_arn - vpc_id = module.vpc.vpc_id - subnets = module.vpc.database_subnets - - database_name = var.database_name - create_db_cluster_parameter_group = var.create_db_cluster_parameter_group - db_cluster_parameter_group_family = var.parameter_group_family - db_cluster_parameter_group_name = var.cluster_name - - availability_zones = var.azs - enabled_cloudwatch_logs_exports = var.cloud_watch_exports - master_password = random_password.password.result - master_username = var.db_master_username - create_random_password = false - allowed_security_groups = [module.eks_cluster.security_group_id] -} - -############### SECRET MANAGER ###################### - - -data "aws_secretsmanager_secret" "secretmasterdb" { - arn = aws_secretsmanager_secret.secretmasterdb.arn -} - -data "aws_secretsmanager_secret_version" "creds" { - secret_id = data.aws_secretsmanager_secret.secretmasterdb.arn - depends_on = [aws_secretsmanager_secret_version.sversion] -} - -locals { - db_creds = jsondecode(data.aws_secretsmanager_secret_version.creds.secret_string) -} - -resource "random_password" "password" { - length = 24 - override_special = "!#$%&*()-_=+[]{}<>:?" -} - -resource "random_integer" "random" { - min = 100 - max = 999 -} - -resource "aws_secretsmanager_secret" "secretmasterdb" { - name = "${var.prefix}-${var.db_master_username}-${random_integer.random.result}" - kms_key_id = module.kms.key_arn -} - -resource "aws_secretsmanager_secret_version" "sversion" { - secret_id = aws_secretsmanager_secret.secretmasterdb.id - secret_string = <