From 32a44a17ee6b75f7e713517ed54c7a2ddfbadc07 Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Mon, 3 Jan 2022 01:16:58 +0100
Subject: [PATCH] Remove unused files

---
 infrastructure/hcloud-csi/kustomization.yaml  |  11 -
 .../hcloud-csi/remove-default-annotation.yaml |   2 -
 infrastructure/rook/kustomization.yaml        |   7 -
 infrastructure/rook/namespace.yaml            |   7 -
 infrastructure/rook/release.yaml              | 198 ------------------
 infrastructure/rook/repository.yaml           |   7 -
 terraform/.gitignore                          |  76 -------
 terraform/.terraform.lock.hcl                 | 121 -----------
 terraform/LICENSE                             |  10 -
 terraform/Makefile                            |  37 ----
 terraform/README.md                           |  42 ----
 terraform/dns.tf                              |  49 -----
 terraform/firewall.tf                         | 188 -----------------
 terraform/loadbalancer.tf                     |  64 ------
 terraform/main.tf                             |  46 ----
 terraform/modules/hcloud_instance/main.tf     |  48 -----
 terraform/modules/hcloud_instance/network.tf  |   5 -
 terraform/modules/hcloud_instance/output.tf   |  19 --
 .../modules/hcloud_instance/variables.tf      | 102 ---------
 terraform/modules/hcloud_instance/versions.tf |   1 -
 terraform/modules/hcloud_instance/volumes.tf  |   8 -
 terraform/provider.tf                         |  14 --
 terraform/ssh.tf                              |  36 ----
 terraform/templates/cloud-init.tpl            |  44 ----
 terraform/variables.tf                        |  50 -----
 terraform/versions.tf                         |  25 ---
 26 files changed, 1217 deletions(-)
 delete mode 100644 infrastructure/hcloud-csi/kustomization.yaml
 delete mode 100644 infrastructure/hcloud-csi/remove-default-annotation.yaml
 delete mode 100644 infrastructure/rook/kustomization.yaml
 delete mode 100644 infrastructure/rook/namespace.yaml
 delete mode 100644 infrastructure/rook/release.yaml
 delete mode 100644 infrastructure/rook/repository.yaml
 delete mode 100644 terraform/.gitignore
 delete mode 100644 terraform/.terraform.lock.hcl
 delete mode 100644 terraform/LICENSE
 delete mode 100644 terraform/Makefile
 delete mode 100644 terraform/README.md
 delete mode 100644 terraform/dns.tf
 delete mode 100644 terraform/firewall.tf
 delete mode 100644 terraform/loadbalancer.tf
 delete mode 100644 terraform/main.tf
 delete mode 100644 terraform/modules/hcloud_instance/main.tf
 delete mode 100644 terraform/modules/hcloud_instance/network.tf
 delete mode 100644 terraform/modules/hcloud_instance/output.tf
 delete mode 100644 terraform/modules/hcloud_instance/variables.tf
 delete mode 120000 terraform/modules/hcloud_instance/versions.tf
 delete mode 100644 terraform/modules/hcloud_instance/volumes.tf
 delete mode 100644 terraform/provider.tf
 delete mode 100644 terraform/ssh.tf
 delete mode 100644 terraform/templates/cloud-init.tpl
 delete mode 100644 terraform/variables.tf
 delete mode 100644 terraform/versions.tf

