
- adding tmeplate armada manifest - create Armada Manifest - updated validation for new documents - updated testing - updated docs
8.8 KiB
8.8 KiB
Armada - Making Your First Armada Manifest
armada/Manifest/v1
keyword | type | action |
---|---|---|
release_prefix |
string | tag appended to the front of all charts released by the yaml in order to manage releses throughout their lifecycles |
chart_groups |
array | references ChartGroup document of all groups |
Example
---
schema: armada/Manifest/v1
metadata:
schema: metadata/Document/v1
name: simple-armada
data:
release_prefix: armada
chart_groups:
- chart_group
armada/ChartGroup/v1
keyword | type | action |
---|---|---|
description | string | description of chart set |
chart_group | array | reference to chart document |
sequenced | bool | enables sequenced chart deployment in a group |
Example
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: blog-group
data:
description: Deploys Simple Service
sequenced: False
chart_group:
- chart
- chart
armada/Chart/v1
Chart
keyword | type | action |
---|---|---|
chart_name | string |
name for the chart |
release_name | string | name of the release |
namespace | string | namespace of your chart |
timeout | int | time (in seconds) allotted for chart to deploy when 'wait' flag is set |
install | object | install the chart into your Kubernetes cluster |
update | object | update the chart managed by the armada yaml |
values | object | override any default values in the charts |
source | object | provide a path to a git repo or local dir
deploy chart. |
dependencies | object | reference any chart dependencies before install |
Source
keyword | type | action |
---|---|---|
type | string | source to build the chart: git or
local |
location | string | url or path to the chart's parent
directory |
subpath | string | relative path to target chart from parent |
reference | string | branch of the repo |
Defining a Chart
To define your charts is not any different than helm. we do provide some post/pre actions that will help us manage our charts better.
Behavior
- will check if chart exists
- if it does not exist
- we will install the chart
- if exist then
- armada will check if there are any differences in the charts
- if the charts are different then it will execute an upgrade
- else it will not perform any actions
- if it does not exist
Note
You can use references in order to build your charts, this will reduce the size of the chart definition will show example in multichart below
Simple Example
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: blog-1
data:
chart_name: blog-1
release: blog-1
namespace: default
values: {}
source:
type: git
location: https://github.com/namespace/repo
subpath: .
reference: master
dependencies: []
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: blog-group
data:
description: Deploys Simple Service
sequenced: False
chart_group:
- blog-1
---
schema: armada/Manifest/v1
metadata:
schema: metadata/Document/v1
name: simple-armada
data:
release_prefix: armada
chart_groups:
- blog-group
Multichart Example
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: blog-1
data:
chart_name: blog-1
release: blog-1
namespace: default
values: {}
source:
type: git
location: https://github.com/namespace/repo
subpath: .
reference: master
dependencies: []
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: blog-2
data:
chart_name: blog-2
release: blog-2
namespace: default
values: {}
source:
type: git
location: https://github.com/namespace/repo
subpath: .
reference: master
dependencies: []
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: blog-group-1
data:
description: Deploys Simple Service
sequenced: False
chart_group:
- blog-2
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: blog-group-2
data:
description: Deploys Simple Service
sequenced: False
chart_group:
- blog-1
---
schema: armada/Manifest/v1
metadata:
schema: metadata/Document/v1
name: simple-armada
data:
release_prefix: armada
chart_groups:
- blog-group-1
- blog-group-2
References
For working examples please check the examples in our repo here