Release Channels

Release Channels segment traffic in your Application. The main purpose of release channels is to isolate traffic between services to service and service to capability. They are analogous to environments in other contexts.

By default, all Applications have a single release channel in which services are deployed.

You can configure additional for use cases such as staging, dogfood, or compliance scenarios.

Characteristics of Release Channels

  • Release channels specify the ordering of your release. You can run sequentially or in parallel.
  • Release channels can be used to specify overrides to all services that are within them.

Operations

Creating/Editing a Release Channel

Release channels are managed as part of applications, via pvnctl applications edit <app name>, which will launch your default text editor with the application config file.

To create a new release channel, add a new entry under releaseChannels in the config file.

name: default
releaseChannels:
- name: qa
  order: 1
  runtimes:
  - runtime: your-runtime-name
....

To edit a release channel, edit the appropriate entry in that config file. For example, to override the namespace that Prodvana will run your services on:

name: default
releaseChannels:
- name: qa
  order: 1
  runtimes:
  - runtime: your-runtime-name
    containerOrchestration:
      k8s:
        namespace: custom-namespace

Changes to release channels are applied on the next push of services inside your application.

Deleting a Release Channel

To delete a release channel, run pvnctl applications edit <app name> and delete the appropriate entry. This will immediately delete resources associated with that release channels, including k8s namespaces and deployments.