From 24180b0d55e5f8c31077950c504d933685d9510e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Gerrit=20G=C3=B6bel?= <86782124+jggoebel@users.noreply.github.com> Date: Thu, 11 Jul 2024 12:48:25 +0200 Subject: [PATCH] Move controller to TF-service (#438) * Move controller to TF-service * Add RBAC rights --- charts/hobbyfarm/templates/terraform-service/rbac.yaml | 6 ++++++ .../{deployment.yaml => statefulset.yaml} | 7 ++++++- .../vm-service/{statefulset.yaml => deployment.yaml} | 3 +-- charts/hobbyfarm/templates/vm-service/rbac.yaml | 6 ------ charts/hobbyfarm/values.yaml | 2 +- 5 files changed, 14 insertions(+), 10 deletions(-) rename charts/hobbyfarm/templates/terraform-service/{deployment.yaml => statefulset.yaml} (88%) rename charts/hobbyfarm/templates/vm-service/{statefulset.yaml => deployment.yaml} (97%) diff --git a/charts/hobbyfarm/templates/terraform-service/rbac.yaml b/charts/hobbyfarm/templates/terraform-service/rbac.yaml index ea2afdd..9699fab 100644 --- a/charts/hobbyfarm/templates/terraform-service/rbac.yaml +++ b/charts/hobbyfarm/templates/terraform-service/rbac.yaml @@ -33,6 +33,12 @@ rules: - apiGroups: ["terraformcontroller.cattle.io"] resources: ["*"] verbs: ["*"] + - apiGroups: ["hobbyfarm.io"] + resources: ["virtualmachines", "virtualmachines/status"] + verbs: ["*"] + - apiGroups: ["apps"] + resources: ["statefulsets"] + verbs: ["list", "get", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding diff --git a/charts/hobbyfarm/templates/terraform-service/deployment.yaml b/charts/hobbyfarm/templates/terraform-service/statefulset.yaml similarity index 88% rename from charts/hobbyfarm/templates/terraform-service/deployment.yaml rename to charts/hobbyfarm/templates/terraform-service/statefulset.yaml index 9cffde0..345b93c 100644 --- a/charts/hobbyfarm/templates/terraform-service/deployment.yaml +++ b/charts/hobbyfarm/templates/terraform-service/statefulset.yaml @@ -1,11 +1,12 @@ {{ if .Values.terraform.enabled }} apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: terraform-service namespace: {{ .Release.Namespace }} spec: replicas: {{ $.Values.terraform.service.replicas }} + serviceName: terraform-service-grpc selector: matchLabels: component: terraform-service @@ -32,6 +33,10 @@ spec: value: {{ .Release.Namespace | quote }} - name: GRPC_PORT value: "8080" + - name: STATEFULSET_NAME + value: "terraform-service" + - name: CONTROLLER_THREAD_COUNT + value: {{ .Values.terraform.service.controllerWorkerThreadCount | quote }} ports: - containerPort: 8080 volumeMounts: diff --git a/charts/hobbyfarm/templates/vm-service/statefulset.yaml b/charts/hobbyfarm/templates/vm-service/deployment.yaml similarity index 97% rename from charts/hobbyfarm/templates/vm-service/statefulset.yaml rename to charts/hobbyfarm/templates/vm-service/deployment.yaml index ae9d82d..cd1d423 100644 --- a/charts/hobbyfarm/templates/vm-service/statefulset.yaml +++ b/charts/hobbyfarm/templates/vm-service/deployment.yaml @@ -1,11 +1,10 @@ apiVersion: apps/v1 -kind: StatefulSet +kind: Deployment metadata: name: vm-service namespace: {{ .Release.Namespace }} spec: replicas: {{ $.Values.vm.replicas }} - serviceName: "vm-service" selector: matchLabels: component: vm-service diff --git a/charts/hobbyfarm/templates/vm-service/rbac.yaml b/charts/hobbyfarm/templates/vm-service/rbac.yaml index da1a0af..cddc98a 100644 --- a/charts/hobbyfarm/templates/vm-service/rbac.yaml +++ b/charts/hobbyfarm/templates/vm-service/rbac.yaml @@ -29,12 +29,6 @@ rules: - apiGroups: [""] resources: ["*"] verbs: ["*"] - - apiGroups: ["hobbyfarm.io"] - resources: ["virtualmachines", "virtualmachines/status"] - verbs: ["*"] - - apiGroups: ["apps"] - resources: ["statefulsets"] - verbs: ["list", "get", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding diff --git a/charts/hobbyfarm/values.yaml b/charts/hobbyfarm/values.yaml index f6ec8e5..a5f6160 100644 --- a/charts/hobbyfarm/values.yaml +++ b/charts/hobbyfarm/values.yaml @@ -123,6 +123,7 @@ terraform: service: image: hobbyfarm/terraform-service:v3.2.0 replicas: 1 + controllerWorkerThreadCount: 1 logLevel: "0" serviceAccountName: "hobbyfarm-terraform" user: @@ -135,7 +136,6 @@ user: vm: image: hobbyfarm/vm-service:v3.2.0 replicas: 1 - controllerWorkerThreadCount: 1 logLevel: "0" apiPort: 80 serviceAccountName: "hobbyfarm-vm"