An Environment is a user-defined group that brings together applications and all of the services and databases those applications require, running within a namespace.
Environments typically represent the software project lifecycle stages, such as staging, development, QA, or production.
Network Isolation
Bunnyshell creates a namespace in Kubernetes for every environment. The Network Isolation feature ensures that pods inside a namespace can be accessed only from within that particular namespace. The feature is activated by default and cannot be deactivated.
Types of environments
Primary Environments
Primary environmentsare manually-created environments that are not destroyed automatically. Typically they are for more traditional staging or production workloads.
They can be set to track application branches and automatically deploy ephemeral environments on a pull request to the application source control system. They are used as blueprints for generating ephemeral environments.
They are also known as Permanent Environments or Environment Templates.
Ephemeral environments are designed to be close replicas of production environments and can be created on-demand or automatically only based on existing primary environments.
Sometimes Ephemeral Environments are also known as Preview Environments, Temporary Environment, Development Environment.
Ephemeral environments are usually environments that live for the life of a Pull Request or are created manually to preview changes, showcase demos, or test new configurations.