- Install Docker for Mac (v3.4.0)
- Install Kubectl (v1.21.1)
- Install Tilt (v0.20.8)
- Install Helm,
brew install helm(v3.5.2) - Install golang (go1.16.4)
- Install yarn (v1.22.10)
- Apply nginx ingress controller so that the ingress rules work.
- Run
make vendor-all. - Set environment type in
Tiltfile(devorstaging,devby default). - Run
tilt up. Ifdevnavigate tohttp://localhost, elsehttps://staging.grouphouse.io.
- Navigate to
./deployment - Run
terraform initto download providers. terraform planterraform apply- Update kubectl config:
aws eks --region=us-west-1 update-kubeconfig --name=${cluster name}
Docs denoted by all-caps filename
./README./TODO./CHEATSHEET./services: Dockerized Services./grpc: Example Private GRPC Service./public-api/README: Public API Service./web-frontend/README: Typescript/React/Redux/REST Web Frontend Service
./libraries: Shared Local Libraries./golang/README: Shared Golang Libraries./typescript/README: Shared Typescript Libraries
./env: Environment Variables./README./charts./values-dev.yaml: Development Variables./values-staging.yaml: Staging Variables./values-prod.yaml: Production Variables
./charts: Helm Charts./api-store/README./grpc./public-api./web-frontend./ingress/README./external-dns/README
./deployment/README: Terraform Deployment
- Don't commit directly to master, make PRs.
- PRs should be reviewed and be required to have a +1 from non-contributor to the PR.
- PRs should have corresponding tests.
- PRs should include documentation. Documentation should be kept with its relevant code to minimize drift.
- Autogenerated code should not be committed.
- Correct known trip-wires (little annoyances, mistakes, gotchas) immediately - quick fixes pay off dividends.
- Prefix branch name with creator's initials.
- As new items come up, add to TODO.
- Maximize code reuse, minimize service directory size and complexity