Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/ops-yaml/_shared/latest--rev.002.json
Parent schema ops-yaml
Type: object

Configuration for ops.

revision: ...
dependencies: ...
actions: ...
options: ...

Properties

actions object

A collection of commands to run via ops. If the first argument to ops is not a builtin, ops will look for an action with that name.

For more information, see the Actions documentation on GitHub.

Default:
{
  "<action>": {
    "command": "<command>"
  }
}
dependencies object

Dependencies listed in the dependencies section of ops.yml are satisfied when the ops up command is run. Some dependencies will be un-satisfied when you run ops down; e.g. services will be stopped, but packages won't be uninstalled.

This feature allows developers that are new to a project to get up and running without knowing anything about the app itself. Your ops.yml should allow a developer to ops up && ops start to run an application.

For more information, see the Dependencies documentation on GitHub.

9 nested properties
minItems=1uniqueItems=true
minItems=1uniqueItems=true
  • Specifies that a particular brew package is needed.
  • Will only run if you're on a Mac.
minItems=1uniqueItems=true
  • Specifies that a particular brew cask package is needed.
  • Will only run if you're on a Mac.
minItems=1uniqueItems=true
custom string[]
  • Runs the given command.
  • Can't tell if the command needs to be run or not, so always runs it on ops up.
  • Therefore, the command should be idempotent.
  • It's also a good idea to prevent it from printing output unless it encounters an error, to keep the ops output clean.
Examples: ["bundle install --quiet"]
minItems=1
dir array
minItems=1uniqueItems=true
docker array
minItems=1uniqueItems=true
minItems=1uniqueItems=true
terraform array
minItems=1uniqueItems=true
options object

Options allow the user to change some aspects of ops behaviour.

For more information, see the Options documentation on GitHub.

1 nested properties
gem object

Affect the behaviour of gem dependencies.

Default:
{
  "user_install": true,
  "use_sudo": false
}
2 nested properties
user_install boolean

If true, causes ops up to run gem install --user-install ejson.

Default: false
use_sudo boolean

If false, causes ops up to install the dependency's packages without sudo.

Default: true

Definitions

CommandString string | string
Deprecated
EnvList NameString[]
FileName string
LoadSecrets boolean

If true, items in secrets.ejson will be loaded before execution, allowing said items to be referenced in the configuration.

NameString string
NonEmptyString string
PackageList PackageVersioned[]
PackageBrew string

The name of a brew package. If you need to specify a version, include it after the name, delimited by an @ symbol.

Examples:
  • "ruby"
  • "openssl@"
PackagePip string

The name of a pip package. If you need to specify a version, include it after the name, delimited by ==.

Examples:
  • "semver"
  • "ruamel.yaml==0.17.26"
PackageVersioned string

The name of a package. If you need to specify a version, include it after the name, delimited by a space.

Examples:
  • "ruby"
  • "openssl 0.8.0"
Path string
PathList array
SemVer string
UseSudo
use_sudo boolean

If false, causes ops up to install the dependency's packages without sudo.

Default: true