Skip to content

Manage Launchplane Authorization #49

Manage Launchplane Authorization

Manage Launchplane Authorization #49

---
name: Manage Launchplane Authorization
"on":
workflow_dispatch:
inputs:
mode:
description: Review or apply the protected operator-managed desired rule set.
required: true
default: dry_run
type: choice
options:
- dry_run
- apply
managed_set:
description: Protected operator-managed desired rule set to reconcile.
required: true
default: primary
type: choice
options:
- primary
- odoo-route-binding
- odoo-external-route-binding
- odoo-testing-ingress-route
- odoo-testing-route-binding-refresh
- odoo-testing-target-replacement
- odoo-opw-preview-feedback
- odoo-opw-production-enrollment
- odoo-production-enrollment
reviewed_plan_sha256:
description: Plan SHA-256 returned by the reviewed dry run; required for apply.
required: false
type: string
reason:
description: Single-line operator reason bound into the reviewed plan.
required: true
type: string
related_issue:
description: Single-line issue or change reference bound into the reviewed plan.
required: true
type: string
permissions:
contents: read
id-token: write
jobs:
reconcile-primary:
if: ${{ inputs.managed_set == 'primary' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_MANAGED_SET_JSON }}
reconcile-odoo-route-binding:
if: ${{ inputs.managed_set == 'odoo-route-binding' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_ROUTE_BINDING_MANAGED_SET_JSON }}
reconcile-odoo-external-route-binding:
if: ${{ inputs.managed_set == 'odoo-external-route-binding' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_EXTERNAL_ROUTE_BINDING_MANAGED_SET_JSON }}
reconcile-odoo-testing-ingress-route:
if: ${{ inputs.managed_set == 'odoo-testing-ingress-route' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_TESTING_INGRESS_ROUTE_MANAGED_SET_JSON }}
reconcile-odoo-testing-route-binding-refresh:
if: ${{ inputs.managed_set == 'odoo-testing-route-binding-refresh' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_TESTING_ROUTE_BINDING_REFRESH_MANAGED_SET_JSON }}
reconcile-odoo-testing-target-replacement:
if: ${{ inputs.managed_set == 'odoo-testing-target-replacement' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_TESTING_TARGET_REPLACEMENT_MANAGED_SET_JSON }}
reconcile-odoo-opw-preview-feedback:
if: ${{ inputs.managed_set == 'odoo-opw-preview-feedback' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_OPW_PREVIEW_FEEDBACK_MANAGED_SET_JSON }}
reconcile-odoo-opw-production-enrollment:
if: ${{ inputs.managed_set == 'odoo-opw-production-enrollment' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_OPW_PRODUCTION_ENROLLMENT_MANAGED_SET_JSON }}
reconcile-odoo-production-enrollment:
if: ${{ inputs.managed_set == 'odoo-production-enrollment' }}
uses: cbusillo/launchplane/.github/workflows/reusable-authz-policy-reconcile.yml@4dbef2945b0a297a6edaa949a42d8c7d4cbc01cd # main
with:
mode: ${{ inputs.mode }}
reviewed_plan_sha256: ${{ inputs.reviewed_plan_sha256 }}
reason: ${{ inputs.reason }}
related_issue: ${{ inputs.related_issue }}
secrets:
managed_set_json: ${{ secrets.LAUNCHPLANE_AUTHZ_ODOO_PRODUCTION_ENROLLMENT_MANAGED_SET_JSON }}