Add [setup.products] support to fastly compute deploy/publish #1617
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds first-class support for enabling Fastly Products during the initial
fastly compute publish, driven by a new[setup.products]section infastly.toml.What this enables
On first publish (service creation only), users can now declaratively enable products such as Fanout, API Discovery, NGWAF, etc., alongside other
[setup]resources.Example:
Key points
New manifest schema
SetupProductsunder[setup]workspace_id)New setup resource
setup.Products, integrated into the existing setup lifecycle[setup]resources)Clean, table-driven implementation
Activation via go-fastly product APIs
fastly/products/*enable APIsSafe defaults
enable = true[setup.products]Review notes
pkg/commands/compute/setup/products.gopkg/manifest/setup.goWhy this change
We already support declarative setup for backends, KV stores, secret stores, etc.
Products are a natural extension of that model, and this removes the need for manual post-deploy steps or separate CLI invocations when bootstrapping a new service.