diff --git a/infrastructure/hcloud-csi/kustomization.yaml b/infrastructure/hcloud-csi/kustomization.yaml
deleted file mode 100644
index 5b22c7424..000000000
--- a/infrastructure/hcloud-csi/kustomization.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-resources:
-- https://git.shivering-isles.com/github-mirror/hetznercloud/csi-driver/-/raw/v1.6.0/deploy/kubernetes/hcloud-csi.yml
-#patchesJson6902:
-#- target:
-#    group: "storage.k8s.io"
-#    version: v1
-#    kind: StorageClass
-#    name: hcloud-volumes
-#  path: remove-default-annotation.yaml
diff --git a/infrastructure/hcloud-csi/remove-default-annotation.yaml b/infrastructure/hcloud-csi/remove-default-annotation.yaml
deleted file mode 100644
index 1122e8e5e..000000000
--- a/infrastructure/hcloud-csi/remove-default-annotation.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-- op: remove
-  path: metadata/annotations
diff --git a/infrastructure/rook/kustomization.yaml b/infrastructure/rook/kustomization.yaml
deleted file mode 100644
index 5f6a24dee..000000000
--- a/infrastructure/rook/kustomization.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-namespace: rook-ceph
-resources:
-  - namespace.yaml
-  - repository.yaml
-  - release.yaml
diff --git a/infrastructure/rook/namespace.yaml b/infrastructure/rook/namespace.yaml
deleted file mode 100644
index c4ddccc6b..000000000
--- a/infrastructure/rook/namespace.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
-  name: rook-ceph
-  labels:
-    name: rook-ceph
-    kyverno.shivering-isles.com/class: "system"
diff --git a/infrastructure/rook/release.yaml b/infrastructure/rook/release.yaml
deleted file mode 100644
index ecefcc4d0..000000000
--- a/infrastructure/rook/release.yaml
+++ /dev/null
@@ -1,198 +0,0 @@
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-  name: rook-operator
-  namespace: rook-ceph
-spec:
-  releaseName: rook-ceph
-  chart:
-    spec:
-      chart: rook-ceph
-      sourceRef:
-        kind: HelmRepository
-        name: rook-release
-      version: v1.7.1
-  interval: 5m
-  values:
-    hostpathRequiresPrivileged: true
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-  name: rook-ceph-cluster
-  namespace: rook-ceph
-spec:
-  releaseName: rook-ceph-cluster
-  chart:
-    spec:
-      chart: rook-ceph-cluster
-      sourceRef:
-        kind: HelmRepository
-        name: rook-release
-      version: v1.7.1
-  dependsOn:
-    - name: rook-operator
-  interval: 5m
-  values:
-    cephClusterSpec:
-      dataDirHostPath: /var/lib/rook
-      mon:
-        # Set the number of mons to be started. Must be an odd number, and is generally recommended to be 3.
-        count: 3
-        # The mons should be on unique nodes. For production, at least 3 nodes are recommended for this reason.
-        # Mons should only be allowed on the same node for test environments where data loss is acceptable.
-        allowMultiplePerNode: false
-        # A volume claim template can be specified in which case new monitors (and
-        # monitors created during fail over) will construct a PVC based on the
-        # template for the monitor's primary storage. Changes to the template do not
-        # affect existing monitors. Log data is stored on the HostPath under
-        # dataDirHostPath. If no storage requirement is specified, a default storage
-        # size appropriate for monitor data will be used.
-        volumeClaimTemplate:
-          spec:
-            storageClassName: hcloud-volumes
-            resources:
-              requests:
-                storage: 10Gi
-      skipUpgradeChecks: false
-      continueUpgradeAfterChecksEvenIfNotHealthy: false
-      mgr:
-        count: 1
-        modules:
-          - name: pg_autoscaler
-            enabled: true
-      dashboard:
-        enabled: false
-      crashCollector:
-        disable: true
-      storage:
-        storageClassDeviceSets:
-          - name: set1
-            # The number of OSDs to create from this device set
-            count: 3
-            # IMPORTANT: If volumes specified by the storageClassName are not portable across nodes
-            # this needs to be set to false. For example, if using the local storage provisioner
-            # this should be false.
-            portable: true
-            # Certain storage class in the Cloud are slow
-            # Rook can configure the OSD running on PVC to accommodate that by tuning some of the Ceph internal
-            # Currently, "gp2" has been identified as such
-            tuneDeviceClass: true
-            # Certain storage class in the Cloud are fast
-            # Rook can configure the OSD running on PVC to accommodate that by tuning some of the Ceph internal
-            # Currently, "managed-premium" has been identified as such
-            tuneFastDeviceClass: false
-            # whether to encrypt the deviceSet or not
-            encrypted: true
-            # Since the OSDs could end up on any node, an effort needs to be made to spread the OSDs
-            # across nodes as much as possible. Unfortunately the pod anti-affinity breaks down
-            # as soon as you have more than one OSD per node. The topology spread constraints will
-            # give us an even spread on K8s 1.18 or newer.
-            placement:
-              topologySpreadConstraints:
-                - maxSkew: 1
-                  topologyKey: kubernetes.io/hostname
-                  whenUnsatisfiable: ScheduleAnyway
-                  labelSelector:
-                    matchExpressions:
-                      - key: app
-                        operator: In
-                        values:
-                          - rook-ceph-osd
-            preparePlacement:
-              podAntiAffinity:
-                preferredDuringSchedulingIgnoredDuringExecution:
-                  - weight: 100
-                    podAffinityTerm:
-                      labelSelector:
-                        matchExpressions:
-                          - key: app
-                            operator: In
-                            values:
-                              - rook-ceph-osd
-                          - key: app
-                            operator: In
-                            values:
-                              - rook-ceph-osd-prepare
-                      topologyKey: kubernetes.io/hostname
-              topologySpreadConstraints:
-                - maxSkew: 1
-                  # IMPORTANT: If you don't have zone labels, change this to another key such as kubernetes.io/hostname
-                  topologyKey: kubernetes.io/hostname
-                  whenUnsatisfiable: DoNotSchedule
-                  labelSelector:
-                    matchExpressions:
-                      - key: app
-                        operator: In
-                        values:
-                          - rook-ceph-osd-prepare
-            resources:
-              # These are the OSD daemon limits. For OSD prepare limits, see the separate section below for "prepareosd" resources
-              #   limits:
-              #     cpu: "500m"
-              #     memory: "4Gi"
-              #   requests:
-              #     cpu: "500m"
-              #     memory: "4Gi"
-            volumeClaimTemplates:
-              - metadata:
-                  name: data
-                spec:
-                  resources:
-                    requests:
-                      storage: 14Gi
-                  # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
-                  storageClassName: hcloud-volumes
-                  volumeMode: Block
-                  accessModes:
-                    - ReadWriteOnce
-      disruptionManagement:
-        managePodBudgets: true
-        osdMaintenanceTimeout: 30
-        pgHealthCheckTimeout: 0
-    cephBlockPools:
-      - name: ceph-blockpool
-        # see https://github.com/rook/rook/blob/master/Documentation/ceph-pool-crd.md#spec for available configuration
-        spec:
-          failureDomain: host
-          replicated:
-            size: 2
-        storageClass:
-          enabled: true
-          name: ceph-block
-          isDefault: true
-          reclaimPolicy: Delete
-          allowVolumeExpansion: true
-          # see https://github.com/rook/rook/blob/master/Documentation/ceph-block.md#provision-storage for available configuration
-          parameters:
-            # (optional) mapOptions is a comma-separated list of map options.
-            # For krbd options refer
-            # https://docs.ceph.com/docs/master/man/8/rbd/#kernel-rbd-krbd-options
-            # For nbd options refer
-            # https://docs.ceph.com/docs/master/man/8/rbd-nbd/#options
-            # mapOptions: lock_on_read,queue_depth=1024
-
-            # (optional) unmapOptions is a comma-separated list of unmap options.
-            # For krbd options refer
-            # https://docs.ceph.com/docs/master/man/8/rbd/#kernel-rbd-krbd-options
-            # For nbd options refer
-            # https://docs.ceph.com/docs/master/man/8/rbd-nbd/#options
-            # unmapOptions: force
-
-            # RBD image format. Defaults to "2".
-            imageFormat: "2"
-            # RBD image features. Available for imageFormat: "2". CSI RBD currently supports only `layering` feature.
-            imageFeatures: layering
-            # The secrets contain Ceph admin credentials.
-            csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
-            csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
-            csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
-            csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph
-            csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
-            csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph
-            # Specify the filesystem type of the volume. If not specified, csi-provisioner
-            # will set default as `ext4`. Note that `xfs` is not recommended due to potential deadlock
-            # in hyperconverged settings where the volume is mounted on the same node as the osds.
-            csi.storage.k8s.io/fstype: ext4
-    cephObjectStores: []
-    cephFileSystems: []
diff --git a/infrastructure/rook/repository.yaml b/infrastructure/rook/repository.yaml
deleted file mode 100644
index 81b7e3ee7..000000000
--- a/infrastructure/rook/repository.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-apiVersion: source.toolkit.fluxcd.io/v1beta1
-kind: HelmRepository
-metadata:
-  name: rook-release
-spec:
-  interval: 30m
-  url: https://charts.rook.io/release
diff --git a/terraform/.gitignore b/terraform/.gitignore
deleted file mode 100644
index 248419ce0..000000000
--- a/terraform/.gitignore
+++ /dev/null
@@ -1,76 +0,0 @@
-
-# Created by https://www.toptal.com/developers/gitignore/api/terraform,vim,git
-# Edit at https://www.toptal.com/developers/gitignore?templates=terraform,vim,git
-
-### Git ###
-# Created by git for backups. To disable backups in Git:
-# $ git config --global mergetool.keepBackup false
-*.orig
-
-# Created by git when using merge tools for conflicts
-*.BACKUP.*
-*.BASE.*
-*.LOCAL.*
-*.REMOTE.*
-*_BACKUP_*.txt
-*_BASE_*.txt
-*_LOCAL_*.txt
-*_REMOTE_*.txt
-
-### Terraform ###
-# Local .terraform directories
-**/.terraform/*
-
-# .tfstate files
-*.tfstate
-*.tfstate.*
-
-# Crash log files
-crash.log
-
-# Exclude all .tfvars files, which are likely to contain sentitive data, such as
-# password, private keys, and other secrets. These should not be part of version
-# control as they are data points which are potentially sensitive and subject
-# to change depending on the environment.
-#
-*.tfvars
-
-# Ignore override files as they are usually used to override resources locally and so
-# are not checked in
-override.tf
-override.tf.json
-*_override.tf
-*_override.tf.json
-
-# Include override files you do wish to add to version control using negated pattern
-# !example_override.tf
-
-# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
-# example: *tfplan*
-
-# Ignore CLI configuration files
-.terraformrc
-terraform.rc
-
-### Vim ###
-# Swap
-[._]*.s[a-v][a-z]
-!*.svg  # comment out if you don't need vector files
-[._]*.sw[a-p]
-[._]s[a-rt-v][a-z]
-[._]ss[a-gi-z]
-[._]sw[a-p]
-
-# Session
-Session.vim
-Sessionx.vim
-
-# Temporary
-.netrwhist
-*~
-# Auto-generated tag files
-tags
-# Persistent undo
-[._]*.un~
-
-# End of https://www.toptal.com/developers/gitignore/api/terraform,vim,git
diff --git a/terraform/.terraform.lock.hcl b/terraform/.terraform.lock.hcl
deleted file mode 100644
index 52777e74f..000000000
--- a/terraform/.terraform.lock.hcl
+++ /dev/null
@@ -1,121 +0,0 @@
-# This file is maintained automatically by "terraform init".
-# Manual edits may be lost in future updates.
-
-provider "registry.terraform.io/cloudflare/cloudflare" {
-  version     = "3.1.0"
-  constraints = "3.1.0"
-  hashes = [
-    "h1:H4eHyKAZuMizn1mY9HiJ2fFMHvLw0n64ZwtxoereZOI=",
-    "zh:03b1e385aa7f5aa85cd002d688ec7ebf0a58862de5c7b5a9969e2669b1ba5071",
-    "zh:043becbf9b37bf1616cd20c541b9a6a3e869a2c160c4a33b1ed0118a0847a1c5",
-    "zh:0497eaff64e8598d1545e0efed5b1e8eb1a6418326d949fb60428ffd1b0bd05f",
-    "zh:41f3fe35c8562ca2120d51c0a10932c1c85fae8084c447fc0fd7318674f0d36c",
-    "zh:4c0794756d0bb194959f33ffb378fc795db1ccd2d4526fad0f00aae3f4cef4ec",
-    "zh:5c94814960afd9f7c93f5396655255b7503bd5497c6fe6be759832b73225c7b3",
-    "zh:71d6d24afb7015914e0bbfb94ef256f8bb9d60a0f9152577692fcfb8627c1ed0",
-    "zh:780ec8088f3c385f3d673f28f8f0782cff2eec7a4e2cf21c676e5dcb6016b899",
-    "zh:7bac9a9ec4f8db40f8d398fb6c9a9a2c2ccc83c46649d1b82133bf632d9de9ae",
-    "zh:a2d7e593d6b03fda80f77ac89fe10c7403f8b52b352c43f044ca23910b43d49a",
-    "zh:b6ac0c6720efa08bd4ece19096771f7676ae1194f1e7929ce33566146d3b6f6e",
-    "zh:c6466acf245b6d816a1502eebf6f781ad779d13390aa8f14404c7fdb2dfe18d3",
-    "zh:d6a1c7d4633975a8fbbf45775104824eeb04965eb8e7172fd0515ced6bc4e67b",
-    "zh:f5d25cd665ecd24099bde35d2f5070593beae8a421cfa5044a38e1d8d5593644",
-  ]
-}
-
-provider "registry.terraform.io/hashicorp/http" {
-  version     = "2.1.0"
-  constraints = "2.1.0"
-  hashes = [
-    "h1:HmUcHqc59VeHReHD2SEhnLVQPUKHKTipJ8Jxq67GiDU=",
-    "zh:03d82dc0887d755b8406697b1d27506bc9f86f93b3e9b4d26e0679d96b802826",
-    "zh:0704d02926393ddc0cfad0b87c3d51eafeeae5f9e27cc71e193c141079244a22",
-    "zh:095ea350ea94973e043dad2394f10bca4a4bf41be775ba59d19961d39141d150",
-    "zh:0b71ac44e87d6964ace82979fc3cbb09eb876ed8f954449481bcaa969ba29cb7",
-    "zh:0e255a170db598bd1142c396cefc59712ad6d4e1b0e08a840356a371e7b73bc4",
-    "zh:67c8091cfad226218c472c04881edf236db8f2dc149dc5ada878a1cd3c1de171",
-    "zh:75df05e25d14b5101d4bc6624ac4a01bb17af0263c9e8a740e739f8938b86ee3",
-    "zh:b4e36b2c4f33fdc44bf55fa1c9bb6864b5b77822f444bd56f0be7e9476674d0e",
-    "zh:b9b36b01d2ec4771838743517bc5f24ea27976634987c6d5529ac4223e44365d",
-    "zh:ca264a916e42e221fddb98d640148b12e42116046454b39ede99a77fc52f59f4",
-    "zh:fe373b2fb2cc94777a91ecd7ac5372e699748c455f44f6ea27e494de9e5e6f92",
-  ]
-}
-
-provider "registry.terraform.io/hashicorp/local" {
-  version     = "1.4.0"
-  constraints = "1.4.0"
-  hashes = [
-    "h1:P3mtBQSRp/KhVLJgwdHZRTWaYsT6A9nSwrmKrRZwsW8=",
-    "zh:1b265fcfdce8cc3ccb51969c6d7a61531bf8a6e1218d95c1a74c40f25595c74b",
-    "zh:2ea6d8c503a1119b80a273eacd187516347c00a54990c47d130235e2ad53d163",
-    "zh:38bcc4a224d2c0745015564b0803a368b2bd08d1a3e349783bc4c09c68fde24b",
-    "zh:3fada9c646bf57bcdd6844d7c30153407a2a8100811daa69fc0d674fb39a9d18",
-    "zh:74ccb372e752188ba4ff1b1280222d6fd61bdf29dcf474edb8ea63178897912c",
-    "zh:7a323f05ccd7caa1450301af1bb7cac25e2d6ac799eb581219c2c663e5d9ae3f",
-    "zh:7ef13da7e8ae7129fae8a9c72845d52d4586db496359228ed435aeab2f44aea8",
-    "zh:9df7edb284f5548918b839b18204c6a78ac33b4df070d4e4a5c264bb11152e9c",
-    "zh:b062919beaca2e06fd3b333b700dae664828fe734479e51c2c28b8219286e0fc",
-    "zh:ca9fe963f261236b3f3308f8b4979cdd95dd68281b00c1c18a6d17db07519ac8",
-    "zh:e125e4a7d838e231a88e0efc1e727f5a1807db5c0cad5e1cbaf1b52c560b47c7",
-    "zh:f3c3bbab3785f00433135538bdb697d516bc43f102c1b128a0c1419b172e88f6",
-  ]
-}
-
-provider "registry.terraform.io/hashicorp/random" {
-  version = "3.1.0"
-  hashes = [
-    "h1:BZMEPucF+pbu9gsPk0G0BHx7YP04+tKdq2MrRDF1EDM=",
-    "zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc",
-    "zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626",
-    "zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff",
-    "zh:7011332745ea061e517fe1319bd6c75054a314155cb2c1199a5b01fe1889a7e2",
-    "zh:738ed82858317ccc246691c8b85995bc125ac3b4143043219bd0437adc56c992",
-    "zh:7dbe52fac7bb21227acd7529b487511c91f4107db9cc4414f50d04ffc3cab427",
-    "zh:a3a9251fb15f93e4cfc1789800fc2d7414bbc18944ad4c5c98f466e6477c42bc",
-    "zh:a543ec1a3a8c20635cf374110bd2f87c07374cf2c50617eee2c669b3ceeeaa9f",
-    "zh:d9ab41d556a48bd7059f0810cf020500635bfc696c9fc3adab5ea8915c1d886b",
-    "zh:d9e13427a7d011dbd654e591b0337e6074eef8c3b9bb11b2e39eaaf257044fd7",
-    "zh:f7605bd1437752114baf601bdf6931debe6dc6bfe3006eb7e9bb9080931dca8a",
-  ]
-}
-
-provider "registry.terraform.io/hashicorp/template" {
-  version     = "2.2.0"
-  constraints = "2.2.0"
-  hashes = [
-    "h1:94qn780bi1qjrbC3uQtjJh3Wkfwd5+tTtJHOb7KTg9w=",
-    "zh:01702196f0a0492ec07917db7aaa595843d8f171dc195f4c988d2ffca2a06386",
-    "zh:09aae3da826ba3d7df69efeb25d146a1de0d03e951d35019a0f80e4f58c89b53",
-    "zh:09ba83c0625b6fe0a954da6fbd0c355ac0b7f07f86c91a2a97849140fea49603",
-    "zh:0e3a6c8e16f17f19010accd0844187d524580d9fdb0731f675ffcf4afba03d16",
-    "zh:45f2c594b6f2f34ea663704cc72048b212fe7d16fb4cfd959365fa997228a776",
-    "zh:77ea3e5a0446784d77114b5e851c970a3dde1e08fa6de38210b8385d7605d451",
-    "zh:8a154388f3708e3df5a69122a23bdfaf760a523788a5081976b3d5616f7d30ae",
-    "zh:992843002f2db5a11e626b3fc23dc0c87ad3729b3b3cff08e32ffb3df97edbde",
-    "zh:ad906f4cebd3ec5e43d5cd6dc8f4c5c9cc3b33d2243c89c5fc18f97f7277b51d",
-    "zh:c979425ddb256511137ecd093e23283234da0154b7fa8b21c2687182d9aea8b2",
-  ]
-}
-
-provider "registry.terraform.io/hetznercloud/hcloud" {
-  version     = "1.32.0"
-  constraints = "1.32.0"
-  hashes = [
-    "h1:idi73hJM5FTNXAKoAyr1+oVcqNk5Jqmq0GM+sGU7FiM=",
-    "zh:1957fda0a92ffe52bbfeb58aa21a2318eb63f4e1d312d86ebaf251e5a16f0c47",
-    "zh:206ddebfed83cc6c6c8300d008ceca0312f73baf621c8fa50c043d758dbf3c8d",
-    "zh:39aa1ff81a5e7f1e0b7e3283b7f8d3212f9ea03222d4835881537163f006d4a6",
-    "zh:57db72b5b70a34340896c5cdc036d694b248ccfc561e44b47aa1902559f91023",
-    "zh:610dd439f53c1825189ea999f606c989d88e4f60ce29a9466138cf3b321a105b",
-    "zh:72c019addc1a899604d3f9b281d402cde8f7a0f69ce207f298ddf7576c15dccb",
-    "zh:795b38ca4d54a1880a17dda45895861bb8780a257c1fa3a0d3b1ba5bbfbf1faa",
-    "zh:7e53a1596a7872d2258f65554d89f3c38395b102810a3c8276de46a9ce79ad69",
-    "zh:7ef56a5a4c8ad042f6a459b07a489049ec8a71de433a68f519599c2b4c1dc447",
-    "zh:93a0755435536eeec2bf7ea00dc03642e64374b925ed118fbd0313c899c67878",
-    "zh:955b83167abfcc0c7893b6e4554ace53583360ea5ffebb3ba61ece599ba9fb67",
-    "zh:9dccc7e73718c9aa5a47ea85d21f137b8136eed1a42846d0a803cc134cca1ae0",
-    "zh:b1007f8778997e2e2da78f074b96134eebb1c311ad287b9f6448d762d7ed2371",
-    "zh:d04421aeadeab1ea9b6870cf93aad2c1be5796f1b7545a9e115c31045f0704cd",
-  ]
-}
diff --git a/terraform/LICENSE b/terraform/LICENSE
deleted file mode 100644
index 18d3c977d..000000000
--- a/terraform/LICENSE
+++ /dev/null
@@ -1,10 +0,0 @@
-The MIT License (MIT)
-
-Copyright 2021 Christoph (Sheogorath) Kern
-Copyright 2021 Simon Lauger
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/terraform/Makefile b/terraform/Makefile
deleted file mode 100644
index 57ddf14f1..000000000
--- a/terraform/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-.DEFAULT_GOAL := help
-
-TERRAFORM_PARAMETERS?=
-
-include ../utils/help.mk
-
-.PHONY: preflight
-preflight:
-	# Checking tooling
-	command -v terraform > /dev/null
-	# Checking for required variables
-	env | grep -Pe '^HCLOUD_TOKEN' > /dev/null
-	env | grep -Pe '^CLOUDFLARE_EMAIL' > /dev/null
-	env | grep -Pe '^CLOUDFLARE_API_KEY' > /dev/null
-
-.PHONY: init
-init: ## Initalize terraform
-	terraform init
-
-.PHONY: test
-test:
-	terraform fmt -check -recursive
-	terraform validate
-
-.PHONY: plan
-plan: preflight init ## Run terraform plan (dry-run)
-	terraform plan ${TERRAFORM_PARAMETERS}
-
-.PHONY: apply
-apply: preflight init ## Deploy the base infrastructure using terraform
-	terraform apply ${TERRAFORM_PARAMETERS}
-
-.PHONY: destroy
-destroy: preflight init ## Tear down deployed the infrastructure
-	terraform destroy ${TERRAFORM_PARAMETERS}
-	# Cleanup remaining files
-	rm -rf .terraform .terraform terraform.tfstate terraform.tfstate.backup terraform.tfstate.*.backup
diff --git a/terraform/README.md b/terraform/README.md
deleted file mode 100644
index 7054e9bd1..000000000
--- a/terraform/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-SI-GitOps Terraform
-===
-
-This terraform definition is used to do the base deployment of cloud infrastructure for the future Kubernetes clusters.
-
-Preparation
----
-
-1. Create a Hetzner Cloud account
-2. Create a Project on Hetzner Cloud
-3. Upload your SSH key(s) to Hetzner Cloud
-4. Create an API key for Hetzner Cloud and export it to your shell environment using `export HCLOUD_TOKEN=<your token>`
-5. Create and API key for Cloudflare and export your email address used for Cloudflare using `export CLOUDFLARE_EMAIL=<your cloudflare email>` and the API token using `export CLOUDFLARE_API_TOKEN=<your cloudflare token>`
-6. Install terraform
-
-What does it do?
----
-
-It'll deploy:
-
-- 3 control plane nodes on Hetzner Cloud with respective DNS entries on Cloudflare
-- 1 load balancer on Hetzner Cloud with a respective DNS entry on Cloudflare for the API
-- Firewall rules for all nodes as well as specific ones for the control plane and ingress nodes
-- A placement group that should prevent all nodes from ending up on the same machine
-- All nodes will get the required tools installed and configurations prepared for the Kubernetes bootstrapping
-
-Why?
----
-
-Because.
-
-Deployment
----
-
-To deploy the infrastructure you can just use the `make`-CLI this project provides by running `make plan` to preview the project and `make apply` to deploy the project.
-
-Additional options
----
-
-In order to customise the terraform commands, one is able to pass `TERRAFORM_PARAMETERS` as variable to the make command, which will pass them to the terraform commands. This can be used like `TERRAFORM_PARAMETERS="-auto-approve"` in order to run the commands in a CI environment.
-
-You can also always run `make help` to get a help dialogue for all commands.
diff --git a/terraform/dns.tf b/terraform/dns.tf
deleted file mode 100644
index b12e03b15..000000000
--- a/terraform/dns.tf
+++ /dev/null
@@ -1,49 +0,0 @@
-resource "cloudflare_record" "dns_a_api" {
-  zone_id = var.dns_zone_id
-  name    = "api.${var.dns_domain}"
-  value   = hcloud_load_balancer.lb.ipv4
-  type    = "A"
-  ttl     = 300
-}
-
-resource "cloudflare_record" "dns_a_apps" {
-  zone_id = var.dns_zone_id
-  name    = "apps.${var.dns_domain}"
-  value   = hcloud_load_balancer.lb.ipv4
-  type    = "A"
-  ttl     = 300
-}
-
-
-resource "cloudflare_record" "dns_a_apps_wildcard" {
-  zone_id = var.dns_zone_id
-  name    = "*.apps.${var.dns_domain}"
-  value   = hcloud_load_balancer.lb.ipv4
-  type    = "A"
-  ttl     = 300
-}
-
-resource "cloudflare_record" "dns_aaaa_api" {
-  zone_id = var.dns_zone_id
-  name    = "api.${var.dns_domain}"
-  value   = hcloud_load_balancer.lb.ipv6
-  type    = "AAAA"
-  ttl     = 300
-}
-
-resource "cloudflare_record" "dns_aaaa_apps" {
-  zone_id = var.dns_zone_id
-  name    = "apps.${var.dns_domain}"
-  value   = hcloud_load_balancer.lb.ipv6
-  type    = "AAAA"
-  ttl     = 300
-}
-
-
-resource "cloudflare_record" "dns_aaaa_apps_wildcard" {
-  zone_id = var.dns_zone_id
-  name    = "*.apps.${var.dns_domain}"
-  value   = hcloud_load_balancer.lb.ipv6
-  type    = "AAAA"
-  ttl     = 300
-}
diff --git a/terraform/firewall.tf b/terraform/firewall.tf
deleted file mode 100644
index ec4916515..000000000
--- a/terraform/firewall.tf
+++ /dev/null
@@ -1,188 +0,0 @@
-resource "hcloud_firewall" "k8s-node" {
-  name = "k8s-node"
-  apply_to {
-    label_selector = "k8s.io/node"
-  }
-
-  # ICMP is always a good idea
-  #
-  # Network reachability tests
-  rule {
-    description = "ICMP"
-    direction   = "in"
-    protocol    = "icmp"
-    source_ips = [
-      "0.0.0.0/0",
-      "::/0"
-    ]
-  }
-  rule {
-    description = "cAdvisor"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "4194"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Kublet"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "10250"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "kube-proxy-metrics"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "10249"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Kubernetes NodePort"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "30000-32767"
-    source_ips  = [for s in concat([hcloud_load_balancer.lb.ipv4], module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Kubernetes NodePort"
-    direction   = "in"
-    protocol    = "udp"
-    port        = "30000-32767"
-    source_ips  = [for s in concat([hcloud_load_balancer.lb.ipv4], module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Calico BGP"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "179"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Calico VXLAN"
-    direction   = "in"
-    protocol    = "udp"
-    port        = "4789"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Calico Typha"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "5473"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Calico Wireguard"
-    direction   = "in"
-    protocol    = "udp"
-    port        = "51820"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  # Host level services, including the node exporter on ports 9100-9101.
-  rule {
-    description = "Host level services"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "9000-9999"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  # Host level services, including the node exporter on ports 9100-9101.
-  rule {
-    description = "Host level services"
-    direction   = "in"
-    protocol    = "udp"
-    port        = "9000-9999"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-}
-
-
-resource "hcloud_firewall" "k8s-master" {
-  name = "k8s-master"
-  apply_to {
-    label_selector = "k8s.io/controlplane"
-  }
-
-  # ICMP is always a good idea
-  #
-  # Network reachability tests
-  rule {
-    description = "ICMP"
-    direction   = "in"
-    protocol    = "icmp"
-    source_ips = [
-      "0.0.0.0/0",
-      "::/0"
-    ]
-  }
-  rule {
-    description = "Kubernetes API"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "6443"
-    source_ips  = [for s in concat([hcloud_load_balancer.lb.ipv4], module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "etcd"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "2380-2381"
-    source_ips  = [for s in module.controllers.ipv4_addresses : "${s}/32"]
-  }
-  rule {
-    description = "etcd-metrics"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "2379"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "kube-scheduler-metrics"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "10251"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "kube-controller-manager-metrics"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "10252"
-    source_ips  = [for s in concat(module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-}
-
-resource "hcloud_firewall" "k8s-ingress" {
-  name = "k8s-ingress"
-  apply_to {
-    label_selector = "k8s.io/ingress"
-  }
-
-  # ICMP is always a good idea
-  #
-  # Network reachability tests
-  rule {
-    description = "ICMP"
-    direction   = "in"
-    protocol    = "icmp"
-    source_ips = [
-      "0.0.0.0/0",
-      "::/0"
-    ]
-  }
-  rule {
-    description = "Public HTTP"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "32080"
-    source_ips  = [for s in concat([hcloud_load_balancer.lb.ipv4], module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-  rule {
-    description = "Public HTTPS"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "32443"
-    source_ips  = [for s in concat([hcloud_load_balancer.lb.ipv4], module.controllers.ipv4_addresses, module.workers.ipv4_addresses) : "${s}/32"]
-  }
-}
diff --git a/terraform/loadbalancer.tf b/terraform/loadbalancer.tf
deleted file mode 100644
index 3ff60529b..000000000
--- a/terraform/loadbalancer.tf
+++ /dev/null
@@ -1,64 +0,0 @@
-resource "hcloud_load_balancer" "lb" {
-  name               = "lb01.${var.dns_domain}"
-  load_balancer_type = "lb11"
-  location           = var.location
-}
-
-resource "hcloud_load_balancer_target" "lb_target_master" {
-  type             = "label_selector"
-  load_balancer_id = hcloud_load_balancer.lb.id
-  label_selector   = "k8s.io/controlplane"
-  use_private_ip   = false
-}
-
-resource "hcloud_load_balancer_target" "lb_target_ingress" {
-  type             = "label_selector"
-  load_balancer_id = hcloud_load_balancer.lb.id
-  label_selector   = "k8s.io/ingress"
-  use_private_ip   = false
-}
-
-resource "hcloud_load_balancer_service" "lb_api" {
-  load_balancer_id = hcloud_load_balancer.lb.id
-  protocol         = "tcp"
-  listen_port      = 6443
-  destination_port = 6443
-
-  health_check {
-    protocol = "tcp"
-    port     = 6443
-    interval = 10
-    timeout  = 1
-    retries  = 3
-  }
-}
-
-resource "hcloud_load_balancer_service" "lb_ingress_http" {
-  load_balancer_id = hcloud_load_balancer.lb.id
-  protocol         = "tcp"
-  listen_port      = 80
-  destination_port = 32080
-
-  health_check {
-    protocol = "tcp"
-    port     = 32080
-    interval = 10
-    timeout  = 1
-    retries  = 3
-  }
-}
-
-resource "hcloud_load_balancer_service" "lb_ingress_https" {
-  load_balancer_id = hcloud_load_balancer.lb.id
-  protocol         = "tcp"
-  listen_port      = 443
-  destination_port = 32443
-
-  health_check {
-    protocol = "tcp"
-    port     = 32443
-    interval = 10
-    timeout  = 1
-    retries  = 3
-  }
-}
diff --git a/terraform/main.tf b/terraform/main.tf
deleted file mode 100644
index 8570e34bb..000000000
--- a/terraform/main.tf
+++ /dev/null
@@ -1,46 +0,0 @@
-resource "hcloud_placement_group" "k8s" {
-  name = var.dns_domain
-  type = "spread"
-  labels = {
-    "k8s.io/node" = "true"
-  }
-}
-
-module "controllers" {
-  source         = "./modules/hcloud_instance"
-  instance_count = var.replicas_nodes
-  location       = var.location
-  name           = "cp"
-  dns_domain     = var.dns_domain
-  dns_zone_id    = var.dns_zone_id
-  image          = var.image
-  labels = {
-    "k8s.io/node"    = "true",
-    "k8s.io/controlplane"  = "true",
-    "k8s.io/ingress" = "true",
-  }
-  placement_group_id = hcloud_placement_group.k8s.id
-  ssh_keys           = data.hcloud_ssh_keys.all_keys.ssh_keys.*.name
-  server_type        = "cx21"
-  user_data          = file("templates/cloud-init.tpl")
-  enable_IPv6        = false
-}
-
-module "workers" {
-  source         = "./modules/hcloud_instance"
-  instance_count = var.replicas_worker
-  location       = var.location
-  name           = "wk"
-  dns_domain     = var.dns_domain
-  dns_zone_id    = var.dns_zone_id
-  image          = var.image
-  labels = {
-    "k8s.io/node"   = "true",
-    "k8s.io/worker" = "true",
-    "k8s.io/ingress" = "true",
-  }
-  placement_group_id = hcloud_placement_group.k8s.id
-  ssh_keys           = data.hcloud_ssh_keys.all_keys.ssh_keys.*.name
-  server_type        = "cx21-ceph"
-  user_data          = file("templates/cloud-init.tpl")
-}
diff --git a/terraform/modules/hcloud_instance/main.tf b/terraform/modules/hcloud_instance/main.tf
deleted file mode 100644
index 4d8b267af..000000000
--- a/terraform/modules/hcloud_instance/main.tf
+++ /dev/null
@@ -1,48 +0,0 @@
-resource "hcloud_server" "server" {
-  count              = var.instance_count
-  name               = "${format("${var.name}%02d", count.index + 1)}.${var.dns_domain}"
-  image              = var.image
-  server_type        = var.server_type
-  keep_disk          = var.keep_disk
-  ssh_keys           = var.ssh_keys
-  user_data          = var.user_data
-  location           = var.location
-  labels             = var.labels
-  backups            = var.backups
-  placement_group_id = var.placement_group_id
-  lifecycle {
-    ignore_changes = [user_data, image, firewall_ids]
-  }
-}
-
-resource "cloudflare_record" "dns-a" {
-  count   = var.instance_count
-  zone_id = var.dns_zone_id
-  name    = element(hcloud_server.server.*.name, count.index)
-  value   = element(hcloud_server.server.*.ipv4_address, count.index)
-  type    = "A"
-  ttl     = 120
-}
-
-resource "cloudflare_record" "dns-aaaa" {
-  count   = var.enable_IPv6 == true ? var.instance_count : 0
-  zone_id = var.dns_zone_id
-  name    = element(hcloud_server.server.*.name, count.index)
-  value   = "${element(hcloud_server.server.*.ipv6_address, count.index)}1"
-  type    = "AAAA"
-  ttl     = 120
-}
-
-resource "hcloud_rdns" "dns-ptr-ipv4" {
-  count      = var.instance_count
-  server_id  = element(hcloud_server.server.*.id, count.index)
-  ip_address = element(hcloud_server.server.*.ipv4_address, count.index)
-  dns_ptr    = element(hcloud_server.server.*.name, count.index)
-}
-
-resource "hcloud_rdns" "dns-ptr-ipv6" {
-  count      = var.enable_IPv6 == true ? var.instance_count : 0
-  server_id  = element(hcloud_server.server.*.id, count.index)
-  ip_address = "${element(hcloud_server.server.*.ipv6_address, count.index)}1"
-  dns_ptr    = element(hcloud_server.server.*.name, count.index)
-}
diff --git a/terraform/modules/hcloud_instance/network.tf b/terraform/modules/hcloud_instance/network.tf
deleted file mode 100644
index 660d04a36..000000000
--- a/terraform/modules/hcloud_instance/network.tf
+++ /dev/null
@@ -1,5 +0,0 @@
-resource "hcloud_server_network" "server_network" {
-  server_id = element(hcloud_server.server.*.id, count.index)
-  subnet_id = var.subnet
-  count     = var.subnet != null ? length(hcloud_server.server.*.id) : 0
-}
diff --git a/terraform/modules/hcloud_instance/output.tf b/terraform/modules/hcloud_instance/output.tf
deleted file mode 100644
index e2ec52ef8..000000000
--- a/terraform/modules/hcloud_instance/output.tf
+++ /dev/null
@@ -1,19 +0,0 @@
-output "server_ids" {
-  value = hcloud_server.server.*.id
-}
-
-output "server_names" {
-  value = hcloud_server.server.*.name
-}
-
-output "internal_ipv4_addresses" {
-  value = hcloud_server_network.server_network.*.ip
-}
-
-output "ipv4_addresses" {
-  value = hcloud_server.server.*.ipv4_address
-}
-
-output "ipv6_addresses" {
-  value = hcloud_server.server.*.ipv6_address
-}
diff --git a/terraform/modules/hcloud_instance/variables.tf b/terraform/modules/hcloud_instance/variables.tf
deleted file mode 100644
index 635ffd7e0..000000000
--- a/terraform/modules/hcloud_instance/variables.tf
+++ /dev/null
@@ -1,102 +0,0 @@
-variable "name" {
-  type        = string
-  description = "Instance nam"
-}
-
-variable "dns_domain" {
-  type        = string
-  description = "DNS domain"
-}
-
-variable "dns_zone_id" {
-  description = "Zone ID"
-  default     = null
-}
-
-variable "dns_internal_ip" {
-  description = "Point DNS record to internal ip"
-  default     = false
-}
-
-variable "instance_count" {
-  type        = number
-  description = "Number of instances to deploy"
-  default     = 1
-}
-
-variable "server_type" {
-  type        = string
-  description = "Hetzner Cloud instance type"
-  default     = "cx11"
-}
-
-variable "image" {
-  type        = string
-  description = "Hetzner Cloud system image"
-  default     = "fedora-34"
-}
-
-variable "user_data" {
-  description = "Cloud-Init user data to use during server creation"
-  default     = null
-}
-
-variable "ssh_keys" {
-  type        = list(any)
-  description = "SSH key IDs or names which should be injected into the server at creation time"
-  default     = []
-}
-
-variable "keep_disk" {
-  type        = bool
-  description = "If true, do not upgrade the disk. This allows downgrading the server type later."
-  default     = true
-}
-
-variable "labels" {
-  type        = map(string)
-  description = "Labels that the instance is tagged with."
-  default     = {}
-}
-
-
-variable "location" {
-  type        = string
-  description = "The location name to create the server in. nbg1, fsn1 or hel1"
-  default     = "nbg1"
-}
-
-variable "placement_group_id" {
-  description = "Placement Group ID"
-  default     = null
-}
-
-variable "backups" {
-  type        = bool
-  description = "Enable or disable backups"
-  default     = false
-}
-
-variable "volume" {
-  type        = bool
-  description = "Enable or disable an additional volume"
-  default     = false
-}
-
-variable "volume_size" {
-  type        = number
-  description = "Size of the additional data volume"
-  default     = 20
-}
-
-variable "subnet" {
-  type        = string
-  description = "Id of the additional internal network"
-  default     = null
-}
-
-variable "enable_IPv6" {
-  type        = bool
-  description = "Enable or disable setting up IPv6"
-  default     = true
-}
diff --git a/terraform/modules/hcloud_instance/versions.tf b/terraform/modules/hcloud_instance/versions.tf
deleted file mode 120000
index b7707ec81..000000000
--- a/terraform/modules/hcloud_instance/versions.tf
+++ /dev/null
@@ -1 +0,0 @@
-../../versions.tf
\ No newline at end of file
diff --git a/terraform/modules/hcloud_instance/volumes.tf b/terraform/modules/hcloud_instance/volumes.tf
deleted file mode 100644
index 0a080461e..000000000
--- a/terraform/modules/hcloud_instance/volumes.tf
+++ /dev/null
@@ -1,8 +0,0 @@
-resource "hcloud_volume" "volumes" {
-  name      = "${element(hcloud_server.server.*.name, count.index)}-data"
-  size      = var.volume_size
-  format    = "xfs"
-  automount = false
-  server_id = element(hcloud_server.server.*.id, count.index)
-  count     = var.volume == true ? var.instance_count : 0
-}
diff --git a/terraform/provider.tf b/terraform/provider.tf
deleted file mode 100644
index eac840f08..000000000
--- a/terraform/provider.tf
+++ /dev/null
@@ -1,14 +0,0 @@
-provider "cloudflare" {
-}
-
-provider "hcloud" {
-}
-
-provider "template" {
-}
-
-provider "local" {
-}
-
-provider "random" {
-}
diff --git a/terraform/ssh.tf b/terraform/ssh.tf
deleted file mode 100644
index 26f71c7d5..000000000
--- a/terraform/ssh.tf
+++ /dev/null
@@ -1,36 +0,0 @@
-data "hcloud_ssh_keys" "all_keys" {
-}
-
-# Get current public IPs to configure SSH firewall
-data "http" "myipv4" {
-  url = "https://api4.ipify.org"
-}
-
-resource "hcloud_firewall" "k8s-ssh" {
-  name = "k8s-ssh"
-  apply_to {
-    label_selector = "k8s.io/node"
-  }
-
-  # ICMP is always a good idea
-  #
-  # Network reachability tests
-  rule {
-    description = "ICMP"
-    direction   = "in"
-    protocol    = "icmp"
-    source_ips = [
-      "0.0.0.0/0",
-      "::/0"
-    ]
-  }
-  rule {
-    description = "SSH access"
-    direction   = "in"
-    protocol    = "tcp"
-    port        = "22"
-    source_ips = [
-      "${chomp(data.http.myipv4.body)}/32",
-    ]
-  }
-}
diff --git a/terraform/templates/cloud-init.tpl b/terraform/templates/cloud-init.tpl
deleted file mode 100644
index 617ddc4a4..000000000
--- a/terraform/templates/cloud-init.tpl
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-
-# System upgrade
-dnf upgrade -y
-
-# Prepare Kubernetes
-dnf install -y kubernetes kubernetes-kubeadm
-
-# Install Crio as container engine
-dnf module enable -y cri-o:1.20
-dnf install -y cri-o cri-tools
-systemctl enable --now crio
-
-# Load kernel modules for Kubernetes and Calico
-modprobe br_netfilter
-modprobe wireguard
-cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
-br_netfilter
-wireguard
-EOF
-
-# Prepare sysctls for Kubernetes
-cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
-net.bridge.bridge-nf-call-ip6tables = 1
-net.bridge.bridge-nf-call-iptables = 1
-net.ipv4.ip_forward = 1
-EOF
-sysctl --system
-
-dnf install -y iptables
-
-# Disable systemd-resolved for CoreDNS
-rm -f /etc/resolv.conf
-cp /run/systemd/resolve/resolv.conf /etc/resolv.conf
-systemctl disable --now systemd-resolved
-
-# Prepare NetworkManager for Calico
-cat <<EOF | sudo tee /etc/NetworkManager/conf.d/calico.conf
-[keyfile]
-unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico;interface-name:wireguard.cali
-EOF
-systemctl restart NetworkManager
-
-reboot
diff --git a/terraform/variables.tf b/terraform/variables.tf
deleted file mode 100644
index c1f6b4ff2..000000000
--- a/terraform/variables.tf
+++ /dev/null
@@ -1,50 +0,0 @@
-variable "replicas_nodes" {
-  type        = number
-  default     = 3
-  description = "Count of nodes"
-}
-
-variable "replicas_worker" {
-  type        = number
-  default     = 0
-  description = "Count of nodes"
-}
-
-variable "dns_domain" {
-  type        = string
-  description = "Name of the Cloudflare domain"
-}
-
-variable "dns_zone_id" {
-  type        = string
-  description = "Zone ID of the Cloudflare domain"
-}
-
-variable "ip_loadbalancer_api" {
-  description = "IP of an external loadbalancer for api (optional)"
-  default     = null
-}
-
-variable "network_cidr" {
-  type        = string
-  description = "CIDR for the network"
-  default     = "172.16.0.0/12"
-}
-
-variable "subnet_cidr" {
-  type        = string
-  description = "CIDR for the subnet"
-  default     = "172.16.0.0/24"
-}
-
-variable "location" {
-  type        = string
-  description = "Region"
-  default     = "nbg1"
-}
-
-variable "image" {
-  type        = string
-  description = "Image selector"
-  default     = "fedora-34"
-}
diff --git a/terraform/versions.tf b/terraform/versions.tf
deleted file mode 100644
index 75b41e7cd..000000000
--- a/terraform/versions.tf
+++ /dev/null
@@ -1,25 +0,0 @@
-terraform {
-  required_providers {
-    cloudflare = {
-      source  = "cloudflare/cloudflare"
-      version = "3.1.0"
-    }
-    hcloud = {
-      source  = "hetznercloud/hcloud"
-      version = "1.32.0"
-    }
-    template = {
-      source  = "hashicorp/template"
-      version = "2.2.0"
-    }
-    local = {
-      source  = "hashicorp/local"
-      version = "1.4.0"
-    }
-    http = {
-      source  = "hashicorp/http"
-      version = "2.1.0"
-    }
-  }
-  required_version = ">= 0.14"
-}
-- 
GitLab