-
Notifications
You must be signed in to change notification settings - Fork 37
/
orb.yml
50 lines (47 loc) · 1.51 KB
/
orb.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
version: 2.1
description: "Defines jobs for CI with Helm"
executors:
default:
resource_class: small
docker:
- image: alpine/helm:3.7.2
commands:
lint-chart:
description: "Runs helm lint and kubeval over a helm chart"
parameters:
chart_path:
type: string
description: "Path to the helm chart to lint"
values_files:
type: string
description: "CSV of values files to pass to helm chart when templating to run kubeval"
steps:
- checkout
- run:
name: "Lint chart"
command: helm lint -f <<parameters.values_files>> <<parameters.chart_path>>
- run:
name: "Template chart"
command: |
rm -f output.yaml
helm template -f <<parameters.values_files>> <<parameters.chart_path>> > output.yaml
- run:
name: "Run kubeval over helm output"
command: |
wget https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz
tar xf kubeval-linux-amd64.tar.gz
./kubeval --ignore-missing-schemas output.yaml
jobs:
lint-chart:
executor: default
parameters:
chart_path:
type: string
description: "Path to the helm chart to lint"
values_files:
type: string
description: "Values files to pass to helm chart when templating to run kubeval"
steps:
- lint-chart:
chart_path: << parameters.chart_path >>
values_files: << parameters.values_files >>