Reis CLI
Authenticating, deploying and managing Bahriya resources from the command line.
39 articles
Installing Reis
Reis ships as a single self-contained binary. No PHP runtime, no interpreters, and no package managers are required — just download and run.
3 minReis CLI
Reis (Turkish for "captain") is the official Bahriya command-line interface. It lets you manage your entire Bahriya infrastructure from the terminal — creating projects, deploying containers, managing secrets, and automating workflows without opening a browser.
2 minDeploy JSON Configs with Reis (YAML Mode)
Use the Reis CLI to manage JSON configuration files via YAML manifests.
1 minDeploy JSON Configs with Reis (Flag Mode)
Use the Reis CLI to manage JSON configuration files using command-line flags.
1 minDeploy Plain Configs with Reis (Flag Mode)
Use the Reis CLI to manage plain-text configuration files (no schema validation — Reis stores whatever you give it). Plain configs are mounted into a container at a path of your choosing.
1 minDeploy Plain Configs with Reis (YAML Mode)
Use the Reis CLI to manage plain-text configuration files via YAML manifests. Plain configs are stored as-is (no schema validation) and mounted into containers at a path of your choosing.
1 minDeploy Env Files with Reis (Flag Mode)
Use the Reis CLI to manage .env-style files using command-line flags. Env files are key=value pairs (one per line) that get mounted into a container at a path of your choosing.
1 minDeploy Env Files with Reis (YAML Mode)
Use the Reis CLI to manage .env-style files via YAML manifests. Env files are key=value pairs (one per line) that get mounted into containers at a path of your choosing.
1 minAuthentication
Reis authenticates using personal access tokens (PATs). You generate a PAT in the Bahriya console and provide it to Reis.
2 minCommands Reference
Reis commands follow a resource:action naming pattern. Every command that lists or shows resources supports --output table|json|yaml. Most commands that operate on resources accept --org to override the default organisation.
14 minDeploy a cron job with flags
A cron job is a container that runs to completion on a schedule, then exits. Use it for nightly batches, periodic cleanups, hourly imports — anything that runs on a clock instead of continuously.
3 minDeploy a cron job with YAML
A cron job is a container that runs to completion on a schedule, then exits. Use it for nightly batches, periodic cleanups, hourly imports — anything that runs on a clock instead of continuously.
3 minDeploy a worker with flags
A worker container is a long-running background process with no public network exposure — queue consumers, schedulers, stream processors, anything that runs continuously but isn't reachable from outside the project.
2 minDeploy a worker with YAML
A worker container is a long-running background process with no public network exposure. Use it for queue consumers, schedulers that live inside the application, stream processors, and anything else that runs continuously but isn't reachable from outside the project.
2 minDeploy an HTTP container with flags
An HTTP container is a long-running service that accepts incoming requests on a port. Pick this type when you're deploying an API, a web app, or anything else that fronts traffic.
3 minDeploy an HTTP container with YAML
An HTTP container is a long-running service that accepts incoming requests on a port and gets a hostname, TLS, autoscaling, rate limiting, IP allow/deny, and basic auth out of the box. Pick this type when you're deploying an API, a web app, or anything else that fronts traffic.
3 minDeploy Encryption Keys with Reis (Flag Mode)
Create and manage encryption keys directly from the command line using Reis flag-mode commands.
1 minDeploy Encryption Keys with Reis (YAML Mode)
Encryption keys can be declared in your bahriya.yml file under the vaults section and applied with reis apply.
1 minDeploy GPG Keypairs with Reis (Flag Mode)
Create and manage GPG keypairs directly from the command line using Reis flag-mode commands.
1 minDeploy GPG Keypairs with Reis (YAML Mode)
GPG keypairs can be declared in your bahriya.yml file under the vaults section and applied with reis apply.
1 minDeploy Memcached with flags
A managed Memcached instance lives inside a project and is reachable from any container in that project. Run a single node for caches you can afford to lose, or scale out to multiple nodes for higher capacity.
2 minDeploy Memcached with YAML
A managed Memcached instance lives inside a project and is reachable from any container in that project. Run a single node for caches you can afford to lose, or scale out to multiple nodes for higher capacity.
2 minDeploy Network Policies with Reis (YAML Mode)
Network policies let you control which projects can reach a workload, and which external networks that workload is allowed to reach. Declare them in your bahriya.yml under the networking section and apply with reis apply.
1 minDeploy SSH Keypairs with Reis (Flag Mode)
Create and manage SSH keypairs directly from the command line using Reis flag-mode commands.
1 minDeploy SSH Keypairs with Reis (YAML Mode)
SSH keypairs can be declared in your bahriya.yml file under the vaults section and applied with reis apply.
1 minDeploy TLS Bundles with Reis (Flag Mode)
Create and manage TLS bundles directly from the command line using Reis flag-mode commands.
1 minDeploy TLS Bundles with Reis (YAML Mode)
TLS bundles can be declared in your bahriya.yml file under the vaults section and applied with reis apply.
1 minDeploy X.509 Certificates with Reis (Flag Mode)
Create and manage X.509 certificates directly from the command line using Reis flag-mode commands.
1 minDeploy X.509 Certificates with Reis (YAML Mode)
X.509 certificates can be declared in your bahriya.yml file under the vaults section and applied with reis apply.
1 minDeploy YAML Configs with Reis (Flag Mode)
Create and manage YAML configs directly from the command line using Reis flag-mode commands.
1 minDeploy YAML Configs with Reis (YAML Mode)
YAML configs can be declared in your bahriya.yml file under the configs section and applied with reis apply.
1 minFlag mode
Every Reis create / update command can be driven directly from the shell — pass each field as a --flag value pair. This is the mode you reach for in scripts, CI jobs, and one-off operations where reaching for a YAML file is overkill.
3 minManage HTTP container path rules with Reis (Flag Mode)
Path rules let you apply different access controls — basic authentication, rate limiting, IP allow / deny lists — to specific URL paths on an HTTP container. The longest matching path wins per request.
2 minManage HTTP container path rules with Reis (YAML Mode)
Declare path rules in YAML alongside the rest of your infrastructure. The pathrule kind targets an existing HTTP container by handle.
3 minManage Network Policies with Reis (Flag Mode)
Network policies control which projects can reach your workloads, and which external networks your workloads are allowed to reach. Create and manage them directly from the command line.
2 minManage Roles and Sharing with Reis (Flag Mode)
Create custom roles, assign members to roles, and share individual resources directly from the command line.
2 minManage Roles with Reis (YAML Mode)
Custom roles can be declared as kind: role documents and applied with reis apply, so your role definitions live in version control alongside the rest of your infrastructure.
1 minUsing Reis in CI/CD Pipelines
Reis is designed to work in automated environments. Use environment variables for authentication, JSON output for machine-readable results, and YAML files for declarative deployments.
4 minYAML mode
Reis supports declarative infrastructure management through YAML files. Define your resources in YAML, commit them to version control, and apply them with reis apply -f for repeatable, auditable deployments.
6 min