feat: add cluster context support in Compose with x-context extension

This commit is contained in:
Pasha Sviderski
2026-03-13 18:37:36 +10:00
parent 8ae38cfd57
commit 1525d182b5
8 changed files with 121 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
package compose
import (
"github.com/compose-spec/compose-go/v2/types"
)
// ContextExtensionKey is the top-level Compose extension key for specifying the cluster context.
const ContextExtensionKey = "x-context"
// ClusterContext extracts the x-context value from the project's top-level extensions.
// Returns an empty string if x-context is not set.
func ClusterContext(project *types.Project) string {
v, ok := project.Extensions[ContextExtensionKey]
if !ok {
return ""
}
s, ok := v.(string)
if !ok {
return ""
}
return s
}