name: Deploy Stack on: 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 codecentric https://codecentric.github.io/helm-charts helm repo update - name: Deploy Airflow if: ${{ 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: ${{ inputs.service == 'all' || inputs.service == 'keycloak' }} run: | helm upgrade --install keycloak codecentric/keycloakx \ --namespace keycloak \ --create-namespace \ --values helm/keycloak/values.yaml \ --wait