Manage Launchplane Authorization #49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| 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 }} |