diff --git a/manage/00-namespace.yaml b/manage/00-namespace.yaml new file mode 100644 index 0000000..68801c7 --- /dev/null +++ b/manage/00-namespace.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: mca-hub +spec: + finalizers: + - kubernetes diff --git a/manage/10-channel.yaml b/manage/10-channel.yaml new file mode 100644 index 0000000..e00e824 --- /dev/null +++ b/manage/10-channel.yaml @@ -0,0 +1,8 @@ +apiVersion: apps.open-cluster-management.io/v1 +kind: Channel +metadata: + name: multi-cluster-app + namespace: mca-hub +spec: + type: Git + pathname: 'https://github.com/nmasse-itix/multi-cluster-app.git' diff --git a/manage/20-placement-rules.yaml b/manage/20-placement-rules.yaml new file mode 100644 index 0000000..6b5fa81 --- /dev/null +++ b/manage/20-placement-rules.yaml @@ -0,0 +1,25 @@ +apiVersion: apps.open-cluster-management.io/v1 +kind: PlacementRule +metadata: + labels: + app: mca-dc1 + name: mca-dc1 + namespace: mca-hub +spec: + clusterSelector: + matchLabels: + environment: prod + availability-zone: dc1 +--- +apiVersion: apps.open-cluster-management.io/v1 +kind: PlacementRule +metadata: + labels: + app: mca-dc2 + name: mca-dc2 + namespace: mca-hub +spec: + clusterSelector: + matchLabels: + environment: prod + availability-zone: dc2 diff --git a/manage/30-subscriptions.yaml b/manage/30-subscriptions.yaml new file mode 100644 index 0000000..f51b42a --- /dev/null +++ b/manage/30-subscriptions.yaml @@ -0,0 +1,35 @@ +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: deploy/overlays/prod-dc1 + apps.open-cluster-management.io/reconcile-option: merge + labels: + app: mca-dc1 + name: mca-dc1 + namespace: mca-hub +spec: + channel: mca-hub/multi-cluster-app + placement: + placementRef: + kind: PlacementRule + name: mca-dc1 +--- +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: deploy/overlays/prod-dc2 + apps.open-cluster-management.io/reconcile-option: merge + labels: + app: mca-dc2 + name: mca-dc2 + namespace: mca-hub +spec: + channel: mca-hub/multi-cluster-app + placement: + placementRef: + kind: PlacementRule + name: mca-dc2 diff --git a/manage/40-application.yaml b/manage/40-application.yaml new file mode 100644 index 0000000..3201529 --- /dev/null +++ b/manage/40-application.yaml @@ -0,0 +1,17 @@ +apiVersion: app.k8s.io/v1beta1 +kind: Application +metadata: + name: mca + namespace: mca-hub +spec: + componentKinds: + - group: apps.open-cluster-management.io + kind: Subscription + descriptor: {} + selector: + matchExpressions: + - key: app + operator: In + values: + - mca-dc1 + - mca-dc2