helmfile/pkg
KUOKA Yusuke 7666e95690
feat: Add `needs: [NS/NAME]` for controlling installation/deletion order declaratively (#914)
Introduces DAG-aware installation/deletion ordering to Helmfile.

`needs` controls the order of the installation/deletion of the release:

```yaml
relesaes:
- name: somerelease
  needs:
  - [TILLER_NAMESPACE/][NAMESPACE/]anotherelease
```

All the releases listed under `needs` are installed before(or deleted after) the release itself.

For the following example, `helmfile [sync|apply]` installs releases in this order:

1. logging
2. servicemesh
3. myapp1 and myapp2

```yaml
  - name: myapp1
    chart: charts/myapp
    needs:
    - servicemesh
    - logging
  - name: myapp2
    chart: charts/myapp
    needs:
    - servicemesh
    - logging
  - name: servicemesh
    chart: charts/istio
    needs:
    - logging
  - name: logging
    chart: charts/fluentd
```

Note that all the releases in a same group is installed concurrently. That is, myapp1 and myapp2 are installed concurrently.

On `helmdile [delete|destroy]`, deleations happen in the reverse order.

That is, `myapp1` and `myapp2` are deleted first, then `servicemesh`, and finally `logging`.

Resolves #715
2019-10-28 12:57:25 +09:00
..
app Add integration with Hashicorp Vault, AWS SSM, SecretsManager (#906) 2019-10-25 22:55:26 +09:00
argparser fix: helmDefaults.kubeContext ignored in `helm diff` of `helmfile apply` (#682) 2019-06-12 16:49:19 +09:00
environment feat: state values (#647) 2019-06-04 16:34:02 +09:00
event feat: Enhance postsync event to include `.Error` (#882) 2019-10-17 08:27:12 +09:00
helmexec feat: `helm repo add --ca-file` via repositories definition (#856) 2019-09-14 06:23:54 +02:00
maputil fix: --state-values-set not setting more than first child in nested paths (#774) 2019-07-27 22:57:54 +09:00
remote Fix recursion for helmfiles pulled from git (#854) 2019-09-14 05:49:59 +02:00
state feat: Add `needs: [NS/NAME]` for controlling installation/deletion order declaratively (#914) 2019-10-28 12:57:25 +09:00
testhelper feat: remote state files (#648) 2019-06-04 22:59:54 +09:00
tmpl print yaml content on error in fromYaml (#765) 2019-07-30 10:43:30 +09:00