Environment Management
Environments in Realm9 represent any infrastructure setup — development servers, staging clusters, production systems, or specialised test environments. They are the central resource that teams book, track costs against, and automate with Terraform.
Overview
Each environment can be:
- Booked by teams with configurable approval workflows
- Tracked for hourly costs and utilisation
- Automated through linked Terraform workspaces
- Extended with custom fields, software tracking, and access credentials
- Compared side by side with other environments
- Shared across multiple teams concurrently (with concurrency limits)
Environments List
Navigate to Environments in the sidebar to see all environments your organisation has access to.
Filters and Search
- Status filter — filter by operational status: Available, Occupied, Under Maintenance, Preparing, Offline
- Provisioning status filter — filter by provisioning state: Unprovisioned, Provisioning, Provisioned, Failed, etc.
- Environment Type — filter by your organisation's defined types
- Needs Approval — toggle to show only environments that require booking approval
View Modes
Switch between three views using the toolbar:
- Grid — card-based overview of each environment
- Table — sortable, dense list view with all key fields
- Calendar — visualise environment bookings on a monthly calendar
Summary Cards
The top of the list shows five status summary cards giving a quick count breakdown:
- Available
- Occupied
- Under Maintenance
- Preparing
- Offline
Export
Export the current list view as CSV or JSON using the export button in the toolbar. Exports respect active filters.
Pagination
Control how many environments appear per page: 6, 12, 24, or 48.
Creating Environments
- Navigate to Environments in the sidebar
- Click New Environment
- Fill in the core details:
Basic Information
- Name — unique identifier for the environment
- Display Name — optional friendly name shown in the UI
- Description — free-text description
- Environment Type — select from your organisation's configured types
- Lifecycle Stage — Development, Testing, Staging, Production, or Deprecated
- Status — initial operational status (Available, Under Maintenance, etc.)
- Hourly Cost — used for cost tracking and FinOps reporting
- Is Shared — if enabled, multiple teams can book the environment concurrently (set max concurrent teams: 2–20)
Booking Settings
- Enable or disable bookings
- Require approval for all bookings
- Set maximum booking duration (hours)
- Configure auto-release after booking ends
Maintenance Windows
Define scheduled maintenance periods. During a maintenance window, the environment is automatically set to Under Maintenance and restored afterwards. Fields include:
- Start and end time
- Recurrence (one-off or repeating)
- Notification lead time
Terraform Workspaces
Link one or more Terraform workspaces to the environment:
- Environment Workspaces — workspaces for provisioning the environment infrastructure itself
- Booking Provisioning — a workspace triggered automatically when a booking starts, with optional buffer time before start
CMDB Import
If ServiceNow integration is configured, you can import an existing CMDB Configuration Item when creating the environment, pre-populating fields from ServiceNow.
Custom Fields
Any custom field groups enabled by your admin appear at the bottom of the creation form.
- Click Create
Environment Types
Environment types are configured by your organisation (not a fixed list). Common examples include Development, Staging, Production, Testing, and Sandbox — but admins can define any types that match your team's needs.
Status Systems
Environments have two independent status dimensions:
Operational Status
Reflects the current availability of the environment:
| Status | Description |
|---|---|
| Available | Ready to be booked |
| Occupied | Currently booked and in use |
| Under Maintenance | Undergoing maintenance, not bookable |
| Preparing | Being set up or configured |
| Offline | Inactive or decommissioned |
Provisioning Status
Reflects the Terraform provisioning state of the environment:
| Status | Description |
|---|---|
| Unprovisioned | No Terraform provisioning applied |
| Provisioning | Terraform apply in progress |
| Provisioned | Successfully provisioned |
| Provision Failed | Terraform apply failed |
| Destroying | Terraform destroy in progress |
| Destroyed | Infrastructure has been destroyed |
| Destroy Failed | Terraform destroy failed |
Environment Detail Tabs
Each environment has a set of tabs. Admins can enable and reorder tabs via Settings → Custom Fields.
Overview
Core identity, ownership, status, lifecycle stage, cost information, and recent activity feed.
Booking Control
Booking settings for the environment:
- Enable or disable bookings
- Require approval for all bookings
- Set maximum booking duration (hours)
- Configure auto-release after booking ends
- Link Terraform workspaces for auto-provisioning on booking start (with buffer time)
Access Credentials
Store encrypted access details for the environment — endpoints, credentials, keys, and freeform instructions. Fields can be marked as sensitive; sensitive values are hidden by default and revealed on demand. Visible to PROVISIONER and above only.
Software & Services
Track software and applications running on the environment:
- Name, version, type (Database, Web Server, Cache, etc.)
- Notes per entry
- Add, edit, and remove entries
Documentation
Free-form markdown documentation and notes associated with the environment.
Terraform Workspace
View and manage linked Terraform workspaces directly from the environment — trigger plans and applies, view run history. Visible to PROVISIONER and above.
CMDB (ServiceNow)
If ServiceNow integration is configured, this tab shows synced CMDB data for the environment's configuration item. Fields can be mapped from ServiceNow CI attributes.
Custom Field Groups
Any custom field groups enabled by your admin appear as additional tabs with organisation-specific fields.
Environment Requests
Path: /environment-requests
Environment Requests are formal provisioning requests for environments that do not yet exist. Users submit a request describing what they need; admins review, approve, and provision the environment, then mark it as implemented.
Submitting a Request
- Navigate to Environment Requests in the sidebar
- Click New Request
- Fill in the request form:
| Field | Notes |
|---|---|
| Title | Short name for the request |
| Description | Full description of the environment needed |
| Justification | Business reason for the request |
| Environment Type | Type of environment being requested |
| Software Requirements | List of software with versions needed on the environment |
| Max Concurrent Teams | Maximum number of teams that should be able to use the environment simultaneously |
| Supporting Documents | File attachments to support the request |
- Submit — if a matching approval workflow is configured, it starts automatically
If the ServiceNow integration is configured and enabled for your organisation, a ServiceNow card appears on the form with a toggle (on by default). You can turn it off before submitting if you do not want a ticket created. When left on, the ticket is created as part of the submission and the resulting ticket number and link are stored on the request record.
Request Statuses
| Status | Meaning |
|---|---|
| Pending | Submitted, not yet reviewed |
| Under Review | An admin has opened the request and is reviewing it |
| Approved | Approved through the workflow — environment can now be provisioned |
| Rejected | Request was rejected |
| Implemented | Environment has been provisioned and linked to this request |
| Cancelled | Requester or admin cancelled the request |
| Expired | Request was not actioned within its validity period |
Request Views
The Environment Requests page supports two views:
- List view — filterable table with status, type, requester, and date
- Calendar view — requests plotted on a calendar by submission date
Managing Requests
- Edit — requesters can edit a request while it is in Pending status
- Cancel — requesters can cancel their own pending requests
- Comments — both requesters and reviewers can leave comments on a request
- Download documents — attached files can be downloaded from the request detail page
- Once a request reaches Implemented, it links to the resulting Environment record
See Approvals for how request approval workflows are configured.
Comparing Environments
Use the environment compare tool to view two environments side by side across seven comparison sections:
- Basic Info — name, type, status, lifecycle stage, description
- Technical Specs — configuration, capacity, and infrastructure details
- Cost Analysis — hourly cost, estimated monthly cost, and utilisation
- Performance — metrics and SLA-related attributes
- Security — compliance tags, access credential summary
- Software & Access — installed software and credential count
- Ownership — team, owner, created/updated dates
Export the comparison as CSV using the export button.
To compare environments:
- Navigate to Environments
- Select environments to compare using the compare action (checkbox or compare icon on each card/row)
- View differences highlighted side by side
Booking an Environment
- Open an environment and click Book
- Set the start and end time
- Provide a title and business justification
- Submit — if approval is required, approvers are notified automatically
See Bookings for full booking documentation.
Environment Tags
Organise and filter environments using tags:
- Cost Centre — for budget tracking
- Project — link to specific projects
- Compliance — PCI, HIPAA, SOC 2, etc.
- Technology — AWS, Azure, Kubernetes, etc.
Best Practices
Naming Conventions
Use clear, consistent naming:
<project>-<environment>-<region>
Examples:
- web-app-dev-us-east
- api-staging-eu-west
- db-prod-us-west
Lifecycle Stages
Set the lifecycle stage to reflect where the environment sits in your delivery pipeline:
- Development — active development work
- Testing — QA and test workloads
- Staging — pre-production validation
- Production — live workloads
- Deprecated — scheduled for decommission
Cost Tracking
Set an hourly cost on each environment to enable:
- Budget monitoring in FinOps
- Utilisation reports
- Cost allocation by team or project
Shared Environments
For environments that multiple teams need to use simultaneously (e.g. a shared database or test network), enable Is Shared and set the maximum concurrent teams. Bookings will be allowed up to that concurrency limit without conflict.
Access Control
Realm9 uses role-based access:
- VIEWER — read-only access to environments
- USER — can view and book environments
- PROVISIONER — can manage Terraform, access credentials, and booking provisioning
- ADMIN — full control including creating, editing, and deleting environments
