The repo file is used to configure global settings for a Git repository.

It should be placed in the root of the repository and should have the name repo.ocu.star.

The repo file can currently be used to configure:

  • The id of the repository. This is used to reference the repository within Ocuroot state and from other repositories. It should be unique within your organization.
  • Environments to be included in your Ocuroot organization.

As an example, the below repo file will define a single repository named my_repo and four environments: dev, staging, prod-us-east and prod-us-west:

load("github.com/ocuroot/sdk/v0/repo.star", "repo")
load("github.com/ocuroot/sdk/v0/environments.star", "environment")

repo(id="my_repo")

environment("dev", attributes={ "type": "dev" })
environment("staging", attributes={ "type": "staging" })
environment("prod-us-east", attributes={ "type": "prod" })
environment("prod-us-west", attributes={ "type": "prod" })

The environments defined in the repo file will be applied to the Ocuroot organization upon the next deliver operation containing the code change.