Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement FAST stage add-ons, refactor netsec as add-on #2800

Merged
merged 43 commits into from
Jan 9, 2025

Conversation

ludoo
Copy link
Collaborator

@ludoo ludoo commented Jan 7, 2025

This PR implements the approach described in the FAST add-ons ADR.

Add-ons are defined in bootstrap (for stage 1s) or resman (for stage 2s) and have the following characteristics:

  • they do not have any IaC resource but share the ones defined for their "parent stage" (resman for stage 1 addons, networking/security/pf for stage 2 addons)
  • they have a custom provider that just sets a prefix in their parent's GCS backend
  • they optionally support CI/CD via dedicated WIF/service accounts/workflows that allow impersonating their parent SAs

This PR implements support for add-ons, and also moves and/or refactors existing stages that are better defined as add-ons:

  • the legacy fast/plugins folder has been removed
  • a new fast/addons folder has been added
  • support for level 1 add-ons has been added to the bootstrap stage
  • support for level 2 add-ons has been added to the resman stage
  • the multitenant stage is now an add-on in the fast/addons folder
  • the netsec stage has been drastically simplified and refactored, and all its part are now a single addon in the fast/addons folder
  • CI/CD has been overhauled and simplified in both stage 0 and 1, and now supports add-ons

Missing items:

  • add outputs to ngfw add-on (also fixes some tflint warnings)
  • check outputs in moved multitenant add-n
  • refactor documentation for existing stages and stages moved to add-ons
  • create new documentation for add-ons
  • check that add-ons are implicitly disabled if their parent stage is disabled

@ludoo ludoo requested a review from juliocc January 7, 2025 06:48
@ludoo ludoo marked this pull request as ready for review January 9, 2025 15:53
@ludoo ludoo changed the title [WIP] Implement FAST stage add-ons, refactor netsec as add-on Implement FAST stage add-ons, refactor netsec as add-on Jan 9, 2025
fast/stages/0-bootstrap/outputs-providers.tf Outdated Show resolved Hide resolved
fast/addons/2-networking-ngfw/variables-fast.tf Outdated Show resolved Hide resolved
@ludoo ludoo enabled auto-merge (squash) January 9, 2025 18:02
@ludoo ludoo merged commit 27f1cc2 into fast-dev Jan 9, 2025
18 checks passed
@ludoo ludoo deleted the ludo/netsec-envs branch January 9, 2025 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants