Sean Eagan 8a50591dbf Introduce v2 docs
This introduces v2 docs in order to allow users to opt in to
breaking changes, while still supporting v1 docs for a time
so folks can migrate. At some point v1 doc support will be
removed.

This initial version of v2 docs is experimental. Further
breaking changes will be made before v2 docs are finalized.

A v1-v2 migration guide is included in the documentation.

This also refactors the internal data model to include the full
document structure, such as `metadata` and `schema`, so that
different behavior can be acheived for v1, v2, etc.

Change-Id: Ia0d44ff4276ef4c27f78706ab02c88aa421a307f
2019-04-16 10:15:21 -05:00

3.4 KiB

v2 Schemas

Below are the schemas Armada uses to validate Charts, Chart Groups, and Manifests.

Charts

Charts consist of the smallest building blocks in Armada. A Chart is comparable to a Helm chart. Charts consist of all the labels, dependencies, install and upgrade information, hooks and additional information needed to convey to Tiller.

Chart Groups

A Chart Group consists of a list of charts. Chart Group documents are useful for managing a group of Chart documents together.

Manifests

A Manifest is the largest building block in Armada. Manifest documents are responsible for managing collections of Chart Group documents.

Validation Schemas

Introduction

All schemas below are Deckhand DataSchema documents, which are essentially JSON schemas, with additional metadata useful for Deckhand to perform layering and substitution.

The validation schemas below are used by Armada to validate all ingested Charts, Chart Groups, and Manifests. Use the schemas below as models for authoring Armada documents.

Schemas

  • Chart schema.

    JSON schema against which all documents with armada/Chart/v2 metadata.name are validated.

    ../../../../../armada/schemas/armada-chart-schema-v2.yaml

    This schema is used to sanity-check all Chart documents that are passed to Armada.

  • Chart Group schema.

    JSON schema against which all documents with armada/Chart/v2 metadata.name are validated.

    ../../../../../armada/schemas/armada-chartgroup-schema-v2.yaml

    This schema is used to sanity-check all Chart Group documents that are passed to Armada.

  • Manifest schema.

    JSON schema against which all documents with armada/Manifest/v2 metadata.name are validated.

    ../../../../../armada/schemas/armada-manifest-schema-v2.yaml

    This schema is used to sanity-check all Manifest documents that are passed to Armada.

Authoring Guidelines

All Armada documents must use the deckhand/DataSchema/v1 schema.

Expand on this section.