You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The core repository carries no code, manifests, settings, documentation guidance, or tooling specific to GCP or GKE and supports extension mechanisms for any provider and the default install works on any conformant Kubernetes cluster without any provider-specific CRDs or services.
General Requirements
Delete the GKE provisioning and teardown tools and the GCS staging scripts from core, after substrate-gke carries current copies.
Move GKE defaults out of core manifests:
the Google Managed Prometheus monitor;
the GKE ComputeClass toleration on atelet;
the GKE OpenTelemetry endpoint;
the GCS storage default.
Decide atelet's default credential-provider configuration and make it a documented setting either way.
Remove GCP and Cloud SQL logic from ate-setup: settings, gcloud credential fetching, GKE token-issuer derivation, Google registry keychain. Ship deprecation warnings a release ahead, and safeguards that stop an external-database install from switching to bundled Postgres.
Replace atelet's anonymous GCS asset download with a generic HTTPS fetch.
Replace GCE detection in the workers with a log-format setting.
Remove GCP guidance from CRD and API documentation.
Move the GCS object-store backend and the GCP Secret Manager plugin to repositories outside core.
Cross-linking the issues and PRs already in flight for this epic. Several were filed or opened on their own before this epic existed, so this comment maps each one to a requirement and lists what nothing covers yet. State checked against main on 2026-10-28.
Umbrella / related: #2304 (migrate tools/setup-gcp to substrate-gke), ai-on-gke/substrate-gke#82 (GKE content landing in substrate-gke), #3189 (ate-setup provider interface), #3188 (stable object names for provider patches), #1782 / #1830 (generic-cluster install profile and docs).
Partial. Base atelet.yaml still mounts /home/kubernetes/bin and /etc/srv/kubernetes/cri_auth_config.yaml. #2799 is additive, and no decision on the default has been recorded
Partial. Private assets now go through the object-store plugin, but atelet still falls back to an anonymous GCS client for gs:// URLs (cmd/atelet/sandbox_assets.go). The bundled sandboxconfig-gvisor.yaml points at gs://gvisor, and #2649 / #2657 only make that location overridable. No issue covers a generic HTTPS fetch
Replace GCE detection in the workers with a log-format setting
Gap.ateworker-gvisor and ateworker-microvm still call metadata.OnGCE() to pick the actor log label key
Remove GCP guidance from CRD and API docs
none
none
Gap.api/infra/k8s/ate/v1/sandboxconfig_types.go, api/objectstore/v1/objectstore.proto and docs/api-guide.md still use gs:// examples and GCS-specific fallback text
Partial. GCS still lives in internal/objectstore/gcs.go, internal/objectstoreplugin/gcs* and pkg/objectstorage/gcs*.go, and no issue tracks moving it. #3381 / #2595 (Azure) go the other way and add a backend in-tree, which this epic should settle
Gaps with no issue yet
Delete hack/microvm-assets/stage-to-gcs.sh (and update its README) once substrate-gke has a copy.
Remove the GCS storage default from base manifests, and decide what the neutral default is (none / required setting / rustfs).
Activity
The GCP Secret Manager credential provider moved to agent-substrate-p…
MushuEE commentedon Oct 28, 2026
Cross-linking the issues and PRs already in flight for this epic. Several were filed or opened on their own before this epic existed, so this comment maps each one to a requirement and lists what nothing covers yet. State checked against
mainon 2026-10-28.Umbrella / related: #2304 (migrate
tools/setup-gcpto substrate-gke), ai-on-gke/substrate-gke#82 (GKE content landing in substrate-gke), #3189 (ate-setupprovider interface), #3188 (stable object names for provider patches), #1782 / #1830 (generic-cluster install profile and docs).Requirement → tracking
tools/setup-gcpandhack/teardown.sh)hack/microvm-assets/stage-to-gcs.shPodMonitoringout of coreate-otel-config); #2426 (preflight check,--otlp-endpoint=none)ate-storage-config, still GCS in base)ATE_STORAGE_BACKEND: "gcs"is still the base default inatelet.yamlandate-api-server.yaml, and #3197 keeps itatelet.yamlstill mounts/home/kubernetes/binand/etc/srv/kubernetes/cri_auth_config.yaml. #2799 is additive, and no decision on the default has been recordedcmd/ate-setup/internal/config/credentials.gostill runsgcloud container clusters get-credentials--cluster-namestill "derive[s] the JWT issuer" (config/setting.go,config/config.go)cmd/ate-setup/internal/images/digest.gostill usesauthn.NewMultiKeychain(authn.DefaultKeychain, google.Keychain)ATE_API_POSTGRES_CLOUDSQL_*into a hard error in the same change, with no warning release firstgs://URLs (cmd/atelet/sandbox_assets.go). The bundledsandboxconfig-gvisor.yamlpoints atgs://gvisor, and #2649 / #2657 only make that location overridable. No issue covers a generic HTTPS fetchateworker-gvisorandateworker-microvmstill callmetadata.OnGCE()to pick the actor log label keyapi/infra/k8s/ate/v1/sandboxconfig_types.go,api/objectstore/v1/objectstore.protoanddocs/api-guide.mdstill usegs://examples and GCS-specific fallback textagent-substrate-plugins/credprovider-gcp-secret-manager)pkg/objectstore/actorauthzfor out-of-tree providers), #3138, #3150internal/objectstore/gcs.go,internal/objectstoreplugin/gcs*andpkg/objectstorage/gcs*.go, and no issue tracks moving it. #3381 / #2595 (Azure) go the other way and add a backend in-tree, which this epic should settleGaps with no issue yet
hack/microvm-assets/stage-to-gcs.sh(and update its README) once substrate-gke has a copy.gcloud get-credentials, GKE JWT-issuer derivation from--cluster-name, andgoogle.Keychain.gs://fallback, and a neutral default for the bundled gVisorSandboxConfig(ties in with Design: how should object-store plugins signal that atelet may read a public sandbox asset anonymously? #2630).metadata.OnGCE()with an explicit log-format setting.docs/api-guide.md.Coordination notes
PodMonitoring. Pick one.gcr.io/pkg.devcredential logic ininternal/imagecacheonmain, so it may already be fixed. Can someone confirm and close it?Say the micro-VM assets are not GKE-specific, only their GCS staging