Static environments are persistent and shared by teams for structured development and testing workflows. Common examples include Development (dev), Quality Assurance (QA), and Staging environments. They are essential for ensuring code stability and quality before changes reach production.

Environments List

The Environments List displays all the environments defined within your infrastructure. For each environment, you can view:

  • Kubernetes Clusters: The clusters hosting the environment.
  • Deployed Services: The number of services currently deployed in the environment.
  • Upcoming Feature: Soon, you’ll be able to add or remove environments directly from this section, making environment management more flexible and intuitive. For now, environments are defined at the service level.

Common Use Cases:

  • Development: Used for implementing and testing individual features.
  • QA: Dedicated for integration and regression testing.
  • Staging: Mimics the production setup closely for final validations.

Environment Page

The Environment Page provides a detailed view of a specific environment, showcasing:

Services - Deploy Section

This section lists all services within the environment and provides deployment management features. Below are the key columns and their descriptions:

  1. Name:
    • Displays the name of each service.
    • Links to more detailed service-specific pages for further inspection.
  2. Cluster:
    • Indicates the Kubernetes cluster running the service.
  3. Namespace:
    • Specifies the namespace in which the service resides within the cluster.
  4. Location:
    • Denotes the physical or logical location of the cluster (e.g., us-east1-b).
  5. GitHub:
    • Linking to the service’s repository or workflow configurations in GitHub.
  6. Select Version (Git Tag):
    • A dropdown to select a specific version or Git tag for deployment.
  7. GitHub Workflow:
    • Links to the deployment workflows associated with the service, providing insights into CI/CD pipelines.

Batch Deployment

  • Select multiple services using checkboxes to deploy them simultaneously:
    1. Choose the desired version for each service from the dropdown.
    2. Click Deploy to trigger the deployment workflows.
    3. Monitor the deployment status directly from the page.

Technical Benefits:

  • Stability: Static environments offer consistent configurations, reducing variability during testing.
  • Predictability: Predefined infrastructure ensures reliable results when testing changes.
  • Shared Resources: Efficiently manage team workflows by leveraging shared, persistent environments.

Best Practices for Managing Static Environments

  1. Clear Environment Definitions: Maintain explicit naming conventions for environments (e.g., dev, qa, staging) to avoid confusion.
  2. Environment Health Monitoring: Use monitoring tools to ensure the environment remains stable and performant.