title | description | icon |
---|---|---|
CLI |
Explore how to use the CLI to interact with Valyent. |
square-terminal |
curl -L https://cli.valyent.cloud | sh
valyent auth login
The login command provides two authentication methods:
- Browser-based authentication (recommended)
- Manual API key entry from the Valyent dashboard
valyent auth logout
Removes stored credentials from your machine.
valyent init [--fleet|-f <fleet-id>]
Creates a new valyent.json
configuration file in your current directory. You can either:
- Specify a fleet ID directly using the
--fleet
flag - Select an existing fleet or create a new one through an interactive prompt
Fleets are groups of machines that can be managed together.
valyent fleets create [--name|-f <fleet-name>]
valyent fleets list
valyent fleets delete [--fleet|-f <fleet-id>]
Machines are the compute instances running your workloads.
valyent machines list
valyent machines create --json-file <config-file>
Example machine configuration (machine-config.json
):
{
"region": "gra-1",
"skip_start": false,
"config": {
"image": "docker.io/codercom/code-server:latest",
"workload": {
"env": [
"SUDO_PASSWORD=password",
"PASSWORD=password"
],
"restart": {
"policy": "always"
},
"init": {
"user": "root"
}
},
"gateway_enabled": true,
"guest": {
"cpu_kind": "eco",
"cpus": 1,
"memory_mb": 512
}
}
}
Configuration fields:
region
: The region where the machine will be deployed (e.g., "gra-1")skip_start
: Whether to skip starting the machine after creationconfig
:image
: Docker image to use for the machineworkload
:env
: Array of environment variablesrestart.policy
: Container restart policyinit.user
: User to run the container as
gateway_enabled
: Whether to enable gateway accessguest
:cpu_kind
: Type of CPU ("eco" for economical)cpus
: Number of CPU coresmemory_mb
: Memory allocation in megabytes
# Start a machine
valyent machines start
# Stop a machine
valyent machines stop
# Delete a machine
valyent machines delete [--fleet|-f <fleet-id>] [--machine|-m <machine-id>]
# View machine logs
valyent machines logs [--follow|-f]
# View machine events
valyent machines events
Gateways manage incoming traffic to your applications.
valyent gateways create
Interactive prompt will ask for:
- Gateway name
- Target port
valyent gateways list
valyent gateways delete [--gateway|-g <gateway-id>] [--confirmed|-c]
valyent env list [--fleet|-f <fleet-id>]
valyent env set <KEY>=<VALUE> [--fleet|-f <fleet-id>]
Example:
valyent env set DATABASE_URL=postgresql://username:password@host:5432/mydb
valyent env load <file-path> [--fleet|-f <fleet-id>]
Supports loading variables from files like .env
valyent deploy
Deploys your project to Valyent by:
- Reading the project configuration from
valyent.json
- Creating a tarball of your codebase (excluding
.git
,node_modules
, and paths in.dockerignore
) - Uploading and creating a new deployment
- Streaming build logs in real-time
valyent open
Opens your deployed application in the default web browser.
- The CLI supports various aliases for commands (e.g.,
fleet
forfleets
,gateway
forgateways
) - Most commands that require a fleet ID will prompt you to select one if not specified
- The CLI includes built-in confirmation prompts for destructive operations
- Environment variables can be loaded from
.env
files or set individually - Build and deployment logs are streamed in real-time for better visibility