diff --git a/src/utils/fed.templates.js b/src/utils/fed.templates.js index 2d3267a57c6..d7f415e5c11 100644 --- a/src/utils/fed.templates.js +++ b/src/utils/fed.templates.js @@ -22,6 +22,7 @@ const getNamespaceTemplate = data => { const name = get(data, 'metadata.name') const annotations = get(data, 'metadata.annotations') const placement = get(data, 'spec.placement') + const clusters = get(data, 'spec.placement.clusters', []) const workspace = get(data, 'metadata.labels["kubesphere.io/workspace"]') @@ -32,6 +33,11 @@ const getNamespaceTemplate = data => { unset(template, 'metadata.annotations') unset(template, 'spec') + const overrides = clusters.map(cluster => ({ + clusterName: cluster.name, + clusterOverrides: [{ path: '/metadata/annotations', value: annotations }], + })) + return { apiVersion: 'types.kubefed.io/v1beta1', kind: 'FederatedNamespace', @@ -43,7 +49,7 @@ const getNamespaceTemplate = data => { }, annotations, }, - spec: { placement, template }, + spec: { placement, template, overrides }, } }