name: Deploy Stack on: push: branches: - main workflow_dispatch: inputs: service: description: "Service to deploy" required: true type: choice options: - all - airflow - keycloak jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup kubeconfig run: | mkdir -p ~/.kube echo "${{ secrets.KUBECONFIG_HETZNER }}" | base64 -d > ~/.kube/config - name: Setup Helm uses: azure/setup-helm@v4 - name: Add Helm repos run: | helm repo add apache-airflow https://airflow.apache.org helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update - name: Deploy Airflow if: ${{ github.event_name == 'push' || inputs.service == 'all' || inputs.service == 'airflow' }} run: | helm upgrade --install airflow apache-airflow/airflow \ --namespace airflow \ --create-namespace \ --values helm/airflow/values.yaml \ --wait - name: Deploy Keycloak if: ${{ github.event_name == 'push' || inputs.service == 'all' || inputs.service == 'keycloak' }} run: | helm upgrade --install keycloak bitnami/keycloak \ --namespace keycloak \ --create-namespace \ --values helm/keycloak/values.yaml \ --wait