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
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
f373004bd2
Merge branch 'master' into helm-delete
2019-12-19 14:49:55 -08:00
Joachim Hill-Grannec
0c5576164d
Merge pull request #22 from pelotech/no-license
...
Remove LICENSE
2019-12-19 13:45:33 -08:00
Erin Call
f4ce27f40e
Merge branch 'master' into no-license
2019-12-19 13:43:47 -08:00
Joachim Hill-Grannec
6452a01c82
update drone.yml to publish to docker hub
2019-12-19 13:38:04 -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
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
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