Environment
Environments in Facets are the clusters where blueprints deploy, with per-environment config, runtime variables, and isolation across dev, test, and prod.
In Facets, environments are the specific deployment destinations for your cloud architecture blueprints. They represent the actual clusters where your applications and services are deployed. Think of them as the distinct spaces where your applications run, such as development, testing, or production .
Key characteristics of environments in Facets:
Deployment Target: When you deploy a blueprint, you deploy it into a specific environment. This allows you to have different versions of your infrastructure running in different environments]. For example, you might have a development environment for testing new features and a production environment for your live application.
Dynamic Configuration: Each environment can have its own specific configuration. This allows you to customize the behavior of your application based on the specific environment it is running in. Facets injects environment variables at runtime, determining their values for each environment. This means that the same application can behave differently in different environments.
Overriding Defaults: You can set default values for variables at the project or service level and then override them at the environment level. This provides a hierarchical approach to configuration management, ensuring that each environment is tailored to its specific needs.
Why Environments are Important in Facets:
Isolation: Environments allow you to isolate changes to your infrastructure. For example, you can test new features in a development environment before deploying them to a production environment.
Consistency: By using the same blueprint for different environments, you ensure consistent deployments across your application's lifecycle. Differences in configuration can be handled by environment variables.
Centralized Management: Facets manages all configurations using environment variables which are injected at runtime. This means you are managing all your configurations in a central place, and you aren't relying on scattered environment variables, secrets, or configuration files.
In summary, environments are the deployment locations for your Facets blueprints, enabling customization and isolation of your applications. They utilize environment variables to manage configurations, ensuring consistency, flexibility, and control over your deployments.
Environment Overview
The Facets environment overview shows infrastructure health, live Kubernetes workloads, service endpoints, resource use, and lifecycle actions in one place.
Launching & destroying
How to launch and destroy Facets environments, covering the preferred dynamic launch wizard and the legacy static-launch flow kept for existing environments.
Configuration
Configure Facets environments with overrides for resource settings, environment variables, secrets, and custom domains, without changing the blueprint.
Dependent Environments
Create dependent environments in Facets that inherit infrastructure, tools, and deployed resources from a base environment to cut cost and duplication.
Template Inputs
Use Facets template inputs and Mustache files to deploy per-tenant replicas of a resource in one environment, with logically isolated, centrally managed silos.
Settings
Manage Facets environment settings: general details, time-sensitive schedules, releases, infrastructure as code, VPN access, and Danger Zone controls.
Environment Settings Use Cases
Worked examples of Facets environment settings, from mirroring production for UAT load testing to building a secure, VPN-enabled development environment.
Migrating existing infra
Adopt existing, running cloud resources into Facets-managed Terraform state without recreating or destroying them, using a staged import flow Praxis can guide.
Environment Overview
The Facets environment overview shows infrastructure health, live Kubernetes workloads, service endpoints, resource use, and lifecycle actions in one place.