hackoregon / civic-devops

Master collection point for issues, procedures, and code to manage the HackOregon Civic platform
MIT License
11 stars 4 forks source link

Standardize naming of the five 2019 projects for use in infrastructure #227

Open MikeTheCanuck opened 5 years ago

MikeTheCanuck commented 5 years ago

Summary

Standardize naming of infrastructure objects for 2019 projects. Similar needs as in 2018 - see issue #1

Details

We need to establish two naming conventions:

  1. the fully-spelled-out naming-prefix e.g. open-elections
  2. the 2019 acronym (for places, like ECS, whose names can't handle a 10-15 character prefix) e.g. 2019-OE

Tasks

Definition of Done

Have names that can be used immediately to create NPM packages, DNS names, S3 bucket folders, databases, Django app names and Docker image names.

MikeTheCanuck commented 5 years ago

All known standardized names for 2019 projects are here: https://docs.google.com/spreadsheets/d/147thL899Bf8IL3ma1S9XBrNXL2xYsIRM5mE-3fceIcQ/

nam20485 commented 5 years ago

@MikeTheCanuck, I'd like to clarify the two rows pertaining to the sandbox backend, as they contain missing or conflicting cell entries.

Project Year Team Name Standardized Name ECR repo S3 data archive Database(s) ECS container service GitHub Repo(s)
2018 Sandbox (n/a) (n/a) (n/a) (n/a) (n/a) civic-sandbox civic-sandbox-backend
2019 Sandbox (?) 2019-sandbox   2019-sandbox     civic-sandbox sandbox-backend
  1. The existing, 2018 sandbox backend's GitHub repo is civic-sandbox. The new 2019 sandbox backend's GitHub repo I have begun creating is civic-sandbox-backend. (You have both listed in each row so I am guessing that you were unsure of which was which)

  2. For the 2019 row, a couple of entries are blank, but we will requires resources set up for each of the column's resource types. They should match the same needs and pattern as the other new 2019 team theme backends, as it will function from a resource standpoint identically to the other new 2019 backends. So I would suggest filling in the entries like so:

ECR repo: staging/2019-sandbox Database(s): 2019-sandbox (RDS instance) ECS container service: hacko-staging-2019SB

Also, you can remove the (?) from 2019 Sandbox Team Name column as we will definitely need the resources.

I can update the entries myself if you like, but I didn't take the liberty of updating your document yet, without discussing with you first.

bhgrant8 commented 5 years ago

Outside of the github repo naming, anything in python/Django will need to be all lowercase, with underscores used anywhere that makes sense for readability.

Based on PEP8 standard for packages and modules: https://www.python.org/dev/peps/pep-0008/#package-and-module-names

Some more thoughts on project organization for backend teams: https://docs.google.com/document/d/1QYYv955c2893YH352_yguTTMsm73LVdxtktfjgEK_ds/edit?usp=sharing

The intention being to move to publishing pip packages, similar to the use of npm by the frontend teams.

MikeTheCanuck commented 5 years ago

Thanks @nam20485 - that info is damned helpful. I was less sure about the team's name than about whether you'd need resources - you folks are too capable not to need everything we can throw at you. :)

All is updated, so it should be easier to land the resources once the infrastructure architecture for each layer is worked out. Looks like Lynn's on the hunt to get a request in for RDS, so that ought to land first.

nam20485 commented 5 years ago

Awesome. Thanks @MikeTheCanuck !