Overview of Creating Cloud Resource Plans
< introduction | cloud resource plan creation workflow
This section covers the "Create initial version" phase of the cloud resource plan's lifecycle.
Creating a cloud resource plan involves several sections which you must follow in order. Key points for each section are described below:
Details
- Identification and Description: Clear and descriptive names help developers quickly identify the cloud resource plan's purpose and configuration details.
- Versioning: Assigning a unique semantic version to the cloud resource plan ensures consistency and facilitates tracking changes over time.
- Private Repository and Terraform repository secret: Storing Terraform modules in a private repository with secure access protects sensitive infrastructure configurations.
- Terraform module URL and version: Providing a specific Terraform module URL and version ensures developers are using the correct module and version for their applications.
- Cloud Provider Configuration: Specifying the cloud provider (e.g., AWS, Azure, GCP) and configuring necessary settings ensures compatibility with versions supported by the chosen provider.
Scope
Scoping a cloud resource plan offers these benefits:
- Workspaces: Scope plans to specific developer workspaces to address their unique requirements.
- Stages: Ensure consistent cloud resource configuration across clusters within a stage such as production and non-production.
Configuration Settings
By configuring the key components of a cloud resource plan, platform engineers can ensure that developers have the right balance of flexibility, control, and security when provisioning cloud resources.
- Input Values: Platform engineers define which input values developers can override, allowing them to adjust specific parameters (e.g., database name, connection username, and password) while maintaining overall control.
- Dynamic Configuration: Platform engineers can use Wayfinder's template variables to provide dynamic, context-driven read-only values, such as a correctly configured database connection string. This ensures standardisation and reduces the burden on developers.
- Default Overrides: Terraform modules come with default configurations, which platform engineers can use as-is or override with dynamic configurations through Wayfinder's template variables, providing flexibility while adhering to organisational requirements.
- Output Values: Wayfinder stores the outputs from the Terraform module as secrets in the application's namespace, ensuring secure access to critical information without compromising security. Developers can then use these output variables in their applications, such as accessing a database's connection string.
Review Configuration Summary
Review a summary of the configuration you've specified and make any ammendmends as needed.
Apply the YAML
View and download the YAML and then apply it using Wayfinder's CLI or via your CI system. Alternatively, you can instruct Wayfinder to apply the YAML immediately.