Skip to content

Commit 10e35d7

Browse files
Merge pull request #8 from HighwayofLife/update-cli-tools
Update all tools; install helm and git
2 parents 2ae383c + a1874bf commit 10e35d7

File tree

3 files changed

+65
-10
lines changed

3 files changed

+65
-10
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
v2.6
2+
----
3+
### Features 🚀
4+
* 🚀 **[NEW]** Added **[Helm](https://github.com/helm/helm)** is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.
5+
6+
Use Helm to:
7+
8+
* Lint and Validate your Helm Charts
9+
* Generate manifests from your Helm Chart Templates
10+
* Find and use popular software packaged as Helm Charts to run in Kubernetes
11+
* Share your own applications as Helm Charts
12+
* Create reproducible builds of your Kubernetes applications
13+
* Intelligently manage your Kubernetes manifest files
14+
* Manage releases of Helm packages
15+
16+
* 🚀 **[NEW]** Added **[Datree](https://github.com/datreeio/datree)** is a CLI tool that helps prevent Kubernetes misconfigurations from reaching production. Datree is a CLI tool to ensure K8s manifests and Helm charts follow best practices as well as your organization’s policies.
17+
18+
The Datree CLI integration provides a policy enforcement solution for Kubernetes to run automatic checks on every code change for rule violations and misconfigurations. When rule violations are found, Datree produces an alert which guides the developer to fix the issue inside the CI process — or even earlier as a pre-commit hook — while explaining the reason behind the rule.
19+
20+
### Additions
21+
* Install Helm [v3.6.0](https://github.com/helm/helm/releases/tag/v3.6.0)
22+
* Install Datree [v0.1.431](https://github.com/datreeio/datree/releases/tag/0.1.431)
23+
* Install Datree Helm Plugin
24+
25+
### Updates 📝
26+
* Kustomize from 4.1.0 to [4.1.3](https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv4.1.3)
27+
* Polaris from 3.2.1 to [4.0.2](https://github.com/FairwindsOps/polaris/releases/tag/4.0.2)
28+
* KubeLinter from 0.2.1 to [0.2.2](https://github.com/stackrox/kube-linter/releases/tag/0.2.2)
29+
* KubeAudit from 0.14.0 to [0.14.1](https://github.com/Shopify/kubeaudit/releases/tag/v0.14.1)
30+
31+
132
v2.5
233
----
334

Dockerfile

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
FROM python:3.9.5-alpine3.13
22
# https://hub.docker.com/_/python
33

4-
ARG APP_VERSION=2.5
4+
ARG APP_VERSION=2.6
55

66
# https://github.com/instrumenta/kubeval/releases
77
ARG KUBEVAL_VERSION=0.16.1
88

99
# https://github.com/kubernetes-sigs/kustomize/releases
10-
ARG KUSTOMIZE_VERSION=4.1.0
10+
ARG KUSTOMIZE_VERSION=4.1.3
1111

1212
# https://github.com/open-policy-agent/conftest/releases
1313
ARG CONFTEST_VERSION=0.25.0
@@ -19,24 +19,24 @@ ARG CONFIG_LINT_VERSION=1.6.0
1919
ARG KUBE_SCORE_VERSION=1.11.0
2020

2121
# https://github.com/FairwindsOps/polaris/releases
22-
ARG POLARIS_VERSION=3.2.1
22+
ARG POLARIS_VERSION=4.0.2
2323

2424
# https://github.com/stackrox/kube-linter/releases
25-
ARG KUBE_LINTER_VERSION=0.2.1
25+
ARG KUBE_LINTER_VERSION=0.2.2
2626

2727
# https://github.com/yannh/kubeconform/releases
2828
ARG KUBECONFORM_VERSION=0.4.7
2929

3030
# https://github.com/Shopify/kubeaudit/releases
31-
ARG KUBEAUDIT_VERSION=0.14.0
31+
ARG KUBEAUDIT_VERSION=0.14.1
3232

3333
# https://github.com/datreeio/datree/releases
34-
ARG DATREE_VERSION=0.1.382
34+
ARG DATREE_VERSION=0.1.431
3535

3636
# split layers into distinct components
3737
# Install yamllint and kubectl via the alpine packages repositories
38-
RUN apk add --no-cache --upgrade bash ca-certificates curl tar yamllint \
39-
&& apk add kubectl --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
38+
RUN apk add --no-cache --upgrade bash ca-certificates curl tar yamllint git \
39+
&& apk add kubectl helm --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
4040

4141
# Install Kubeval
4242
RUN mkdir /tmp/kubeval \
@@ -126,7 +126,8 @@ RUN mkdir /tmp/datree \
126126
&& unzip /tmp/datree/datree.zip -d /tmp/datree/ \
127127
&& mv /tmp/datree/datree /usr/local/bin \
128128
&& chmod +x /usr/local/bin/datree \
129-
&& rm -rf /tmp/datree
129+
&& rm -rf /tmp/datree \
130+
&& helm plugin install https://github.com/datreeio/helm-datree
130131

131132
CMD ["/bin/bash"]
132133

README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Tools List
2626
| Tool | Version | Purpose | Description |
2727
|-------------|----------|------------|-----------------------------------------------------------------------------------|
2828
| Kubectl | 1.21.1 | CLI | Kubernetes CLI. Can be used with `--dry-run=client` to validate manifests |
29+
| Helm | 3.6.0 | CLI | Helm helps you manage Kubernetes applications — define, install, and upgrade Kubernetes applications as helm charts. Run as a validation tool, can be run as `helm lint`, or `helm template`. |
2930
| Yamllint | 1.26.0 | Linter | Basic linter for YAML files |
3031
| Kubeval | 0.16.1 | Validation | Tool for validating a Kubernetes YAML manifests. Doesn't work with CRDs. |
3132
| Kustomize | 4.1.0 | Compile | Template-free way to customize app configs. Useful to validate kustomize configs. |
@@ -85,6 +86,29 @@ KubeCTL
8586
$ kubectl create --dry-run --validate -f invalid.yaml
8687
```
8788

89+
Helm
90+
----
91+
92+
Helm commands to use in CI to lint or validate helm charts.
93+
94+
#### helm lint
95+
examine a chart for possible issues.
96+
97+
**NOTE:**
98+
> `helm lint` by itself is insufficient to adequately validate a helm chart. It is recommended to use `helm lint` and `helm template` in combination with one of the other manifest validation tools. (See below example)
99+
100+
This command takes a path to a chart and runs a series of tests to verify that the chart is well-formed.
101+
102+
If the linter encounters things that will cause the chart to fail installation, it will emit `[ERROR]` messages. If it encounters issues that break with convention or recommendation, it will emit `[WARNING]` messages.
103+
104+
```sh
105+
helm lint PATH [flags]
106+
```
107+
108+
#### helm template with kubeconform
109+
```sh
110+
helm template ./path/to/chart | kubeconform -strict -ignore-missing-schemas
111+
88112
Config-Lint
89113
-----------
90114

@@ -176,7 +200,6 @@ datree test my-app/deployment.yaml
176200
```
177201
178202
#### Example with Helm
179-
_First, you need to install [Datree's helm plugin](https://hub.datree.io/helm-plugin)_
180203
```sh
181204
helm datree test <CHART_DIRECTORY>
182205
```

0 commit comments

Comments
 (0)