Commit Graph

114 Commits

Author SHA1 Message Date
Adam Reese 85c41ef11a ref(*): kubernetes v1.6
Rebase on kubernetes v1.6
2017-04-11 15:42:23 -07:00
Sushil Kumar 000bf9fd1a Added release-name to helm delete error
Fixes https://github.com/kubernetes/helm/issues/2251
In case a user tries to delete a non-existent release,
the error message displayed was missing release-name.
2017-04-11 09:41:07 -07:00
Matt Butcher e4e0e32064
feat(tiller): support version constraint on chart
This provides the Chart.yaml field `tillerVersion`, which is a semver
range. It allows users to choose to constrain a chart to a specific
version.

The reason for this is that we keep introducing new template functions,
but we have no way of saying "this chart will only work with Tiller
newer than...".

The check on version is _only_ done on Tiller. The client does not check
at all, since it does not do any template expansion on its own.
2017-04-06 17:01:09 -06:00
Matt Butcher 9665db7d16 Merge pull request #2157 from jchauncey/hook-weights
feat(hooks): Adds weighted hooks
2017-04-03 14:34:04 -06:00
Matt Butcher daa39c2689
feat(helm): add --reuse-values flag to upgrade
This makes it possible to re-use the existing values on an upgrade,
merging in any new values set by `-f` or `--set`.

Closes #1876
2017-04-03 13:54:45 -06:00
Jonathan Chauncey 05d0fcb774 feat(hooks): Adds weighted hooks
closes #2136
* Adds new annotation `helm.sh/hookWeight`
* Sorts executing hooks of similar kind in ascending order
* There is no upper or lower bounds on the weights
2017-03-24 11:31:48 -04:00
Adam Reese d4061b5b60 fix(tiller): enforce release name length on uninstall
If a selector is created from invalid values it will return nil.

Which is EVERYTHING!!!

closes: #2115
2017-03-15 14:10:44 -07:00
Dmitry Monakhov 33ace505cc install: Return more user-friendly response on eexists
Most newcomers hit helm's 'feature' there deleted instalations are not really deleted.
Use-case
# helm install  --name gitlab-ce-1 ./stable/gitlab-ce
# helm delete gitlab-ce-1
# helm list
# helm install  --name gitlab-ce-1 ./stable/gitlab-ce
Error: a release named "gitlab-ce-1" already exists

There is a lot duplicated bugs in bugzilla which simply explains that packages
should be deleted with --pure flag. But such bugs appeared again and again
because this behavior is not obvious.

Let's help user to figure out what happens ASAP.
2017-03-02 04:40:02 +03:00
Michelle Noorali 6a062e45b7 featt(*): add support for test-failure hook
resolves #1927
2017-02-14 08:12:30 -08:00
Vaughn Dice 4a57b01a47
feat(helm): add cleanup flag to test command 2017-02-13 15:02:49 -07:00
Matt Butcher 5618afe3d4 Merge pull request #1922 from larryrensing/feat/list-namespaces
feat(*): add --namespace flag to 'helm list'
2017-02-13 11:14:50 -07:00
Adam Reese ae9691910d ref(kube): code style cleanup 2017-02-10 12:43:29 -08:00
Adam Reese 4cdb2ac538 feat(kube): support thirdpartyresources 2017-02-10 11:22:42 -08:00
Larry Rensing 294d18d567 Merge remote-tracking branch 'upstream/master' into feat/list-namespaces 2017-02-09 12:17:20 -06:00
Larry Rensing 8cb931925e Merge remote-tracking branch 'upstream/master' into feat/list-namespaces 2017-02-09 12:00:37 -06:00
Vaughn Dice 140caa081b
feat(cmd/helm/status): add last test suite run to status output 2017-02-08 09:54:25 -07:00
Larry Rensing 3a380923f4 feat(*): add --namespace flag to 'helm list'
Users can now specify a namespace filter for 'helm list'.  Only the
releases within the specified namespace will be shown.  For example,
'helm list --namespace foo' will only show releases for the 'foo'
namespace.  Also added a namespace field to the table view.

