Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup a 'meta' cloud project for managing all projects #335

Closed
5 of 6 tasks
Tracked by #336
yuvipanda opened this issue Apr 2, 2021 · 4 comments
Closed
5 of 6 tasks
Tracked by #336

Setup a 'meta' cloud project for managing all projects #335

yuvipanda opened this issue Apr 2, 2021 · 4 comments
Labels
Enhancement An improvement to something or creating something new.

Comments

@yuvipanda
Copy link
Member

yuvipanda commented Apr 2, 2021

Background

We're currently planning on giving each customer their own GCP project, to simplify billing. We need to maintain an automated way to:

  1. Create projects
  2. Map billing accounts to projects
  3. Make sure 2i2c staff are given appropriate rights to projects

In addition, we probably will have meta 2i2c services that should live somewhere. Currently, they would be:

  1. KMS key we use for sops encryption
  2. (Eventually) analytics infrastructure we might run
  3. Terraform state kept in s3

We should have a terraform setup that sets all these up.

Expected timeline

Some of this work blocks #332, so that should take upto a week. We can mop up the long-tail within about 4-6 weeks.

Steps to complete this goal

  • Create git repo for hosting 2i2c-wide terraform projects
  • Create a 2i2c GCP Organization, since you need those to programattically create projects
  • Move our gcs based Terraform statefiles to this project
  • Write terraform code to create projects and maintain relationships with billing accounts
  • Write terraform code to give 2i2c engineers appropriate permissions to a project
  • Move our KMS key for sops encryption to this project
@yuvipanda
Copy link
Member Author

I created an organization under 2i2c.org, with id 184174754493

@yuvipanda
Copy link
Member Author

Created an organization with name two-eye-two-see-org. I need to verify what billing account it is under though.

@choldgraf choldgraf changed the title Setup a 'meta' project for managing all projects Setup a 'meta' cloud project for managing all projects Apr 2, 2021
@yuvipanda
Copy link
Member Author

Created https://github.com/2i2c-org/org-ops to hold terraform code + state.

yuvipanda added a commit that referenced this issue Apr 7, 2021
@choldgraf choldgraf added Enhancement An improvement to something or creating something new. and removed type: goal labels Apr 15, 2021
@yuvipanda
Copy link
Member Author

This sort of ended up not working out, because access control for most clouds is unfortunately very manual.

Closing in favor of 2i2c-org/org-ops#4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement An improvement to something or creating something new.
Projects
None yet
Development

No branches or pull requests

2 participants