From a079ae8ffd61f42fe67764a6c961ac11b0d5c71c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 7 Dec 2025 17:12:05 +0000 Subject: [PATCH] feat: deploy start using kustomization --- .gitea/workflows/deploy.yaml | 8 +------- README.md | 4 +++- deploy/app/kustomization.yaml | 7 +++++++ deploy/app/pvc.yaml | 12 ++++++++++++ .../{deployment.yaml => app/statefulset.yaml} | 19 ++----------------- deploy/{ => infra}/README.md | 0 deploy/{ => infra}/cicd-rbac.yaml | 0 .../{ => infra}/service-account-secret.yaml | 0 deploy/{ => infra}/service-account.yaml | 0 deploy/{ => infra}/service.template.yaml | 0 ops-scripts/apply-app.sh | 5 +++++ ops-scripts/apply-infra.sh | 5 +++++ 12 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 deploy/app/kustomization.yaml create mode 100644 deploy/app/pvc.yaml rename deploy/{deployment.yaml => app/statefulset.yaml} (80%) rename deploy/{ => infra}/README.md (100%) rename deploy/{ => infra}/cicd-rbac.yaml (100%) rename deploy/{ => infra}/service-account-secret.yaml (100%) rename deploy/{ => infra}/service-account.yaml (100%) rename deploy/{ => infra}/service.template.yaml (100%) create mode 100755 ops-scripts/apply-app.sh create mode 100755 ops-scripts/apply-infra.sh diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index aa799e6..e6a20b3 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -37,12 +37,6 @@ jobs: - name: Deploy Home Assistant shell: bash - env: - ENDPOINT_IP: "${{ secrets.CASA_HOMEASSISTANT_ENDPOINT_IP }}" - SERVICE_PORT: "${{ secrets.CASA_HOMEASSISTANT_ENDPOINT_SERVICE_PORT }}" - INGRESS_ROUTES_MATCH: "${{ secrets.CASA_HOMEASSISTANT_INGRESS_ROUTES_MATCH }}" - INGRESS_TLS_SECRET_NAME: "${{ secrets.CASA_HOMEASSISTANT_INGRESS_TLS_SECRET_NAME }}" run: | - kubectl apply -f ./deploy/deployment.yaml \ - && envsubst < ./deploy/service.template.yaml | kubectl apply -f - + ./ops-scripts/apply-app.sh \ No newline at end of file diff --git a/README.md b/README.md index 2075303..3a5d17e 100644 --- a/README.md +++ b/README.md @@ -254,4 +254,6 @@ Home Assistant authenticates with Xbox Live through OAuth2 using the Home Assist ## Setup -[Deploy documentation](./deploy/README.md). +``` bash +./ops-scripts/apply-app.sh +``` diff --git a/deploy/app/kustomization.yaml b/deploy/app/kustomization.yaml new file mode 100644 index 0000000..b449032 --- /dev/null +++ b/deploy/app/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - pvc.yaml + - statefulset.yaml +generatorOptions: + disableNameSuffixHash: true \ No newline at end of file diff --git a/deploy/app/pvc.yaml b/deploy/app/pvc.yaml new file mode 100644 index 0000000..a7dde55 --- /dev/null +++ b/deploy/app/pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: home-assistant-config + namespace: home-assistant +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi + storageClassName: local-path \ No newline at end of file diff --git a/deploy/deployment.yaml b/deploy/app/statefulset.yaml similarity index 80% rename from deploy/deployment.yaml rename to deploy/app/statefulset.yaml index 18ad238..ab05e1a 100644 --- a/deploy/deployment.yaml +++ b/deploy/app/statefulset.yaml @@ -1,19 +1,3 @@ ---- - -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: home-assistant-config - namespace: home-assistant -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi - storageClassName: local-path ---- - apiVersion: apps/v1 kind: StatefulSet metadata: @@ -44,7 +28,7 @@ spec: imagePullPolicy: Always env: - name: TZ - value: Europe/Lisbon # set timezone + value: Europe/Lisbon volumeMounts: - name: home-assistant-config mountPath: /config @@ -55,6 +39,7 @@ spec: limits: memory: "724Mi" cpu: "1000m" + volumes: - name: home-assistant-config persistentVolumeClaim: diff --git a/deploy/README.md b/deploy/infra/README.md similarity index 100% rename from deploy/README.md rename to deploy/infra/README.md diff --git a/deploy/cicd-rbac.yaml b/deploy/infra/cicd-rbac.yaml similarity index 100% rename from deploy/cicd-rbac.yaml rename to deploy/infra/cicd-rbac.yaml diff --git a/deploy/service-account-secret.yaml b/deploy/infra/service-account-secret.yaml similarity index 100% rename from deploy/service-account-secret.yaml rename to deploy/infra/service-account-secret.yaml diff --git a/deploy/service-account.yaml b/deploy/infra/service-account.yaml similarity index 100% rename from deploy/service-account.yaml rename to deploy/infra/service-account.yaml diff --git a/deploy/service.template.yaml b/deploy/infra/service.template.yaml similarity index 100% rename from deploy/service.template.yaml rename to deploy/infra/service.template.yaml diff --git a/ops-scripts/apply-app.sh b/ops-scripts/apply-app.sh new file mode 100755 index 0000000..0b895d0 --- /dev/null +++ b/ops-scripts/apply-app.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -e +echo "Executing app deploy." + +kubectl kustomize deploy/app | kubectl apply -f - \ No newline at end of file diff --git a/ops-scripts/apply-infra.sh b/ops-scripts/apply-infra.sh new file mode 100755 index 0000000..f2cb358 --- /dev/null +++ b/ops-scripts/apply-infra.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -e +echo "Executing infra deploy." + +kubectl kustomize deploy/infra | kubectl apply -f - \ No newline at end of file