Create an environment

Creating an environment

An environment is composed of the service(s) you will develop and their dependencies (and dependencies of dependencies...).
To reduce your need of figuring out what your dependencies are or what else needs to be added to the environment to make it work, Velocity just asks you to provide the names of the services you will develop and takes care of the rest for you in the veloctl env create command. We call these services "development candidates".
veloctl env create --service serviceA [--service <service_name>]
It doesn't mean you can't develop or access any other service that will be created in the environment, it just helps us to resolve all dependencies without asking you what they are.

Using Specific Versions

Sometimes you would want to develop against a version that wasn't released to production yet, or your development depends on work from another team.
To allow you the ease of creating environments that contain specific versions, you can add a version to each service:
veloctl env create --service serviceA:branch-123 [--service service:v3.2.0]
Velocity uses your artifacts when creating an environment. The versions you use should be published to your artifact registry before using this feature, otherwise, you won't be able to create an environment with them.

Naming Your Environment

You may want to collaborate on your environment later, or want to find a more indicative naming for your environment to refer to without having to wonder what was the original environments' purpose.
To do that, pass the optional name parameter to the veloctl env create command:
veloctl env create --service serviceA marty-timemachine-fix

What else?

The CLI Reference has a full list of parameters and options for creating your environment.