3af7e257d2
* Fix terraform_deprecated_index https://github.com/terraform-linters/tflint-ruleset-terraform/blob/v0.5.0/docs/rules/terraform_deprecated_index.md * Fix terraform_deprecated_interpolation Reference: https://github.com/terraform-linters/tflint-ruleset-terraform/blob/v0.5.0/docs/rules/terraform_deprecated_interpolation.md * Fix more indexing * Remove unused variable * Enable TFLint for modules * Add tflint config file * Fix chdir * Lint modules * TFLint fixes * TFLint * Fixes binauthz README * Fixes DNS response policy tests. Restores MIG outputs. * Fixes other DNS response policy tests. * Update tests for fast 2-e * Moar fixed tests --------- Co-authored-by: Simone Ruffilli <sruffilli@google.com> |
||
---|---|---|
.. | ||
2-networking-serverless-connector | ||
README.md |
README.md
FAST plugin system
This folders details a simple mechanism that can be used to add extra functionality to FAST stages, and a few examples that implement simple plugins that can be used as-is.
Available plugins
Networking
Anatomy of a plugin
FAST plugins are much simpler and easier to code than full-blown stages: each plugin is meant to add a single feature using a small set of resources, and interacting directly with stage modules and variables.
A simple plugin might be composed of a single file with one resource, and grow up to the canonical set of one "main" (resources), one variables, and outputs file.
Plugin file names start with the local-
prefix which is purposefully excluded in FAST stages via Git ignore, so that plugins are not accidentally committed to stages during development and staying aligned with our master branch is possible.
Plugins are structured here as individual folders, organized in top-level folders according to the FAST stage they are designed to work with.
As an example, the 2-networking/serverless-connector
plugin implements centralized Serverless VPC Access Connectors for our networking stages, and is composed of three files:
local-serverless-connector.tf
managing resources including the subnets needed in each VPC and the connectors themselveslocal-serverless-connector-outputs.tf
defining a singleserverless_connectors
output for the plugin, and optional output fileslocal-serverless-connector-variables.tf
defining a singleserverless_connector_config
variable used to configure the plugin