fix(k8s): share one pod across task sessions (#3865)

This commit is contained in:
José Almeida
2026-09-24 07:37:17 +01:00
committed by GitHub
parent 9885fd40ba
commit 25271b6e7f
65 changed files with 3627 additions and 220 deletions
@@ -343,34 +343,36 @@ var persistentMetadataKeys = map[string]bool{
MetadataKeySSHReclaimTaskDir: true,
// Kubernetes connection and exact resource inventory.
MetadataKeyKubernetesAuthMode: true,
MetadataKeyKubernetesKubeconfigPath: true,
MetadataKeyKubernetesKubeContext: true,
MetadataKeyKubernetesConfigNamespace: true,
MetadataKeyKubernetesRequestTimeoutSeconds: true,
MetadataKeyKubernetesNamespace: true,
MetadataKeyKubernetesPodName: true,
MetadataKeyKubernetesPodUID: true,
MetadataKeyKubernetesMainContainer: true,
MetadataKeyKubernetesPlatform: true,
MetadataKeyKubernetesRuntimeWorkspaceMode: true,
MetadataKeyKubernetesPVCName: true,
MetadataKeyKubernetesPVCUID: true,
MetadataKeyKubernetesPVCCreated: true,
MetadataKeyKubernetesAgentctlRemotePort: true,
MetadataKeyKubernetesAgentctlInstanceID: true,
MetadataKeyKubernetesContainerRestartCount: true,
MetadataKeyKubernetesResourceInstanceID: true,
MetadataKeyKubernetesResourceExecutorID: true,
MetadataKeyKubernetesResourceProfileID: true,
MetadataKeyKubernetesResourceTaskID: true,
MetadataKeyKubernetesResourceSessionID: true,
MetadataKeyKubernetesResourceEnvironmentID: true,
MetadataKeyKubernetesExecutorConfigHash: true,
MetadataKeyKubernetesProfileConfigHash: true,
MetadataKeyKubernetesTemplateHash: true,
MetadataKeyKubernetesProfileSnapshot: true,
MetadataKeyKubernetesInventoryState: true,
MetadataKeyKubernetesAuthMode: true,
MetadataKeyKubernetesKubeconfigPath: true,
MetadataKeyKubernetesKubeContext: true,
MetadataKeyKubernetesConfigNamespace: true,
MetadataKeyKubernetesRequestTimeoutSeconds: true,
MetadataKeyKubernetesNamespace: true,
MetadataKeyKubernetesPodName: true,
MetadataKeyKubernetesPodUID: true,
MetadataKeyKubernetesMainContainer: true,
MetadataKeyKubernetesPlatform: true,
MetadataKeyKubernetesRuntimeWorkspaceMode: true,
MetadataKeyKubernetesPVCName: true,
MetadataKeyKubernetesPVCUID: true,
MetadataKeyKubernetesPVCCreated: true,
MetadataKeyKubernetesAgentctlRemotePort: true,
MetadataKeyKubernetesAgentctlInstanceID: true,
MetadataKeyKubernetesContainerRestartCount: true,
metadataKubernetesTaskOwned: true,
agentkubernetes.MetadataKeyOwnershipVersion: true,
MetadataKeyKubernetesResourceInstanceID: true,
MetadataKeyKubernetesResourceExecutorID: true,
MetadataKeyKubernetesResourceProfileID: true,
MetadataKeyKubernetesResourceTaskID: true,
MetadataKeyKubernetesResourceSessionID: true,
MetadataKeyKubernetesResourceEnvironmentID: true,
MetadataKeyKubernetesExecutorConfigHash: true,
MetadataKeyKubernetesProfileConfigHash: true,
MetadataKeyKubernetesTemplateHash: true,
MetadataKeyKubernetesProfileSnapshot: true,
MetadataKeyKubernetesInventoryState: true,
// Executor type marker
MetadataKeyIsRemote: true,
@@ -417,42 +419,44 @@ var sessionScopedMetadataKeys = map[string]bool{
// must not be inherited by a sibling session sharing the environment.
MetadataKeyOfficeAgentProfileID: true,
MetadataKeySSHRemoteSessionDir: true,
MetadataKeySSHRemoteAgentctlPort: true,
MetadataKeySSHRemoteAgentctlPID: true,
MetadataKeySSHAgentctlInstanceID: true,
MetadataKeySSHLocalForwardPort: true,
MetadataKeySSHRemoteAgentctlURL: true,
MetadataKeySSHRuntimeAPILocalURL: true,
MetadataKeySSHRuntimeAPIRemotePort: true,
MetadataKeyKubernetesAuthMode: true,
MetadataKeyKubernetesKubeconfigPath: true,
MetadataKeyKubernetesKubeContext: true,
MetadataKeyKubernetesConfigNamespace: true,
MetadataKeyKubernetesRequestTimeoutSeconds: true,
MetadataKeyKubernetesNamespace: true,
MetadataKeyKubernetesPodName: true,
MetadataKeyKubernetesPodUID: true,
MetadataKeyKubernetesMainContainer: true,
MetadataKeyKubernetesPlatform: true,
MetadataKeyKubernetesRuntimeWorkspaceMode: true,
MetadataKeyKubernetesPVCName: true,
MetadataKeyKubernetesPVCUID: true,
MetadataKeyKubernetesPVCCreated: true,
MetadataKeyKubernetesAgentctlRemotePort: true,
MetadataKeyKubernetesAgentctlInstanceID: true,
MetadataKeyKubernetesContainerRestartCount: true,
MetadataKeyKubernetesResourceInstanceID: true,
MetadataKeyKubernetesResourceExecutorID: true,
MetadataKeyKubernetesResourceProfileID: true,
MetadataKeyKubernetesResourceTaskID: true,
MetadataKeyKubernetesResourceSessionID: true,
MetadataKeyKubernetesResourceEnvironmentID: true,
MetadataKeyKubernetesExecutorConfigHash: true,
MetadataKeyKubernetesProfileConfigHash: true,
MetadataKeyKubernetesTemplateHash: true,
MetadataKeyKubernetesProfileSnapshot: true,
MetadataKeyKubernetesInventoryState: true,
MetadataKeySSHRemoteSessionDir: true,
MetadataKeySSHRemoteAgentctlPort: true,
MetadataKeySSHRemoteAgentctlPID: true,
MetadataKeySSHAgentctlInstanceID: true,
MetadataKeySSHLocalForwardPort: true,
MetadataKeySSHRemoteAgentctlURL: true,
MetadataKeySSHRuntimeAPILocalURL: true,
MetadataKeySSHRuntimeAPIRemotePort: true,
MetadataKeyKubernetesAuthMode: true,
MetadataKeyKubernetesKubeconfigPath: true,
MetadataKeyKubernetesKubeContext: true,
MetadataKeyKubernetesConfigNamespace: true,
MetadataKeyKubernetesRequestTimeoutSeconds: true,
MetadataKeyKubernetesNamespace: true,
MetadataKeyKubernetesPodName: true,
MetadataKeyKubernetesPodUID: true,
MetadataKeyKubernetesMainContainer: true,
MetadataKeyKubernetesPlatform: true,
MetadataKeyKubernetesRuntimeWorkspaceMode: true,
MetadataKeyKubernetesPVCName: true,
MetadataKeyKubernetesPVCUID: true,
MetadataKeyKubernetesPVCCreated: true,
MetadataKeyKubernetesAgentctlRemotePort: true,
MetadataKeyKubernetesAgentctlInstanceID: true,
MetadataKeyKubernetesContainerRestartCount: true,
metadataKubernetesTaskOwned: true,
agentkubernetes.MetadataKeyOwnershipVersion: true,
MetadataKeyKubernetesResourceInstanceID: true,
MetadataKeyKubernetesResourceExecutorID: true,
MetadataKeyKubernetesResourceProfileID: true,
MetadataKeyKubernetesResourceTaskID: true,
MetadataKeyKubernetesResourceSessionID: true,
MetadataKeyKubernetesResourceEnvironmentID: true,
MetadataKeyKubernetesExecutorConfigHash: true,
MetadataKeyKubernetesProfileConfigHash: true,
MetadataKeyKubernetesTemplateHash: true,
MetadataKeyKubernetesProfileSnapshot: true,
MetadataKeyKubernetesInventoryState: true,
}
// ShouldPersistMetadataKey returns true if the given metadata key should