Commit Graph

1274 Commits

Author SHA1 Message Date
Cedric Meury cef2d26c06 extract method for duplicated code 2018-03-28 01:56:43 +02:00
Cedric Meury 174e5557c8 alpine 3.7; helm 2.8.2; check sha256 sum; add run target 2018-03-28 01:15:19 +02:00
Yusuke KUOKA 9d7c036753 doc: Add a basic example for managfing oneshot jobs
Resolves #49
2018-03-27 17:21:01 +09:00
KUOKA Yusuke a33d111ecb
Merge pull request #72 from cmeury/add-tests
describing current functionality of helmexec as tests
2018-03-27 16:34:43 +09:00
KUOKA Yusuke da2686eaad
Merge pull request #75 from mumoshu/note-version-range
doc: Note about specifying chart semver
2018-03-27 16:19:36 +09:00
Cedric Meury baba83b124 renamed New() returns execer instead of interface 2018-03-27 00:03:04 +02:00
Yusuke KUOKA 0fc53a43cf doc: Note about specifying chart semver
Ref #61
2018-03-26 13:29:53 +09:00
KUOKA Yusuke 49223eb968
Merge pull request #69 from cmeury/charts-help-text
correct help text for sync, fixes #62
2018-03-26 11:45:14 +09:00
Cedric Meury 7f90415689 code style 2018-03-26 00:17:12 +02:00
Cedric Meury 915c190901 a tab snuck in 2018-03-26 00:11:10 +02:00
Cedric Meury 6c6f300423 describing current functionality as tests 2018-03-26 00:06:05 +02:00
Cedric Meury 1a0d1192ce correct help text for sync, fixes #62 2018-03-25 00:13:43 +01:00
KUOKA Yusuke 5aa7da98af
Merge pull request #60 from mxey/sync-args
Add --args option to sync command
2018-03-24 22:57:26 +09:00
Alex Withrow 4b08ea9292 Allow running helmfile against a subset of releases (#30)
This adds `releases[].labels` in which you can set arbitrary number of key-value pairs, so that commands like `helmfile sync --selector key=value` can be used to run the helmfile subcommand against a subnet of declared releases.

`labels` and `selector` are named as such on purpose of being consistent with terminology of Kubernetes and other tools in the K8S ecosystem, including kubectl, stern, helm, and so on.

Resolves #8
2018-03-24 01:05:19 +09:00
Maximilian Gaß 03d1671527 Add --args option to sync command 2018-03-22 13:51:06 +01:00
KUOKA Yusuke e81541d65c
Merge pull request #57 from mumoshu/improve-readme
Improve readme for first-time users
2018-03-21 23:22:25 +09:00
Yusuke KUOKA 1a197e214a Improve readme for first-time users
So that our user can start leveraging helmfile without too much confusion.

Includes two things:

- A "getting started" guide
- A basic description of the `sync` subcommand
2018-03-18 10:26:31 +09:00
Shane Starcher ffa39af554 Add secrets support via helm-secrets plugin (#53)
Resolves #41
2018-03-16 22:43:02 +09:00
rob boll c88d6c431c circle 2018-03-16 09:24:42 -04:00
rob boll f4560f9d18 update ghr 2018-03-16 09:13:01 -04:00
rob boll 29a559b256 add docker to circleci 2018-03-16 09:04:44 -04:00
Greg Burton 1ad426b338 Support client certs when accessing remote repos (#47)
This is important for deployments where the chart repo is protected by client cert validation.

helmfile.yaml is extended to support `certFile` and `keyFile`:

```
 repositories:
   - name: roboll
     url: http://roboll.io/charts
    certFile: optional_client_cert
    keyFile: optional_client_key
```

Everything works the same if you don't provide values for them.

Regarding the implementation, the "helm repo add" command already supports the cert-file and key-file values, so we just have to pass them through.
2018-03-10 22:16:31 +09:00
KUOKA Yusuke e4961a8c34
Merge pull request #46 from mseashor/master
Synchronous add repository calls avoid helm add repo race conditions
2018-03-06 11:23:35 +09:00
mseashor 412d9244c8 Remove inadvertantly added extra line 2018-03-05 16:15:59 -08:00
mseashor 72eaa2fb62 Add helm add repo synchonously to avoid race conditions with multiple repositories 2018-03-05 16:06:49 -08:00
KUOKA Yusuke 8f607b0da7
Merge pull request #44 from nyodas/fix_issue_with_namespaces_from_spec
[state] - Fix issue where spec[].Namespace were ignored
2018-03-05 21:35:02 +09:00
bob 76dcc6b182 [state] - Fix issue where spec[].Namespace were ignored 2018-03-05 11:05:58 +01:00
KUOKA Yusuke c990d19cb0
Merge pull request #43 from roboll/fix-err-on-charts-yaml-fallback
Fix error on charts.yml fallback
2018-03-04 22:15:37 +09:00
KUOKA Yusuke e128f149bd
Fix error on charts.yml fallback
Fixes #42
2018-03-03 13:32:16 +09:00
KUOKA Yusuke 0fc74ea771
Fix terminology (#35)
In a backward compatible manner, so that (I believe) we could move the discussion made in #25 forward.

Fixes #25
2018-03-03 00:14:43 +09:00
KUOKA Yusuke efdede1658
Allow specifying a default namespace used across all the releases (#39)
* Allow specifying a default namespace used across all the releases

Omit `namespace` in `charts[].namespace` of charts.yaml and then run `helmfile sync -n yourns` to install your charts into `yourns`.

Resolves #31
2018-03-01 23:09:02 +09:00
KUOKA Yusuke f02790d566
Fix possible race while templating (#38)
Fixes #32
Fixes #37
2018-03-01 22:54:31 +09:00
KUOKA Yusuke bb67abffb4
Merge pull request #34 from mumoshu/purge-on-delete
Purge releases on deletion
2018-03-01 22:49:17 +09:00
Thomas O'Donnell effc747081 Add option to limit concurrent helm calls (#24)
* Add option to throttle concurrent `helm repo update` calls

Have added a new flag `--concurrency N` to `helmfile sync charts` that can be used to set a
limit on the number of concurrent calls to helm. 

Implementation details:

Switched `SyncCharts` from using a WaitGroup to using a pool
of workers and a queue of jobs. To ensure that this is thread safe and
an attempt is made to sync each chart at the end.

Fixes #23

* Fix formatting and update CI to catch these errors

Have fixed the formatting so that `make pristine` now passes. Have also
added this to the Circle CI config to catch these errors in the future.
2018-03-01 22:39:23 +09:00
Yusuke KUOKA a31757ae07 Purge releases on deletion
So that we can just reuse release names after `helmfile delete`.

This is verified to work by confirming that `helmfile delete` does add `--purge` flag to `helm delete`:

```
$ helmfile delete
exec: helm delete --purge brigade-project
release "brigade-project" deleted
```

And by confirming that I can now re-install releases from the same charts.yaml without any modification of release names:

```
PROJECT=deis/empty-testbed ENV=staging IMAGE=mumoshu/golang-k8s-aws:1.9.1 COMMAND='go' SERVICE_ACCOUNT=default helmfile sync
Release "brigade-project" does not exist. Installing it now.
NAME:   brigade-project
LAST DEPLOYED: Tue Feb 27 15:59:38 2018
NAMESPACE: kube-system
STATUS: DEPLOYED

RESOURCES:
*snip*
```

Fixes #33
2018-02-27 16:01:06 +09:00
jayste c00b869045 Added ability to set context in charts.yaml (#21)
* Added ability to set context in charts.yaml

* Added context to the documentation
Added error if —kube-context and context are both used.
2018-01-02 16:49:02 -05:00
Karl Fischer 5da5cd1c39 Allow env var interpolation in `set` and `values` (#20)
* Allow env var interpolation in `set` and `values`

* Use go templating instead of regex

* Re-add 'env' section for backwards compatibility

* Fix typo
2018-01-02 16:48:45 -05:00
rob boll 12b8b7237b
Create LICENSE 2017-11-10 16:07:38 -05:00
rob boll cce726aee5 formatting 2017-11-05 19:06:09 -05:00
rob boll d604fe094a
Merge pull request #14 from jrnt30/relative-path-resolution
Relative path resolution changes
2017-11-05 18:24:12 -05:00
Justin Nauman e386cd0343 Adding in examples for readme 2017-10-03 20:23:55 -05:00
Justin Nauman 2e914c652a Relative path resolution changes
This aims to improve on relative, absolute and <repo>/<chart>
resolution for several of Helmfile manifest attributes as well as
command line arguments.

- Uusers may now utilize the `-f <filepath>` flag to reference
a helmfile manifest outside of their PWD and have relative paths
in the the `charts[*].values` and `charts[*].chart` attribute resolve
relative to the manfiest's location properly

- Values provided in the `--values` argument are no longer automatically
assumed as relative path references from PWD but instead are
conditionally joined with the PWD if it is determined they are relative
file paths

- Users may still signify a chart in the `.charts[*].chart` attribute
as they do now by having an explicit `<repo>/<chart>` value
2017-09-06 23:03:37 -05:00
rob boll 7a5b32fdea Merge pull request #12 from jrnt30/diff-command
Adding in diff plugin execution
2017-09-06 20:35:48 -04:00
Justin Nauman 6585bf1842 Adding in option to pass in --args 2017-08-31 16:56:39 -05:00
Justin Nauman 53408e18b3 Adding in details around the diff subcommand 2017-08-28 17:38:32 -05:00
Justin Nauman e0b324b69b Adding in diff plugin execution
- Simple copy-paste for the most part from sync job.  I had started down
the path of adding in a meta PluginCommand directive and trying to make it
more modular, but in the end there are some small differences between
the execution that were a bit difficult to model and it just got ugly.
Figured keeping it simple would be easier to manage
2017-08-17 23:49:06 -05:00
rob boll 2abc93cc62 Merge pull request #7 from natevecc/update-env-var-errors
Fixed env vars error handling
2017-05-23 10:42:26 -04:00
Nathan Vecchiarelli 0096904b0d fixed env vars error handling 2017-05-15 10:45:39 -04:00
rob boll c78231e35e Merge pull request #6 from AMeng/return-code
Return exit code from helm
2017-05-02 22:07:57 -04:00
AMeng 292ee07135 Return exit code from helm 2017-05-02 12:49:49 -06:00