An environment defines the dependencies to install, the services to run, and a check that confirms the setup works. You build and publish it once, then reuse it for any session.
A repository can belong to several environments. An environment can hold several repositories.
What an environment contains
- Dockerfile — starts from
indent/baseand installs your toolchain and dependencies. Indent writes it for you. - Repositories: the repositories Indent clones during the build. New environments track each repository’s default branch.
- Build variables — values available to the build.
- Runtime variables — values available on a running computer. Their names appear in the session context, and commands and background processes can read their values.
- Processes — the long-running services that make up your stack, such as a web server, a database, and a cache. Indent starts each one when the computer boots and restarts it if it exits.
- Verification goals — what the environment should be able to do, in plain language, such as “the app builds” and “the UI loads.” Indent turns them into one script that checks them.
Create an environment
Open the environment wizard from Settings → Environments, or from Settings → Repositories by selecting Setup Environment on a repository.
Setup
Name the environment, choose the repositories, and write the verification goals in plain language.
Configure
Tell Indent what the application needs, and it writes the Dockerfile and the verification script. Edit the variables and processes yourself in the same step.
Build
Indent builds the image and boots a computer. A first build can take several minutes.
Verify
Indent runs the verification script and, for anything with a UI, opens it in the browser to confirm.
When everything passes, select Publish. New sessions can now start in the environment.
Pushes to a tracked branch are combined into one rebuild after a 30-minute debounce window. A push received while a build is running does not schedule another build.
Run verification yourself
Select Run verification at any point after a successful build to re-run the checks — while you’re getting the setup right, or later when you want to confirm the environment still works. If no computer is running, Indent boots one for the run.
The Verify step appears once there’s something to verify, and stays inactive until a build has succeeded.
Work in an environment
Select an environment from the dropdown when you start a new session. The session starts in that environment with your services already running. Without an environment, a session runs in a plain sandbox.
Test through the browser
Indent has a real web browser on its computer. Ask Indent to open your running application and click through a flow. Indent navigates your pages, fills in forms, and captures screenshots. You can watch or take control from the cloud session’s Browser tab.
Secrets
When an environment needs a secret, such as an API key or database password, provide it through the app. Saved values are masked after you enter them. Runtime variables are available to commands and background processes on the session’s computer. See Permissions and data.
Connect the code Indent works in before you build an environment: Connecting GitHub.