diff --git a/.github/actions/deploy-prod/action.yml b/.github/actions/deploy-prod/action.yml index f90305582..8fa0c5eec 100644 --- a/.github/actions/deploy-prod/action.yml +++ b/.github/actions/deploy-prod/action.yml @@ -289,41 +289,14 @@ runs: - name: 🩺 Diagnose Flux on failure if: failure() && steps.reconcile.outcome == 'failure' - shell: bash - env: - HCLOUD_TOKEN: ${{ inputs.hcloud-token }} - run: | - set +e - echo "::group::Flux Kustomizations" - kubectl get kustomizations.kustomize.toolkit.fluxcd.io -A -o wide - echo "::endgroup::" - echo "::group::Flux HelmReleases" - kubectl get helmreleases.helm.toolkit.fluxcd.io -A -o wide - echo "::endgroup::" - echo "::group::Flux OCIRepositories" - kubectl get ocirepositories.source.toolkit.fluxcd.io -A -o wide - echo "::endgroup::" - echo "::group::Failing Kustomizations describe" - for k in infrastructure-controllers infrastructure apps; do - echo "--- $k ---" - kubectl describe kustomizations.kustomize.toolkit.fluxcd.io "$k" -n flux-system 2>&1 | tail -60 - done - echo "::endgroup::" - echo "::group::Flux controller pods" - kubectl get pods -n flux-system -o wide - echo "::endgroup::" - echo "::group::kustomize-controller logs" - kubectl logs -n flux-system -l app=kustomize-controller --tail=200 - echo "::endgroup::" - echo "::group::helm-controller logs" - kubectl logs -n flux-system -l app=helm-controller --tail=200 - echo "::endgroup::" - echo "::group::source-controller logs" - kubectl logs -n flux-system -l app=source-controller --tail=100 - echo "::endgroup::" - echo "::group::Recent events (warnings)" - kubectl get events -A --field-selector type=Warning --sort-by=.lastTimestamp | tail -50 - echo "::endgroup::" + # Shared composite (extracted from the richest platform-template variant, + # devantler-tech/actions#367). Its default `kustomizations` input is + # `infrastructure-controllers infrastructure apps` — identical to the list + # this callsite previously hard-coded — so this is behaviour-preserving for + # the describe loop and a strict diagnostics upgrade otherwise (Nodes, + # all-pods, failing/CrashLooping pod logs, Job logs, failing-Job describes, + # larger --tail values). Failure-path-only: it cannot affect a green deploy. + uses: devantler-tech/actions/diagnose-flux@e182f2207fb386ef827f48b3cc9b7deac873046a # v7.1.0 - name: 🔄 Update cluster (Talos machine config) # Runs LAST, after manifest delivery, so an unreachable control-plane