Commit graph

67 commits

Author SHA1 Message Date
Adam Reese
a31e3b8fe1
ref(*): kubernetes v1.9 support (#3234) 2018-01-05 12:30:26 -08:00
Andrey Klimentyev
cfb7dfa82c
Typo fix 2017-12-18 13:34:58 +03:00
Adam Reese
82ef751414
fix(tiller): upgrade last deployed release
Fixes #2437

Two bugs were causing this behavior

- Tiller was marking the previous release superseded when an upgrade
failed.
- Upgrade was diffing against failed releases
2017-11-03 14:57:33 -07:00
Remington Reackhof
9af1018bd3 Add secrets storage backend for releases 2017-10-08 22:11:41 -04: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
Matt Butcher
0853f4906a
feat(tiller): limit number of versions stored per release
This adds a new configuration option to Tiller to limit the number of
records stored per release.

Tiller stores historical release information (helm history, helm
rollback). This makes it possible to set a maximum number of versions
per release.

To enable this feature, use `helm init --history-max NNN`. Note that
because of the restrictions on Deployment objects, you will have to
re-install Tiller to add a limit.

Along the way, I found an unreported bug in the Memory storage driver.
This fixes that bug and adds substantially more tests to catch
regressions.

Closes #2332
2017-08-10 12:01:20 -06: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
Justin Scott
af4c243ee3 Correct punctuation and capitalization for user facing strings. 2017-06-26 10:23:26 -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
15254e4c5c feat(*): add generic logging interface (#2394)
Adds a generic logging interface to importable packages.
2017-05-19 11:43:04 -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
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
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
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
Adam Reese
4418b1a20d ref(*): remove dead code
RIP
2017-01-04 23:45:47 -08:00
dongziming
34d7585f1e Spelling errors and so on. 2016-12-26 11:40:48 +08: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
Adam Reese
84ae1268e1 fix(*): import grouping 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
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
Fabian Ruff
eb4b78bbbe Add compression to configmap storage driver
This commit changes the configmap storage driver to compress
the serialized release before storing it as a base64 encoded string.
This change is backward compatible as it handles existing releases
gracefully by skipping the decompression step when the gzip magic
header is not present.
2016-10-20 20:04:28 +02:00
Matt Butcher
a1f5955a65 fix(tiller): fix nil pointers in error messages
There were a few places where error messages were accessing properties
of objects that were nil because of the error.

Closes #1374
2016-10-17 17:01:56 -06:00
fibonacci1729
24fe8643de ref(*): add sorter/filter utilties to releaseutil 2016-10-12 11:46:17 -06:00
Adam Reese
150fb33c2e fix(*): prevent testing package from being imported
Prevent testing package from being imported into main application
2016-10-07 15:51:19 -07:00
fibonacci1729
e9dd302a9c feat(helm/cmd): support for retrieving release history 2016-10-05 17:53:55 -06:00
fibonacci1729
f77435e686 fix(helm-list): only list configmaps owned by TILLER 2016-09-15 16:05:17 -06:00
fibonacci1729
83df6ebc4d feat(rollback-storage): remove extraneous else block and fix type in records_test 2016-09-12 09:16:03 -06:00
fibonacci1729
1d6c16175b feat(rollback-storage): remove unreachable code from memory 2016-09-08 09:45:07 -06:00
fibonacci1729
b47379ccdc feat(rollback-storage): golint & removed early return from release server 2016-09-08 08:59:18 -06:00
fibonacci1729
e25732284b feat(rollback-storage): gofmt, added missing license headers, and canconical import paths 2016-09-08 08:39:26 -06:00
fibonacci1729
383a9c186a update pkg/storage to support rollback 2016-09-08 08:30:53 -06:00
Matt Butcher
5bcf29d214 feat(tiller): make configmaps the default storage
This adds a Tiller CLI flag to override the default, and tests to
make sure that the default comes up as expected.
2016-08-15 16:30:51 -06:00
fibonacci1729
9d3a1ed2a7 basic cfgmaps driver tests 2016-08-09 16:23:25 -06:00
fibonacci1729
d5aca1666c configmaps: style fix 2016-08-09 13:48:35 -06:00
fibonacci1729
94a154b745 more style fixes and cleanup 2016-08-09 13:19:28 -06:00
fibonacci1729
559e9081fb style fixes and cleanup 2016-08-09 12:49:31 -06:00
fibonacci1729
3dca699410 fix: storage tests 2016-08-09 11:45:17 -06:00
fibonacci1729
7c56882ed9 fix configmaps list, and labels mechanism for future tiller mgmt 2016-08-08 15:57:54 -06:00
fibonacci1729
cba0c6615f gofmt 2016-08-08 13:45:33 -06:00
fibonacci1729
8c56533a47 configmap tests & some reduction in driver complexity 2016-08-08 13:42:51 -06:00
fibonacci1729
2d95906e1a wip: cfgmaps storage driver 2016-08-08 09:35:08 -06:00
fibonacci1729
0e26f20268 gofmt, style, and added comments 2016-08-08 09:33:35 -06:00
fibonacci1729
a83425d44b style & doc comments 2016-08-05 10:14:12 -06:00
fibonacci1729
241cc29883 gofmt 2016-08-03 15:47:00 -06:00
fibonacci1729
c7e3ec7c46 add license to filter.go 2016-08-03 15:40:57 -06:00
fibonacci1729
d458bb7fb9 Change Create to return ErrReleaseExists if release exists 2016-08-03 15:40:42 -06:00
fibonacci1729
fad498e8fd added / documented common errors 2016-08-03 15:39:22 -06:00
fibonacci1729
967e438bfd gofmt ... 2016-08-01 17:48:02 -06:00
fibonacci1729
a05b48f320 update driver Queryor interface to reflect list filtering mechanism 2016-08-01 17:45:08 -06:00