Prodvana Data Model

Data Model

The basic structure of Prodvana is organized around a tree focused on your applications. At each layer, configurations are materialized based on the inputs from the layer above and user overrides. This document describes objects in Prodvana API at a high level as well as define the relationships between them. For actual fields available, refer to our API documentation (TODO).

Objects

Every object in Prodvana contains these sets of information:

Metadata

Every object in Prodvana has metadata or belongs to an object(s) with metadata.

  • ID - globally-unique identifier
  • name - human-readable identifier, unique within the parent. For example, as services belong to applications, service names are unique within that application
  • (optional) version - a version string corresponding to what is live. May be unset if the object has not been manifested (e.g. a service instance that has never been pushed).

Config

The desired state of the object.

State

The actual state of the object, including any foreign key references to objects it may contain.

Application

A logical collection of services with a single production owner.

  • Application Pipelines - application-scoped pipelines that push multiple services in an application together
  • Services
  • Release Channels

Services

Uniform collection of servers, lambdas, processes, etc.

  • Service Instances
  • Service Pipelines - service-scoped pipelines that push just this service. Every service has at least a push and rollback pipeline.

Service Instances

An instantiation of a service in a single release channel

Application Release Channels

unique copies of the application targeting a set of user. An application has one or more release channels.

Pipelines

A workflow defined as an ordered collection of tasks. A pipeline has an owner, either service, application, or the organization itself, which determines the scope at which the pipeline operates.

  • Pipeline Runs

Pipeline Runs

A single run of the pipeline

Capabilities

Coming soon.