[WIP] frontend: Generate YAML cluster config instead of tfvars file#2884
[WIP] frontend: Generate YAML cluster config instead of tfvars file#2884kyoto wants to merge 29 commits intocoreos:masterfrom
Conversation
|
Can one of the admins verify this patch? |
f30027d to
5743f30
Compare
5743f30 to
d236504
Compare
|
ok to test |
* CLI MVP * Kingpin bazel build * Bazel: per-arch targets and top-level alias
* Re-add missing Bazel file for CLI package * Missing EOL on last line
1ed8587 to
67c070d
Compare
* installer/pkg: Add cluster config generator This enables to generate the cluster configuration from an abstract configuration which describes multiple tectonic clusters. Not all configuration options have been mapped so far, this is work in progress. * installer/pkg: Add terraform config generator This enables to generate the terraform configuration from an abstract configuration which describes multiple tectonic clusters. Not all configuration options have been mapped so far, this is work in progress. * installker/pkg: Parse and generate platform specific properties * installer: Update dependencies * installer/pkg/config-generator: Remove initial core config * installer: Fix and generate bazel build files
platform/aws: move assets generation into own tf step
* platform/aws: add ncg ignition for workers * platform/aws: add ncg ignition for masters * platform/aws: add ignition for bootstrap master * platform/aws: remove leader election code * platform/aws: add ignition for etcd * platform/aws: add support for the NCG * terraform fmt
* add multistep support for the cli * cli: Fix lint
0. Build tarball and smoke tests in previous Jenkins stage 1. Unzip the release tarball 2. Setup build folder and $PATH 3. Make rspec use release folder instead of git repository
| PullSecret string `json:"pullSecret"` | ||
| Retry bool `json:"retry"` | ||
| Variables struct { | ||
| AWS map[string]interface{} `json:"AWS,omitempty"` |
There was a problem hiding this comment.
by convention, JSON is encoded in camel-case. Why is this using title casing?
There was a problem hiding this comment.
Like you said in your other comment, I'm just matching the existing JSON keys. I agree that they should be changed to camelCase though.
There was a problem hiding this comment.
Ok thanks for confirming. We’ll need to follow up and fix this on the config-generator side of things
| assert.FailNow(t, "TerraForm apply timed out") | ||
| } | ||
|
|
||
| // TODO: Update tests for new CLI |
There was a problem hiding this comment.
rather that comment these out, can you skip the tests so that their lack of implementation is noted in the test output? See https://golang.org/pkg/testing/#T.Skip
|
Overall LGTM. needs rebase. I'm a little confused about the marshaling of json but if you're just keeping up with @spangenberg 's changes, then that shouldn't block this PR. We will need to fix json marshalling in his code generation |
cli: populate core config
d236504 to
47874f8
Compare
Also stop passing FORMS to config generator functions.
Adds js-yaml as a dev dependency.
47874f8 to
bceb797
Compare
|
ok to test |
|
We will wait to merge this until after |
2358733 to
3fdc67a
Compare
311faeb to
f6b626e
Compare
|
we'll need to re-open this against master now that ut2 has merged. |
|
Can one of the admins verify this patch? |
Change
cluster-config.jsto output the new Tectonic cluster config values and change the backend to write out a YAML config file instead of a tfvars file.Update GUI unit tests and end-to-end tests to test the YAML config. Adds
js-yamlas a dev dependency for the end-to-end tests.cc @alexsomesan @spangenberg