Configure Dev Environment
warning
Currently, dev environments are hosted in the eu-west-1 region of the Space cloud. If you access these environments from locations outside of Europe, such as the United States or Asia, you may experience significant latency.
Dev environments are not available in Space On-Premises. The support will be added in the future releases.
To provide the best possible experience, a dev environment must be pre-configured for your project. A configured environment includes all necessary tools and runtimes, IDE indexes, and other data required by the project, e.g., environment variables, project dependencies, and so on. As a result, a user can start working on their project right after a dev environment is created.
Dev environment configuration is defined using devfiles. This can be a single devfile.yaml
or a set of *.devfile.yaml
files in the .space
directory of your project. Learn more about devfiles
A devfile lets you specify the following dev environment settings (all settings in the table below are optional, you can provide only the ones relevant to your project):
Basic | |
---|---|
A configuration name is used to identify a configuration in the UI. |
Run environment | |
---|---|
The image must include the tooling and runtimes required by the project. You can use an image from Docker Hub (or other registries that doesn't require authentication), from a Space Packages registry, or even define a custom image using a If you skip this step, the created dev environments will use the default image. | |
Dev environments come in three different types that differ by available compute resources. | |
You can specify environment variables that will be available in the dev environment. |
IDE | |
---|---|
You can specify a default IDE and a particular IDE version. | |
You can change the configuration of Java Virtual Machine (JVM) your IntelliJ-based IDE runs on. | |
For mono-repositories with multiple projects, you can specify a project root directory. |
Warm-up | |
---|---|
A warm-up snapshot contains pre-built project data. By default, the snapshot contains only IDE indexes, but it can also contain additional project data like dependencies, build caches, and so on. You can automate creating a warm-up snapshot: Space can create it on schedule or on commit push. If a snapshot is not available, Space will create dev environments without warm-up data. |
Parameters and secrets | |
---|---|
A dev environment might require sensitive user or project data, e.g. credentials to an external service. Secrets and parameters are available in a dev environment as environment variables. |
Thanks for your feedback!