Dependent Environments

Create dependent environments in Facets that inherit infrastructure, tools, and deployed resources from a base environment to cut cost and duplication.

The Dependent Environment feature in Facets introduces a new paradigm in environment management by allowing it to inherit infrastructure, tools, and any deployed resources from a designated Base Environment.

This promotes consistency, reduces duplication of efforts, and simplifies maintenance by allowing dependent environments to be updated with changes made to the base environment if needed.

When to use it

The two primary scenarios for using dependent environments are feature or non-production environments within the same project and shared non-production environments across projects. Both scenarios optimize cost and simplify infrastructure management. Read More

Create a dependent environment

Using prompt

Create a dependent environment called pr-142 in myproject, based on staging, with its own copy of service/api.

or

Using command

raptor create environment pr-142 -p myproject --base-env staging \
    --dedicated service/api --launch -w

--base-env is what makes it dependent: the new environment inherits the base's blueprint and its live infrastructure, and only the resources named with --dedicated KIND/NAME are deployed fresh. Raptor writes the per-resource inherit overrides for everything else. --artifact NAME=URI registers a new image for a dedicated service; leave it out and the inherited image is used.

The flow is idempotent, so re-running it against an environment that already exists does not create a second one.

New to the CLI? Install it first.

While launching a new environment:

  • Connect your Cloud Provider:
    • Under the Infrastructure Type, choose the option to Use Existing Infrastructure to create a dependent environment.
    • Select the Base Environment from which the dependent environment will inherit its infrastructure and settings.
    • Specify a Namespace for where this environment will be set up in the Kubernetes cluster, to organize and isolate resources effectively.
  • Review Secrets and Variables: You can input the actual values for variables declared in the Blueprint either now or after the launch. However, if you prefer, you can skip the 'Secrets and Variables' tab at this time.
  • Review Resources:
    • It provides a comprehensive overview of all resources in your environment.
    • It also allows you to enable or disable resources prior to launching the environment.
    • Once you have completed these steps, click Launch Environment.