Commit Graph

2406 Commits

Author SHA1 Message Date
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
rob boll 07cca09069 use modified cmd args. closes #4 2017-04-20 10:01:16 -04:00
rob boll 441f00c670 ignore standard ignores 2017-04-19 15:31:15 -04:00
rob boll 0f447d2cb2 Merge pull request #3 from robsonpeixoto/chart-in-local-path
Accept chart in a local path
2017-04-13 22:26:27 -04:00
Robson Roberto Souza Peixoto a61ae2a5b3 Only accept `./` and `../` 2017-04-13 14:30:00 -03:00
Robson Roberto Souza Peixoto dfc4b0293f Accept chart in a local path
If the chart is in directory, for example, `./my/chart` the `helmfile -f my.yaml sync` will fail.

This PR will check if the chart starts with `/`, `./` or `../` and will transform it in a full path of the chart directory.
2017-04-13 12:53:05 -03:00
rob boll df14adac63 ignore dist 2017-04-12 11:22:19 -04:00
rob boll 371ca7f752 fmt 2017-04-12 11:16:12 -04:00
rob boll 709195848a add version from git tag 2017-04-12 11:13:51 -04:00
rob boll 5cbf194ee4 Merge pull request #2 from natevecc/environment-flags
Environment Variable Support
2017-04-12 11:05:50 -04:00
Nathan Vecchiarelli 0de9b22485 updated unset env var message to not be confusing 2017-04-12 11:01:45 -04:00
Nathan Vecchiarelli bc8bbf8e01 documentation updates and tweaking workflows with env vars. It now throws errors if they're not set 2017-04-12 10:15:56 -04:00
Nathan Vecchiarelli 373e750642 added support for environment variables, adding value files during runtime and a global kube-context flag to pass down to helm 2017-04-11 19:55:23 -04:00
rob boll 4674af9608 build: add docker login 2016-11-22 21:40:50 -05:00
rob boll 6a54765e1f container: add helm 2016-11-22 21:40:24 -05:00
rob boll ffa98fdbdd build: add container distribution 2016-11-22 21:30:25 -05:00
rob boll 9700e05908 docs: add build badge 2016-11-22 13:26:59 -05:00
rob boll 233afaeb34 docs: update path for releases 2016-11-22 13:18:46 -05:00
rob boll 255dc0ae74 docs: add install instruction 2016-11-22 13:18:10 -05:00