Erin Call and GitHub
7ecfe70e3e
Merge branch 'master' into dotenv
2020-01-02 13:30:19 -08:00
Erin Call and GitHub
d5bd083bf5
Merge pull request #59 from pelotech/keep-history
...
Pass --keep-history when so instructed
2020-01-02 13:29:43 -08:00
Erin Call and GitHub
8d8bcf78a7
Merge branch 'master' into keep-history
2020-01-02 13:26:53 -08:00
Erin Call and GitHub
45428a2e25
Merge branch 'master' into keep-history
2020-01-02 12:29:32 -08:00
Erin Call
7b816ea257
Merge branch 'master' into values-arent-global
2020-01-02 12:29:15 -08:00
Erin Call and GitHub
3c44be059e
Merge pull request #60 from pelotech/lint-strictly
...
Pass --strict to `helm lint` when so instructed
2020-01-02 12:27:00 -08:00
Erin Call and GitHub
11ffdc7210
Merge branch 'master' into lint-strictly
2020-01-02 11:44:09 -08:00
Erin Call and GitHub
b4a13d9971
Merge pull request #58 from pelotech/conflict-resolution-doc
...
Docs for settings/environment conflict resolution
2020-01-02 11:43:57 -08:00
Erin Call
4330728215
Put step-specific config in those steps [ #61 ]
...
This is just something that's been bugging me for a while--they're
specific to Lint and Upgrade, so that's where they belong.
2020-01-02 11:38:41 -08:00
Erin Call
3ae13d4b3c
Pass --strict to helm lint when so instructed [ #28 ]
2020-01-02 11:25:13 -08:00
Erin Call
17724e7015
Pass --keep-history when so instructed [ #24 ]
2020-01-02 10:58:58 -08:00
Erin Call
04a2c48ece
Docs for settings/environment conflict resolution [ #45 ]
2020-01-02 09:23:02 -08:00
Erin Call
997a33fc0d
Simple issue template for doc requests [ #46 ]
2020-01-02 09:12:51 -08:00
Erin Call and GitHub
280c8577a4
Merge branch 'master' into dotenv
2020-01-02 09:08:25 -08:00
Erin Call
51058470e5
Load .env files on startup [ #6 ]
2020-01-02 09:05:26 -08:00
Erin Call
9c91a415b0
Merge branch 'master' into no-eks-support
2020-01-01 09:09:01 -08:00
Erin Call and GitHub
86984bcecd
Merge pull request #50 from pelotech/no-prefix
...
Remove support for the prefix setting [#48 ]
2019-12-31 15:00:52 -08:00
Erin Call
7cd46bb8b1
Emit warnings about deprecated settings [ #10 ]
...
These aren't an error case--the plugin will work just fine--but users
should be aware they (the settings) aren't being respected.
2019-12-31 10:03:53 -08:00
Erin Call
ab7abb699a
Remove support for the prefix setting [ #48 ]
...
The setting isn't necessary with modern versions of Drone, and it
creates a lot of edge-cases. The use-case doesn't justify the added
complexity.
2019-12-31 09:28:42 -08:00
Erin Call and GitHub
8e5a32ff85
Merge branch 'master' into no-eks-support
2019-12-30 13:45:21 -08:00
Erin Call and GitHub
1dba561a76
Merge branch 'master' into helm-repos
2019-12-30 13:30:07 -08:00
Erin Call and GitHub
ae31cf66c3
Merge pull request #41 from pelotech/license
...
Use the apache 2.0 license [#23 ]
2019-12-30 13:29:52 -08:00
Erin Call and GitHub
3985ec8faa
Merge branch 'master' into helm-repos
2019-12-30 13:29:23 -08:00
Erin Call
499ab6877f
Do repo error-checking in AddRepo.Prepare [ #26 ]
2019-12-30 13:24:57 -08:00
Erin Call and GitHub
2b802df00f
Merge branch 'master' into license
2019-12-30 11:59:12 -08:00
Erin Call
48b6b3f5b3
Create AddRepo steps when there are repos to add [ #26 ]
2019-12-30 11:57:19 -08:00
Erin Call
22e30fea56
The prefix setting is implemented [#19,#9]
...
Just something I noticed while resolving a merge conflict. The "write
some docs" and "implement prefix" branches happened concurrently and
didn't get re-coordinated.
2019-12-30 09:56:47 -08:00
Erin Call
9155d5eeeb
Merge branch 'master' into helm-repos
2019-12-30 09:56:18 -08:00
Erin Call
75c99683b5
AddRepo step that calls helm repo add [ #26 ]
...
As with some of the other commands, I'm not sure `--namespace` is
relevant here. Just rolling with the "at worst it doesn't hurt" theory.
2019-12-30 09:52:00 -08:00
Erin Call
d5a59590a1
Shim bare numbers into duration strings [ #39 ]
...
Helm2's --timeout took a number of seconds, rather than the
ParseDuration-compatible string that helm3 uses. For backward-
compatibility, update a bare number into a duration string.
2019-12-27 16:20:32 -08:00
Erin Call
89ec9425b0
Mention the chart param for uninstalls [ #25 ]
2019-12-27 15:44:09 -08:00
Erin Call
181165cc51
Call helm dependency update when so instructed [ #25 ]
...
As with Lint, I have no idea whether the --namespace flag actually
matters here. I don't think it will hurt, though!
2019-12-27 15:06:32 -08:00
Erin Call
354dce2e12
Use the apache 2.0 license [ #23 ]
2019-12-27 11:18:13 -08:00
Erin Call
12c8e08d6f
Mention that EKS isn't currently supported [ #5 ]
...
We'd like to support it eventually, but the current state of affairs
doesn't justify the effort.
Also removed some vestigial code that was copy-pasta from the kubeconfig
in drone-helm.
2019-12-27 10:49:22 -08:00
Erin Call and GitHub
3b78f01b45
Merge pull request #37 from pelotech/github-metafiles
...
Metafiles for the github repo config
2019-12-26 15:38:46 -08:00
Erin Call
24060c18fc
Provide better e2e-testing instructions [ #12 ]
...
The "get a kubernetes cluster" part could use some outfleshing, but this
is certainly more straightforward than it was before.
2019-12-26 15:21:34 -08:00
Erin Call
232bb5eb96
Rely on the PR template for docs/code consistency [ #12 ]
...
These comments were a reasonable attempt at ensuring the documentation
matched reality, but the checkbox in the pull request template is much
more likely to produce results.
2019-12-26 13:03:53 -08:00
Erin Call
c0964ae178
Merge branch 'master' into github-metafiles
2019-12-26 13:02:02 -08:00
Erin Call and GitHub
818c0246fa
Merge branch 'master' into help-by-default
2019-12-26 13:00:13 -08:00
Erin Call and GitHub
9f9e83da99
Merge pull request #35 from pelotech/testplan
...
Add omitted plan tests
2019-12-26 12:59:54 -08:00
Erin Call and GitHub
39aea4c8dd
Merge branch 'master' into testplan
2019-12-26 12:58:46 -08:00
Erin Call and GitHub
7e25218945
Merge pull request #36 from pelotech/kubeconfig-tests
...
Validation tests for the kubeconfig template
2019-12-26 12:58:27 -08:00
Erin Call
3b85c38714
Test yaml validity without a new dependency [ #15 ]
...
It turns out testify already depends on yaml, so we aren't adding
anything new by using it here.
2019-12-26 12:53:36 -08:00
Erin Call
1422ec77a4
Merge branch 'master' into kubeconfig-tests
2019-12-26 12:50:00 -08:00
Erin Call
2a13fff548
Don't check the generated config's yaml syntax [ #13 ]
...
See discussion on https://github.com/pelotech/drone-helm3/pull/36 --it
doesn't really make sense to add a dependency on yaml just for testing.
2019-12-26 12:39:02 -08:00
Erin Call and GitHub
d53a1ed942
Merge branch 'master' into testplan
2019-12-26 12:26:07 -08:00
Erin Call
167b53691b
Put HelmCommand in Help, not run.Config [ #15 ]
2019-12-26 12:23:56 -08:00
Erin Call
b1899dee56
Merge remote-tracking branch 'origin/master' into help-by-default
2019-12-26 12:23:14 -08:00
Erin Call and GitHub
fc3bfc466a
Merge pull request #32 from pelotech/config-fixup
...
Clarify and improve internal/helm.Config
2019-12-26 12:23:00 -08:00
Erin Call and GitHub
8f2d4bec49
Merge branch 'master' into testplan
2019-12-26 12:08:30 -08:00
Erin Call
b2066961e1
Merge branch 'master' into kubeconfig-tests
2019-12-26 11:55:32 -08:00
Erin Call
41e9e42239
Emit a trailing newline on execution error [ #15 ]
...
Just something I noticed while testing the help command's error case.
2019-12-26 11:34:07 -08:00
Erin Call
6d28b7b28a
Return an error on unknown commands [ #15 ]
...
I'm probably overthinking this--explicitly calling help is a strange and
unusual case--but it doesn't really hurt, so I'm going for it.
2019-12-26 11:29:33 -08:00
Erin Call
34b9ec1c4c
Run the Help step by default [ #15 ]
2019-12-26 10:47:42 -08:00
Erin Call
568f613401
Associate lines of text with their yaml blocks [ #8 ]
...
As I skimmed through that section I noticed it wasn't immediately clear
whether a line of text was referring to the example above it or the one
below it.
2019-12-26 09:44:46 -08:00
Erin Call
dc05855aa5
Mention the settings/environment equivalency [ #8 ]
...
It seems like this needs more information, like why you'd want to put
something in one stanza or the other, but I don't really know enough
about drone to give useful advice.
2019-12-26 09:41:10 -08:00
Erin Call
a71bba71fd
Give contributors some maybe-adequate information [ #12 ]
...
I honestly have no idea how useful this document is, but it's probably
better than nothing?
2019-12-25 16:08:29 -08:00
Erin Call
f00f6a6329
Encourage good issues with issue templates [ #12 ]
...
I've never used github's new multiple-option issue templates before!
I'm excited to see them in action :)
2019-12-25 12:03:36 -08:00
Erin Call
1a70a626ea
Use the Contributor Covenant code of conduct [ #12 ]
2019-12-25 11:47:41 -08:00
Erin Call
4f549ddf2a
Pre-populate pull request bodies with a template [ #12 ]
...
Note that as of this writing, docs/parameter_reference.md (and required-
params documentation in README.md) doesn't actually exist; I created it
in ef66bc0 but that commit hasn't been merged yet.
2019-12-25 11:21:33 -08:00
Erin Call
4cd369b051
Auto-assign rewiewers with a CODEOWNERS [ #12 ]
2019-12-25 10:50:20 -08:00
Erin Call
6b331fdf03
Check the validity of the kubeconfig template [ #13 ]
...
It's a little tricky to find a balance between "brittle" and "thorough"
in this test--I'd like to verify that e.g. the certificate is in
clusters[0].cluster.certificate-authority-data, not at the root. On the
other hand, we can't actually show that it's a valid kubeconfig file
without actually *using* it, so there's a hard upper limit on the
strength of the assertions. I've settled on verifying that all the
settings make it into the file and the file is syntactically-valid yaml.
2019-12-25 10:11:14 -08:00
Erin Call
801598e1c5
Use a clearer filepath for the kubeconfig template [ #13 ]
2019-12-24 16:16:22 -08:00
Erin Call
cb58b5a021
Phrase errors in Execute the same as in Prepare [ #33 ]
2019-12-24 15:49:47 -08:00
Erin Call
d86ac72529
Test Plan.Execute [ #33 ]
2019-12-24 15:47:26 -08:00
Erin Call
52c9fb552c
Ensure the plan test mocks' expectations are met [ #33 ]
2019-12-24 15:33:50 -08:00
Erin Call
d4506608d7
Note a backwards-incompatibility in the README [ #8 ]
...
This probably isn't going to bite anyone, but it's technically possible,
and it doesn't hurt to mention it.
2019-12-24 15:25:44 -08:00
Erin Call
ff8e988122
Use "installation" rather than "deployment" [ #8 ]
...
"deploy" matches my mental model of what helm does, but "install"
matches helm's own terminology more closely.
2019-12-24 15:22:25 -08:00
Erin Call
ef66bc0f92
Document parameters in a single markdown file [ #8 ]
...
I was unhappy with the comments-in-yaml approach; it required
duplicating a lot of information and it was hard to find a balance
between "usefully thorough" and "readably concise.""
2019-12-24 14:36:39 -08:00
Erin Call
08ddf5e27a
Log debug output in helm.Config [ #9 ]
...
Redacting KubeToken may not be sufficient, since it's possible that
someone would put secrets in Values or StringValues. Unilaterally
redacting those seems unhelpful, though, since they may be the very
thing the user is trying to debug. I've settled on redacting the obvious
field without trying to promise that all sensitive data will be hidden.
2019-12-24 11:08:09 -08:00
Erin Call
4ba1e694d9
Use a go-idiomatic constructor for helm.Config [ #9 ]
2019-12-24 10:41:01 -08:00
Erin Call
10e7e7fee5
Document the Config struct's behavior correctly [ #19 ] [ #9 ]
2019-12-23 16:45:09 -08:00
Erin Call
285e9d98a4
Allow a configurable env var prefix [ #19 ]
...
I'd like to keep Prefix's scope fairly limited, because it has potential
to spiral into something magnificently complex. You get one prefix
setting, it goes in `settings` not `environment`, end of feature.
2019-12-23 16:36:37 -08:00
Erin Call
db87bd0507
Require no-error in config tests [ #9 ]
2019-12-23 15:52:01 -08:00
Erin Call
e2f53f3b08
Process non-prefixed forms of all config settings [ #9 ]
...
Trying to guess in advance which part of the config a user will put in
the `settings` section and which they'll put in `environment` is a
fool's errand. Just let everything go in either place.
The ServiceAccount field only had an `envconfig` tag (as opposed to
`split_words`) because that triggered envconfig to look for the non-
prefixed form. Now that we're finding non-prefixed forms of everything,
we can use the clearer/more concise tag.
Note that TestPopulateWithConflictingVariables isn't meant to say
"here's what behavior we *want*" so much as "here's what the behavior
*is*." I don't think one thing is any better than the other, but we
should know which one we're getting.
2019-12-23 15:34:08 -08:00
Erin Call
c4c136b021
Do envconfig-loading in config.go (and test it!) [ #9 ]
2019-12-23 15:10:00 -08:00
Erin Call
ef4db923cd
Use a plain string for helm.Config.Command [ #9 ]
...
I'm leaving the no-op test file in place because my next step is to add
new behavior that will require testing.
2019-12-23 14:06:05 -08:00
Erin Call
ae9cb59a1f
No typo inthe helm.Config docs [ #9 ]
2019-12-23 14:03:51 -08:00
Erin Call
ad5baea3e6
Document helm.Config's struct fields more clearly [ #9 ]
2019-12-23 14:02:46 -08:00
Erin Call
4755f502b5
Always use the default kubeconfig file path [ #20 ]
2019-12-23 12:47:16 -08:00
Erin Call
59a591eda5
Recommend removing tiller when upgrading [ #8 ]
2019-12-23 09:57:05 -08:00
Erin Call
3d1c849e75
Don't document the kube_config setting [ #8 ]
...
See #30--there's no known use-case and no drone-helm users are using the
setting, so it's on the chopping block.
2019-12-23 09:49:29 -08:00
Erin Call
3eb90651d1
Rough-draft upgrade settings documentation [ #8 ]
2019-12-23 09:49:01 -08:00
Erin Call
044caebafd
Omit empty CA data from the kubeconfig [ #29 ]
2019-12-20 16:14:17 -08:00
Erin Call
dc4ecb6b91
Allow an empty Certificate setting [ #29 ]
...
I just plain misunderstood how kubernetes CAs worked!
2019-12-20 16:11:20 -08:00
Erin Call
cab3a8ae95
Advise that some settings aren't yet functional [ #8 ]
2019-12-20 10:37:32 -08:00
Erin Call
197a377a82
Prod maintainers to keep the docs and code in sync [ #8 ]
...
Offhand I don't see a way to ensure it programmatically, but I feel like
I should at least make an attempt.
2019-12-20 10:05:50 -08:00
Erin Call
aed59c251e
Namespace is relevant in helm lint [ #8 ]
...
...Or at least, the namespace is passed around in helm's linting code. I
haven't proven that there's a case where omitting the namespace can
cause a linting problem, but I've seen enough to go ahead and document
the setting.
2019-12-20 09:56:51 -08:00
Erin Call
2d4688f99b
Merge branch 'master' into useful-readme
2019-12-20 09:42:28 -08:00
Erin Call
420014f9e5
Rename the setting description files to _settings [ #8 ]
2019-12-20 09:41:36 -08:00
Erin Call
285af8a317
Rough draft of an example lint stanza [ #8 ]
2019-12-19 16:37:04 -08:00
Erin Call
485eb4375c
Rename "delete" to "uninstall" [ #8 ]
...
Helm 3 renamed the command, and I didn't realize it until just now.
See also 161960e , where it was renamed in the code.
2019-12-19 15:24:11 -08:00
Erin Call and GitHub
80b26434f5
Merge pull request #21 from pelotech/helm-delete
...
Run the `helm delete` command when HELM_COMMAND or DRONE_EVENT is "delete"
2019-12-19 15:19:44 -08:00
Erin Call
161960e55e
Rename Delete to Uninstall [ #4 ]
...
Helm3 renamed its delete command to uninstall. We should still accept
helm_command=delete for drone-helm compatibility, but the internals
should use Helm's preferred name.
2019-12-19 15:04:33 -08:00
Erin Call
5e2f2f3dc6
First draft of a useful README [ #8 ]
2019-12-19 14:53:53 -08:00
Erin Call and GitHub
f373004bd2
Merge branch 'master' into helm-delete
2019-12-19 14:49:55 -08:00
Erin Call
f4ce27f40e
Merge branch 'master' into no-license
2019-12-19 13:43:47 -08:00
Erin Call
b091bc2a95
No license until there's consensus on which to use
2019-12-19 13:35:09 -08:00
Erin Call
68a2c3cc86
Merge branch 'master' into helm-delete
2019-12-19 11:34:44 -08:00
Erin Call and GitHub
6acad85bed
Merge pull request #18 from pelotech/helm-lint
...
Run the `helm lint` command when HELM_COMMAND=lint
2019-12-19 11:33:01 -08:00