Commit Graph

254 Commits

Author SHA1 Message Date
Michelle Noorali e95a0570ad chore(pkg/releasetesting): add test_suite tests
* and comments
2017-02-02 11:57:11 -05:00
Matthew Fisher 3f463783a5 add PersistentVolumeClaim to the kind sorter list
At the present time, PersistentVolumeClaims are not a recognized object so it is installed last.
PVCs should be installed shortly after PersistentVolumes have been bound.
2017-02-02 08:32:29 -08:00
Michelle Noorali e132191275 ref(pkg/): refactor helm test logic
pulled logic out in pkg/releasetesting
2017-02-01 10:55:58 -05:00
Vaughn Dice 9bd12953a9 feat(*): add kube client test
* for WaitAndGetCompletedPodPhase
2017-01-31 20:57:28 -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
Adam Reese b22e6fcfaa ref(kube): add Result to abstract a collection of resources 2017-01-13 12:41:21 -08: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
Matt Butcher 9ae9586df0 Merge pull request #1687 from technosophos/feat/1654-pretty-version
feat(tiller): Add .Release.Revision and .IsUpgrade
2016-12-16 13:25:35 -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
Adam Reese 84928e2751 feat(*): allow tiller to be installed in an alternate namespace
Adds `--tiller-namespace` flag and `TILLER_NAMESPACE` envvar
to use tiller in an alternate namespace.

closes #1418
2016-12-15 11:21:40 -08:00
Nikolay Mahotkin 44d9274df3 Fixing tests 2016-12-15 11:04:55 +03: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 d84deb5b3d Merge pull request #1598 from technosophos/fix/1594-delete-too-much
fix(tiller): validate names before performing operations
2016-11-30 10:42:55 -07:00
Matt Butcher aca9f86df6
feat(helm): add command to generate documentation
This adds a hidden 'helm doc' command that generates documentation out
of the Helm help text.

Currently it can create:

- man pages for HELM(1)
- Markdown documentation
- bash autocompletions

Those are the three built-ins for Cobra.

The command is hidden so that it doesn't show up to the regular user,
since this is really a specialized task. It has the advantage of making
it trivially easy to install man pages and bash completion at installation time.
2016-11-29 15:08:24 -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