stem95su: scheduled Drive->site sync CronJob (every 10m)

CronJob stem95su-gdrive-sync (*/10) mounts the content PVC RW and
rclone-syncs the read-only Drive folder "claude" (stem claude/files) onto
it (rclone/rclone:1.74.3, scope=drive.readonly, empty-source guard +
--max-delete 25). ESO ExternalSecret stem95su-rclone <- Vault
secret/stem95su. Requires the GCP OAuth app published to Production or the
refresh token expires ~weekly.

Lands the gdrive-sync stack on master (it had landed on a feature branch
by accident on the shared devvm checkout).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-09 08:42:26 +00:00
parent 05b50d2b96
commit 6d224861c4
1168 changed files with 120 additions and 358547 deletions

View file

@ -1,51 +0,0 @@
variable "tier" { type = string }
resource "kubernetes_namespace" "pvc_autoresizer" {
metadata {
name = "pvc-autoresizer"
labels = {
tier = var.tier
}
}
lifecycle {
# KYVERNO_LIFECYCLE_V1: goldilocks-vpa-auto-mode ClusterPolicy stamps this label on every namespace
ignore_changes = [metadata[0].labels["goldilocks.fairwinds.com/vpa-update-mode"]]
}
}
resource "helm_release" "pvc_autoresizer" {
namespace = kubernetes_namespace.pvc_autoresizer.metadata[0].name
create_namespace = false
name = "pvc-autoresizer"
atomic = true
timeout = 300
repository = "https://topolvm.github.io/pvc-autoresizer"
chart = "pvc-autoresizer"
values = [yamlencode({
controller = {
args = {
prometheusURL = "http://prometheus-server.monitoring.svc.cluster.local:80"
interval = "10m"
}
resources = {
requests = {
memory = "64Mi"
cpu = "10m"
}
limits = {
memory = "128Mi"
}
}
}
webhook = {
certificate = {
generate = true
}
pvcMutatingWebhook = {
enabled = false
}
}
})]
}