-
Notifications
You must be signed in to change notification settings - Fork 0
X New Project Pub Sub ProtocolBuffer
⚠️ This goes away from the model Michael has been advocating. He has consistently talked about configConnector. It is likely not worth investing too much energy into the thoughts below if something like configConnectorauto-magically
can create the resources. Is configConnector able to have (some of the mild) nuance suggested below (i.e. multiple projects created instead of one under a folder).
Using Pub/Sub and google cloud functions (no Internet exposure) to generate:
- New folder to hold project(s).
- New Project(s)
- New Security group(s) and members. These are created up at the root org level
- Groups/types used so far:
- Owners
- Editors
- Attach Security group(s) to project(s).
- Create Budget and Alert.
- Attach to project(s)
- If we have more than one project (i.e. dev/text/prod) do we only have one budget for all three? This will complicate things slightly at a logic level, as opposed to one budget per project. Not the end of the world, but a question to be answered.
- If we have dev/test/prod projects to be created, do we publish three messages, and then do tests to see if the Folder already exists? I think one message with a
google.protobuf.ListValue
(think array) that holds one or more environments to be created would be a good approach.
syntax = "proto3";
message ProtocolBuffer {
string owner_gcp_account = 1;
string project_name = 2;
google.protobuf.ListValue environment_type = 3;
int32 parent_folder = 4;
}
{
"owner_gcp_account": "bob.mckenzie@gcp.myorg.org",
"project_name": "ph-projectname"
"environment_type": ["experimental"],
"parent_folder": "23324234234"
}
{
"owner_gcp_account": "bob.mckenzie@gcp.myorg.org",
"project_name": "ph-projectname"
"environment_type": ["development", "test", "production"],
"parent_folder": "23324234234"
}
- What is the minimal payload that we can derive the rest from?
- I.e. using the project name we can derive the project name - Folder:
ph-janedoe
, Project:phx-janedoe
. - Derive security group names:
phx-janedoe-owner@gcp.hc-sc.gc.ca
orphx-janedoe-editor@gcp.hc-sc.gc.ca
- Derive Budget and Billing name:
phx-janedoe-budget
- I.e. using the project name we can derive the project name - Folder:
- Is this even the right approach? A vendor showed an architecture diagram that showed things broken up across multiple Pub/Sub topics.
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
Under Development
- This wiki and the documents being developed under it are living documents.
- They are all pre-decisional.
- Some of these documents were generated using chatGPT or were developed by other organizations for reuse and adaptation.
- Some of the documents in this wiki are in early early drafts, they make reference to things that do no exist or to process not yet being used.
- The Center of practice(COP) is best effort and will be developed iteratively. This includes the technology supporting the COP
- At the early stages of the COP expect change; short life cycles and rapid changes. Plan accordingly.
- Stability in the COP will materialize over time.
- For immediate reference engage your COP support channel, use the documentation as a secondary source.
- There is reference to the COP and PDCP in the documentation, these are the same entity. We haven't picked a name yet :)
All of the pages in this wiki should be considered draft, underdevelopment and needing review. None of these pages are official documentation. All of the pages are a work in progress and discussion is encouraged via the GitHub issues mechanism.
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