apiVersion: v1 kind: Namespace metadata: name: policy-generator-blog --- apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: policy-generator-blog namespace: policy-generator-blog spec: componentKinds: - group: apps.open-cluster-management.io kind: Subscription descriptor: {} selector: matchExpressions: - key: app operator: In values: - policy-generator-blog --- apiVersion: apps.open-cluster-management.io/v1 kind: Channel metadata: annotations: apps.open-cluster-management.io/reconcile-rate: high name: policy-generator-blog namespace: policy-generator-blog spec: type: Git pathname: https://github.com/open-cluster-management/grc-policy-generator-blog.git --- apiVersion: apps.open-cluster-management.io/v1 kind: Subscription metadata: annotations: apps.open-cluster-management.io/git-branch: main apps.open-cluster-management.io/git-path: kustomize apps.open-cluster-management.io/reconcile-option: merge labels: app: policy-generator-blog name: policy-generator-blog-subscription namespace: policy-generator-blog spec: allow: - apiVersion: policy.open-cluster-management.io/v1 kinds: - "*" - apiVersion: apps.open-cluster-management.io/v1 kinds: - PlacementRule channel: policy-generator-blog/policy-generator-blog placement: placementRef: kind: PlacementRule name: policy-generator-blog-placement --- apiVersion: apps.open-cluster-management.io/v1 kind: PlacementRule metadata: labels: app: policy-generator-blog name: policy-generator-blog-placement namespace: policy-generator-blog spec: clusterConditions: - status: "True" type: ManagedClusterConditionAvailable clusterSelector: matchExpressions: - key: local-cluster operator: In values: - "true"