GuidesAPI Reference
Log In

Using pvnctl with Config Files

Objects in Prodvana can be configured via config files, except objects whose configuration requires sensitive data (e.g. integrations as they need credentials). Writing config files allows you to version control and code review changes to Prodvana configurations.

Writing Config Files

Prodvana config files end with .pvn.yaml. The convention is to have the file name match the object name, but that is not required.

For example, a config file for an application may look like this:

application:
  name: banking
  release_channels:
  - name: staging
    runtimes:
    - runtime: my-runtime
  - name: prod
    runtimes:
    - runtime: my-runtime
    preconditions:
    - release_channel_stable:
        release_channel: staging
application_metadata: # optional
  description: Banking app at banking.example.com.
  links:
  - url: https://dash.example.com/banking
    display_name: "Monitoring Dashboard"

Applying Config Files

Config files are most commonly applied as part of a CI job on commit to a branch, typically main. CircleCI orbs and GitHub Actions are provided out of the box.

If you use another CI system, you can add pvnctl configs commands to apply changes. For example:

pvnctl configs apply my-config.pvn.yaml
pvnctl configs apply dir/  # applies all *.pvn.yaml files inside the directory