Commit Graph

253 Commits

Author SHA1 Message Date
Taylor Thomas 29c3b5276f fix(tiller): Adds CRD ordering
This adds CRD ordering into the explicit kind sorter list

Closes #2925
2017-10-09 23:21:44 -07:00
Matthew Fisher d4f5a133dd Merge pull request #2960 from HotelsDotCom/upgrade-failure-record-release-as-update
Correctly persists Release upgrade failure
2017-10-03 12:30:48 -07:00
Taylor Thomas f8e9741578 Merge pull request #2984 from thomastaylor312/feat/add_missing_test
fix(sorter): Adds missing unit test
2017-10-03 11:41:10 -07:00
Justin Scott b642ba2087 Merge pull request #2831 from jascott1/sort_unknown_kind
bug(tiller): sort unknown but different kinds alphabetically based on kind name
2017-10-02 13:13:04 -07:00
Taylor Thomas 333f8dd354 fix(sorter): Adds missing unit test
Adds a unit test that was missed as part of #2961
2017-09-28 08:51:12 -07:00
Maxim Ivanov ff5acc9bd8 Make Memory driver to store copy of releases to stop hiding storage errors during tests 2017-09-26 15:32:49 +01:00
NauxLiu c3f9120e02
Load StorageClass before PersistentVolume is loaded. 2017-09-22 21:29:46 +08:00
Maxim Ivanov 38c3f58dca Correctly persists Release upgrade failure
When release upgrade fails, updatedRelease is already created
in a storage by *ReleaseServer.UpdateRelease, therefore we should
be updating it's status, not creating it again.
2017-09-22 11:36:29 +01:00
Justin Scott ed24b3199a bug(tiller): sort unknown but different kinds alphabetically based on kind name
Adds additional manifest sorting logic so that different unknown kinds
are sorted alphabetically so that manifest order is more deterministic.
2017-09-06 15:55:30 -07:00
Steven E. Harris f588315b76 Remove spurious field in kind sorter test (#2667)
The test never reads the manifest type's "content" field, so there's
no reason to populate it explicitly with its zero value.
2017-09-06 14:36:25 -04:00
Matthew Fisher bb5db61325 Merge pull request #2781 from jascott1/i2755-template
feat(helm): add `template` command
2017-09-05 10:09:23 -07:00
DoctorZK 608fd7318a fix(tiller): fix a warning bug in hook annotation 2017-08-30 17:28:36 +08:00
Justin Scott 4a02a71f1e WIP feat(helm): add `template` command
This adds the functionality from the helm-template plugin to allow the
rendering of templates without Tiller.

Closes #2755
2017-08-28 18:04:56 -07:00
DockerZK 734b124577 feat(*) add key helm.sh/hook-delete-policy to hook annotation
When "helm.sh/hook-delete-policy: hook-succeeded" is provided in a hook's annotation, Tiller will automatically delete the hook after the hook is succeeded. When "helm.sh/hook-delete-policy: hook-failed" is provided in a hook's annotation, Tiller will automatically delete the hook after the hook is failed.

Closes #1769
2017-08-24 12:18:28 +08:00
Justin Scott f239050996 Update kind subsort to sort unknown kinds alphabetically.
Remove length check from subsort test. Add check for unknowns.
2017-08-16 00:32:33 -07:00
Justin Scott 87d2b7ab67 Add test for kind sorter sub sort 2017-08-16 00:32:33 -07:00
Justin Scott 66c4f7453e feat(tiller): sort manifests alphabetically if they are same kind
Updates Tiller manifest sorting so that manifests of the same kind are
then sorted alphabetically.

Closes #1696
2017-08-16 00:32:33 -07:00
Maciej Kwiek 6b16ee2fb7 Handle nil responses returned from rudder funcs
Tiller panicked on nil pointer dereference when it was unable to connect
to rudder.
2017-07-25 13:36:21 +02:00
Matt Butcher 88aa4def3e Merge pull request #2701 from jascott1/i2560-hang
fix(tiller): remove locking system from storage and rely on backend
2017-07-24 15:58:43 -06:00
Taylor Thomas 8fc88ab626 Merge pull request #2681 from at1012/at-helm-list
feat(2063): Better 'helm list' visibility into state of pending upgrades
2017-07-20 21:46:27 -07:00
Justin Scott fa68a6e1db fix(tiller): remove locking system from storage and rely on backend controls
Tiller currently hangs indefinitely when deadlocks arise from certain
concurrent operations. This commit removes the nested mutex locking
system from pkg/Storage and relies on resource contention controls in k8s.

Closes #2560
2017-07-19 16:02:38 -07:00
Adam Reese a29e610938
fix(helm): fix flag parsing once and for all 2017-07-14 11:08:50 -07:00
Aishwarya Thangappa 915e7023c4 Added more granular statuses 2017-07-13 15:20:07 -07:00
Aishwarya Thangappa 9d67d8b954 Added PENDING status to helm install 2017-07-13 14:33:32 -07:00
Aishwarya Thangappa 3d4361ca1f Modified release_update and release_rollback 2017-07-12 15:04:34 -07:00
Adam Reese 9325d136d4
fix(tests): fix sorting hooks test flake 2017-07-11 14:22:05 -07:00
Steven E. Harris 2aaad8242e Merge pull request #2666 from adamreese/ref/cleanup-tests
ref(tests): simplify kind sorter test
2017-07-10 19:41:45 -04:00
Aaron Schlesinger 58a2d7b5c1 Adding APIService to the kind sorter tests 2017-07-10 14:33:57 -07:00
Adam Reese 0d1f6b981f
ref(tests): simplify kind sorter test 2017-07-10 12:38:18 -07:00
Aaron Schlesinger 5ff75f84a6 Adding APIService to the sort order
This ensures that APIService resources are installed last and
uninstalled first
2017-07-06 14:21:32 -07:00
Justin Scott af4c243ee3 Correct punctuation and capitalization for user facing strings. 2017-06-26 10:23:26 -07:00
Y.W 0f953403a2 give an uniform check for release process (#2565)
* give an uniform check for release process

* fixed as the review of adamreese: update the err message when releasename is empty and update the test units.

* fixed as the review of bacongobbler: add more detail information to return message. the regex rule is added to the return message.
2017-06-22 10:05:29 -06:00
Adam Reese eccb041c0f
ref(tiller): cleanup goimports 2017-06-12 10:30:21 -07:00
Michelle Noorali 15c14194c4 Merge pull request #2457 from michelleN/hooks-bug
fix(tiller): track hooks in multi-def manifests
2017-06-08 10:37:01 -04:00
Matt Butcher d2a4c40fa5 Merge pull request #2541 from technosophos/fix/2525-helm-get-broken-release
fix(tiller): make GetReleaseContent return any release
2017-06-06 11:48:51 -06:00
Michelle Noorali 6bfb08a760 ref(tiller): refactor sortManifests() 2017-06-05 20:52:20 -04:00
Michelle Noorali 83c69a8e10 fix(tiller): track hooks in multi-def manifests
resolves #2290
2017-06-05 20:46:57 -04:00
Matt Butcher c913911337
fix(tiller): make GetReleaseContent return any release
For some reason, GetReleaseContent was configured to return the latest
release only if it is in state DEPLOYED. But a release with a version is
returned regardless of release. This made it really hard to debug failed
releases, even though we have the data to show.

Closes #2525
2017-06-05 14:18:02 -06:00
Adam Reese 8272360681 Merge pull request #2476 from adamreese/fix/flag-envars
fix(helm): fix race conditions in flag parsing
2017-06-05 12:45:26 -07:00
devinyan d3b14db325 adjust the check parameter order for uninstall 2017-06-03 10:17:30 +08:00
Taylor Thomas b71bd6a455 Merge pull request #2513 from thomastaylor312/feat/moar_logging
feat(tiller): Adds more logging
2017-05-30 18:38:49 -07:00
Taylor Thomas 119fa6537c feat(tiller): Adds more logging
This builds on previous work and adds more logging to follow
the full process of installing, updating, deleting, and rolling back.
This also standardizes capitalization of logs and small formatting
fixes
2017-05-30 18:17:22 -07:00
Adam Reese d797acbd7b
fix(helm): fix race conditions in flag parsing
* fix a number of issues with flag parsing
* add support for `HELM_DEBUG`
* lazy expand flag default envars
2017-05-29 17:58:27 -07:00
peay 0f26cc5522 Add --force to upgrade and rollback 2017-05-26 17:04:57 -04:00
fibonacci1729 04d0abfd7c ref(tiller): refactor tests into logical files
TestInstallRelease_WithChartAndDependencyNotes  -> tiller/release_install_test.go
TestInstallRelease_WrongTillerVersion -> tiller/release_install_test.go
TestInstallRelease_WithNotesRendered -> tiller/release_install_test.go
TestInstallRelease_TillerVersion -> tiller/release_install_test.go
TestInstallRelease_FailedHooks -> tiller/release_install_test.go
TestInstallRelease_ReuseName -> tiller/release_install_test.go
TestInstallRelease_WithNotes -> tiller/release_install_test.go
TestInstallRelease_NoHooks -> tiller/release_install_test.go
TestInstallRelease_DryRun -> tiller/release_install_test.go
TestInstallRelease -> tiller/release_install_test.go
2017-05-24 11:40:41 -06:00
fibonacci1729 22db973932 ref(tiller): refactor tests into logical files
TestListReleasesByStatus -> tiller/release_list_test.go
TestListReleasesFilter -> tiller/release_list_test.go
TestListReleasesSort -> tiller/release_list_test.go
TestListReleases -> tiller/release_list_test.go
TestUpdateRelease_ResetReuseValues -> tiller/release_update_test.go
TestUpdateRelease_ResetValues -> tiller/release_update_test.go
TestUpdateRelease_ReuseValues -> tiller/release_update_test.go
TestUpdateReleaseNoChanges -> tiller/release_update_test.go
TestUpdateReleaseFailure -> tiller/release_update_test.go
TestUpdateReleaseNoHooks -> tiller/release_update_test.go
TestUpdateRelease -> tiller/release_update_test.go
TestRollbackReleaesFailure -> tiller/release_rollback_test.go
2017-05-24 10:57:16 -06:00
fibonacci1729 172dbb22cf ref(tiller): refactor tests in logical files
TestRunReleaseTest -> tiller/release_testing_test.go
TestGetReleaseContent -> tiller/release_content_test.go
TestGetReleaseStatusDeleted -> tiller/release_status_test.go
TestGetReleaseStatus -> tiller/release_status_test.go
TestRollbackReleaseFailure -> tiller/release_rollback_test.go
TestRollbackReleaseNoHooks -> tiller/release_rollback_test.go
TestRollbackRelease -> tiller/release_rollback_test.go
TestUninstallReleaseWithKeepPolicy -> tiller/release_uninstall_test.go
TestUninstallPurgeDeleteRelease -> tiller/release_uninstall_test.go
TestUninstallReleaseNoHooks -> tiller/release_uninstall_test.go
TestUninstallPurgeRelease -> tiller/release_uninstall_test.go
TestUninstallRelease -> tiller/release_uninstall_test.go
2017-05-23 09:48:55 -06:00
fibonacci1729 2ae276ae39 ref(tiller): refactor tiller APIs into logical files
*ReleaseServer.InstallRelease -> tiller/release_install.go
*ReleaseServer.UpdateRelease -> tiller/release_update.go
2017-05-22 11:51:27 -06:00
fibonacci1729 a4d05fd2b2 ref(tiller): refactor tiller APIs into logical files
*ReleaseServer.UninstallRelease -> tiller/release_uninstall.go
*ReleaseServer.ListReleases -> tiller/release_list.go
2017-05-22 11:37:55 -06:00
fibonacci1729 b5c213d5dd ref(tiller): refactor tiller APIs into logical files
*ReleaseServer.RollbackRelease -> tiller/release_rollback.go
2017-05-22 10:09:13 -06:00
fibonacci1729 62c4b152fd ref(tiller): refactor tiller APIs into logical files
*ReleaseServer.GetReleaseContent -> tiller/release_content.go
*ReleaseServer.GetReleaseStatus -> tiller/release_status.go
2017-05-22 09:59:51 -06:00
fibonacci1729 3b3439f67d ref(tiller): breakout ReleaseServer APIs into logical files.
*ReleaseServer.RunReleaseTest -> tiller/release_testing.go
*ReleaseServer.GetVersion     -> tiller/release_version.go
2017-05-22 09:08:39 -06:00
Adam Reese 15254e4c5c feat(*): add generic logging interface (#2394)
Adds a generic logging interface to importable packages.
2017-05-19 11:43:04 -07:00
Michelle Noorali 488ca6fdd8 fix(*): return non-zero exit code on test failure
* resolves #2089
2017-05-15 21:42:44 -04:00
Maciej Kwiek d9f72deb0d Add comments to exported Rudder methods
Added make target
Lowered docker image sizes
Updated ruder.pb.go
2017-05-05 14:05:03 +02:00
Maciej Kwiek 1c9ae5577d Basic Rudder Delete implementation
Extracted delete specific code from ReleaseServer to external function
which is called from both Local and Remote ReleaseModules.

Made getVersionSet function from tiller package exported.
2017-05-05 13:05:24 +02:00
Maciej Kwiek 5937e1a214 ReleaseServer.ReleaseModule has Status method
Both local and remote Release module implement release status check.
2017-05-05 13:05:24 +02:00
Maciej Kwiek 52c54b09c0 Move rudder proto to different package, add release status 2017-05-05 13:05:24 +02:00
Dmitry Shulyak bd47b8444f Use rollback method on ReleaseModule interface 2017-05-05 13:04:02 +02:00
Dmitry Shulyak a883531f98 Implement upgrade for rudder 2017-05-05 13:04:02 +02:00
Maciej Kwiek c1fcaf09ce Experimental Rudder implementation
This change introduces the concept of Rudders - pluggable modules that
Tiller communicates with via grpc, which allow to decouple orchestration
logic from Tiller into separate service.

This commit consists of simple Rudder implementation which does exactly
the same thing as built in Tiller orchestrator - it creates all k8s
objects from provided manifest without orchestrating them.

--experimental-release flag is introduced to enable this behaviour.

This change allows to use the service and tiller outside of the cluster.
Following commits will add Rudder to helm deployment.
2017-05-05 13:02:20 +02:00
Adam Reese 0c91d41221 Merge pull request #2366 from adamreese/fix/2110-canary-versioning
fix(*): handle unreleased versioning
2017-05-02 09:12:06 -07:00
Adam Reese 2e819e014d
fix(*): handle unreleased versioning
Adds an `unreleased` flag to the version if not building from HEAD of a
tag. The compatibility check is bypassed if the client or server are
unreleased.

fixes #2110
2017-05-01 12:06:50 -07:00
Maciej Kwiek ec92b76054 Release are locked to avoid parallel changes
Environment is supplied with release lock map which allows to lock a
release by name to make sure that update, rollback or uninstall aren't
running on one release at the same time.
2017-04-24 13:05:35 +02:00
Gergo Huszty b4ca198cc6 Pluggable downloaders. Closes #2093, #2094.
It is now possible to create plugins with chart download capabilities for custom, non-http protocols.
Furthermore it is possible to reuse helm packages to implement alternative clients with these custom downloader functions.
2017-04-16 20:58:03 +02:00
Matt Butcher 0c11033fb7 Merge pull request #2171 from appscode/tiler-prom
Expose tiller server metrics to prometheus
2017-04-13 13:53:23 -06:00
sadlil 8c81e7336a Add prometheus monitoring for tiler 2017-04-13 09:37:12 +06:00
Matt Butcher 573a8a190c
fix(tiller): ignore empty YAML documents during delete
Closes #2256
2017-04-12 16:23:39 -06:00
Serguei Bezverkhi 26343023a3 fix(tiller): increase maximum size of gRPC message
* tiller_fix_2261

* fix(tiller) 2261 Increase maxMsgSize to 20MB
2017-04-12 11:23:32 -06:00
Adam Reese 0ab38a998c Merge pull request #2248 from adamreese/ref/kube-v1.6
ref(*): kubernetes v1.6
2017-04-11 18:49:35 -07:00
Matt Butcher d97086cbdd Merge pull request #2229 from technosophos/feat/chart-tiller-version
feat(tiller): support version constraint on chart
2017-04-11 17:14:59 -06:00
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
Brian a8e0983362 Merge pull request #2108 from fibonacci1729/feat/tls
feat/tls: Support optional TLS for helm / tiller
2017-04-05 12:48:00 -06:00
fibonacci1729 735f4e3d4a feat/tls: add TLS support for helm / tiller 2017-04-04 12:20:37 -06:00
Adam Reese e4d39fd8c8 fix(*): add missing proto for weight hook 2017-04-04 01:00:38 -07:00
Taylor Thomas f7f8552644 Merge pull request #2203 from seh/sort-more-kinds-for-installation
Add more object kinds to sorted installation order
2017-04-03 14:41:54 -07: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 b9ef8dbe56 fix(hooks): Change annotation from hookWeight to hook-weight 2017-04-03 11:25:39 -04:00
Steven E. Harris 4178ec08ac Add more object kinds to sorted installation order
The following kinds are newly addressed:

  CronJob
  LimitRange
  ReplicaSet
  ResourceQuota
  StatefulSet

Furthermore, adjust the installation and uninstallation order to
better respect likely dependencies. Bare pods remain a difficult one
to place properly in both sequences.
2017-03-30 12:11:36 -04:00
Steven E. Harris 7ccfc6d7d4 Sort dependent RBAC role and binding kinds
During installation and uninstallation, handle the RBAC-related
ClusterRole, ClusterRoleBinding, Role, and RoleBinding kinds in an
order that respects their potential referential integrity, namely that
ClusterRoleBindings can refer to ClusterRoles and ServiceAccounts, and
RoleBindings can refer to ClusterRoles, Roles, and ServiceAccounts.

Fixes #2199.
2017-03-29 17:31:21 -04: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
Michelle Noorali c7e2d186a5 Merge pull request #1777 from michelleN/feat/1163-chart-testing
feat(*): add helm test initial framework
2017-02-08 09:28:32 -05: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 538e8297ef ref(*): add namespace info to failing test msg
* also cleanup comments
2017-02-06 10:39:57 -05:00
Michelle Noorali bf9ae52e1c ref(*): change test hook to be test-success 2017-02-02 12:23:52 -05:00
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