An environment resource is a declarative request for a provisioned development environment. It forms a contract between application teams and the platform, exposing environment type and team-specific configuration while hiding provisioning details. section 6.1.1
An environment resource supports a platform workflow:
- Application teams submit requests through the platform API, potentially creating as many development environments as they need. section 6.1.1
- The resource specifies a type, such as development, plus parameters such as whether infrastructure or application services should be installed. section 6.1.1
- Platform mechanisms interpret the request and provision an isolated environment without exposing their implementation details to users. section 6.3.2
- Teams inspect readiness and connection information, then connect to the provisioned environment to work independently. section 6.3.2
Kubernetes environment request
A Kubernetes resource can select a development composition and request infrastructure installation: apiVersion: salaboy.com/v1alpha1; kind: Environment; metadata.name: team-a-dev-env; spec.compositionSelector.matchLabels.type: development; spec.parameters.installInfra: true. Listing environments exposes the environment name, connection target, type, infrastructure setting, and readiness. section 6.3.2
Figure 6.16 Using Crossplane and vcluster to create isolated environments for application development teams
Shows how Crossplane and vcluster provision isolated environments for application development teams. section 6.3.2
