Erin Call
51058470e5
Load .env files on startup [ #6 ]
2020-01-02 09:05:26 -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
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 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
Erin Call
7849b28532
Format the Delete struct less weirdly [ #4 ]
...
I thought it was a golang style convention to put a blank line between
public and private struct fields, but apparently I imagined that.
2019-12-19 11:11:50 -08:00
Erin Call
c033c8c45e
Format the Lint struct non-weirdly [ #3 ]
...
I thought it was a golang style convention to put a blank line between
public and private struct fields, but apparently I imagined that.
2019-12-19 11:09:39 -08:00
Erin Call
30e1e3b99f
Assert that Lint.Prepare sets cmd.Stdout/Stderr [ #3 ]
2019-12-19 10:26:33 -08:00
Erin Call
b93917c857
Use better expectations in lint_test [ #3 ]
...
The tests need to allow calls to Stdout/Stderr so they don't get
"Unexpected call" errors from gomock, but these tests aren't meant to
assert that the calls actually happened. Using .AnyTimes allows 0 or
more calls.
2019-12-19 10:21:11 -08:00
Erin Call
5de156f823
Extract Plan's InitKube creation [ #4 ]
...
It's `func initKube` rather than `var initKube = func` because initKube
is not meant to be returned by determineSteps.
2019-12-18 17:13:17 -08:00
Erin Call
f398ee5724
Instantiate a Delete when appropriate [ #4 ]
...
"delete" would be a more natural name for the instantiation function,
but that's a reserved word in golang.
2019-12-18 16:58:31 -08:00
Erin Call
a21d6ad61f
Implement a Delete Step [ #4 ]
2019-12-18 11:47:15 -08:00
Erin Call
84ac019838
Add the --namespace flag in Lint.Prepare [ #3 ]
...
I don't know whether this is necessary; I'm just following drone-helm's
lead. At worst, helm will accept the flag, so it's at least *safe* to
include.
2019-12-18 10:38:33 -08:00
Erin Call and GitHub
9b3616613b
Merge pull request #17 from pelotech/no-todos
...
Remove the TODO list from README.md
2019-12-18 08:09:38 -08:00
Erin Call
7e24756ad8
Instantiate a Lint when cfg.Command is "lint" [ #3 ]
2019-12-17 17:14:39 -08:00
Erin Call
a6a2d6e6a3
Require a nonempty chart in Lint.Prepare [ #3 ]
2019-12-17 17:01:22 -08:00
Erin Call
a6b7e06bd2
Implement the debug flag in lint [ #3 ]
2019-12-17 17:01:18 -08:00
Erin Call
51800c18d7
Implement the various values flags in lint [ #3 ]
2019-12-17 17:01:11 -08:00
Erin Call
991bbf97b4
Create a Lint step [ #3 ]
...
Still need global flags and checks for mandatory settings, but the basic
functionality is there.
2019-12-17 17:01:06 -08:00
Erin Call
f3039ee35d
Merge branch 'master' into no-todos
2019-12-17 15:35:28 -08:00
Erin Call and GitHub
09e4869b2c
Merge pull request #2 from pelotech/flesh-out-upgrade
...
Build out the rest of the upgrade Step
2019-12-17 15:34:08 -08:00
Erin Call
c641c1a326
Remove the TODO list from README.md
...
Everything on the checklist has been converted to a github issue, so
it's redundant.
2019-12-17 15:23:42 -08:00