58 Commits
Author SHA1 Message Date
AllenZMC b788e3dce9 fix word 'potgres' to 'postgres'
Signed-off-by: czm <zhongming.chang@daocloud.io>
2019-08-01 21:59:58 +08:00
ethan c086f78583 cleanup: error message typos in sql.go
Signed-off-by: ethan <guangming.wang@daocloud.io>
2019-07-26 02:20:46 +00:00
Matthew Fisher ae0d4b151b fix(pkg/storage/driver): use shallowReleaseEqual()
Signed-off-by: Matthew Fisher <matt.fisher@microsoft.com>
2019-05-09 14:55:17 -07:00
Matthew Fisher a93ebe17d6 Merge pull request #5371 from PayFit/feat/add-sql-storage-driver
[storage] Add an SQL storage driver
2019-05-09 12:03:14 -07:00
Morten Torkildsen 072cd6af37 fix(helm): Regenerate go types from proto
Signed-off-by: Morten Torkildsen <mortent@google.com>
2019-05-02 14:12:57 -07:00
Elliot Maincourt f4052821c9 Fix formatting issue
Signed-off-by: Elliot Maincourt <e.maincourt@gmail.com>
2019-04-22 13:14:13 +02:00
Elliot Maincourt 13e82d2039 Clarify our SQL Release binding struct naming and purpose
Signed-off-by: Elliot Maincourt <e.maincourt@gmail.com>
2019-04-22 13:14:13 +02:00
Étienne Lafarge 6c396880ad [pr-review] Lighten docs & validate SQL dialect
Signed-off-by: Étienne Lafarge <etienne.lafarge@gmail.com>
2019-04-22 13:14:13 +02:00
a602d70842 [storage] Add an SQL storage driver
This commits adds the possibility to back Tiller (or the future
Tiller-less Helm CLI) with any SQL database (only postgres has been
tested so far) to store release information.

The main motivation for this commit was to use a storage backend that
would allow releases larger that 1MB in size (ConfigMap or Secret
drivers don't, because of limits on value size in the underlying etcd
key-value store).

Signed-off-by: Étienne Lafarge <etienne.lafarge@gmail.com>

Co-authored-by: Elliot Maincourt <e.maincourt@gmail.com> (@emaincourt)
Co-authored-by: Paul Borensztein <hi@0x01.fr> (@commit-master)
2019-04-22 13:14:13 +02:00
JoeWrightss 9e18364fea Fix some spelling errors in comment (#5246)
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>
2019-01-31 21:33:04 -08:00
Adam Reese dbf84cd229 ref(*): kubernetes v1.12 support
Signed-off-by: Adam Reese <adam@reese.io>
2018-10-04 10:28:34 -07:00
Fabian Ruff 37a731db79 Avoid importing k8s.io/kubernetes from pkg/helm (#4499)
* Avoid importing k8s.io/kubernetes from pkg/helm

When writing a helm client (e.g. a helm plugin) that talks to tiller importing k8s.io/helm/pkg/helm to get the grpc client is key.
This pkg should not have a dependency to the k8s.io/kubernetes to avoid pulling in a lot of code that is only used within tiller and blow up binary sizes.

Signed-off-by: Fabian Ruff <fabian@progra.de>

* Add references to pull request in errors message

Signed-off-by: Fabian Ruff <fabian@progra.de>

* copy helper function from pkg/storage/driver

Signed-off-by: Fabian Ruff <fabian@progra.de>

* Move storage errors to seperate package

Signed-off-by: Fabian Ruff <fabian@progra.de>

* Keep old  error variables for backward compatibility

Signed-off-by: Fabian Ruff <fabian@progra.de>
2018-09-04 11:19:33 -07:00
Matthew Fisher 2d77db11fa change copyright to "Copyright The Helm Authors" 2018-07-30 08:29:17 -07:00
Adam Reese c314e2e2f1 fix(plugins): support newer git (#3571)
Newer gits don't like checking out an empty string.

```
empty string is not a valid pathspec. please use . instead if you meant to match all paths
```
2018-02-26 15:44:32 -08:00
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
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
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
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
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
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
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 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 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