@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.
- package/README.md +9 -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`,
|
|
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.
|
|
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",
|