Closes #1563
2017-02-07 10:20:28 -06:00
Michelle Noorali 4896ea7cf5 chore(pkg/tiller): add logs on RunReleaseTesting 2017-02-07 10:24:26 -05:00
Michelle Noorali e95a0570ad chore(pkg/releasetesting): add test_suite tests
* and comments
2017-02-02 11:57:11 -05:00
Michelle Noorali e132191275 ref(pkg/): refactor helm test logic
pulled logic out in pkg/releasetesting
2017-02-01 10:55:58 -05:00
Michelle Noorali 58c05f87d7 feat(*): stream helm test messages to client 2017-01-31 20:57:28 -05:00
Michelle Noorali d46d63a8f7 feat(*): add helm test command mvp
* This is a simple mvp which processes a test definition with the
hook annotation for test when you run `helm test [release]`
* helm client cmd, proto def, tiller logic
2017-01-31 20:57:27 -05:00
Matt Butcher 756cb970bd
feat(tiller): record a message for each lifecycle step
This adds a simple description for each lifecycle step on a release
object.

Closes #1661
2017-01-31 16:26:35 -07:00
Taylor Thomas 7ef9bb6f71 feat(*): Add --wait flag
Adds `--wait` flag to helm that waits for all pods to reach a ready
state, PVCs to be bound, and services to have IP addresses

Closes #1805
2017-01-19 18:10:28 -08:00
Matt Butcher 9652651ba9 Merge pull request #1814 from technosophos/feat/1569-reset-values
feat(helm): add --reset-values flag to 'helm upgrade'
2017-01-19 10:18:43 -07:00
José Armesto 0059d5a3df Logging real name of the failing hook 2017-01-11 17:15:41 +01:00
Matt Butcher c32b2ddcdf
feat(helm): add --reset-values flag to 'helm upgrade'
The --reset-values flag on upgrade instructs Tiller to reset the
upgraded release to the chart's built-in values.yaml, and ignore the
last install's overridden values.

Closes #1569
2017-01-10 18:56:14 -07:00
Adam Reese 3e44f87c59 Merge pull request #1808 from adamreese/fix/missing-name
fix(tiller): add missing name to status response
2017-01-10 11:57:41 -08:00
Adam Reese 881153cc39 Merge pull request #1812 from adamreese/fix/1807-purge-error
fix(tiller): don't update purged releases
2017-01-10 11:57:27 -08:00
Adam Reese 6600fcb0e6 fix(tiller): don't update purged releases
fixes #1807
2017-01-10 11:40:23 -08:00
Adam Reese 0e7781c443 fix(tiller): add missing name to status response 2017-01-10 11:16:54 -08:00
Matt Butcher cb0a6c7e07
feat(tiller): add {{.Capabilities}} object
This adds the {{.Capabilities}} object to the template variables so that
chart authors can write charts that are aware of teh Kubernetes
capabilities of the current cluster.

Closes #1608
2017-01-09 18:09:20 -07:00
Adam Reese b928088a8a Merge pull request #1752 from adamreese/ref/tiller-version-check
ref(tiller): dry up client/server version checks
2016-12-23 14:21:44 -08:00
Adam Reese b82d519025 ref(tiller): dry up client/server version checks 2016-12-22 14:23:37 -08:00
Adam Reese d10e9186dc feat(tiller): validate objects against kube schema on dry-run 2016-12-21 15:08:42 -08:00
Matt Butcher b51ad7a0e5 Merge pull request #1693 from thomastaylor312/feat/hook-timeout
feat(*): Adds support for timeout flag
2016-12-21 10:15:33 -07:00
Keerthan Reddy Mala (kmala) ce79fa8732
fix(upgrade):Check the raw vals during an upgrade properly 2016-12-20 12:03:06 -07:00
Taylor Thomas 774789c79a feat(*): Adds support for timeout flag
Installs, rollback, upgrade, and delete now accept a `--timeout` flag
that allows the user to specify the maximum number of seconds that
any kubernetes command can take.

Closes #1678
2016-12-19 12:36:26 -08:00
Taylor Thomas b18f7f7523 fix(*): Fixes protobuf name
The generated version of the protobuf did not match the `.proto` file.
This caused issues when a new protobuf change was added
2016-12-19 11:16:38 -08:00
Matt Butcher ff9651be75 Merge pull request #1648 from nmakhotkin/restarting_pods
Adding pod restart during release upgrade/rollback
2016-12-16 14:25:24 -07:00
Nikolay Mahotkin 1eaec045b2 Rename 'restart' to 'recreate' 2016-12-16 22:13:49 +03:00
Matt Butcher b2d762af48
feat(tiller): add .Release.IsInstall 2016-12-15 15:04:36 -07:00
Matt Butcher de7c5e5a38
feat(tiller): Add .Release.Revision and .IsUpgrade
New properties are available to template developers.

