Skip to content

Commit

Permalink
Release v3.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mkubaczyk committed Dec 15, 2021
1 parent 7936aa9 commit c511a09
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 7 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- run:
name: build docker images and push them to dockerhub
command: |
helm_versions=( "v3.4.2" "v3.5.4" "v3.6.3" "v3.7.1" )
helm_versions=( "v3.5.4" "v3.6.3" "v3.7.2" )
TAG=$(git describe --abbrev=0 --tags)
docker login -u $DOCKER_USER -p $DOCKER_PASS
Expand Down
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v3.7.7
v3.8.0
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![GitHub version](https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=v3.7.7&x2=0)](https://github.com/Praqma/helmsman/releases) [![CircleCI](https://circleci.com/gh/Praqma/helmsman/tree/master.svg?style=svg)](https://circleci.com/gh/Praqma/helmsman/tree/master)
[![GitHub version](https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=v3.8.0&x2=0)](https://github.com/Praqma/helmsman/releases) [![CircleCI](https://circleci.com/gh/Praqma/helmsman/tree/master.svg?style=svg)](https://circleci.com/gh/Praqma/helmsman/tree/master)

![helmsman-logo](docs/images/helmsman.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/cmd_reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ This lists available CMD options in Helmsman:
`--no-ssm-subst`
turn off SSM parameter substitution globally.

`-spec string`
`--spec string`
specification file name, contains locations of desired state files to be merged

`--subst-ssm-values`
Expand Down
1 change: 1 addition & 0 deletions docs/how_to/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ It is recommended that you also check the [DSF spec](../desired_state_specificat
- [Protecting namespaces and releases](misc/protect_namespaces_and_releases.md)
- [Send slack notifications from Helmsman](misc/send_slack_notifications_from_helmsman.md)
- [Send MS Teams notifications from Helmsman](misc/send_ms_teams_notifications_from_helmsman.md)
- [Use multiple desired state files with Specification file (--spec flag)](misc/multiple_desired_state_files_specification.md)
- [Merge multiple desired state files](misc/merge_desired_state_files.md)
- [Limit Helmsman deployment to specific apps](misc/limit-deployment-to-specific-apps.md)
- [Limit Helmsman deployment to specific group of apps](misc/limit-deployment-to-specific-group-of-apps.md)
Expand Down
42 changes: 42 additions & 0 deletions docs/how_to/misc/multiple_desired_state_files_specification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
version: v3.8.0
---

# Specification file

Starting from v3.8.0, Helmsman allows you to use Specification file passed with `--spec <file>` flag
in order to define multiple Desired State Files to be merged in particular order and with specific priorities.

An example Specification file:

`spec.yaml`:

```
---
stateFiles:
- path: examples/example.yaml
- path: examples/minimal-example.yaml
priority: -10
- path: examples/minimal-example.toml
priority: -20
```

This file can be then run with:
```shell
helmsman --spec spec.yaml ...
```

What it does is it takes the files from `stateFiles` list and orders them based on their priorities same way it does with the apps in DSF file.
In an example above the result order would be:
```
- path: examples/minimal-example.toml
- path: examples/minimal-example.yaml
- path: examples/example.yaml
```
with priorities being `-20, -10, 0` after ordering.

Once ordering is done, Helmsman will read each file one by one and merge the previous states with the current file it goes through.

One can take advantage of that and define the state of the environment starting with more general definitions and then reaching more specific cases in the end,
which would overwrite or extend things from previous files.
2 changes: 1 addition & 1 deletion internal/app/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
const (
helmBin = "helm"
kubectlBin = "kubectl"
appVersion = "v3.7.7"
appVersion = "v3.8.0"
tempFilesDir = ".helmsman-tmp"
defaultContextName = "default"
resourcePool = 10
Expand Down
5 changes: 3 additions & 2 deletions release-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# v3.7.7
# v3.8.0

## Fixes and improvements

- feat: Add namespaceLabelsAuthoritative settings option to allow removing undefined ns labels (#631)
- feat: Add skipIgnoredApps settings option to allow ignoring apps not considered when using `-target` or `-group` flag (#634)
- feat: Add Specification file support with `-spec` flag in order to define an environment with multiple Desired State Files (#633)

0 comments on commit c511a09

Please sign in to comment.