SecretSync Enterprise
It provides semantics to sync Kuberentes Secrets from management cluster to leaf clusters.
apiVersion: capi.weave.works/v1alpha1
kind: SecretSync
metadata:
  name: my-dev-secret-syncer
  namespace: default
spec:
  clusterSelector:
    matchLabels:
      environment: dev
  secretRef:
    name: my-dev-secret
  targetNamespace: my-namespace
Specification
The documentation for the api version capi.weave.works/v1alpha1
type SecretSync struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`
    Spec              SecretSyncSpec   `json:"spec,omitempty"`
    Status            SecretSyncStatus `json:"status,omitempty"`
}
// SecretSyncSpec
type SecretSyncSpec struct {
    // Label selector for Clusters. The Clusters that are
    // selected by this will be the ones affected by this SecretSync.
    // It must match the Cluster labels. This field is immutable.
    // Label selector cannot be empty.
    ClusterSelector metav1.LabelSelector `json:"clusterSelector"`
    // SecretRef specifies the Secret to be bootstrapped to the matched clusters
    // Secret must be in the same namespace of the SecretSync object
    SecretRef v1.LocalObjectReference `json:"secretRef"`
    // TargetNamespace specifies the namespace which the secret should be bootstrapped in
    // The default value is the namespace of the referenced secret
    //+optional
    TargetNamespace string `json:"targetNamespace,omitempty"`
}
// SecretSyncStatus secretsync object status
type SecretSyncStatus struct {
    // SecretVersions a map contains the ResourceVersion of the secret of each cluster
    // Cluster name is the key and secret's ResourceVersion is the value
    SecretVersions map[string]string `json:"versions"`
}