@cyc-seattle/platform 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +9 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -26,7 +26,9 @@ app owns. The apps that run on it live in their own repos, such as
26
26
  `gke-gcloud-auth-plugin` with Application Default Credentials, so Pulumi must run under mise,
27
27
  where `mise run install` puts the plugin on `PATH`.
28
28
  - `Workload` runs a long-lived process with no route: a Deployment, a ServiceAccount, and, when it
29
- has `ports`, a ClusterIP Service that other pods in the namespace reach at `host`.
29
+ has `ports`, a ClusterIP Service that other pods in the namespace reach at `host`. With more than
30
+ one replica, `spreadAcrossZones` spreads them, and `minAvailable` adds a PodDisruptionBudget.
31
+ `podAnnotations` sets annotations such as `cluster-autoscaler.kubernetes.io/safe-to-evict`.
30
32
  - `WebService` is a `Workload` behind the environment's Gateway at `hostname`. Its Service exposes
31
33
  `port` as port 80, and its readiness probe must be an HTTP GET, which the load balancer's health
32
34
  check reuses.
@@ -43,6 +45,10 @@ releases each merge to `main` with semantic-release, versioned by the convention
43
45
 
44
46
  ## Environments
45
47
 
48
+ Every app runs on the one GKE Autopilot cluster, in its environment's namespace. Prod runs on
49
+ regular capacity, and dev on Spot pods. isthmia's apps (Authentik, Directus, the portal, and the
50
+ two syncs as CronJobs) run in both, and dev adds Mailpit and the Clubspot and Workspace fakes.
51
+
46
52
  | Stack | Namespace | Domain | Deploy identity |
47
53
  | ------ | --------- | ------------------ | --------------- |
48
54
  | `dev` | `dev` | `dev.cycsail.team` | `deploy-dev` |
@@ -62,7 +68,8 @@ platform PR: Cloud SQL ignores IAM conditions on its user and database calls, so
62
68
  hold a role scoped to `cyc-dev`.
63
69
 
64
70
  A Job that fails in `prod`, or a CronJob there with no successful Job in 3 hours, raises an alert.
65
- It emails each address in `cluster:alertEmails`, which is unset for now (#20).
71
+ It emails each address in `cluster:alertEmails`, a secret in the stack's config, which holds the
72
+ maintainer's address (#20).
66
73
 
67
74
  ## Setup
68
75
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyc-seattle/platform",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Pulumi components for CYC's shared Google Cloud platform: WebService, the platform outputs reader, and the stacks that build the platform",
5
5
  "author": "CYC Community Sailing Center",
6
6
  "license": "Apache-2.0",