Closed endzyme closed 5 years ago
I support the improvement of this process! The interactive prompt might be a nice stretch goal. I think it will be fraught with peril so I suggest coming up with a 1-2 week work timeline where you prioritize the option driven interface that matches what we have currently and deliver that first. I'd prefer that the interactive prompt work not block the GKE/GCP/KFC improvements.
This is almost done from work on PR #185. PR #190 adds the tiller_namespace
change.
Things that are not complete:
version
pinning on provider.tf
.add inventory.gcp
and add gcp.cluster
individually.Things that cant easily be done today:
cluster-<n>.tf
per generatorI think based on the current work and having something working today - we can drop the above items for later improvements.
please reopen if anyone feels this isn't done yet
Can you expand on what you mean by this:
Supporting dynamic names in filenames to match one cluster-
.tf per generator I don't think I understand Confirming each entry (would take too long due to how the inheritance structure works) (Instead we confirm each component run)
I completely agree.
Supporting dynamic names in filesnames..
My specification above outlined naming the cluster.tf filename with the cluster ID that was specified in the pentagon run. Example
pentagon add gcp.cluster ... --cluster-number 2 ...
would yield:
%> tree inventory/my-gcp-project-name/
my-gcp-project-name
├── clusters/
...
└── terraform/
...
├── gke-cluster-2.tf # Note the -2 here
└── provider.tf
I'd like to improve the usability of the GCP project generator. Since we don't really do GCP projects without GKE, we'd be generating both the GKE aspects as well as any information about the GCP project. I will likely (unintentionally) use the term GKE and GCP interchangeably, sorry in advance and call it out if it's unclear.
Below, this issue outlines a general feature request of expectations. If something doesn't make sense or needs more clarification, please don't hesitate to start a discussion.
Feature Request Story
I would like to be able to generate a GCP inventory which creates things pertinent to accessing the GCP account specifically. I expect the following directory structure [fig2] after running the example command [fig1]. After this command I should be able to run terraform (after initializing the bucket) and have both a google stable provider and a beta provider [fig6].
I expect to be able to run another command to add a gke cluster [fig4] and have it add a few files to the provided inventory path [fig5]. After generating the cluster I should be able to run terraform and it should create a default cluster based on our external terraform module(s).
Example Inventory Command
Figure 1
Example Config Tree
Figure 2
Example Variables File
Figure 3
Example GKE Cluster Command
Figure 4
Example New Cluster Tree
Figure 5
Example provider.tf
Figure 6
This allows us to have the beta provider when we need it but default to google provider for all other resources.