Closes #1554
2016-12-14 18:06:34 -07:00
Nikolay Mahotkin fdac5e8a39 Introducing flag for restarting pods during release upgrade/rollback
* Added pod restart for ReplicaSet
 * Added --restart flag for helm CLI for upgrade/rollback commands
 * By default, restart is false
2016-12-14 23:21:14 +03:00
Matt Butcher b08434aa3a Merge pull request #1640 from technosophos/fix/1511-undeleting
fix(*): add support for "DELETING" status
2016-12-13 16:13:33 -06:00
Matt Butcher 936028f29a
fix(*): add support for "DELETING" status
Closes #1511
2016-12-13 13:41:55 -07:00
Adam Reese 7413320d2d ref(kube): use a more specific interface for discovery client 2016-12-13 09:57:05 -08:00
Adam Reese 84ae1268e1 fix(*): import grouping 2016-12-13 09:57:05 -08:00
Adam Reese 7f44c116a1 ref(tiller): refactor clientset out of environment 2016-12-13 09:57:05 -08:00
Adam Reese ea3be9e3b2 feat(*): migrate to kubernetes 1.5 2016-12-13 09:57:05 -08:00
Michelle Noorali e3480c76e6 feat(tiller): add support for resource-policy keep
satisfies #1326
2016-12-07 11:32:10 -05:00
Matt Butcher 02acaf125d Merge pull request #1632 from technosophos/fix/1587-no-release-found
fix(tiller): fix spurious "no release found" errors.
2016-12-05 15:07:22 -07:00
Adam Reese 68ff4e7b2f Merge pull request #1636 from adamreese/fix/grpc-max-size
fix(tiller): increase the max message size for grpc
2016-12-05 12:55:34 -08:00
Adam Reese 1f01bf51e7 fix(tiller): increase the max message size for grpc
Increases the default message size from 4MB to 10MB.
2016-12-05 08:47:58 -08:00
Rodrigue Cloutier f3b205c6ef fix(*): fixed tests for Windows 2016-12-05 11:17:47 -05:00
Matt Butcher a5d96c2704
fix(tiller): fix spurious "no release found" errors.
There are some places where releases are only located if they are in the
state DEPLOYED. That particular logic was incorrectly used for upgrades.
That caused #1566. While fixing that issue, I found that this was also
the root cause of #1587 (though because it was off by one). I added a
generic method to get the last release, regardless of its status.

This allows some behaviors that previously failed:

- 'helm upgrade' can now be performed on a DELETED release
- 'helm rollback' can now be performed on a DELETED release even if
  there is only one revision of that release history.

Closes #1566
Closes #1587
2016-12-02 17:14:07 -07:00
Matt Butcher 02a1cf382c
fix(tiller): validate names before performing operations
There were several places where an invalid name could be interpreted
into a wild-card by Kubernetes. That allows Bad Things.

This fix requires names to match the Kubernetes pattern for naming.

Closes #1594
2016-11-29 14:07:24 -07:00
Matt Butcher a772697f4d Merge pull request #1560 from technosophos/fix/1528-increase-release-name-limit
fix(tiller): allow release name to be up to 53 chars
2016-11-16 16:06:26 -07:00
Matt Butcher 9effe7a505
fix(tiller): allow release name to be up to 53 chars
This raises the limit from 14 to 53 chars based on the Kubernetes 1.4
name limit.

Closes #1528
2016-11-16 15:47:49 -07:00
Matt Butcher 985e975f53 Merge pull request #1546 from technosophos/fix/1499-show-broken-yaml
fix(tiller): show failed YAML
2016-11-15 10:59:48 -07:00
Matt Butcher 6eabe28334
fix(tiller): show failed YAML
When an install fails and --dry-run is set, return the broken YAML for
the user to debug.

Closes #1499
2016-11-14 13:15:41 -07:00
Matt Butcher 8f9b9db547
docs(tiller): add docblocks to public methods 2016-11-14 11:44:27 -07:00
Matt Butcher 3830736001
fix(tiller): improve deletion failure handling
This does the following to improve deletion failure handling:

- In an UninstallRelease operation, the release is marked DELETED
  as soon as the basic checks are passed. This resolves 1508. I filed a
  followup issue for doing this even better when we can modify protos
  again.
- If a YAML manifest fails to parse, the error messages now suggests
  that the record is corrupt, and the resources must be manually
  deleted.
- If a resource is missing during deletion, the error messages now make
  it clear that an object was skipped, but that the deletion continued.

Closes #1508
2016-11-04 11:49:33 -06:00
adieu c0850efeb5 Separate tiller into pkg and cmd so we can use tiller as a library. 2016-11-02 22:53:07 +08:00