Merge "Add note to Jenkins setup about Git plugin"
authorKuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Mon, 14 Mar 2022 04:47:02 +0000 (04:47 +0000)
committerGerrit Code Review <gerrit@akraino.org>
Mon, 14 Mar 2022 04:47:02 +0000 (04:47 +0000)
124 files changed:
Vagrantfile
deploy/cluster/cluster.sh
deploy/cluster/templates/flux-addon.yaml
deploy/istio/.helmignore [new file with mode: 0644]
deploy/istio/Chart.yaml [new file with mode: 0644]
deploy/istio/istio.sh [new file with mode: 0755]
deploy/istio/templates/istio-operator.yaml [new file with mode: 0644]
deploy/istio/values.yaml [new file with mode: 0644]
deploy/site/cluster-addons/.sops.yaml [moved from deploy/site/cluster-icn/.sops.yaml with 100% similarity]
deploy/site/cluster-addons/cdi-operator.yaml [moved from deploy/site/cluster-icn/cdi-operator.yaml with 100% similarity]
deploy/site/cluster-addons/cdi.yaml [moved from deploy/site/cluster-icn/cdi.yaml with 100% similarity]
deploy/site/cluster-addons/cert-manager.yaml [moved from deploy/site/cluster-icn/cert-manager.yaml with 100% similarity]
deploy/site/cluster-addons/cpu-manager.yaml [moved from deploy/site/cluster-icn/cpu-manager.yaml with 100% similarity]
deploy/site/cluster-addons/flux-system/gotk-components.yaml [moved from deploy/site/cluster-icn/flux-system/gotk-components.yaml with 97% similarity]
deploy/site/cluster-addons/flux-system/kustomization.yaml [moved from deploy/site/cluster-icn/flux-system/kustomization.yaml with 96% similarity]
deploy/site/cluster-addons/flux-system/run-as-user-patch.json [moved from deploy/site/cluster-icn/flux-system/run-as-user-patch.json with 100% similarity]
deploy/site/cluster-addons/iavf-driver-installer.yaml [moved from deploy/site/cluster-icn/iavf-driver-installer.yaml with 100% similarity]
deploy/site/cluster-addons/istio-namespace.yaml [new file with mode: 0644]
deploy/site/cluster-addons/istio-operator.yaml [new file with mode: 0644]
deploy/site/cluster-addons/istio-source.yaml [new file with mode: 0644]
deploy/site/cluster-addons/kata.yaml [moved from deploy/site/cluster-icn/kata.yaml with 100% similarity]
deploy/site/cluster-addons/kubevirt-operator.yaml [moved from deploy/site/cluster-icn/kubevirt-operator.yaml with 100% similarity]
deploy/site/cluster-addons/kubevirt.yaml [moved from deploy/site/cluster-icn/kubevirt.yaml with 100% similarity]
deploy/site/cluster-addons/kud-namespace.yaml [moved from deploy/site/cluster-icn/kud-namespace.yaml with 100% similarity]
deploy/site/cluster-addons/kud-podsecurity.yaml [moved from deploy/site/cluster-icn/kud-podsecurity.yaml with 100% similarity]
deploy/site/cluster-addons/multus-cni.yaml [moved from deploy/site/cluster-icn/multus-cni.yaml with 100% similarity]
deploy/site/cluster-addons/node-feature-discovery.yaml [moved from deploy/site/cluster-icn/node-feature-discovery.yaml with 100% similarity]
deploy/site/cluster-addons/nodus-network.yaml [moved from deploy/site/cluster-icn/nodus-network.yaml with 100% similarity]
deploy/site/cluster-addons/nodus.yaml [moved from deploy/site/cluster-icn/nodus.yaml with 100% similarity]
deploy/site/cluster-addons/qat-driver-installer.yaml [moved from deploy/site/cluster-icn/qat-driver-installer.yaml with 100% similarity]
deploy/site/cluster-addons/qat-plugin.yaml [moved from deploy/site/cluster-icn/qat-plugin.yaml with 100% similarity]
deploy/site/cluster-addons/sops.pub.asc [moved from deploy/site/cluster-icn/sops.pub.asc with 100% similarity]
deploy/site/cluster-addons/sriov-network-operator.yaml [moved from deploy/site/cluster-icn/sriov-network-operator.yaml with 100% similarity]
deploy/site/cluster-addons/sriov-network.yaml [moved from deploy/site/cluster-icn/sriov-network.yaml with 100% similarity]
deploy/site/cluster-emco-compute/emco-monitor.yaml [moved from deploy/site/cluster-icn/emco-monitor.yaml with 100% similarity]
deploy/site/cluster-emco-compute/emco-namespace.yaml [moved from deploy/site/cluster-icn/emco-namespace.yaml with 100% similarity]
deploy/site/cluster-emco-compute/emco-source.yaml [moved from deploy/site/cluster-icn/emco-source.yaml with 100% similarity]
deploy/site/cluster-emco-management/emco-db.yaml [moved from deploy/site/cluster-icn/emco-db.yaml with 100% similarity]
deploy/site/cluster-emco-management/emco-namespace.yaml [new file with mode: 0644]
deploy/site/cluster-emco-management/emco-podsecurity.yaml [moved from deploy/site/cluster-icn/emco-podsecurity.yaml with 100% similarity]
deploy/site/cluster-emco-management/emco-services.yaml [moved from deploy/site/cluster-icn/emco-services.yaml with 100% similarity]
deploy/site/cluster-emco-management/emco-source.yaml [new file with mode: 0644]
deploy/site/cluster-emco-management/emco-tools.yaml [moved from deploy/site/cluster-icn/emco-tools.yaml with 100% similarity]
deploy/site/cluster-icn/addons.yaml [new file with mode: 0644]
deploy/site/cluster-icn/emco-compute.yaml [new file with mode: 0644]
deploy/site/cluster-icn/emco-management.yaml [new file with mode: 0644]
deploy/site/cluster-icn/gotk-sync.yaml [moved from deploy/site/cluster-icn/flux-system/gotk-sync.yaml with 80% similarity]
deploy/site/common.sh
deploy/site/pod11/.sops.yaml
deploy/site/pod11/cluster/icn/addons.yaml [new file with mode: 0644]
deploy/site/pod11/cluster/icn/emco-compute.yaml [new file with mode: 0644]
deploy/site/pod11/cluster/icn/emco-management.yaml [new file with mode: 0644]
deploy/site/pod11/cluster/icn/gotk-sync.yaml [new file with mode: 0644]
deploy/site/pod11/cluster/icn/istio-cacerts.yaml [new file with mode: 0644]
deploy/site/pod11/cluster/icn/istio-namespace.yaml [new file with mode: 0644]
deploy/site/pod11/cluster/icn/istio.yaml [new file with mode: 0644]
deploy/site/pod11/deployment/site.yaml [new file with mode: 0644]
deploy/site/pod11/pod11.sh
deploy/site/pod11/site.yaml [deleted file]
deploy/site/secrets/certs/pod11/icn/ca-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/pod11/icn/ca-key.pem [new file with mode: 0644]
deploy/site/secrets/certs/pod11/icn/cert-chain.pem [new file with mode: 0644]
deploy/site/secrets/certs/pod11/icn/root-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/root-ca.conf [new file with mode: 0644]
deploy/site/secrets/certs/root-cert.csr [new file with mode: 0644]
deploy/site/secrets/certs/root-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/root-cert.srl [new file with mode: 0644]
deploy/site/secrets/certs/root-key.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/compute/ca-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/compute/ca-key.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/compute/cert-chain.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/compute/root-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/management/ca-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/management/ca-key.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/management/cert-chain.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm-mc/management/root-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm/icn/ca-cert.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm/icn/ca-key.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm/icn/cert-chain.pem [new file with mode: 0644]
deploy/site/secrets/certs/vm/icn/root-cert.pem [new file with mode: 0644]
deploy/site/site.sh
deploy/site/vm-mc/.sops.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/compute/addons.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/compute/emco-compute.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/compute/gotk-sync.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/compute/istio-cacerts.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/compute/istio-namespace.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/compute/istio.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/management/addons.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/management/emco-management.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/management/gotk-sync.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/management/istio-cacerts.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/management/istio-namespace.yaml [new file with mode: 0644]
deploy/site/vm-mc/cluster/management/istio.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/cluster-compute.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/cluster-management.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/icn-source.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/machine-1.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/machine-2.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/machine-3.yaml [new file with mode: 0644]
deploy/site/vm-mc/deployment/machine-4.yaml [new file with mode: 0644]
deploy/site/vm-mc/id_rsa [new file with mode: 0644]
deploy/site/vm-mc/id_rsa.pub [new file with mode: 0644]
deploy/site/vm-mc/sops.pub.asc [new file with mode: 0644]
deploy/site/vm-mc/vm-mc.sh [new file with mode: 0755]
deploy/site/vm/.sops.yaml
deploy/site/vm/cluster/icn/addons.yaml [new file with mode: 0644]
deploy/site/vm/cluster/icn/emco-compute.yaml [new file with mode: 0644]
deploy/site/vm/cluster/icn/emco-management.yaml [new file with mode: 0644]
deploy/site/vm/cluster/icn/gotk-sync.yaml [new file with mode: 0644]
deploy/site/vm/cluster/icn/istio-cacerts.yaml [new file with mode: 0644]
deploy/site/vm/cluster/icn/istio-namespace.yaml [new file with mode: 0644]
deploy/site/vm/cluster/icn/istio.yaml [new file with mode: 0644]
deploy/site/vm/deployment/site.yaml [new file with mode: 0644]
deploy/site/vm/id_rsa
deploy/site/vm/id_rsa.pub
deploy/site/vm/site.yaml [deleted file]
deploy/site/vm/vm.sh
doc/software-bom.md
env/lib/common.sh
tools/software-bom.sh
tools/vagrant/destroy.rb
tools/vagrant/start_sushy.sh
tools/vagrant/stop_sushy.sh

index 00aec4b..ea8593d 100644 (file)
@@ -18,7 +18,7 @@ with_jenkins = ENV['WITH_JENKINS'] || false
 # virtual environment is emulated by virtualbmc listening on the host.
 baremetal_cidr = nil
 registry_mirrors = nil
-Dir.glob("deploy/site/#{site}/*.yaml") do |file|
+Dir.glob("deploy/site/#{site}/deployment/*.yaml") do |file|
   YAML.load_stream(File.read(file)) do |document|
     values = document.fetch('spec', {}).fetch('values', {})
     unless values['bmcAddress'].nil?
@@ -133,7 +133,7 @@ Vagrant.configure("2") do |config|
   # the values dictionary.  This will provide the values needed to
   # create the machine pool.
   legacy_machine_args = ""
-  Dir.glob("deploy/site/#{site}/*.yaml") do |file|
+  Dir.glob("deploy/site/#{site}/deployment/*.yaml") do |file|
     YAML.load_stream(File.read(file)) do |document|
       values = document.fetch('spec', {}).fetch('values', {})
       next if values['machineName'].nil? || values['bootMACAddress'].nil?
index 397fc80..101e7bd 100755 (executable)
@@ -20,7 +20,12 @@ EOF
 }
 
 function build_source_flux {
-    flux install --export >${SCRIPTDIR}/addons/flux-system.yaml
+    # NOTE: This reaches outside this directory to
+    # deploy/site/cluster-addons/flux-system.  This is to ensure that
+    # the day-0 config of a cluster using deploy/site/cluster-addons
+    # is in sync with the chart.
+    flux install --export >${SCRIPTDIR}/../site/cluster-addons/flux-system/gotk-components.yaml
+    kustomize build ${SCRIPTDIR}/../site/cluster-addons/flux-system >${SCRIPTDIR}/addons/flux-system.yaml
     cat <<EOF >>${SCRIPTDIR}/addons/flux-system.yaml
 ---
 apiVersion: rbac.authorization.k8s.io/v1
index 83a420f..e3b1f59 100644 (file)
@@ -3,10 +3,6 @@
 apiVersion: v1
 data:
   flux-system.yaml: |
-    ---
-    # This manifest was generated by flux. DO NOT EDIT.
-    # Flux Version: v0.27.0
-    # Components: source-controller,kustomize-controller,helm-controller,notification-controller
     apiVersion: v1
     kind: Namespace
     metadata:
@@ -4014,6 +4010,7 @@ data:
                 - ALL
               readOnlyRootFilesystem: true
               runAsNonRoot: true
+              runAsUser: 65534
               seccompProfile:
                 type: RuntimeDefault
             volumeMounts:
@@ -4094,6 +4091,7 @@ data:
                 - ALL
               readOnlyRootFilesystem: true
               runAsNonRoot: true
+              runAsUser: 65534
               seccompProfile:
                 type: RuntimeDefault
             volumeMounts:
@@ -4181,6 +4179,7 @@ data:
                 - ALL
               readOnlyRootFilesystem: true
               runAsNonRoot: true
+              runAsUser: 65534
               seccompProfile:
                 type: RuntimeDefault
             volumeMounts:
@@ -4268,6 +4267,7 @@ data:
                 - ALL
               readOnlyRootFilesystem: true
               runAsNonRoot: true
+              runAsUser: 65534
               seccompProfile:
                 type: RuntimeDefault
             volumeMounts:
diff --git a/deploy/istio/.helmignore b/deploy/istio/.helmignore
new file mode 100644 (file)
index 0000000..81285a6
--- /dev/null
@@ -0,0 +1,24 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+istio.sh
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/deploy/istio/Chart.yaml b/deploy/istio/Chart.yaml
new file mode 100644 (file)
index 0000000..1b2ab8e
--- /dev/null
@@ -0,0 +1,5 @@
+# A simple chart to deploy Istio using the Istio operator.
+apiVersion: v2
+name: istio
+type: application
+version: 0.1.1
diff --git a/deploy/istio/istio.sh b/deploy/istio/istio.sh
new file mode 100755 (executable)
index 0000000..c0376e7
--- /dev/null
@@ -0,0 +1,223 @@
+#!/usr/bin/env bash
+set -eEux -o pipefail
+
+SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
+LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
+
+source $LIBDIR/common.sh
+
+BUILDDIR=${SCRIPTDIR/deploy/build}
+mkdir -p ${BUILDDIR}
+
+function test_setup {
+    clone_istio_repository
+
+    # Create a temporary kubeconfig file for the tests
+    cluster_name=${CLUSTER_1_NAME:-management}
+    local -r cluster_1_kubeconfig="${BUILDDIR}/${cluster_name}.conf"
+    clusterctl -n metal3 get kubeconfig ${cluster_name} >${cluster_1_kubeconfig}
+    cluster_name=${CLUSTER_2_NAME:-compute}
+    local -r cluster_2_kubeconfig="${BUILDDIR}/${cluster_name}.conf"
+    clusterctl -n metal3 get kubeconfig ${cluster_name} >${cluster_2_kubeconfig}
+
+    # Deploy sleep on cluster-1
+    kubectl --kubeconfig=${cluster_1_kubeconfig}  create namespace foo
+    kubectl --kubeconfig=${cluster_1_kubeconfig} label namespace foo istio-injection=enabled
+    cat <<EOF | kubectl --kubeconfig=${cluster_1_kubeconfig} apply -f -
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: psp:privileged-foo
+  namespace: foo
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: psp:privileged
+subjects:
+- kind: Group
+  name: system:serviceaccounts:foo
+  apiGroup: rbac.authorization.k8s.io
+EOF
+    kubectl --kubeconfig=${cluster_1_kubeconfig} apply -n foo -f ${ISTIOPATH}/samples/sleep/sleep.yaml --wait
+
+    # Deploy httpbin on cluster-2
+    kubectl --kubeconfig=${cluster_2_kubeconfig} create namespace bar
+    kubectl --kubeconfig=${cluster_2_kubeconfig} label namespace bar istio-injection=enabled
+    cat <<EOF | kubectl --kubeconfig=${cluster_2_kubeconfig} apply -f -
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: psp:privileged-bar
+  namespace: bar
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: psp:privileged
+subjects:
+- kind: Group
+  name: system:serviceaccounts:bar
+  apiGroup: rbac.authorization.k8s.io
+EOF
+    kubectl --kubeconfig=${cluster_2_kubeconfig} apply -n bar -f ${ISTIOPATH}/samples/httpbin/httpbin.yaml --wait
+
+    # Create service entry for httpbin on cluster-1
+    cat <<EOF | kubectl --kubeconfig=${cluster_1_kubeconfig} apply -f -
+apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: httpbin-bar
+  namespace: foo
+spec:
+  hosts:
+  # DNS name selected for the service
+  - httpbin.bar.cluster2
+  # Treat remote cluster services as part of the service mesh
+  # as all clusters in the service mesh share the same root of trust.
+  location: MESH_INTERNAL
+  ports:
+  - name: tcp
+    number: 8000
+    protocol: TCP
+  resolution: DNS
+  addresses:
+  # the IP address to which httpbin.bar.cluster2 will resolve to
+  # must be unique for each remote service, within a given cluster.
+  # This address need not be routable. Traffic for this IP will be captured
+  # by the sidecar and routed appropriately.
+  - 240.0.0.2
+  endpoints:
+  # This is the routable address of the ingress gateway in cluster2 that
+  # sits in front of sleep.foo service. Traffic from the sidecar will be
+  # routed to this address.
+  - address: $(kubectl --kubeconfig=${cluster_2_kubeconfig} config view | awk -F[/:] '/server/ {print $5}')
+    ports:
+      tcp: 32001 # Nodeport for istio-ingressgateway for port 15433
+EOF
+
+    # Create DestinationRule for httpbin on cluster-1
+    cat <<EOF | kubectl --kubeconfig=${cluster_1_kubeconfig} apply -f -
+apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+  name: httpbin-dr
+  namespace: foo
+spec:
+  host: httpbin.bar.cluster2
+  trafficPolicy:
+    tls:
+      mode: ISTIO_MUTUAL
+EOF
+
+    # Create Gateway resource on cluster-2
+    cat <<EOF | kubectl --kubeconfig=${cluster_2_kubeconfig} apply -f -
+apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: httpbin-gateway
+  namespace: istio-system
+spec:
+  selector:
+    istio: ingressgateway
+  servers:
+    - port:
+        number: 15443
+        name: tls
+        protocol: TLS
+      tls:
+        mode: AUTO_PASSTHROUGH
+      hosts:
+        - "httpbin.bar.cluster2"
+EOF
+
+    # Create ServiceEntry on cluster-2 that is required to map the
+    # remote fqdn to local fqdn
+    cat <<EOF | kubectl --kubeconfig=${cluster_2_kubeconfig} apply -f -
+apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+  name: httpbin-remote
+  namespace: istio-system # must be in same namespace as gateway
+spec:
+  resolution: DNS
+  location: MESH_INTERNAL
+  ports:
+  - name: tcp
+    number: 8000
+    protocol: TCP
+  exportTo:
+  - .
+  hosts:
+  - "httpbin.bar.cluster2"
+  endpoints:
+  - address: httpbin.bar.svc.cluster.local
+EOF
+
+    # Create DestinationRule and Virtual Service on cluster-2
+    cat <<EOF | kubectl --kubeconfig=${cluster_2_kubeconfig} apply -f -
+apiVersion: networking.istio.io/v1beta1
+kind: DestinationRule
+metadata:
+  name: httpbin-dr
+  namespace: istio-system
+spec:
+  host: "httpbin.bar.cluster2"
+  trafficPolicy:
+    tls:
+      mode: ISTIO_MUTUAL
+EOF
+}
+
+function httpbin_accessible_from_sleep_service {
+    cluster_name=${CLUSTER_1_NAME:-management}
+    local -r cluster_1_kubeconfig="${BUILDDIR}/${cluster_name}.conf"
+    local -r sleep_pod=$(kubectl --kubeconfig=${cluster_1_kubeconfig} get -n foo pod -l app=sleep -o jsonpath={.items..metadata.name})
+    kubectl --kubeconfig=${cluster_1_kubeconfig} exec ${sleep_pod} -n foo -c sleep -- curl -I httpbin.bar.cluster2:8000/headers
+}
+
+function test_teardown {
+    cluster_name=${CLUSTER_1_NAME:-management}
+    local -r cluster_1_kubeconfig="${BUILDDIR}/${cluster_name}.conf"
+    cluster_name=${CLUSTER_2_NAME:-compute}
+    local -r cluster_2_kubeconfig="${BUILDDIR}/${cluster_name}.conf"
+
+    kubectl --kubeconfig=${cluster_2_kubeconfig} -n istio-system delete DestinationRule httpbin-dr --ignore-not-found
+    kubectl --kubeconfig=${cluster_2_kubeconfig} -n istio-system delete ServiceEntry httpbin-remote --ignore-not-found
+    kubectl --kubeconfig=${cluster_2_kubeconfig} -n istio-system delete Gateway httpbin-gateway --ignore-not-found
+
+    kubectl --kubeconfig=${cluster_1_kubeconfig} -n foo delete DestinationRule httpbin-dr --ignore-not-found
+    kubectl --kubeconfig=${cluster_1_kubeconfig} -n foo delete ServiceEntry httpbin-bar --ignore-not-found
+
+    kubectl --kubeconfig=${cluster_2_kubeconfig} -n bar delete -f ${ISTIOPATH}/samples/httpbin/httpbin.yaml --ignore-not-found
+    kubectl --kubeconfig=${cluster_2_kubeconfig} -n bar delete RoleBinding psp:privileged-bar --ignore-not-found
+    kubectl --kubeconfig=${cluster_2_kubeconfig} delete namespace bar --ignore-not-found
+
+    kubectl --kubeconfig=${cluster_1_kubeconfig} -n foo delete -f ${ISTIOPATH}/samples/sleep/sleep.yaml --ignore-not-found
+    kubectl --kubeconfig=${cluster_1_kubeconfig} -n foo delete RoleBinding psp:privileged-foo --ignore-not-found
+    kubectl --kubeconfig=${cluster_1_kubeconfig} delete namespace foo --ignore-not-found
+}
+
+function test_istio {
+    test_setup
+
+    WAIT_FOR_INTERVAL=10s
+    WAIT_FOR_TRIES=6
+    wait_for httpbin_accessible_from_sleep_service
+
+    test_teardown
+}
+
+case $1 in
+    "test") test_istio ;;
+    *) cat <<EOF
+Usage: $(basename $0) COMMAND
+
+The "test" command looks for the CLUSTER_1_NAME and CLUSTER_2_NAME
+variables in the environment (default: "management" and "compute").
+This should be the name of the Cluster resources to execute the tests
+in.
+
+Commands:
+  test          - Test Istio
+EOF
+       ;;
+esac
diff --git a/deploy/istio/templates/istio-operator.yaml b/deploy/istio/templates/istio-operator.yaml
new file mode 100644 (file)
index 0000000..c55304d
--- /dev/null
@@ -0,0 +1,40 @@
+apiVersion: install.istio.io/v1alpha1
+kind: IstioOperator
+metadata:
+  name: {{ .Release.Name }}-config
+spec:
+  profile: minimal
+  meshConfig:
+    accessLogFile: /dev/stdout
+    enableAutoMtls: true
+    defaultConfig:
+      proxyMetadata:
+        # Enable Istio agent to handle DNS
+        ISTIO_META_DNS_CAPTURE: "true"
+  components:
+    # Enable Istio Ingress gateway
+    ingressGateways:
+    - name: istio-ingressgateway
+      enabled: true
+      k8s:
+        env:
+          - name: ISTIO_META_ROUTER_MODE
+            value: "sni-dnat"
+        service:
+          type: NodePort
+          ports:
+            - port: 80
+              targetPort: 8080
+              name: http2
+              nodePort: 32003
+            - port: 443
+              targetPort: 8443
+              name: https
+              nodePort: 32002
+            - port: 15443
+              targetPort: 15443
+              name: tls
+              nodePort: 32001
+  values:
+    global:
+      pilotCertProvider: istiod
diff --git a/deploy/istio/values.yaml b/deploy/istio/values.yaml
new file mode 100644 (file)
index 0000000..e69de29
@@ -1,6 +1,6 @@
 ---
 # This manifest was generated by flux. DO NOT EDIT.
-# Flux Version: v0.25.3
+# Flux Version: v0.27.0
 # Components: source-controller,kustomize-controller,helm-controller,notification-controller
 apiVersion: v1
 kind: Namespace
@@ -8,7 +8,9 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
+    pod-security.kubernetes.io/warn: restricted
+    pod-security.kubernetes.io/warn-version: latest
   name: flux-system
 ---
 apiVersion: apiextensions.k8s.io/v1
@@ -20,7 +22,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: alerts.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -92,6 +94,15 @@ spec:
                       - ImagePolicy
                       - ImageUpdateAutomation
                       type: string
+                    matchLabels:
+                      additionalProperties:
+                        type: string
+                      description: MatchLabels is a map of {key,value} pairs. A single
+                        {key,value} in the matchLabels map is equivalent to an element
+                        of matchExpressions, whose key field is "key", the operator
+                        is "In", and the values array contains only "value". The requirements
+                        are ANDed.
+                      type: object
                     name:
                       description: Name of the referent
                       maxLength: 53
@@ -227,12 +238,12 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.5.0
+    controller-gen.kubebuilder.io/version: v0.7.0
   creationTimestamp: null
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: buckets.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -348,8 +359,8 @@ spec:
                   of this source.
                 type: boolean
               timeout:
-                default: 20s
-                description: The timeout for download operations, defaults to 20s.
+                default: 60s
+                description: The timeout for download operations, defaults to 60s.
                 type: string
             required:
             - bucketName
@@ -487,12 +498,12 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.5.0
+    controller-gen.kubebuilder.io/version: v0.7.0
   creationTimestamp: null
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: gitrepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -650,9 +661,9 @@ spec:
                   of this source.
                 type: boolean
               timeout:
-                default: 20s
+                default: 60s
                 description: The timeout for remote Git operations like cloning, defaults
-                  to 20s.
+                  to 60s.
                 type: string
               url:
                 description: The repository URL, can be a HTTP/S or SSH address.
@@ -846,12 +857,12 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.5.0
+    controller-gen.kubebuilder.io/version: v0.7.0
   creationTimestamp: null
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: helmcharts.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -1135,7 +1146,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: helmreleases.helm.toolkit.fluxcd.io
 spec:
   group: helm.toolkit.fluxcd.io
@@ -1627,6 +1638,10 @@ spec:
                     description: DisableHooks prevents hooks from running during the
                       Helm rollback action.
                     type: boolean
+                  disableWait:
+                    description: DisableWait disables waiting for all the resources
+                      to be deleted after a Helm uninstall is performed.
+                    type: boolean
                   keepHistory:
                     description: KeepHistory tells Helm to remove all associated resources
                       and mark the release as deleted, but retain the release history.
@@ -1908,12 +1923,12 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.5.0
+    controller-gen.kubebuilder.io/version: v0.7.0
   creationTimestamp: null
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: helmrepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -2160,7 +2175,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: kustomizations.kustomize.toolkit.fluxcd.io
 spec:
   group: kustomize.toolkit.fluxcd.io
@@ -3049,6 +3064,14 @@ spec:
                           maxLength: 253
                           minLength: 1
                           type: string
+                        optional:
+                          default: false
+                          description: Optional indicates whether the referenced resource
+                            must exist, or whether to tolerate its absence. If true
+                            and the referenced resource is absent, proceed as if the
+                            resource was present but empty, without any variables
+                            defined.
+                          type: boolean
                       required:
                       - kind
                       - name
@@ -3261,7 +3284,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: providers.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -3358,6 +3381,7 @@ spec:
                 - matrix
                 - opsgenie
                 - alertmanager
+                - grafana
                 type: string
               username:
                 description: Bot username for this provider
@@ -3465,7 +3489,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: receivers.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -3534,6 +3558,15 @@ spec:
                       - ImagePolicy
                       - ImageUpdateAutomation
                       type: string
+                    matchLabels:
+                      additionalProperties:
+                        type: string
+                      description: MatchLabels is a map of {key,value} pairs. A single
+                        {key,value} in the matchLabels map is equivalent to an element
+                        of matchExpressions, whose key field is "key", the operator
+                        is "In", and the values array contains only "value". The requirements
+                        are ANDed.
+                      type: object
                     name:
                       description: Name of the referent
                       maxLength: 53
@@ -3682,7 +3715,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: helm-controller
   namespace: flux-system
 ---
@@ -3692,7 +3725,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: kustomize-controller
   namespace: flux-system
 ---
@@ -3702,7 +3735,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: notification-controller
   namespace: flux-system
 ---
@@ -3712,7 +3745,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: source-controller
   namespace: flux-system
 ---
@@ -3722,7 +3755,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: crd-controller-flux-system
 rules:
 - apiGroups:
@@ -3803,7 +3836,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: cluster-reconciler-flux-system
 roleRef:
   apiGroup: rbac.authorization.k8s.io
@@ -3823,7 +3856,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: crd-controller-flux-system
 roleRef:
   apiGroup: rbac.authorization.k8s.io
@@ -3855,7 +3888,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: notification-controller
   namespace: flux-system
@@ -3875,7 +3908,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: source-controller
   namespace: flux-system
@@ -3895,7 +3928,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: webhook-receiver
   namespace: flux-system
@@ -3915,7 +3948,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: helm-controller
   namespace: flux-system
@@ -3944,7 +3977,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/helm-controller:v0.15.0
+        image: ghcr.io/fluxcd/helm-controller:v0.17.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -3954,6 +3987,7 @@ spec:
         ports:
         - containerPort: 8080
           name: http-prom
+          protocol: TCP
         - containerPort: 9440
           name: healthz
           protocol: TCP
@@ -3970,7 +4004,13 @@ spec:
             memory: 64Mi
         securityContext:
           allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
           readOnlyRootFilesystem: true
+          runAsNonRoot: true
+          seccompProfile:
+            type: RuntimeDefault
         volumeMounts:
         - mountPath: /tmp
           name: temp
@@ -3988,7 +4028,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: kustomize-controller
   namespace: flux-system
@@ -4017,7 +4057,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/kustomize-controller:v0.19.1
+        image: ghcr.io/fluxcd/kustomize-controller:v0.21.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -4027,6 +4067,7 @@ spec:
         ports:
         - containerPort: 8080
           name: http-prom
+          protocol: TCP
         - containerPort: 9440
           name: healthz
           protocol: TCP
@@ -4043,7 +4084,13 @@ spec:
             memory: 64Mi
         securityContext:
           allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
           readOnlyRootFilesystem: true
+          runAsNonRoot: true
+          seccompProfile:
+            type: RuntimeDefault
         volumeMounts:
         - mountPath: /tmp
           name: temp
@@ -4063,7 +4110,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: notification-controller
   namespace: flux-system
@@ -4091,7 +4138,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/notification-controller:v0.20.1
+        image: ghcr.io/fluxcd/notification-controller:v0.22.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -4101,10 +4148,13 @@ spec:
         ports:
         - containerPort: 9090
           name: http
+          protocol: TCP
         - containerPort: 9292
           name: http-webhook
+          protocol: TCP
         - containerPort: 8080
           name: http-prom
+          protocol: TCP
         - containerPort: 9440
           name: healthz
           protocol: TCP
@@ -4121,7 +4171,13 @@ spec:
             memory: 64Mi
         securityContext:
           allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
           readOnlyRootFilesystem: true
+          runAsNonRoot: true
+          seccompProfile:
+            type: RuntimeDefault
         volumeMounts:
         - mountPath: /tmp
           name: temp
@@ -4139,7 +4195,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
     control-plane: controller
   name: source-controller
   namespace: flux-system
@@ -4172,7 +4228,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/source-controller:v0.20.1
+        image: ghcr.io/fluxcd/source-controller:v0.21.2
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -4182,10 +4238,13 @@ spec:
         ports:
         - containerPort: 9090
           name: http
+          protocol: TCP
         - containerPort: 8080
           name: http-prom
+          protocol: TCP
         - containerPort: 9440
           name: healthz
+          protocol: TCP
         readinessProbe:
           httpGet:
             path: /
@@ -4199,7 +4258,13 @@ spec:
             memory: 64Mi
         securityContext:
           allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
           readOnlyRootFilesystem: true
+          runAsNonRoot: true
+          seccompProfile:
+            type: RuntimeDefault
         volumeMounts:
         - mountPath: /data
           name: data
@@ -4223,7 +4288,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: allow-egress
   namespace: flux-system
 spec:
@@ -4243,7 +4308,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: allow-scraping
   namespace: flux-system
 spec:
@@ -4263,7 +4328,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.25.3
+    app.kubernetes.io/version: v0.27.0
   name: allow-webhooks
   namespace: flux-system
 spec:
@@ -3,7 +3,6 @@ kind: Kustomization
 
 resources:
 - gotk-components.yaml
-- gotk-sync.yaml
 
 patchesJson6902:
 - path: run-as-user-patch.json
diff --git a/deploy/site/cluster-addons/istio-namespace.yaml b/deploy/site/cluster-addons/istio-namespace.yaml
new file mode 100644 (file)
index 0000000..60de14f
--- /dev/null
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: istio-system
diff --git a/deploy/site/cluster-addons/istio-operator.yaml b/deploy/site/cluster-addons/istio-operator.yaml
new file mode 100644 (file)
index 0000000..6c74bc1
--- /dev/null
@@ -0,0 +1,21 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: istio-operator
+  namespace: istio-system
+spec:
+  interval: 5m
+  chart:
+    spec:
+      chart: manifests/charts/istio-operator
+      sourceRef:
+        kind: GitRepository
+        name: istio
+      interval: 1m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
diff --git a/deploy/site/cluster-addons/istio-source.yaml b/deploy/site/cluster-addons/istio-source.yaml
new file mode 100644 (file)
index 0000000..5ce0336
--- /dev/null
@@ -0,0 +1,16 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: istio
+  namespace: istio-system
+spec:
+  interval: 1m
+  url: https://github.com/istio/istio.git
+  ref:
+    tag: 1.10.3
+  ignore: |
+    # exclude all
+    /*
+    # include charts directory
+    !/manifests/charts
diff --git a/deploy/site/cluster-emco-management/emco-namespace.yaml b/deploy/site/cluster-emco-management/emco-namespace.yaml
new file mode 100644 (file)
index 0000000..6b83b1c
--- /dev/null
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: emco
diff --git a/deploy/site/cluster-emco-management/emco-source.yaml b/deploy/site/cluster-emco-management/emco-source.yaml
new file mode 100644 (file)
index 0000000..f6652aa
--- /dev/null
@@ -0,0 +1,16 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: emco
+  namespace: emco
+spec:
+  interval: 1m
+  url: https://gitlab.com/project-emco/core/emco-base.git
+  ref:
+    tag: v21.12
+  ignore: |
+    # exclude all
+    /*
+    # include charts directory
+    !/deployments/helm
diff --git a/deploy/site/cluster-icn/addons.yaml b/deploy/site/cluster-icn/addons.yaml
new file mode 100644 (file)
index 0000000..170028a
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: addons
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-addons
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/cluster-icn/emco-compute.yaml b/deploy/site/cluster-icn/emco-compute.yaml
new file mode 100644 (file)
index 0000000..4b97d14
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-compute
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-emco-compute
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/cluster-icn/emco-management.yaml b/deploy/site/cluster-icn/emco-management.yaml
new file mode 100644 (file)
index 0000000..28866df
--- /dev/null
@@ -0,0 +1,19 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-management
+  namespace: flux-system
+spec:
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
+  interval: 5m
+  path: deploy/site/cluster-emco-management
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
similarity index 80%
rename from deploy/site/cluster-icn/flux-system/gotk-sync.yaml
rename to deploy/site/cluster-icn/gotk-sync.yaml
index 37287d3..35ae5b6 100644 (file)
@@ -19,8 +19,12 @@ metadata:
   namespace: flux-system
 spec:
   interval: 10m0s
-  path: ./deploy/site/cluster-icn
+  path: deploy/site/cluster-icn
   prune: true
   sourceRef:
     kind: GitRepository
     name: icn
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
index 0837570..ffd8103 100644 (file)
@@ -1,74 +1,71 @@
 #!/usr/bin/env bash
 set -eu -o pipefail
 
+FLUX_SOPS_KEY_NAME=${FLUX_SOPS_KEY_NAME:-"icn-site-vm"}
+FLUX_SOPS_PRIVATE_KEY="$(readlink -f $(dirname ${BASH_SOURCE[0]}))/secrets/sops.asc"
 SITE_NAMESPACE="${SITE_NAMESPACE:-metal3}"
 
 function _gpg_key_fp {
     gpg --with-colons --list-secret-keys $1 | awk -F: '/fpr/ {print $10;exit}'
 }
 
-function create_gpg_key {
-    local -r key_name=$1
-
-    # Create an rsa4096 key that does not expire
-    gpg --batch --full-generate-key <<EOF
-%no-protection
-Key-Type: 1
-Key-Length: 4096
-Subkey-Type: 1
-Subkey-Length: 4096
-Expire-Date: 0
-Name-Real: ${key_name}
-EOF
-}
-
-function export_gpg_private_key {
-    gpg --export-secret-keys --armor "$(_gpg_key_fp $1)"
-}
-
 function sops_encrypt {
     local -r yaml=$1
-    local -r key_name=$2
-
     local -r yaml_dir=$(dirname ${yaml})
+
+    local -r key_name=$2
     local -r key_fp=$(_gpg_key_fp ${key_name})
 
+    local site_dir=${yaml_dir}
+    if [[ $# -eq 3 ]]; then
+       site_dir=$3
+    fi
+
     # Commit the public key to the repository so that team members who
     # clone the repo can encrypt new files
     echo "Creating ${yaml_dir}/sops.pub.asc with public key used to encrypt secrets"
-    gpg --export --armor "${key_fp}" >${yaml_dir}/sops.pub.asc
+    gpg --export --armor "${key_fp}" >${site_dir}/sops.pub.asc
 
     # Add .sops.yaml so users won't have to worry about specifying the
     # proper key for the target cluster or namespace
-    echo "Creating ${yaml_dir}/.sops.yaml SOPS configuration file"
-    cat <<EOF > ${yaml_dir}/.sops.yaml
+    echo "Creating ${site_dir}/.sops.yaml SOPS configuration file"
+    encrypted_regex="(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)"
+    cat <<EOF > ${site_dir}/.sops.yaml
 creation_rules:
   - path_regex: .*.yaml
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    encrypted_regex: ^${encrypted_regex}$
     pgp: ${key_fp}
 EOF
 
-    sops --encrypt --in-place --config=${yaml_dir}/.sops.yaml ${yaml}
+    if [[ $(grep -c $(echo ${encrypted_regex} | sed -e 's/(/\\(/g' -e 's/|/\\|/g' -e 's/)/\\)/') ${yaml}) -ne 0 ]]; then
+       sops --encrypt --in-place --config=${site_dir}/.sops.yaml ${yaml}
+    fi
 }
 
 function sops_decrypt {
     local -r yaml=$1
-
     local -r yaml_dir=$(dirname ${yaml})
-    sops --decrypt --in-place --config=${yaml_dir}/.sops.yaml ${yaml}
+    local site_dir=${yaml_dir}
+    if [[ $# -eq 2 ]]; then
+       site_dir=$2
+    fi
+
+    if [[ $(grep -c "^sops:" ${yaml}) -ne 0 ]]; then
+       sops --decrypt --in-place --config=${site_dir}/.sops.yaml ${yaml}
+    fi
 }
 
-function flux_site_source_name {
+function _site_source_name {
     local -r url=$1
     local -r branch=$2
     echo $(basename ${url})-${branch}
 }
 
-function flux_site_kustomization_name {
+function _site_kustomization_name {
     local -r url=$1
     local -r branch=$2
     local -r path=$3
-    echo $(flux_site_source_name ${url} ${branch})-site-$(basename ${path})
+    echo $(_site_source_name ${url} ${branch})-site-$(basename ${path})
 }
 
 function flux_create_site {
@@ -77,8 +74,8 @@ function flux_create_site {
     local -r path=$3
     local -r key_name=$4
 
-    local -r source_name=$(flux_site_source_name ${url} ${branch})
-    local -r kustomization_name=$(flux_site_kustomization_name ${url} ${branch} ${path})
+    local -r source_name=$(_site_source_name ${url} ${branch})
+    local -r kustomization_name=$(_site_kustomization_name ${url} ${branch} ${path})
     local -r key_fp=$(gpg --with-colons --list-secret-keys ${key_name} | awk -F: '/fpr/ {print $10;exit}')
     local -r secret_name="${key_name}-sops-gpg"
 
@@ -90,3 +87,100 @@ function flux_create_site {
     flux create kustomization ${kustomization_name} --target-namespace=${SITE_NAMESPACE} --path=${path} --source=GitRepository/${source_name} --prune=true \
         --decryption-provider=sops --decryption-secret=${secret_name}
 }
+
+function site_deploy {
+    flux_create_site ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH} ${FLUX_SOPS_KEY_NAME}
+}
+
+function site_clean {
+    kubectl -n flux-system delete kustomization $(_site_kustomization_name ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH})
+}
+
+function _is_cluster_ready {
+    for yaml in ${SCRIPTDIR}/deployment/*.yaml; do
+       name=$(awk '/clusterName:/ {print $2}' ${yaml})
+       if [[ ! -z ${name} ]]; then
+           if [[ $(kubectl -n ${SITE_NAMESPACE} get cluster ${name} -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}') != "True" ]]; then
+               return 1
+           fi
+       fi
+    done
+}
+
+function _is_control_plane_ready {
+    # Checking the Cluster resource status is not sufficient, it
+    # reports the control plane as ready before the nodes forming the
+    # control plane are ready
+    for yaml in ${SCRIPTDIR}/deployment/*.yaml; do
+       name=$(awk '/clusterName:/ {print $2}' ${yaml})
+       if [[ ! -z ${name} ]]; then
+           local replicas=$(kubectl -n ${SITE_NAMESPACE} get kubeadmcontrolplane ${name} -o jsonpath='{.spec.replicas}')
+           if [[ $(kubectl --kubeconfig=${BUILDDIR}/${name}-admin.conf get nodes -l node-role.kubernetes.io/control-plane -o jsonpath='{range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}{end}' | grep -c True) != ${replicas} ]]; then
+               return 1
+           fi
+       fi
+    done
+}
+
+function site_wait_for_all_ready {
+    WAIT_FOR_INTERVAL=60s
+    WAIT_FOR_TRIES=30
+    wait_for _is_cluster_ready
+    for yaml in ${SCRIPTDIR}/deployment/*.yaml; do
+       name=$(awk '/clusterName:/ {print $2}' ${yaml})
+       clusterctl -n ${SITE_NAMESPACE} get kubeconfig ${name} >${BUILDDIR}/${name}-admin.conf
+       chmod 600 ${BUILDDIR}/${name}-admin.conf
+    done
+    wait_for _is_control_plane_ready
+}
+
+function site_insert_control_plane_network_identity_into_ssh_config {
+    # This enables logging into the control plane machines from this
+    # machine without specifying the identify file on the command line
+
+    if [[ ! $(which ipcalc) ]]; then
+        apt-get install -y ipcalc
+    fi
+
+    # Create ssh config if it doesn't exist
+    mkdir -p ${HOME}/.ssh && chmod 700 ${HOME}/.ssh
+    touch ${HOME}/.ssh/config
+    chmod 600 ${HOME}/.ssh/config
+    # Add the entry for the control plane network, host value in ssh
+    # config is a wildcard
+    for yaml in ${SCRIPTDIR}/deployment/*.yaml; do
+       name=$(awk '/name:/ {NAME=$2} /chart: deploy\/cluster/ {print NAME; exit}' ${yaml})
+       if [[ ! -z ${name} ]]; then
+           endpoint=$(helm -n ${SITE_NAMESPACE} get values -a ${name} | awk '/controlPlaneEndpoint:/ {print $2}')
+           prefix=$(helm -n ${SITE_NAMESPACE} get values -a ${name} | awk '/controlPlanePrefix:/ {print $2}')
+           host=$(ipcalc ${endpoint}/${prefix} | awk '/Network:/ {sub(/\.0.*/,".*"); print $2}')
+           if [[ $(grep -c "Host ${host}" ${HOME}/.ssh/config) != 0 ]]; then
+               sed -i -e '/Host '"${host}"'/,+3 d' ${HOME}/.ssh/config
+           fi
+           cat <<EOF >>${HOME}/.ssh/config
+Host ${host}
+  IdentityFile ${SCRIPTDIR}/id_rsa
+  StrictHostKeyChecking no
+  UserKnownHostsFile /dev/null
+EOF
+       fi
+    done
+    # Add the identity to authorized keys on this host to enable ssh
+    # logins via its control plane address
+    authorized_key=$(cat ${SCRIPTDIR}/id_rsa.pub)
+    sed -i -e '\!'"${authorized_key}"'!d' ${HOME}/.ssh/authorized_keys
+    cat ${SCRIPTDIR}/id_rsa.pub >> ~/.ssh/authorized_keys
+}
+
+function _is_cluster_deleted {
+    for yaml in ${SCRIPTDIR}/deployment/*.yaml; do
+       name=$(awk '/clusterName:/ {print $2}' ${yaml})
+       ! kubectl -n ${SITE_NAMESPACE} get cluster ${name}
+    done
+}
+
+function site_wait_for_all_deleted {
+    WAIT_FOR_INTERVAL=60s
+    WAIT_FOR_TRIES=30
+    wait_for _is_cluster_deleted
+}
index 25b4a37..1845115 100644 (file)
@@ -1,4 +1,4 @@
 creation_rules:
   - path_regex: .*.yaml
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
     pgp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
diff --git a/deploy/site/pod11/cluster/icn/addons.yaml b/deploy/site/pod11/cluster/icn/addons.yaml
new file mode 100644 (file)
index 0000000..a84b32f
--- /dev/null
@@ -0,0 +1,42 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: addons
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-addons
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
+  patches:
+  - patch: |
+      - op: add
+        path: /spec/healthChecks/-
+        value:
+          apiVersion: helm.toolkit.fluxcd.io/v2beta1
+          kind: HelmRelease
+          name: monitor
+          namespace: emco
+      - op: add
+        path: /spec/healthChecks/-
+        value:
+          apiVersion: helm.toolkit.fluxcd.io/v2beta1
+          kind: HelmRelease
+          name: services
+          namespace: emco
+      - op: add
+        path: /spec/healthChecks/-
+        value:
+          apiVersion: helm.toolkit.fluxcd.io/v2beta1
+          kind: HelmRelease
+          name: tools
+          namespace: emco
+    target:
+      kind: Kustomization
+      name: sriov-network-operator
+      namespace: kud
diff --git a/deploy/site/pod11/cluster/icn/emco-compute.yaml b/deploy/site/pod11/cluster/icn/emco-compute.yaml
new file mode 100644 (file)
index 0000000..4b97d14
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-compute
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-emco-compute
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/pod11/cluster/icn/emco-management.yaml b/deploy/site/pod11/cluster/icn/emco-management.yaml
new file mode 100644 (file)
index 0000000..28866df
--- /dev/null
@@ -0,0 +1,19 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-management
+  namespace: flux-system
+spec:
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
+  interval: 5m
+  path: deploy/site/cluster-emco-management
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/pod11/cluster/icn/gotk-sync.yaml b/deploy/site/pod11/cluster/icn/gotk-sync.yaml
new file mode 100644 (file)
index 0000000..e326392
--- /dev/null
@@ -0,0 +1,30 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: icn
+  namespace: flux-system
+spec:
+  gitImplementation: go-git
+  interval: 1m0s
+  ref:
+    branch: master
+  timeout: 20s
+  url: https://gerrit.akraino.org/r/icn
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: icn-flux-sync
+  namespace: flux-system
+spec:
+  interval: 10m0s
+  path: deploy/site/pod11/cluster/icn
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
diff --git a/deploy/site/pod11/cluster/icn/istio-cacerts.yaml b/deploy/site/pod11/cluster/icn/istio-cacerts.yaml
new file mode 100644 (file)
index 0000000..787edaf
--- /dev/null
@@ -0,0 +1,42 @@
+apiVersion: v1
+data:
+    ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZhakNDQTFLZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZrd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREU1TWpjeE1sb1hEVEkwTURNd056RTVNamN4TWxvd1J6RVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFTU1Bb0cKQTFVRUJ3d0RhV051TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFuTSsxT3M5Mgp0RGxYbFVUU1ptUTloWThiREMyc0tIZStZVFdqaHM1MHJYVU4yc3RoVHFVdEE5K2dBZkUwdlByVm0vZStPSEpGCkFXRDRINGJDcDZOS3lZWkMwRCsvelJpR2R5WUJraGxRN0lRajc1QTJTRkY1MmdIMENyV1BQTk5WNDltSThZSnAKL2NWaWcwNUtHSXB5a0xmZ1AyUWJXUWZWdWFGT09MNGRvME93ZUFaZTBDc2E5V0k1bENoUHljSENnalV6UEdJSQpYZ0hLbmVQWHRleGR3bUNTWW5jZ0lUUUJpQmErOVExQy9uV0ZBZ2JvNnNSQXhaS1k5SWlXM1p2TXNZeGhuRDN1CjNoNGxsYkRrZVJhQnJoalVIRjhLaEtoWU4ranN1SWpCQm9XSzFyNmI0RTFvMEszWDFFMmZFcVE1dXdVM2JLV3kKWHFnTDdTNXFJMHhqREJtMWo2alNvUFcwanZxSTg5UlJhV0tGa2pzVnMwdWJEeGQvSUFSMGJuNFlISkVRUlJrMQpPM3hteFY2aml1ZlUxWUtZdXlQTHFWMVJadzUzWjJhc01NSHptbXR0TlZUYml3dnJEdXd6OWg2RndtcVRtQzY2Ck1pTWllRXdtVXZ6M04rQ0I3dVZKNXJOOWNvQkF1b0hkRkRWTUZ0SE5sa2pneHFKNVV0ejRrVlUwNUF5TlI1dFoKb1RGbGZnR2p6L05SSHJpOW5Ma0lIWndGd3FKd2JXVzhYYlhYWmI4YWxMTmtZMGJ6dDdnd1U3MHJBUkNtNXhFNgpuWUhCTG5ZQ3pMcjBobGlaNkRHYW1ZL2xYUGZUR0RwK1FOeHBiRko5cU4xYUNLYWhOV3NydlBoZ2w5eng3QUtRCjFqTXIxTyswb0lva1RXQm9LMlZCWGVSVVZpRmxFVFl3ZUJVQ0F3RUFBYU5wTUdjd0hRWURWUjBPQkJZRUZCTU4KMmZlT2tOVStZUzlRZ294SjBuK0dtb21DTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFILwpCQVFEQWdMa01DSUdBMVVkRVFRYk1CbUNGMmx6ZEdsdlpDNXBjM1JwYnkxemVYTjBaVzB1YzNaak1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUNBUUFQSnB2UXVSejZ4WG44YVh4b1AzaS9CMEZ0QWh1aHc5NCtNWkV1a0NHVmNUWkkKKzNIQUNkUWJNdkhab2lDdXE5QWw0clhaZkNYSkdZMGdwUGNWQVMxbVo3NlhNSU9oQUJDajd4ZkpGZVhRR2ticwpDZHZKeWlnZDZMR1hBK01POVpYWjh1UEh6T0hOWFRwMlNHWnBNNDI4NktKMFd6NGQraTdJMUlSeHdBWXVKN1BEClVKN3cxRmZmd01aRC9wVk9aRG5QQURtY3FBZzNlTHZ5S2FhZDk3NHgvU0pEbDY2bVFhRGZQN1Z5R2d3RE9NM3IKN1lFVFF1cTJKMWMzSk1SeHdqVHJOSjUvRVBiTExRdXhsbEtHNUhGZlJLN2k5UHp3bjQ0NHdERTA2WTEwNHdlRApuWFJ4TnpDOTNDVGNFZndEQTYxQUxxTG1qWm8vM1M3OHJKMElQY2tkRDM1TGVKNW00SHlYUFN4Wjg5cjlMd2xuCmtjbVczTlhZMkUxZ2RBT0F4UTI5cGwzUGh2Rlh6elFIM1NsV3FMQ3MrbEJ2WWdkYy9tVXlENU9ySVltTXoyOEYKaHhRRmIxRlIzQ2gzMHcwL2dNVmlpd3M3SGlNN0kzM3c0NUF1WGFKRG42QXlCM3Zkd05MTlpMcFNNdDFheVJMcwpwZnZSM2g1SFV5TGg3bG1DN21BTjZsc1JndzBnMEtmYlNKY1NFS1RMYjNreFJ0Nkw0UEpSTzIwbWtyOWxEeFU5CmtVV3BTRngyb3BNZ1RzakNwam0zZ3ovTjBhQjBkTTQzUjhHVldFMzhkRFNEVGVrUXExNUVBblhOdjRXVkJKbVkKYkR1c0VKVUt6Y3hEMVZyeUd0bktYemRhcHpONmZUbE5LNk5YcjMzeUVJRVdKM3hhdll1ZzJpM29BZkJaSVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
+    ca-key.pem: ENC[AES256_GCM,data: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,iv:JVzL66aBKEcikumSrG3c6YJXycQ6z0qN0kZdjM8kvGU=,tag:dZFgPecZXr7+1sRzqzw4oA==,type:str]
+    cert-chain.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZhakNDQTFLZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZrd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREU1TWpjeE1sb1hEVEkwTURNd056RTVNamN4TWxvd1J6RVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFTU1Bb0cKQTFVRUJ3d0RhV051TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFuTSsxT3M5Mgp0RGxYbFVUU1ptUTloWThiREMyc0tIZStZVFdqaHM1MHJYVU4yc3RoVHFVdEE5K2dBZkUwdlByVm0vZStPSEpGCkFXRDRINGJDcDZOS3lZWkMwRCsvelJpR2R5WUJraGxRN0lRajc1QTJTRkY1MmdIMENyV1BQTk5WNDltSThZSnAKL2NWaWcwNUtHSXB5a0xmZ1AyUWJXUWZWdWFGT09MNGRvME93ZUFaZTBDc2E5V0k1bENoUHljSENnalV6UEdJSQpYZ0hLbmVQWHRleGR3bUNTWW5jZ0lUUUJpQmErOVExQy9uV0ZBZ2JvNnNSQXhaS1k5SWlXM1p2TXNZeGhuRDN1CjNoNGxsYkRrZVJhQnJoalVIRjhLaEtoWU4ranN1SWpCQm9XSzFyNmI0RTFvMEszWDFFMmZFcVE1dXdVM2JLV3kKWHFnTDdTNXFJMHhqREJtMWo2alNvUFcwanZxSTg5UlJhV0tGa2pzVnMwdWJEeGQvSUFSMGJuNFlISkVRUlJrMQpPM3hteFY2aml1ZlUxWUtZdXlQTHFWMVJadzUzWjJhc01NSHptbXR0TlZUYml3dnJEdXd6OWg2RndtcVRtQzY2Ck1pTWllRXdtVXZ6M04rQ0I3dVZKNXJOOWNvQkF1b0hkRkRWTUZ0SE5sa2pneHFKNVV0ejRrVlUwNUF5TlI1dFoKb1RGbGZnR2p6L05SSHJpOW5Ma0lIWndGd3FKd2JXVzhYYlhYWmI4YWxMTmtZMGJ6dDdnd1U3MHJBUkNtNXhFNgpuWUhCTG5ZQ3pMcjBobGlaNkRHYW1ZL2xYUGZUR0RwK1FOeHBiRko5cU4xYUNLYWhOV3NydlBoZ2w5eng3QUtRCjFqTXIxTyswb0lva1RXQm9LMlZCWGVSVVZpRmxFVFl3ZUJVQ0F3RUFBYU5wTUdjd0hRWURWUjBPQkJZRUZCTU4KMmZlT2tOVStZUzlRZ294SjBuK0dtb21DTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFILwpCQVFEQWdMa01DSUdBMVVkRVFRYk1CbUNGMmx6ZEdsdlpDNXBjM1JwYnkxemVYTjBaVzB1YzNaak1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUNBUUFQSnB2UXVSejZ4WG44YVh4b1AzaS9CMEZ0QWh1aHc5NCtNWkV1a0NHVmNUWkkKKzNIQUNkUWJNdkhab2lDdXE5QWw0clhaZkNYSkdZMGdwUGNWQVMxbVo3NlhNSU9oQUJDajd4ZkpGZVhRR2ticwpDZHZKeWlnZDZMR1hBK01POVpYWjh1UEh6T0hOWFRwMlNHWnBNNDI4NktKMFd6NGQraTdJMUlSeHdBWXVKN1BEClVKN3cxRmZmd01aRC9wVk9aRG5QQURtY3FBZzNlTHZ5S2FhZDk3NHgvU0pEbDY2bVFhRGZQN1Z5R2d3RE9NM3IKN1lFVFF1cTJKMWMzSk1SeHdqVHJOSjUvRVBiTExRdXhsbEtHNUhGZlJLN2k5UHp3bjQ0NHdERTA2WTEwNHdlRApuWFJ4TnpDOTNDVGNFZndEQTYxQUxxTG1qWm8vM1M3OHJKMElQY2tkRDM1TGVKNW00SHlYUFN4Wjg5cjlMd2xuCmtjbVczTlhZMkUxZ2RBT0F4UTI5cGwzUGh2Rlh6elFIM1NsV3FMQ3MrbEJ2WWdkYy9tVXlENU9ySVltTXoyOEYKaHhRRmIxRlIzQ2gzMHcwL2dNVmlpd3M3SGlNN0kzM3c0NUF1WGFKRG42QXlCM3Zkd05MTlpMcFNNdDFheVJMcwpwZnZSM2g1SFV5TGg3bG1DN21BTjZsc1JndzBnMEtmYlNKY1NFS1RMYjNreFJ0Nkw0UEpSTzIwbWtyOWxEeFU5CmtVV3BTRngyb3BNZ1RzakNwam0zZ3ovTjBhQjBkTTQzUjhHVldFMzhkRFNEVGVrUXExNUVBblhOdjRXVkJKbVkKYkR1c0VKVUt6Y3hEMVZyeUd0bktYemRhcHpONmZUbE5LNk5YcjMzeUVJRVdKM3hhdll1ZzJpM29BZkJaSVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGS0RDQ0F4Q2dBd0lCQWdJVUM5NWtVZ2NWTmhPMndMbXpmcGR1NCt4TjBvVXdEUVlKS29aSWh2Y05BUUVMCkJRQXdMREVZTUJZR0ExVUVDZ3dQY0hKdmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkIKTUI0WERUSXlNRE13TnpJek5EVXlOVm9YRFRNeU1ETXdOREl6TkRVeU5Wb3dMREVZTUJZR0ExVUVDZ3dQY0hKdgphbVZqZEMxbGJXTnZMbWx2TVJBd0RnWURWUVFEREFkU2IyOTBJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBZzhBTUlJQ0NnS0NBZ0VBNGFodE9xL3hKYUZzd3Q2UkJYVy9XRFZKMEd2b281YlZoOW9LZFE5MVBWWWUKMFFwbFNGRTVacFY3UmVqLzNTZmEyVHFQa3JsN2RvRm1ZZkJNR2k4dExPckp6dmZGdDBPa2c5eExDOUlHNVlJRwpiVHI5cHlYVFNIYWdqV0VYN2RJSm84NXhPeU8yTXQxUzlMeUcyREtWWExmTDNXWTNRdVUwUnA5MnNBQjJaem9LCnhLcDdTQWx0L0xNYWczY01VM2hqVmpFZG5YQ25kWmxXbHIwb2EyZVF5eFB0N243dGdEOXVGTVVJcWZNNVhwUTMKcG9hTVY4NWRtbnZQVURrTFQramI2K200bThVRStmM0hnbGZOZEo3OG8xOGo1My9TUWk5L2VCRkZSem14V2lDUwpKbE1od3hPM2VGUjhBM3R2cWdLRDdJRC9pK2lVUjlmVFZxUXgxUFBTY0dMU1paaHJsTW5jSFhOaEJBalBUd2w1CmRqMXMzMXp3U0J5cWgwbUt4RStjOXdpVms1aW1sMlV0Uzd1Y1l4eS9rMFlES1hQN2hoV2l3bzB2bjdmZFFkcHQKUm9EWXBKU1RPSXVEUk1IYWpZakxRWmloMGMrLytPeXRHSEtLRzdwNm53UVpRYkh6a3ZEUmcwNjhOOE1wT0VOdwpqM0ZhcVN1RHZiOEtyV3JYdlVYYkkxejdUUGxwc3JOUXhpYmxRUmQ0cFN3NUkzcDZNNllLNXBVTjEvRmJsTzhJCmJXQUVDZ2hCQTRHVDI1dm4yWVQycHJJU3dDYk9ZL2ZlckJmMEJzM0JTYUdzcm9wLy9JcVc4VFA5WlhoeUo5aUoKT28rbnBNS2xxQ2t1byt3YXhkeldiVUg1eTFwQndYTm9TN3R6ZlhsdmxyUG9FTUd1Tm5TZ3hhUWY2OHVrUUVVQwpBd0VBQWFOQ01FQXdIUVlEVlIwT0JCWUVGR3V3Z1dhOHdYc1lKTHowdjdlTnBJWHVaVlhvTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0xrTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFDdHdvdXYKenBGS0lURDdmWWliSGcxYXQzcVF2WlFhMis0cUNqZm1XSXJycGNhV0ljYzN0UDc5bExidHZVc3c1eTJVMjlEZwo0VUo0ai96S3ZmbGpjK0lOdDNsdFNlUVNsTjVEcmJsTmx2dXk0K3EwY1NsWVg0ZGlQZkVSc3hIMW12b0psR3Q5Cld6aSs0akFxK1RYUEJnNHVoZGZMYmtCRWs3Y2RvYXZwQkFLZ3gzMDRvSHptaFZLaXh3M0p3Mms4eTFMVHFnRC8KMm1SUytORnloL2puYTlvM0dmRTRpNUlwc1RVblFWUGhBS20vRm1IOElHenBxbEh3K3M1dXBLM3BrdEpCa3Rocgpqakk0dE1VOW55bXVMdUkzbHc3dWNkUEpTQ1cybHVPZ2tsalF2OFdKR2FMRW53VVhSeFhPR0hkdXNRMUFSUHNaCmluamJNRHRubld1SnNuWnU0TTMrQi8xOWptSnN0aXFaSHZwK0RRVGlhNVZTZXdJdWlhL1ZRN3prS2NKdkdlejMKZTNKc1M5anZuMUZxTjdLRU91QzhVMTdEeVFIdjJPaUtIRlR3M2IyU3ZrQkc1UGE5ZDdBVGxYS0lEa0xqMUJXYQpNVU8zS3hUQ0hMa1FPZVZaTzhjdHdQbmVtT1liZVduMWJmTXQwRWNHSFhtTWh6MGJuZzFDRkNjMU56bncwTG5FClJjeFU3OTlyNFJMYmwyUjJxMG5paExtbDc0S281N1lrR3FRRkorSkJjTFN1Z0ZJVjBndmVPZXpsZit2YXlwNTUKWDNDUnh3N3V3WWxhY1NsUVdyR3VPM3RuUzNFZEFBaWdBQ29BOHVnWU5ERkZhc1hZL0JObXdraHZFSWlScnlPVAp0QmZQQkxacEJkMzh6WXJNems1T25KSSs0ZGFISDAzTVE5TU03dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+    root-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZLRENDQXhDZ0F3SUJBZ0lVQzk1a1VnY1ZOaE8yd0xtemZwZHU0K3hOMG9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdOekl6TkRVeU5Wb1hEVE15TURNd05ESXpORFV5TlZvd0xERVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUE0YWh0T3EveEphRnN3dDZSQlhXL1dEVkowR3ZvbzViVmg5b0tkUTkxUFZZZQowUXBsU0ZFNVpwVjdSZWovM1NmYTJUcVBrcmw3ZG9GbVlmQk1HaTh0TE9ySnp2ZkZ0ME9rZzl4TEM5SUc1WUlHCmJUcjlweVhUU0hhZ2pXRVg3ZElKbzg1eE95TzJNdDFTOUx5RzJES1ZYTGZMM1dZM1F1VTBScDkyc0FCMlp6b0sKeEtwN1NBbHQvTE1hZzNjTVUzaGpWakVkblhDbmRabFdscjBvYTJlUXl4UHQ3bjd0Z0Q5dUZNVUlxZk01WHBRMwpwb2FNVjg1ZG1udlBVRGtMVCtqYjYrbTRtOFVFK2YzSGdsZk5kSjc4bzE4ajUzL1NRaTkvZUJGRlJ6bXhXaUNTCkpsTWh3eE8zZUZSOEEzdHZxZ0tEN0lEL2kraVVSOWZUVnFReDFQUFNjR0xTWlpocmxNbmNIWE5oQkFqUFR3bDUKZGoxczMxendTQnlxaDBtS3hFK2M5d2lWazVpbWwyVXRTN3VjWXh5L2swWURLWFA3aGhXaXdvMHZuN2ZkUWRwdApSb0RZcEpTVE9JdURSTUhhallqTFFaaWgwYysvK095dEdIS0tHN3A2bndRWlFiSHprdkRSZzA2OE44TXBPRU53CmozRmFxU3VEdmI4S3JXclh2VVhiSTF6N1RQbHBzck5ReGlibFFSZDRwU3c1STNwNk02WUs1cFVOMS9GYmxPOEkKYldBRUNnaEJBNEdUMjV2bjJZVDJwcklTd0NiT1kvZmVyQmYwQnMzQlNhR3Nyb3AvL0lxVzhUUDlaWGh5SjlpSgpPbytucE1LbHFDa3VvK3dheGR6V2JVSDV5MXBCd1hOb1M3dHpmWGx2bHJQb0VNR3VOblNneGFRZjY4dWtRRVVDCkF3RUFBYU5DTUVBd0hRWURWUjBPQkJZRUZHdXdnV2E4d1hzWUpMejB2N2VOcElYdVpWWG9NQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnTGtNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUN0d291dgp6cEZLSVREN2ZZaWJIZzFhdDNxUXZaUWEyKzRxQ2pmbVdJcnJwY2FXSWNjM3RQNzlsTGJ0dlVzdzV5MlUyOURnCjRVSjRqL3pLdmZsamMrSU50M2x0U2VRU2xONURyYmxObHZ1eTQrcTBjU2xZWDRkaVBmRVJzeEgxbXZvSmxHdDkKV3ppKzRqQXErVFhQQmc0dWhkZkxia0JFazdjZG9hdnBCQUtneDMwNG9Iem1oVktpeHczSncyazh5MUxUcWdELwoybVJTK05GeWgvam5hOW8zR2ZFNGk1SXBzVFVuUVZQaEFLbS9GbUg4SUd6cHFsSHcrczV1cEszcGt0SkJrdGhyCmpqSTR0TVU5bnltdUx1STNsdzd1Y2RQSlNDVzJsdU9na2xqUXY4V0pHYUxFbndVWFJ4WE9HSGR1c1ExQVJQc1oKaW5qYk1EdG5uV3VKc25adTRNMytCLzE5am1Kc3RpcVpIdnArRFFUaWE1VlNld0l1aWEvVlE3emtLY0p2R2V6MwplM0pzUzlqdm4xRnFON0tFT3VDOFUxN0R5UUh2Mk9pS0hGVHczYjJTdmtCRzVQYTlkN0FUbFhLSURrTGoxQldhCk1VTzNLeFRDSExrUU9lVlpPOGN0d1BuZW1PWWJlV24xYmZNdDBFY0dIWG1NaHowYm5nMUNGQ2MxTnpudzBMbkUKUmN4VTc5OXI0UkxibDJSMnEwbmloTG1sNzRLbzU3WWtHcVFGSitKQmNMU3VnRklWMGd2ZU9lemxmK3ZheXA1NQpYM0NSeHc3dXdZbGFjU2xRV3JHdU8zdG5TM0VkQUFpZ0FDb0E4dWdZTkRGRmFzWFkvQk5td2todkVJaVJyeU9UCnRCZlBCTFpwQmQzOHpZck16azVPbkpJKzRkYUhIMDNNUTlNTTd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+kind: Secret
+metadata:
+    creationTimestamp: null
+    name: cacerts
+    namespace: istio-system
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:17Z"
+    mac: ENC[AES256_GCM,data:uqRq82E4CE26ygZK2zvqEkeEdO/lPksQ12taZ9flZyVn08ErxOqvecvuQiPC5pPeJrpoctcvIrGfDF2LNdyZmczQFWH4mtB8u/9l4P7N/yCXfvvsYhw4EuAdAx+O2GqZPnKRTzOt8xohCzA0DVFymSEv23CGnB2YI8QVqP6viWI=,iv:GQbUuSGO6Ma7jBeKCWqHXL/CIOzMy4zcgiq7YhkIKKU=,tag:mBZgmlGLyh9BM3OAzKqKgQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:16Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ//R1Bs2TzS3RZBsvdlJCKdXlgIy/rbqzn5ftot/NRqEprS
+            IxQgMUSFjYPvDef6exm/aY26hEC2lQ7Tsq5RFuT9n7tjAppzGzN5/JuOAxYVl/ip
+            HV2zZvoDSHWMk4SXjEyVAN4VutCx7ONBGCXZn45PYAGhNt1E7tTugxjV58GaORqk
+            7HB7IYCtSMtT/tu4YXgtxc5gsr+8yy7hLITmoXZ70hI8zO5yUSHngBdRPv/OSnOD
+            tsgjiVG4bGjO7zjijj4EmGHZCmKduBj2JF0XuyIuL5RA4oLAZoeiW/TjaFCIPdG0
+            SpBjiyCx60UKYw7kGi5PA+y4u2GMZ+m7iUVW2dux2Ivw0ELFH4+OwWoCZiVoHra1
+            tNoP7QxA0JM7uXoYvwWD4nf9Z8fxf9ASxDFIdRYI54TPkfujfMbfO7KYi3K0K2hP
+            q0cjLAusQqTUpAdOB40kPOtA2RIZ/iksJhgJH7UiYoAhjv5VRodnk9vskYW2a/JH
+            x2zCsWXaTH+vX8CIrsxKX3FG7vWNfQ9AjUFSy3Vg3nfwb1pGfkBfFH4mvwL1IVwF
+            j/K1eCePMeStMCOqdseFy0yKPx6gnLKaLwLkuhLjWaC7DcCke1cbBqwMJS/KcuZ+
+            2c7U7UrsCrzu2Thd7XlPIXKSHlHU9oSnCrUpRMR/K9jKUyyisdd+K1wSTEp56LXS
+            XgH8G35a76N283oUW4/7XWgXgaWFbKeebAyhMJ9wvaOA2ETv9ZVITTjeqLoqiVKf
+            gImJqHz/MHV0J097YzGqpoHlkUATBbdLgU4THMyAknGsgZ56tzno+4tLBQhEzJ8=
+            =pMVv
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/pod11/cluster/icn/istio-namespace.yaml b/deploy/site/pod11/cluster/icn/istio-namespace.yaml
new file mode 100644 (file)
index 0000000..60de14f
--- /dev/null
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: istio-system
diff --git a/deploy/site/pod11/cluster/icn/istio.yaml b/deploy/site/pod11/cluster/icn/istio.yaml
new file mode 100644 (file)
index 0000000..5eb5f09
--- /dev/null
@@ -0,0 +1,24 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: istio
+  namespace: istio-system
+spec:
+  interval: 5m
+  chart:
+    spec:
+      chart: deploy/istio
+      sourceRef:
+        kind: GitRepository
+        name: icn
+        namespace: flux-system
+      interval: 1m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  dependsOn:
+  - name: istio-operator
diff --git a/deploy/site/pod11/deployment/site.yaml b/deploy/site/pod11/deployment/site.yaml
new file mode 100644 (file)
index 0000000..6fd0255
--- /dev/null
@@ -0,0 +1,240 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+    name: icn
+spec:
+    gitImplementation: go-git
+    interval: 1m0s
+    ref:
+        branch: master
+    timeout: 20s
+    url: https://gerrit.akraino.org/r/icn
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:17Z"
+    mac: ENC[AES256_GCM,data:KpJrL15byCQWyo/6ozjpMIRj0wQw++c3dB4t3dXzIfd5DctU5swkTp9XWm4IFWb/3Iju42Ayi1X6D/vn9onouXKKZPoQQpPVKG8sAHcJKTggVtPVwAmg/B+E4yXl6Yltltw2ptr5uDcHc268c62QuF1PKyLQGNGo4bHoE+3VGzo=,iv:cy+eiP9Y0T3HxMMQQlSlJ1LJsAr/RxLK2/kiMxiP8Lk=,tag:mRoDP47fS4yonQ8ynNzBrw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:17Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ/8C7jHiEZchdvOlpsCM9RHZ8XEZohd8qA+aL/6Bg2QXIzD
+            NhqIyj32jzO+OY7VRqDwwQk9CAHmwDFGq6e6StYZw0V16UguDj6sSaK+90Z3xqtW
+            F/PrSpkbQYzwSQHujwOSIg2n4AMhrRWs/W5x5plh1M8nuG0D5k3cF0r3ZlGHjfw4
+            vvrH2TqaiG22kbiCl+ebFMazc9DL560frFPJTLxzjEOsmURbNDsag6XVvaPViqK0
+            3pNFqN8Um1il6mUps1172GUgNW3wvVWyXVCK1jwXO9RUmGq/GasbnrBRWKu66aA1
+            RFMTf1gZf2VLTrcGjc9vNhSCyR3coJAlaG21bGRtXKOCU76l0kOLKbosHmBHdr7f
+            fjUEX2N8T5Jprj2Rgyb7PqqgRPAraURlDO/pOouyk8hzQcbmkGrL7OVk12yqvy69
+            A2iTsH75gUR4HB/7h+0h3YOZn3NoAwgGn1EZ3bF7bpOAmJmB83MXUqVlse4PXfCk
+            pW0ZlBJ80YiBkBkvlN7cOGK6WdppGMo3un46uk+EJkLrgAwUGNl1B5WlNs9HI6ff
+            9aEbfIrKQ4LFCtht74og3dkygBr+KYWqy1yZ18SnZneMA05kmEoHsbJHqo4LW4r/
+            HP9lDJrb+qpVlgcYaaaVW6F1tJsiT+mVlKTFm2D/lssy2Z7qM6c5Gg/lwUtWQiPS
+            XgGDxhgmXWAl5if7QtxbzeAtCyrHGfdvBEcUe5sudKc6YFOm9bKEpvU5JFYZAa5U
+            EWcC0rFsu6ZY6gv3bFssJmalqZqBpvJFZhjA7Isyiol0rLM99mxAWrB/JDkSNAw=
+            =J3wi
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: pod11-node2
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: pod11-node2
+        machineLabels:
+            machine: pod11-node2
+        bmcAddress: ipmi://10.10.110.12
+        bmcUsername: root
+        bmcPassword: ENC[AES256_GCM,data:b9OPCQ==,iv:9TL8eN+1LaYvCPE9WFE1yFAT4vlqYCDI6a8akloCqPU=,tag:ndinYhmi+TaebwFy/obpjw==,type:str]
+        networks:
+            baremetal:
+                macAddress: 00:1e:67:fe:f4:19
+                type: ipv4
+                ipAddress: 10.10.110.22/24
+                gateway: 10.10.110.1
+                nameservers:
+                    - 8.8.8.8
+            provisioning:
+                macAddress: 00:1e:67:fe:f4:1a
+                type: ipv4_dhcp
+            sriov:
+                macAddress: 00:1e:67:f8:6a:41
+                type: ipv4
+                ipAddress: 10.10.113.3/24
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:17Z"
+    mac: ENC[AES256_GCM,data:KpJrL15byCQWyo/6ozjpMIRj0wQw++c3dB4t3dXzIfd5DctU5swkTp9XWm4IFWb/3Iju42Ayi1X6D/vn9onouXKKZPoQQpPVKG8sAHcJKTggVtPVwAmg/B+E4yXl6Yltltw2ptr5uDcHc268c62QuF1PKyLQGNGo4bHoE+3VGzo=,iv:cy+eiP9Y0T3HxMMQQlSlJ1LJsAr/RxLK2/kiMxiP8Lk=,tag:mRoDP47fS4yonQ8ynNzBrw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:17Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ/8C7jHiEZchdvOlpsCM9RHZ8XEZohd8qA+aL/6Bg2QXIzD
+            NhqIyj32jzO+OY7VRqDwwQk9CAHmwDFGq6e6StYZw0V16UguDj6sSaK+90Z3xqtW
+            F/PrSpkbQYzwSQHujwOSIg2n4AMhrRWs/W5x5plh1M8nuG0D5k3cF0r3ZlGHjfw4
+            vvrH2TqaiG22kbiCl+ebFMazc9DL560frFPJTLxzjEOsmURbNDsag6XVvaPViqK0
+            3pNFqN8Um1il6mUps1172GUgNW3wvVWyXVCK1jwXO9RUmGq/GasbnrBRWKu66aA1
+            RFMTf1gZf2VLTrcGjc9vNhSCyR3coJAlaG21bGRtXKOCU76l0kOLKbosHmBHdr7f
+            fjUEX2N8T5Jprj2Rgyb7PqqgRPAraURlDO/pOouyk8hzQcbmkGrL7OVk12yqvy69
+            A2iTsH75gUR4HB/7h+0h3YOZn3NoAwgGn1EZ3bF7bpOAmJmB83MXUqVlse4PXfCk
+            pW0ZlBJ80YiBkBkvlN7cOGK6WdppGMo3un46uk+EJkLrgAwUGNl1B5WlNs9HI6ff
+            9aEbfIrKQ4LFCtht74og3dkygBr+KYWqy1yZ18SnZneMA05kmEoHsbJHqo4LW4r/
+            HP9lDJrb+qpVlgcYaaaVW6F1tJsiT+mVlKTFm2D/lssy2Z7qM6c5Gg/lwUtWQiPS
+            XgGDxhgmXWAl5if7QtxbzeAtCyrHGfdvBEcUe5sudKc6YFOm9bKEpvU5JFYZAa5U
+            EWcC0rFsu6ZY6gv3bFssJmalqZqBpvJFZhjA7Isyiol0rLM99mxAWrB/JDkSNAw=
+            =J3wi
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: pod11-node3
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: pod11-node3
+        machineLabels:
+            machine: pod11-node3
+        bmcAddress: ipmi://10.10.110.13
+        bmcUsername: root
+        bmcPassword: ENC[AES256_GCM,data:bmi6Fg==,iv:My7+UlPzsbfWnodCVPi6Pa0PJfZm2GEXkI5kOq8DKm4=,tag:S/XFKFQzL0ZFAUmPAnjgdw==,type:str]
+        networks:
+            baremetal:
+                macAddress: 00:1e:67:f1:5b:90
+                type: ipv4
+                ipAddress: 10.10.110.23/24
+                gateway: 10.10.110.1
+                nameservers:
+                    - 8.8.8.8
+            provisioning:
+                macAddress: 00:1e:67:f1:5b:91
+                type: ipv4_dhcp
+            sriov:
+                macAddress: 00:1e:67:f8:69:81
+                type: ipv4
+                ipAddress: 10.10.113.4/24
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:17Z"
+    mac: ENC[AES256_GCM,data:KpJrL15byCQWyo/6ozjpMIRj0wQw++c3dB4t3dXzIfd5DctU5swkTp9XWm4IFWb/3Iju42Ayi1X6D/vn9onouXKKZPoQQpPVKG8sAHcJKTggVtPVwAmg/B+E4yXl6Yltltw2ptr5uDcHc268c62QuF1PKyLQGNGo4bHoE+3VGzo=,iv:cy+eiP9Y0T3HxMMQQlSlJ1LJsAr/RxLK2/kiMxiP8Lk=,tag:mRoDP47fS4yonQ8ynNzBrw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:17Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ/8C7jHiEZchdvOlpsCM9RHZ8XEZohd8qA+aL/6Bg2QXIzD
+            NhqIyj32jzO+OY7VRqDwwQk9CAHmwDFGq6e6StYZw0V16UguDj6sSaK+90Z3xqtW
+            F/PrSpkbQYzwSQHujwOSIg2n4AMhrRWs/W5x5plh1M8nuG0D5k3cF0r3ZlGHjfw4
+            vvrH2TqaiG22kbiCl+ebFMazc9DL560frFPJTLxzjEOsmURbNDsag6XVvaPViqK0
+            3pNFqN8Um1il6mUps1172GUgNW3wvVWyXVCK1jwXO9RUmGq/GasbnrBRWKu66aA1
+            RFMTf1gZf2VLTrcGjc9vNhSCyR3coJAlaG21bGRtXKOCU76l0kOLKbosHmBHdr7f
+            fjUEX2N8T5Jprj2Rgyb7PqqgRPAraURlDO/pOouyk8hzQcbmkGrL7OVk12yqvy69
+            A2iTsH75gUR4HB/7h+0h3YOZn3NoAwgGn1EZ3bF7bpOAmJmB83MXUqVlse4PXfCk
+            pW0ZlBJ80YiBkBkvlN7cOGK6WdppGMo3un46uk+EJkLrgAwUGNl1B5WlNs9HI6ff
+            9aEbfIrKQ4LFCtht74og3dkygBr+KYWqy1yZ18SnZneMA05kmEoHsbJHqo4LW4r/
+            HP9lDJrb+qpVlgcYaaaVW6F1tJsiT+mVlKTFm2D/lssy2Z7qM6c5Gg/lwUtWQiPS
+            XgGDxhgmXWAl5if7QtxbzeAtCyrHGfdvBEcUe5sudKc6YFOm9bKEpvU5JFYZAa5U
+            EWcC0rFsu6ZY6gv3bFssJmalqZqBpvJFZhjA7Isyiol0rLM99mxAWrB/JDkSNAw=
+            =J3wi
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: cluster-icn
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/cluster
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        clusterName: icn
+        clusterLabels:
+            site: pod11
+        controlPlaneEndpoint: 10.10.110.23
+        controlPlaneHostSelector:
+            matchLabels:
+                machine: pod11-node3
+        workersHostSelector:
+            matchLabels:
+                machine: pod11-node2
+        userData:
+            hashedPassword: ENC[AES256_GCM,data:Oi0MmpH2t/pvV9xhdgBk7ujtYW0fwTAcZcdj+akQE4Sem4W06SHQAWoj0unCD+cfQ4CCMaT13AND3EuTwYBPMK2ROo2zl0/YvYqd0VDxqjR8QNNoxW+Cq52HLQDHdBf2/fN2wsJoJp4CouQDQzkbdIvnioJ6,iv:djyhkENLNm/Fl20+8BP6MonwJnUR0kraxFo1um1n8DA=,tag:D+aphyT9J9DJiJEkKN4tZA==,type:str]
+            sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwLj/ekRDjp354W8kcGLagjudjTBZO8qBffJ4mNb01EJueUbLvM8EwCv2zu9lFKHD+nGkc1fkB3RyCn5OqzQDTAIpp82nOHXtrbKAZPg2ob8BlfVAz34h5r1bG78lnMH1xk7HKNbf73h9yzUEKiyrd8DlhJcJrsOZTPuTdRrIm7jxScDJpHFjy8tGISNMcnBGrNS9ukaRLK+PiEfDpuRtw/gOEf58NXgu38BcNm4tYfacHYuZFUbNCqj9gKi3btZawgybICcqrNqF36E/XXMfCS1qxZ7j9xfKjxWFgD9gW/HkRtV6K11NZFEvaYBFBA9S/GhLtk9aY+EsztABthE0J root@pod11-node5
+        flux:
+            url: https://gerrit.akraino.org/r/icn
+            branch: master
+            path: ./deploy/site/pod11/cluster/icn
+            decryptionSecret: ENC[AES256_GCM,data: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,iv:1/HJ8UKynsSgbGz/ZW1Xu8/xiQJRoW5Zsb/lAuJLQuE=,tag:V9NaD3pCS3vLEhWJln3MrQ==,type:str]
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:17Z"
+    mac: ENC[AES256_GCM,data:KpJrL15byCQWyo/6ozjpMIRj0wQw++c3dB4t3dXzIfd5DctU5swkTp9XWm4IFWb/3Iju42Ayi1X6D/vn9onouXKKZPoQQpPVKG8sAHcJKTggVtPVwAmg/B+E4yXl6Yltltw2ptr5uDcHc268c62QuF1PKyLQGNGo4bHoE+3VGzo=,iv:cy+eiP9Y0T3HxMMQQlSlJ1LJsAr/RxLK2/kiMxiP8Lk=,tag:mRoDP47fS4yonQ8ynNzBrw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:17Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ/8C7jHiEZchdvOlpsCM9RHZ8XEZohd8qA+aL/6Bg2QXIzD
+            NhqIyj32jzO+OY7VRqDwwQk9CAHmwDFGq6e6StYZw0V16UguDj6sSaK+90Z3xqtW
+            F/PrSpkbQYzwSQHujwOSIg2n4AMhrRWs/W5x5plh1M8nuG0D5k3cF0r3ZlGHjfw4
+            vvrH2TqaiG22kbiCl+ebFMazc9DL560frFPJTLxzjEOsmURbNDsag6XVvaPViqK0
+            3pNFqN8Um1il6mUps1172GUgNW3wvVWyXVCK1jwXO9RUmGq/GasbnrBRWKu66aA1
+            RFMTf1gZf2VLTrcGjc9vNhSCyR3coJAlaG21bGRtXKOCU76l0kOLKbosHmBHdr7f
+            fjUEX2N8T5Jprj2Rgyb7PqqgRPAraURlDO/pOouyk8hzQcbmkGrL7OVk12yqvy69
+            A2iTsH75gUR4HB/7h+0h3YOZn3NoAwgGn1EZ3bF7bpOAmJmB83MXUqVlse4PXfCk
+            pW0ZlBJ80YiBkBkvlN7cOGK6WdppGMo3un46uk+EJkLrgAwUGNl1B5WlNs9HI6ff
+            9aEbfIrKQ4LFCtht74og3dkygBr+KYWqy1yZ18SnZneMA05kmEoHsbJHqo4LW4r/
+            HP9lDJrb+qpVlgcYaaaVW6F1tJsiT+mVlKTFm2D/lssy2Z7qM6c5Gg/lwUtWQiPS
+            XgGDxhgmXWAl5if7QtxbzeAtCyrHGfdvBEcUe5sudKc6YFOm9bKEpvU5JFYZAa5U
+            EWcC0rFsu6ZY6gv3bFssJmalqZqBpvJFZhjA7Isyiol0rLM99mxAWrB/JDkSNAw=
+            =J3wi
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
index 28530fc..fe49d42 100755 (executable)
@@ -12,67 +12,23 @@ mkdir -p ${BUILDDIR}
 
 SITE_REPO=${SITE_REPO:-"https://gerrit.akraino.org/r/icn"}
 SITE_BRANCH=${SITE_BRANCH:-"master"}
-SITE_PATH=${SITE_PATH:-"deploy/site/pod11"}
-
-FLUX_SOPS_KEY_NAME=${FLUX_SOPS_KEY_NAME:-"icn-site-vm"} # TODO Replace ICN test key with real key
-
-function build_source {
-    sops_encrypt ${SCRIPTDIR}/site.yaml ${FLUX_SOPS_KEY_NAME}
-}
-
-function deploy {
-    flux_create_site ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH} ${FLUX_SOPS_KEY_NAME}
-}
-
-function clean {
-    kubectl -n flux-system delete kustomization $(flux_site_kustomization_name ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH})
-}
-
-function is_cluster_ready {
-    [[ $(kubectl -n ${SITE_NAMESPACE} get cluster icn -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}') == "True" ]]
-}
-
-function is_control_plane_ready {
-    # Checking the Cluster resource status is not sufficient, it
-    # reports the control plane as ready before the nodes forming the
-    # control plane are ready
-    local -r replicas=$(kubectl -n ${SITE_NAMESPACE} get kubeadmcontrolplane icn -o jsonpath='{.spec.replicas}')
-    [[ $(kubectl --kubeconfig=${BUILDDIR}/icn-admin.conf get nodes -l node-role.kubernetes.io/control-plane -o jsonpath='{range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}{end}' | grep -c True) == ${replicas} ]]
-}
-
-function wait_for_all_ready {
-    WAIT_FOR_INTERVAL=60s
-    WAIT_FOR_TRIES=30
-    wait_for is_cluster_ready
-    clusterctl -n ${SITE_NAMESPACE} get kubeconfig icn >${BUILDDIR}/icn-admin.conf
-    chmod 600 ${BUILDDIR}/icn-admin.conf
-    wait_for is_control_plane_ready
-}
-
-function is_cluster_deleted {
-    ! kubectl -n ${SITE_NAMESPACE} get cluster icn
-}
-
-function wait_for_all_deleted {
-    WAIT_FOR_INTERVAL=60s
-    WAIT_FOR_TRIES=30
-    wait_for is_cluster_deleted
-}
+SITE_PATH=${SITE_PATH:-"deploy/site/pod11/deployment"}
 
 case $1 in
-    "build-source") build_source ;;
-    "clean") clean ;;
-    "deploy") deploy ;;
-    "wait") wait_for_all_ready ;;
-    "wait-clean") wait_for_all_deleted ;;
+    "clean") site_clean ;;
+    "deploy")
+       # TODO Replace ICN test key, $FLUX_SOPS_PRIVATE_KEY, with real key
+       site_deploy ;;
+    "wait") site_wait_for_all_ready ;;
+    "wait-clean") site_wait_for_all_deleted ;;
     *) cat <<EOF
 Usage: $(basename $0) COMMAND
 
 Commands:
-  build-source  - Rebuild the in-tree site files
   clean         - Remove the site
   deploy        - Deploy the site
   wait          - Wait for the site to be ready
+  wait-clean    - Wait for the site to be removed
 EOF
        ;;
 esac
diff --git a/deploy/site/pod11/site.yaml b/deploy/site/pod11/site.yaml
deleted file mode 100644 (file)
index 1c20b9e..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-apiVersion: source.toolkit.fluxcd.io/v1beta1
-kind: GitRepository
-metadata:
-    name: icn
-spec:
-    gitImplementation: go-git
-    interval: 1m0s
-    ref:
-        branch: master
-    timeout: 20s
-    url: https://gerrit.akraino.org/r/icn
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:53Z"
-    mac: ENC[AES256_GCM,data:gainDOri2c7521RO8yFaKFrbU5zRcR21YFman6FRUuZDLLW+1Vnk1bbNeNvma8ThWi8dUut8/TLAw/VRY8jMVkHgVuj1jPjj9dQTS4EBxnPm6phalUhu3ofHQEIAoPHxV8TM7PjwyhagBeR3X6eqpD2JBOkRTpJlA0Eh/43fVHU=,iv:CqFDQ1RwKppYXUzIqviIDZH3tY4T+PchVxDsRdt57hA=,tag:g4qOTaekqrTVJCxCx/MnDQ==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:52Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ/+Las179OKIBTEmV9EG+cErA0Ad4LNS18SbX7VCvYtKrfB
-            tJiZnNMAuAa1SOw/v08aQhsIPX1PxdHyU/xT2ZB02iO9sNgYp2X6Ba0sgIdP3UAB
-            hWP1bssl/NaEwmeUpjMyDr7doCdahauCf4/kk6oDAIhujlX54jrXOG0x+3ljZhcx
-            NrjIixLZGok7U1s9A5Xn6DkMSByQPfam62uVYNUs8yicDCT+7WpTqwGUCBwol4FL
-            QtP9l9ji5zuZ++R9EELeH1Y4nCTT2Af5ttzdKashByv2woApCTl6uttZxaHKg0eZ
-            BsoQvC++lSKAiqt0Sf4lHh259zd0mEou3F3tIzgLdhqBLr8Tu56Gyut1yd2DJ6I2
-            +Ccp8Y2OQaxITi6wRF2/kVRQmqd3Stco8+7dhX4tdNadzFVHOGeTYT41Yy+aQKst
-            u7gqOPYUmhbq3RFORBqAX39qYjykcqD2GK07wG1aoLh1yx4fpB1rYqb4pozjlPm4
-            lFMevHTiL9aDyybCTtwXqrNtWu2GnX+m9EuSzN3oR3eZEa9qbKZEGHOz5JUMWwd2
-            x1V21LbGf+KRyl1V9qGMNeh1sLuXTLw1m4QAkXAvYIzMdXoB/sXOKdkteNgPlL73
-            ABYzBoGKm9W1ZRaLAviJKe+zEu/eWRF2wR+Vzli73myQQ/jiTL7sJ7WMGQVehR7S
-            XgFvbx196oJCGUBIAvE7RMdHAL/acihJh/a9FzDsoCFv8VCNYmzgCoI+vohgJd9x
-            GT0iS8MoED3lz7z3OoxOq9KJ0faduO6rBtvC1tFIgiXVpIUvCtZpgIAnlTK9jzQ=
-            =EZHS
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-    name: pod11-node2
-spec:
-    interval: 5m
-    chart:
-        spec:
-            chart: deploy/machine
-            sourceRef:
-                kind: GitRepository
-                name: icn
-            interval: 1m
-    values:
-        machineName: pod11-node2
-        machineLabels:
-            machine: pod11-node2
-        bmcAddress: ipmi://10.10.110.12
-        bmcUsername: root
-        bmcPassword: ENC[AES256_GCM,data:4O82JQ==,iv:FMaNZw/ysbl4F1YxSXolfk5poltli9aDcbWDakWGCN4=,tag:9siLRuRb4BLgRdaHPc1jAg==,type:str]
-        networks:
-            baremetal:
-                macAddress: 00:1e:67:fe:f4:19
-                type: ipv4
-                ipAddress: 10.10.110.22/24
-                gateway: 10.10.110.1
-                nameservers:
-                    - 8.8.8.8
-            provisioning:
-                macAddress: 00:1e:67:fe:f4:1a
-                type: ipv4_dhcp
-            sriov:
-                macAddress: 00:1e:67:f8:6a:41
-                type: ipv4
-                ipAddress: 10.10.113.3/24
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:53Z"
-    mac: ENC[AES256_GCM,data:gainDOri2c7521RO8yFaKFrbU5zRcR21YFman6FRUuZDLLW+1Vnk1bbNeNvma8ThWi8dUut8/TLAw/VRY8jMVkHgVuj1jPjj9dQTS4EBxnPm6phalUhu3ofHQEIAoPHxV8TM7PjwyhagBeR3X6eqpD2JBOkRTpJlA0Eh/43fVHU=,iv:CqFDQ1RwKppYXUzIqviIDZH3tY4T+PchVxDsRdt57hA=,tag:g4qOTaekqrTVJCxCx/MnDQ==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:52Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ/+Las179OKIBTEmV9EG+cErA0Ad4LNS18SbX7VCvYtKrfB
-            tJiZnNMAuAa1SOw/v08aQhsIPX1PxdHyU/xT2ZB02iO9sNgYp2X6Ba0sgIdP3UAB
-            hWP1bssl/NaEwmeUpjMyDr7doCdahauCf4/kk6oDAIhujlX54jrXOG0x+3ljZhcx
-            NrjIixLZGok7U1s9A5Xn6DkMSByQPfam62uVYNUs8yicDCT+7WpTqwGUCBwol4FL
-            QtP9l9ji5zuZ++R9EELeH1Y4nCTT2Af5ttzdKashByv2woApCTl6uttZxaHKg0eZ
-            BsoQvC++lSKAiqt0Sf4lHh259zd0mEou3F3tIzgLdhqBLr8Tu56Gyut1yd2DJ6I2
-            +Ccp8Y2OQaxITi6wRF2/kVRQmqd3Stco8+7dhX4tdNadzFVHOGeTYT41Yy+aQKst
-            u7gqOPYUmhbq3RFORBqAX39qYjykcqD2GK07wG1aoLh1yx4fpB1rYqb4pozjlPm4
-            lFMevHTiL9aDyybCTtwXqrNtWu2GnX+m9EuSzN3oR3eZEa9qbKZEGHOz5JUMWwd2
-            x1V21LbGf+KRyl1V9qGMNeh1sLuXTLw1m4QAkXAvYIzMdXoB/sXOKdkteNgPlL73
-            ABYzBoGKm9W1ZRaLAviJKe+zEu/eWRF2wR+Vzli73myQQ/jiTL7sJ7WMGQVehR7S
-            XgFvbx196oJCGUBIAvE7RMdHAL/acihJh/a9FzDsoCFv8VCNYmzgCoI+vohgJd9x
-            GT0iS8MoED3lz7z3OoxOq9KJ0faduO6rBtvC1tFIgiXVpIUvCtZpgIAnlTK9jzQ=
-            =EZHS
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-    name: pod11-node3
-spec:
-    interval: 5m
-    chart:
-        spec:
-            chart: deploy/machine
-            sourceRef:
-                kind: GitRepository
-                name: icn
-            interval: 1m
-    values:
-        machineName: pod11-node3
-        machineLabels:
-            machine: pod11-node3
-        bmcAddress: ipmi://10.10.110.13
-        bmcUsername: root
-        bmcPassword: ENC[AES256_GCM,data:qhjE8g==,iv:uDi3FSIGaE2bMlJZxiCguwdOZROg190ifxHXlpOUA3g=,tag:NoygAa0Lq7wwSbD/iDr7lA==,type:str]
-        networks:
-            baremetal:
-                macAddress: 00:1e:67:f1:5b:90
-                type: ipv4
-                ipAddress: 10.10.110.23/24
-                gateway: 10.10.110.1
-                nameservers:
-                    - 8.8.8.8
-            provisioning:
-                macAddress: 00:1e:67:f1:5b:91
-                type: ipv4_dhcp
-            sriov:
-                macAddress: 00:1e:67:f8:69:81
-                type: ipv4
-                ipAddress: 10.10.113.4/24
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:53Z"
-    mac: ENC[AES256_GCM,data:gainDOri2c7521RO8yFaKFrbU5zRcR21YFman6FRUuZDLLW+1Vnk1bbNeNvma8ThWi8dUut8/TLAw/VRY8jMVkHgVuj1jPjj9dQTS4EBxnPm6phalUhu3ofHQEIAoPHxV8TM7PjwyhagBeR3X6eqpD2JBOkRTpJlA0Eh/43fVHU=,iv:CqFDQ1RwKppYXUzIqviIDZH3tY4T+PchVxDsRdt57hA=,tag:g4qOTaekqrTVJCxCx/MnDQ==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:52Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ/+Las179OKIBTEmV9EG+cErA0Ad4LNS18SbX7VCvYtKrfB
-            tJiZnNMAuAa1SOw/v08aQhsIPX1PxdHyU/xT2ZB02iO9sNgYp2X6Ba0sgIdP3UAB
-            hWP1bssl/NaEwmeUpjMyDr7doCdahauCf4/kk6oDAIhujlX54jrXOG0x+3ljZhcx
-            NrjIixLZGok7U1s9A5Xn6DkMSByQPfam62uVYNUs8yicDCT+7WpTqwGUCBwol4FL
-            QtP9l9ji5zuZ++R9EELeH1Y4nCTT2Af5ttzdKashByv2woApCTl6uttZxaHKg0eZ
-            BsoQvC++lSKAiqt0Sf4lHh259zd0mEou3F3tIzgLdhqBLr8Tu56Gyut1yd2DJ6I2
-            +Ccp8Y2OQaxITi6wRF2/kVRQmqd3Stco8+7dhX4tdNadzFVHOGeTYT41Yy+aQKst
-            u7gqOPYUmhbq3RFORBqAX39qYjykcqD2GK07wG1aoLh1yx4fpB1rYqb4pozjlPm4
-            lFMevHTiL9aDyybCTtwXqrNtWu2GnX+m9EuSzN3oR3eZEa9qbKZEGHOz5JUMWwd2
-            x1V21LbGf+KRyl1V9qGMNeh1sLuXTLw1m4QAkXAvYIzMdXoB/sXOKdkteNgPlL73
-            ABYzBoGKm9W1ZRaLAviJKe+zEu/eWRF2wR+Vzli73myQQ/jiTL7sJ7WMGQVehR7S
-            XgFvbx196oJCGUBIAvE7RMdHAL/acihJh/a9FzDsoCFv8VCNYmzgCoI+vohgJd9x
-            GT0iS8MoED3lz7z3OoxOq9KJ0faduO6rBtvC1tFIgiXVpIUvCtZpgIAnlTK9jzQ=
-            =EZHS
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-    name: cluster-icn
-spec:
-    interval: 5m
-    chart:
-        spec:
-            chart: deploy/cluster
-            sourceRef:
-                kind: GitRepository
-                name: icn
-            interval: 1m
-    values:
-        clusterName: icn
-        clusterLabels:
-            site: pod11
-        controlPlaneEndpoint: 10.10.110.23
-        controlPlaneHostSelector:
-            matchLabels:
-                machine: pod11-node3
-        workersHostSelector:
-            matchLabels:
-                machine: pod11-node2
-        userData:
-            hashedPassword: ENC[AES256_GCM,data:h50rc6TI8lD0SQ/lmDM2LF7wHsyPYX9K1Vils1hxYwTjfyxVVLuN9AE7p4sUtrl0pmL8R/bI3/OZGrFI+KI0FuSVBULD7DDneQMe6o5jI0WzKotWMH1xLqYaGUCLWp5OjJsu8iJ8+6ppqvrAhB6SvuDaUgPL,iv:XVCSjWhp4Fc5aii7BG4huUv2F6OBAbxjKz0gZa+rC54=,tag:ScWEU86Q/wlZyX0Zi4JiSA==,type:str]
-            sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwLj/ekRDjp354W8kcGLagjudjTBZO8qBffJ4mNb01EJueUbLvM8EwCv2zu9lFKHD+nGkc1fkB3RyCn5OqzQDTAIpp82nOHXtrbKAZPg2ob8BlfVAz34h5r1bG78lnMH1xk7HKNbf73h9yzUEKiyrd8DlhJcJrsOZTPuTdRrIm7jxScDJpHFjy8tGISNMcnBGrNS9ukaRLK+PiEfDpuRtw/gOEf58NXgu38BcNm4tYfacHYuZFUbNCqj9gKi3btZawgybICcqrNqF36E/XXMfCS1qxZ7j9xfKjxWFgD9gW/HkRtV6K11NZFEvaYBFBA9S/GhLtk9aY+EsztABthE0J root@pod11-node5
-        flux:
-            url: https://gerrit.akraino.org/r/icn
-            branch: master
-            path: ./deploy/site/cluster-icn
-            decryptionSecret: ENC[AES256_GCM,data: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,iv:/DIwb8ASzQcmOoPSF48syf683RZkOrAXW57+3fLieS4=,tag:cmyiBDyxMcy5hx8lOuHxeA==,type:str]
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:53Z"
-    mac: ENC[AES256_GCM,data:gainDOri2c7521RO8yFaKFrbU5zRcR21YFman6FRUuZDLLW+1Vnk1bbNeNvma8ThWi8dUut8/TLAw/VRY8jMVkHgVuj1jPjj9dQTS4EBxnPm6phalUhu3ofHQEIAoPHxV8TM7PjwyhagBeR3X6eqpD2JBOkRTpJlA0Eh/43fVHU=,iv:CqFDQ1RwKppYXUzIqviIDZH3tY4T+PchVxDsRdt57hA=,tag:g4qOTaekqrTVJCxCx/MnDQ==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:52Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ/+Las179OKIBTEmV9EG+cErA0Ad4LNS18SbX7VCvYtKrfB
-            tJiZnNMAuAa1SOw/v08aQhsIPX1PxdHyU/xT2ZB02iO9sNgYp2X6Ba0sgIdP3UAB
-            hWP1bssl/NaEwmeUpjMyDr7doCdahauCf4/kk6oDAIhujlX54jrXOG0x+3ljZhcx
-            NrjIixLZGok7U1s9A5Xn6DkMSByQPfam62uVYNUs8yicDCT+7WpTqwGUCBwol4FL
-            QtP9l9ji5zuZ++R9EELeH1Y4nCTT2Af5ttzdKashByv2woApCTl6uttZxaHKg0eZ
-            BsoQvC++lSKAiqt0Sf4lHh259zd0mEou3F3tIzgLdhqBLr8Tu56Gyut1yd2DJ6I2
-            +Ccp8Y2OQaxITi6wRF2/kVRQmqd3Stco8+7dhX4tdNadzFVHOGeTYT41Yy+aQKst
-            u7gqOPYUmhbq3RFORBqAX39qYjykcqD2GK07wG1aoLh1yx4fpB1rYqb4pozjlPm4
-            lFMevHTiL9aDyybCTtwXqrNtWu2GnX+m9EuSzN3oR3eZEa9qbKZEGHOz5JUMWwd2
-            x1V21LbGf+KRyl1V9qGMNeh1sLuXTLw1m4QAkXAvYIzMdXoB/sXOKdkteNgPlL73
-            ABYzBoGKm9W1ZRaLAviJKe+zEu/eWRF2wR+Vzli73myQQ/jiTL7sJ7WMGQVehR7S
-            XgFvbx196oJCGUBIAvE7RMdHAL/acihJh/a9FzDsoCFv8VCNYmzgCoI+vohgJd9x
-            GT0iS8MoED3lz7z3OoxOq9KJ0faduO6rBtvC1tFIgiXVpIUvCtZpgIAnlTK9jzQ=
-            =EZHS
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
diff --git a/deploy/site/secrets/certs/pod11/icn/ca-cert.pem b/deploy/site/secrets/certs/pod11/icn/ca-cert.pem
new file mode 100644 (file)
index 0000000..cf1be9f
--- /dev/null
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFajCCA1KgAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvkwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODE5MjcxMloXDTI0MDMwNzE5MjcxMlowRzEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTEMMAoG
+A1UEBwwDaWNuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnM+1Os92
+tDlXlUTSZmQ9hY8bDC2sKHe+YTWjhs50rXUN2sthTqUtA9+gAfE0vPrVm/e+OHJF
+AWD4H4bCp6NKyYZC0D+/zRiGdyYBkhlQ7IQj75A2SFF52gH0CrWPPNNV49mI8YJp
+/cVig05KGIpykLfgP2QbWQfVuaFOOL4do0OweAZe0Csa9WI5lChPycHCgjUzPGII
+XgHKnePXtexdwmCSYncgITQBiBa+9Q1C/nWFAgbo6sRAxZKY9IiW3ZvMsYxhnD3u
+3h4llbDkeRaBrhjUHF8KhKhYN+jsuIjBBoWK1r6b4E1o0K3X1E2fEqQ5uwU3bKWy
+XqgL7S5qI0xjDBm1j6jSoPW0jvqI89RRaWKFkjsVs0ubDxd/IAR0bn4YHJEQRRk1
+O3xmxV6jiufU1YKYuyPLqV1RZw53Z2asMMHzmmttNVTbiwvrDuwz9h6FwmqTmC66
+MiMieEwmUvz3N+CB7uVJ5rN9coBAuoHdFDVMFtHNlkjgxqJ5Utz4kVU05AyNR5tZ
+oTFlfgGjz/NRHri9nLkIHZwFwqJwbWW8XbXXZb8alLNkY0bzt7gwU70rARCm5xE6
+nYHBLnYCzLr0hliZ6DGamY/lXPfTGDp+QNxpbFJ9qN1aCKahNWsrvPhgl9zx7AKQ
+1jMr1O+0oIokTWBoK2VBXeRUViFlETYweBUCAwEAAaNpMGcwHQYDVR0OBBYEFBMN
+2feOkNU+YS9QgoxJ0n+GmomCMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/
+BAQDAgLkMCIGA1UdEQQbMBmCF2lzdGlvZC5pc3Rpby1zeXN0ZW0uc3ZjMA0GCSqG
+SIb3DQEBCwUAA4ICAQAPJpvQuRz6xXn8aXxoP3i/B0FtAhuhw94+MZEukCGVcTZI
++3HACdQbMvHZoiCuq9Al4rXZfCXJGY0gpPcVAS1mZ76XMIOhABCj7xfJFeXQGkbs
+CdvJyigd6LGXA+MO9ZXZ8uPHzOHNXTp2SGZpM4286KJ0Wz4d+i7I1IRxwAYuJ7PD
+UJ7w1FffwMZD/pVOZDnPADmcqAg3eLvyKaad974x/SJDl66mQaDfP7VyGgwDOM3r
+7YETQuq2J1c3JMRxwjTrNJ5/EPbLLQuxllKG5HFfRK7i9Pzwn444wDE06Y104weD
+nXRxNzC93CTcEfwDA61ALqLmjZo/3S78rJ0IPckdD35LeJ5m4HyXPSxZ89r9Lwln
+kcmW3NXY2E1gdAOAxQ29pl3PhvFXzzQH3SlWqLCs+lBvYgdc/mUyD5OrIYmMz28F
+hxQFb1FR3Ch30w0/gMViiws7HiM7I33w45AuXaJDn6AyB3vdwNLNZLpSMt1ayRLs
+pfvR3h5HUyLh7lmC7mAN6lsRgw0g0KfbSJcSEKTLb3kxRt6L4PJRO20mkr9lDxU9
+kUWpSFx2opMgTsjCpjm3gz/N0aB0dM43R8GVWE38dDSDTekQq15EAnXNv4WVBJmY
+bDusEJUKzcxD1VryGtnKXzdapzN6fTlNK6NXr33yEIEWJ3xavYug2i3oAfBZIQ==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/pod11/icn/ca-key.pem b/deploy/site/secrets/certs/pod11/icn/ca-key.pem
new file mode 100644 (file)
index 0000000..89d983d
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/deploy/site/secrets/certs/pod11/icn/cert-chain.pem b/deploy/site/secrets/certs/pod11/icn/cert-chain.pem
new file mode 100644 (file)
index 0000000..aa70aaa
--- /dev/null
@@ -0,0 +1,61 @@
+-----BEGIN CERTIFICATE-----
+MIIFajCCA1KgAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvkwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODE5MjcxMloXDTI0MDMwNzE5MjcxMlowRzEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTEMMAoG
+A1UEBwwDaWNuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnM+1Os92
+tDlXlUTSZmQ9hY8bDC2sKHe+YTWjhs50rXUN2sthTqUtA9+gAfE0vPrVm/e+OHJF
+AWD4H4bCp6NKyYZC0D+/zRiGdyYBkhlQ7IQj75A2SFF52gH0CrWPPNNV49mI8YJp
+/cVig05KGIpykLfgP2QbWQfVuaFOOL4do0OweAZe0Csa9WI5lChPycHCgjUzPGII
+XgHKnePXtexdwmCSYncgITQBiBa+9Q1C/nWFAgbo6sRAxZKY9IiW3ZvMsYxhnD3u
+3h4llbDkeRaBrhjUHF8KhKhYN+jsuIjBBoWK1r6b4E1o0K3X1E2fEqQ5uwU3bKWy
+XqgL7S5qI0xjDBm1j6jSoPW0jvqI89RRaWKFkjsVs0ubDxd/IAR0bn4YHJEQRRk1
+O3xmxV6jiufU1YKYuyPLqV1RZw53Z2asMMHzmmttNVTbiwvrDuwz9h6FwmqTmC66
+MiMieEwmUvz3N+CB7uVJ5rN9coBAuoHdFDVMFtHNlkjgxqJ5Utz4kVU05AyNR5tZ
+oTFlfgGjz/NRHri9nLkIHZwFwqJwbWW8XbXXZb8alLNkY0bzt7gwU70rARCm5xE6
+nYHBLnYCzLr0hliZ6DGamY/lXPfTGDp+QNxpbFJ9qN1aCKahNWsrvPhgl9zx7AKQ
+1jMr1O+0oIokTWBoK2VBXeRUViFlETYweBUCAwEAAaNpMGcwHQYDVR0OBBYEFBMN
+2feOkNU+YS9QgoxJ0n+GmomCMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/
+BAQDAgLkMCIGA1UdEQQbMBmCF2lzdGlvZC5pc3Rpby1zeXN0ZW0uc3ZjMA0GCSqG
+SIb3DQEBCwUAA4ICAQAPJpvQuRz6xXn8aXxoP3i/B0FtAhuhw94+MZEukCGVcTZI
++3HACdQbMvHZoiCuq9Al4rXZfCXJGY0gpPcVAS1mZ76XMIOhABCj7xfJFeXQGkbs
+CdvJyigd6LGXA+MO9ZXZ8uPHzOHNXTp2SGZpM4286KJ0Wz4d+i7I1IRxwAYuJ7PD
+UJ7w1FffwMZD/pVOZDnPADmcqAg3eLvyKaad974x/SJDl66mQaDfP7VyGgwDOM3r
+7YETQuq2J1c3JMRxwjTrNJ5/EPbLLQuxllKG5HFfRK7i9Pzwn444wDE06Y104weD
+nXRxNzC93CTcEfwDA61ALqLmjZo/3S78rJ0IPckdD35LeJ5m4HyXPSxZ89r9Lwln
+kcmW3NXY2E1gdAOAxQ29pl3PhvFXzzQH3SlWqLCs+lBvYgdc/mUyD5OrIYmMz28F
+hxQFb1FR3Ch30w0/gMViiws7HiM7I33w45AuXaJDn6AyB3vdwNLNZLpSMt1ayRLs
+pfvR3h5HUyLh7lmC7mAN6lsRgw0g0KfbSJcSEKTLb3kxRt6L4PJRO20mkr9lDxU9
+kUWpSFx2opMgTsjCpjm3gz/N0aB0dM43R8GVWE38dDSDTekQq15EAnXNv4WVBJmY
+bDusEJUKzcxD1VryGtnKXzdapzN6fTlNK6NXr33yEIEWJ3xavYug2i3oAfBZIQ==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/pod11/icn/root-cert.pem b/deploy/site/secrets/certs/pod11/icn/root-cert.pem
new file mode 100644 (file)
index 0000000..dbbb4fe
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/root-ca.conf b/deploy/site/secrets/certs/root-ca.conf
new file mode 100644 (file)
index 0000000..53b69b5
--- /dev/null
@@ -0,0 +1,16 @@
+[ req ]
+encrypt_key = no
+prompt = no
+utf8 = yes
+default_md = sha256
+default_bits = 4096
+req_extensions = req_ext
+x509_extensions = req_ext
+distinguished_name = req_dn
+[ req_ext ]
+subjectKeyIdentifier = hash
+basicConstraints = critical, CA:true
+keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment, keyCertSign
+[ req_dn ]
+O = project-emco.io
+CN = Root CA
diff --git a/deploy/site/secrets/certs/root-cert.csr b/deploy/site/secrets/certs/root-cert.csr
new file mode 100644 (file)
index 0000000..89ce28f
--- /dev/null
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIEwjCCAqoCAQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQD
+DAdSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4ahtOq/x
+JaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe0QplSFE5ZpV7Rej/3Sfa2TqPkrl7
+doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIGbTr9pyXTSHagjWEX7dIJo85xOyO2
+Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoKxKp7SAlt/LMag3cMU3hjVjEdnXCn
+dZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3poaMV85dmnvPUDkLT+jb6+m4m8UE
++f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCSJlMhwxO3eFR8A3tvqgKD7ID/i+iU
+R9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5dj1s31zwSByqh0mKxE+c9wiVk5im
+l2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdptRoDYpJSTOIuDRMHajYjLQZih0c+/
++OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENwj3FaqSuDvb8KrWrXvUXbI1z7TPlp
+srNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8IbWAECghBA4GT25vn2YT2prISwCbO
+Y/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJOo+npMKlqCkuo+waxdzWbUH5y1pB
+wXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUCAwEAAaBRME8GCSqGSIb3DQEJDjFC
+MEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB/wQFMAMB
+Af8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCTsYVR5rTLXPa0
+utWLHvunQWLrhTbzxEdaThGLiqWdejpuBF/UCmpM8xhFwk9EIppOW2MjapHvhZHT
+iW/Gl41QUiKoIiD4ugM7WgMrOUZOBUxJaJWBvNADbka1amtXWNKbmmXs6Vmj39Qu
++btw1DGr8c9baYFivi9A+skd5GbLi4e0LQaNkipQyIDGsTtBcdm6vN3WNWt7uVam
+QPob65UT2Q3+hPHAgPOphsjtqk6NKKXfE/cCqV4LCMkwtn6KxiEBk2dqjjBiICrr
+z//XRog7z9b/HZIoBBLPIi2D1apF7Y/+D7NhAQyrdEAs+bPLGJh9yf7MVYsxtFMe
+OdVVV9ZMIg9gSIX51nsIyOR3hh2h8bRJkJ1pBE5qNRtnzx+yiP/UMqRnt4GxRoKw
+tVHcRZuCAJMuiUUWvm2FY2CWFD7RGeeccQq1RgoqCWHXF/ZQU+exRszYuJdqK7cx
+QJwEMEdnfZOgPWyhX14ya6zSGpCpJOO+2Rr0Lis+VFPlqiUoT5x0EiLkFJ9r9bQ1
+eqhJzchO3kHdOCUqjtlVANF60K75Omw7IrBfIqoGQTXVkyuRh6E4PFOWr12a/B16
+A3waFnXlofaDkCpumzqj2syUOuex45oYZUEl8iQ6dY/v20tUUw9G8nd2PnHsmG41
+QSiv9SzYy0MjeZKuY3LLtytUW6KyFw==
+-----END CERTIFICATE REQUEST-----
diff --git a/deploy/site/secrets/certs/root-cert.pem b/deploy/site/secrets/certs/root-cert.pem
new file mode 100644 (file)
index 0000000..dbbb4fe
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/root-cert.srl b/deploy/site/secrets/certs/root-cert.srl
new file mode 100644 (file)
index 0000000..5e97a6f
--- /dev/null
@@ -0,0 +1 @@
+6709C6BF7794CC1F1C61E23A88B942ADAF1B02FC
diff --git a/deploy/site/secrets/certs/root-key.pem b/deploy/site/secrets/certs/root-key.pem
new file mode 100644 (file)
index 0000000..1fe463a
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/deploy/site/secrets/certs/vm-mc/compute/ca-cert.pem b/deploy/site/secrets/certs/vm-mc/compute/ca-cert.pem
new file mode 100644 (file)
index 0000000..205bf9f
--- /dev/null
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFbjCCA1agAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvswDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODIyMDUwNFoXDTI0MDMwNzIyMDUwNFowSzEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTEQMA4G
+A1UEBwwHY29tcHV0ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMV6
+mu2Tn77MWkpfPVvGx7nNsUHHfGiETkWs5ZPo8T8bt7bRmzperdi2eCOPWV2yx66i
+bS17aBKkVfe3L5X4CGgMNPSzRFXoQDZxesJ2FYc1kyQNUlYsnQlhIDceu7vVIJ9Z
+6dsykmlVzpHwgJnro3fEH/eE5/WkQ5gz7MegjAp3vbvqKK/1pJOxD+4IuDA5sn3B
+WdyVhjDyDWe+JXeAChzVzz9IWRtyzELr6p3s7kikRKlbLoQJMPCF/pejiCTdEEXW
+ba/z0l45Y4feYVp45hYq0n9jr01asYDwpkol8EpyVoxEuIHUhPuUFkfE8xe4XRC7
+AfF/jtZyLzrQGHwGGw6/LyJgoqovZelXTBSYXb3WRxcrTDKmREPpl7j3Mgig6D6M
+bUsC31jfKnNsiVxLhbqiJdC+yYKytGtFhf2Ag511QWuUpl6GFKsI4FtCARlqSRtY
+q2hM1mjGGASSxzo01opP+Smjgq6jqX8zbP++yrsV2eWi647czGsw92wliEMV/yef
+OHEIGuTW/L8HzDYYlb0RUcYg+peCY4TIiqN3hk6Ehg9NVD5KJ2/e53ZnUwDhPR65
+D55KkCOGhq/vunbCg5Q2hs+OXP60IDYHPubDreXdR6cP9asl0udXwVO+3+kczIhU
+f/MPs8L4YKaevIAHvhNMSVcCFqoOQ1Z+Agezp9OLAgMBAAGjaTBnMB0GA1UdDgQW
+BBSLoME2td0DZfLAn9LuY4m0JHF2UTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud
+DwEB/wQEAwIC5DAiBgNVHREEGzAZghdpc3Rpb2QuaXN0aW8tc3lzdGVtLnN2YzAN
+BgkqhkiG9w0BAQsFAAOCAgEAg9HmiFuwESN3FkDmAyqQdoqO2Al/RlVP+uVLouMZ
+foKKL17Z1QB5yAJjwdzrsyBpfRrdd1NTMuC9BZ0t39PsEvNSOt8z1MldDoXpZBhY
+NwU6gmAddpsKBcEGj09cbN68/u0zFSSu9pSJIU3YhvHnEQ+6Q29ojFyn1tzuFEuY
+Vb5nUTb3gCtohK1Ny5NeflBOBOv1s4SGFA+sVqyu+A4lvbBhuvKkGC4Z6WfYerGa
+3cDr2WwUlXHOyXF932TIenHZQt10JVkAu1fmGlbSWrS6/+RCGAhQVL2wOc+WYPQI
+c5wwswMvCuKNijwijUwQDgCgAow6nWL0kgYljcR7n/hPqGWcoYqoVqvP+/ZVB4R7
+ObpzR2M1SVkCF+mRoVQd7cbQacMZ0HOIVWf7Axwf9+TeE3a+JvODBtV25w7ezT2F
+yT6jaeXYR6EX8YjTrFRef93m1pNlqlcoIQTDj29Z/pnyTDVijZRiEK5BuAigvnl2
+jFvX/YiLeRPYvjU2d3PSY/rZqbBAznbliDGEJ3CscbmZhYMCnhq5QvEMH7iDUtec
+YsHfiKQUOj9PefeG7Cpkn6oEfRwKT+dgGEJcdfo+I/8LJpjWvCakr8iFxrpdm1Nd
+82qxzPYdkZ456vwMBMEawzIC/qjG5Zvz+g8Q/Nyr6PYo5AFY1zBdz0QAofyvtEsU
+hhM=
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm-mc/compute/ca-key.pem b/deploy/site/secrets/certs/vm-mc/compute/ca-key.pem
new file mode 100644 (file)
index 0000000..4a02f92
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/deploy/site/secrets/certs/vm-mc/compute/cert-chain.pem b/deploy/site/secrets/certs/vm-mc/compute/cert-chain.pem
new file mode 100644 (file)
index 0000000..bb95f71
--- /dev/null
@@ -0,0 +1,62 @@
+-----BEGIN CERTIFICATE-----
+MIIFbjCCA1agAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvswDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODIyMDUwNFoXDTI0MDMwNzIyMDUwNFowSzEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTEQMA4G
+A1UEBwwHY29tcHV0ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMV6
+mu2Tn77MWkpfPVvGx7nNsUHHfGiETkWs5ZPo8T8bt7bRmzperdi2eCOPWV2yx66i
+bS17aBKkVfe3L5X4CGgMNPSzRFXoQDZxesJ2FYc1kyQNUlYsnQlhIDceu7vVIJ9Z
+6dsykmlVzpHwgJnro3fEH/eE5/WkQ5gz7MegjAp3vbvqKK/1pJOxD+4IuDA5sn3B
+WdyVhjDyDWe+JXeAChzVzz9IWRtyzELr6p3s7kikRKlbLoQJMPCF/pejiCTdEEXW
+ba/z0l45Y4feYVp45hYq0n9jr01asYDwpkol8EpyVoxEuIHUhPuUFkfE8xe4XRC7
+AfF/jtZyLzrQGHwGGw6/LyJgoqovZelXTBSYXb3WRxcrTDKmREPpl7j3Mgig6D6M
+bUsC31jfKnNsiVxLhbqiJdC+yYKytGtFhf2Ag511QWuUpl6GFKsI4FtCARlqSRtY
+q2hM1mjGGASSxzo01opP+Smjgq6jqX8zbP++yrsV2eWi647czGsw92wliEMV/yef
+OHEIGuTW/L8HzDYYlb0RUcYg+peCY4TIiqN3hk6Ehg9NVD5KJ2/e53ZnUwDhPR65
+D55KkCOGhq/vunbCg5Q2hs+OXP60IDYHPubDreXdR6cP9asl0udXwVO+3+kczIhU
+f/MPs8L4YKaevIAHvhNMSVcCFqoOQ1Z+Agezp9OLAgMBAAGjaTBnMB0GA1UdDgQW
+BBSLoME2td0DZfLAn9LuY4m0JHF2UTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud
+DwEB/wQEAwIC5DAiBgNVHREEGzAZghdpc3Rpb2QuaXN0aW8tc3lzdGVtLnN2YzAN
+BgkqhkiG9w0BAQsFAAOCAgEAg9HmiFuwESN3FkDmAyqQdoqO2Al/RlVP+uVLouMZ
+foKKL17Z1QB5yAJjwdzrsyBpfRrdd1NTMuC9BZ0t39PsEvNSOt8z1MldDoXpZBhY
+NwU6gmAddpsKBcEGj09cbN68/u0zFSSu9pSJIU3YhvHnEQ+6Q29ojFyn1tzuFEuY
+Vb5nUTb3gCtohK1Ny5NeflBOBOv1s4SGFA+sVqyu+A4lvbBhuvKkGC4Z6WfYerGa
+3cDr2WwUlXHOyXF932TIenHZQt10JVkAu1fmGlbSWrS6/+RCGAhQVL2wOc+WYPQI
+c5wwswMvCuKNijwijUwQDgCgAow6nWL0kgYljcR7n/hPqGWcoYqoVqvP+/ZVB4R7
+ObpzR2M1SVkCF+mRoVQd7cbQacMZ0HOIVWf7Axwf9+TeE3a+JvODBtV25w7ezT2F
+yT6jaeXYR6EX8YjTrFRef93m1pNlqlcoIQTDj29Z/pnyTDVijZRiEK5BuAigvnl2
+jFvX/YiLeRPYvjU2d3PSY/rZqbBAznbliDGEJ3CscbmZhYMCnhq5QvEMH7iDUtec
+YsHfiKQUOj9PefeG7Cpkn6oEfRwKT+dgGEJcdfo+I/8LJpjWvCakr8iFxrpdm1Nd
+82qxzPYdkZ456vwMBMEawzIC/qjG5Zvz+g8Q/Nyr6PYo5AFY1zBdz0QAofyvtEsU
+hhM=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm-mc/compute/root-cert.pem b/deploy/site/secrets/certs/vm-mc/compute/root-cert.pem
new file mode 100644 (file)
index 0000000..dbbb4fe
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm-mc/management/ca-cert.pem b/deploy/site/secrets/certs/vm-mc/management/ca-cert.pem
new file mode 100644 (file)
index 0000000..5a87ee8
--- /dev/null
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFcTCCA1mgAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvwwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODIyMDUwNVoXDTI0MDMwNzIyMDUwNVowTjEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTETMBEG
+A1UEBwwKbWFuYWdlbWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+ANAiVG39SNRzGInbgJQBI/myVPHtQSuhJBc22VCjb3O99joFBZXTFksVFP4TI++Q
+J7DDV2a0L7VxAJlbt5hzeaozbSNCNSMFxjELvl4ZHu9LHlggSOduQwGRCM7s9hI1
+d2tH840GhdK7XAuPvscJIwiFSMZM7HJYBq9jv3zDWIQN5YiSXP4VLVKN6+sgFUTR
+nc91xJfpnfk9mehcPR4uSe9m1/BkDUwMpCU0FhbL778VCQfzkcyHMRnz0mO6vt1E
+XHRfMFELVyYT8I4cGaZAVv0HM7RCq2e8BVg2LHoYFpkMUXJU3P0x6frQd7c8WqwQ
+INhEdwA2xZJdT2db/3PLpRvbMEMxn8Bgsg8zOVLdFpQKxPrVQl8NhECmC5TsWMdT
+gpE/7wTTLZ3rGbZaATgrfdNJKF//G1pmMhRghCKuW6Lb4vUoSFH929Pya6L4/e3u
+cutvXpCnSeiQ0hFtnPq/BaGhzYvsML0+KYS16t1qvDJWXLv/Frplfig1RdzSIIoc
+5JD5Dq+x7h8MlwAqdPgoyFR3+vp1kezxeE3zO1TADWQepAn8dxJiOaPhcLyZ4iz/
+sBwo0kYIpt8wbbu2vWGQjdP/irOWlGECTloMCeGJrC/idb1g9eO2HIEUYDNr/yIe
+qswKXPZlUeOsPlUN3zpVBL72efEQ0DUF8ZQxNCrMG7NzAgMBAAGjaTBnMB0GA1Ud
+DgQWBBSewbVt6JrH1ZkHFDKiLZcQqzRH+TASBgNVHRMBAf8ECDAGAQH/AgEAMA4G
+A1UdDwEB/wQEAwIC5DAiBgNVHREEGzAZghdpc3Rpb2QuaXN0aW8tc3lzdGVtLnN2
+YzANBgkqhkiG9w0BAQsFAAOCAgEAVJw4aKZXBaW6PQHUaYHXevYRgLsI3vgtnzkV
+4KdygiJpbDCQ/xd3nPre8tVkuAOLcDZTw9b+75whZ1+PK8FA8oeZ344oaomZSLx8
+/63YPwE0Pr44tEct0uUQHUZ731DphS/okZT01QL9XrnHMgdmtZsMuXGrRvgKS32a
+CYo+CGMdYhcFAbZzswLiycaw1A5kDJHuWbo0pSC/MiE5UkyIT4iLF1EEx4HwrjsL
+FUL80c9QD111W1mX9+lyXkqp/7SQqZ9P7jvtpGFvjd7RYUHQPmYAmn0piHeS14di
+/RPsd72SY7Qsi/tdvv4wBam/xyifTRBCAvqmsI18MMhX6EyPxBOtvzaj5r5GkDil
+xUBO+CykdaDqOEGKcLEDX8BYrZ+O/viTANNaV7f8SqsEz5ROzFrH5bddzRS9d/pU
+DoDbYies1kio5Pzrcq00tT0L0GBw18CDds7qrfU0vuD04MfOPWuqgJptMyHOcecw
+d+10RoKKbnT84cpZ8cXYbvFZYLUkqHqLcyTmralAscRs3uQbZDGqrQKHZWuBBfsK
+YL2IDm+6/wOJQ8RalvayBxjbRDktVfnkHMpeuLKJI0iSPGuAdQqL10oCRVA5oZww
+ky/mCfcuJdUxpq7IWpih9g8LNSsbEdsKeuv4/v/fbfxy53ly3+T53fFdN9p32Qri
+dcMC2G4=
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm-mc/management/ca-key.pem b/deploy/site/secrets/certs/vm-mc/management/ca-key.pem
new file mode 100644 (file)
index 0000000..91169c4
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/deploy/site/secrets/certs/vm-mc/management/cert-chain.pem b/deploy/site/secrets/certs/vm-mc/management/cert-chain.pem
new file mode 100644 (file)
index 0000000..2b29d12
--- /dev/null
@@ -0,0 +1,62 @@
+-----BEGIN CERTIFICATE-----
+MIIFcTCCA1mgAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvwwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODIyMDUwNVoXDTI0MDMwNzIyMDUwNVowTjEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTETMBEG
+A1UEBwwKbWFuYWdlbWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+ANAiVG39SNRzGInbgJQBI/myVPHtQSuhJBc22VCjb3O99joFBZXTFksVFP4TI++Q
+J7DDV2a0L7VxAJlbt5hzeaozbSNCNSMFxjELvl4ZHu9LHlggSOduQwGRCM7s9hI1
+d2tH840GhdK7XAuPvscJIwiFSMZM7HJYBq9jv3zDWIQN5YiSXP4VLVKN6+sgFUTR
+nc91xJfpnfk9mehcPR4uSe9m1/BkDUwMpCU0FhbL778VCQfzkcyHMRnz0mO6vt1E
+XHRfMFELVyYT8I4cGaZAVv0HM7RCq2e8BVg2LHoYFpkMUXJU3P0x6frQd7c8WqwQ
+INhEdwA2xZJdT2db/3PLpRvbMEMxn8Bgsg8zOVLdFpQKxPrVQl8NhECmC5TsWMdT
+gpE/7wTTLZ3rGbZaATgrfdNJKF//G1pmMhRghCKuW6Lb4vUoSFH929Pya6L4/e3u
+cutvXpCnSeiQ0hFtnPq/BaGhzYvsML0+KYS16t1qvDJWXLv/Frplfig1RdzSIIoc
+5JD5Dq+x7h8MlwAqdPgoyFR3+vp1kezxeE3zO1TADWQepAn8dxJiOaPhcLyZ4iz/
+sBwo0kYIpt8wbbu2vWGQjdP/irOWlGECTloMCeGJrC/idb1g9eO2HIEUYDNr/yIe
+qswKXPZlUeOsPlUN3zpVBL72efEQ0DUF8ZQxNCrMG7NzAgMBAAGjaTBnMB0GA1Ud
+DgQWBBSewbVt6JrH1ZkHFDKiLZcQqzRH+TASBgNVHRMBAf8ECDAGAQH/AgEAMA4G
+A1UdDwEB/wQEAwIC5DAiBgNVHREEGzAZghdpc3Rpb2QuaXN0aW8tc3lzdGVtLnN2
+YzANBgkqhkiG9w0BAQsFAAOCAgEAVJw4aKZXBaW6PQHUaYHXevYRgLsI3vgtnzkV
+4KdygiJpbDCQ/xd3nPre8tVkuAOLcDZTw9b+75whZ1+PK8FA8oeZ344oaomZSLx8
+/63YPwE0Pr44tEct0uUQHUZ731DphS/okZT01QL9XrnHMgdmtZsMuXGrRvgKS32a
+CYo+CGMdYhcFAbZzswLiycaw1A5kDJHuWbo0pSC/MiE5UkyIT4iLF1EEx4HwrjsL
+FUL80c9QD111W1mX9+lyXkqp/7SQqZ9P7jvtpGFvjd7RYUHQPmYAmn0piHeS14di
+/RPsd72SY7Qsi/tdvv4wBam/xyifTRBCAvqmsI18MMhX6EyPxBOtvzaj5r5GkDil
+xUBO+CykdaDqOEGKcLEDX8BYrZ+O/viTANNaV7f8SqsEz5ROzFrH5bddzRS9d/pU
+DoDbYies1kio5Pzrcq00tT0L0GBw18CDds7qrfU0vuD04MfOPWuqgJptMyHOcecw
+d+10RoKKbnT84cpZ8cXYbvFZYLUkqHqLcyTmralAscRs3uQbZDGqrQKHZWuBBfsK
+YL2IDm+6/wOJQ8RalvayBxjbRDktVfnkHMpeuLKJI0iSPGuAdQqL10oCRVA5oZww
+ky/mCfcuJdUxpq7IWpih9g8LNSsbEdsKeuv4/v/fbfxy53ly3+T53fFdN9p32Qri
+dcMC2G4=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm-mc/management/root-cert.pem b/deploy/site/secrets/certs/vm-mc/management/root-cert.pem
new file mode 100644 (file)
index 0000000..dbbb4fe
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm/icn/ca-cert.pem b/deploy/site/secrets/certs/vm/icn/ca-cert.pem
new file mode 100644 (file)
index 0000000..cf1be9f
--- /dev/null
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFajCCA1KgAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvkwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODE5MjcxMloXDTI0MDMwNzE5MjcxMlowRzEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTEMMAoG
+A1UEBwwDaWNuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnM+1Os92
+tDlXlUTSZmQ9hY8bDC2sKHe+YTWjhs50rXUN2sthTqUtA9+gAfE0vPrVm/e+OHJF
+AWD4H4bCp6NKyYZC0D+/zRiGdyYBkhlQ7IQj75A2SFF52gH0CrWPPNNV49mI8YJp
+/cVig05KGIpykLfgP2QbWQfVuaFOOL4do0OweAZe0Csa9WI5lChPycHCgjUzPGII
+XgHKnePXtexdwmCSYncgITQBiBa+9Q1C/nWFAgbo6sRAxZKY9IiW3ZvMsYxhnD3u
+3h4llbDkeRaBrhjUHF8KhKhYN+jsuIjBBoWK1r6b4E1o0K3X1E2fEqQ5uwU3bKWy
+XqgL7S5qI0xjDBm1j6jSoPW0jvqI89RRaWKFkjsVs0ubDxd/IAR0bn4YHJEQRRk1
+O3xmxV6jiufU1YKYuyPLqV1RZw53Z2asMMHzmmttNVTbiwvrDuwz9h6FwmqTmC66
+MiMieEwmUvz3N+CB7uVJ5rN9coBAuoHdFDVMFtHNlkjgxqJ5Utz4kVU05AyNR5tZ
+oTFlfgGjz/NRHri9nLkIHZwFwqJwbWW8XbXXZb8alLNkY0bzt7gwU70rARCm5xE6
+nYHBLnYCzLr0hliZ6DGamY/lXPfTGDp+QNxpbFJ9qN1aCKahNWsrvPhgl9zx7AKQ
+1jMr1O+0oIokTWBoK2VBXeRUViFlETYweBUCAwEAAaNpMGcwHQYDVR0OBBYEFBMN
+2feOkNU+YS9QgoxJ0n+GmomCMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/
+BAQDAgLkMCIGA1UdEQQbMBmCF2lzdGlvZC5pc3Rpby1zeXN0ZW0uc3ZjMA0GCSqG
+SIb3DQEBCwUAA4ICAQAPJpvQuRz6xXn8aXxoP3i/B0FtAhuhw94+MZEukCGVcTZI
++3HACdQbMvHZoiCuq9Al4rXZfCXJGY0gpPcVAS1mZ76XMIOhABCj7xfJFeXQGkbs
+CdvJyigd6LGXA+MO9ZXZ8uPHzOHNXTp2SGZpM4286KJ0Wz4d+i7I1IRxwAYuJ7PD
+UJ7w1FffwMZD/pVOZDnPADmcqAg3eLvyKaad974x/SJDl66mQaDfP7VyGgwDOM3r
+7YETQuq2J1c3JMRxwjTrNJ5/EPbLLQuxllKG5HFfRK7i9Pzwn444wDE06Y104weD
+nXRxNzC93CTcEfwDA61ALqLmjZo/3S78rJ0IPckdD35LeJ5m4HyXPSxZ89r9Lwln
+kcmW3NXY2E1gdAOAxQ29pl3PhvFXzzQH3SlWqLCs+lBvYgdc/mUyD5OrIYmMz28F
+hxQFb1FR3Ch30w0/gMViiws7HiM7I33w45AuXaJDn6AyB3vdwNLNZLpSMt1ayRLs
+pfvR3h5HUyLh7lmC7mAN6lsRgw0g0KfbSJcSEKTLb3kxRt6L4PJRO20mkr9lDxU9
+kUWpSFx2opMgTsjCpjm3gz/N0aB0dM43R8GVWE38dDSDTekQq15EAnXNv4WVBJmY
+bDusEJUKzcxD1VryGtnKXzdapzN6fTlNK6NXr33yEIEWJ3xavYug2i3oAfBZIQ==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm/icn/ca-key.pem b/deploy/site/secrets/certs/vm/icn/ca-key.pem
new file mode 100644 (file)
index 0000000..89d983d
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/deploy/site/secrets/certs/vm/icn/cert-chain.pem b/deploy/site/secrets/certs/vm/icn/cert-chain.pem
new file mode 100644 (file)
index 0000000..aa70aaa
--- /dev/null
@@ -0,0 +1,61 @@
+-----BEGIN CERTIFICATE-----
+MIIFajCCA1KgAwIBAgIUZwnGv3eUzB8cYeI6iLlCra8bAvkwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwODE5MjcxMloXDTI0MDMwNzE5MjcxMlowRzEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMR0wGwYDVQQDDBRFTUNPIEludGVybWVkaWF0ZSBDQTEMMAoG
+A1UEBwwDaWNuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnM+1Os92
+tDlXlUTSZmQ9hY8bDC2sKHe+YTWjhs50rXUN2sthTqUtA9+gAfE0vPrVm/e+OHJF
+AWD4H4bCp6NKyYZC0D+/zRiGdyYBkhlQ7IQj75A2SFF52gH0CrWPPNNV49mI8YJp
+/cVig05KGIpykLfgP2QbWQfVuaFOOL4do0OweAZe0Csa9WI5lChPycHCgjUzPGII
+XgHKnePXtexdwmCSYncgITQBiBa+9Q1C/nWFAgbo6sRAxZKY9IiW3ZvMsYxhnD3u
+3h4llbDkeRaBrhjUHF8KhKhYN+jsuIjBBoWK1r6b4E1o0K3X1E2fEqQ5uwU3bKWy
+XqgL7S5qI0xjDBm1j6jSoPW0jvqI89RRaWKFkjsVs0ubDxd/IAR0bn4YHJEQRRk1
+O3xmxV6jiufU1YKYuyPLqV1RZw53Z2asMMHzmmttNVTbiwvrDuwz9h6FwmqTmC66
+MiMieEwmUvz3N+CB7uVJ5rN9coBAuoHdFDVMFtHNlkjgxqJ5Utz4kVU05AyNR5tZ
+oTFlfgGjz/NRHri9nLkIHZwFwqJwbWW8XbXXZb8alLNkY0bzt7gwU70rARCm5xE6
+nYHBLnYCzLr0hliZ6DGamY/lXPfTGDp+QNxpbFJ9qN1aCKahNWsrvPhgl9zx7AKQ
+1jMr1O+0oIokTWBoK2VBXeRUViFlETYweBUCAwEAAaNpMGcwHQYDVR0OBBYEFBMN
+2feOkNU+YS9QgoxJ0n+GmomCMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/
+BAQDAgLkMCIGA1UdEQQbMBmCF2lzdGlvZC5pc3Rpby1zeXN0ZW0uc3ZjMA0GCSqG
+SIb3DQEBCwUAA4ICAQAPJpvQuRz6xXn8aXxoP3i/B0FtAhuhw94+MZEukCGVcTZI
++3HACdQbMvHZoiCuq9Al4rXZfCXJGY0gpPcVAS1mZ76XMIOhABCj7xfJFeXQGkbs
+CdvJyigd6LGXA+MO9ZXZ8uPHzOHNXTp2SGZpM4286KJ0Wz4d+i7I1IRxwAYuJ7PD
+UJ7w1FffwMZD/pVOZDnPADmcqAg3eLvyKaad974x/SJDl66mQaDfP7VyGgwDOM3r
+7YETQuq2J1c3JMRxwjTrNJ5/EPbLLQuxllKG5HFfRK7i9Pzwn444wDE06Y104weD
+nXRxNzC93CTcEfwDA61ALqLmjZo/3S78rJ0IPckdD35LeJ5m4HyXPSxZ89r9Lwln
+kcmW3NXY2E1gdAOAxQ29pl3PhvFXzzQH3SlWqLCs+lBvYgdc/mUyD5OrIYmMz28F
+hxQFb1FR3Ch30w0/gMViiws7HiM7I33w45AuXaJDn6AyB3vdwNLNZLpSMt1ayRLs
+pfvR3h5HUyLh7lmC7mAN6lsRgw0g0KfbSJcSEKTLb3kxRt6L4PJRO20mkr9lDxU9
+kUWpSFx2opMgTsjCpjm3gz/N0aB0dM43R8GVWE38dDSDTekQq15EAnXNv4WVBJmY
+bDusEJUKzcxD1VryGtnKXzdapzN6fTlNK6NXr33yEIEWJ3xavYug2i3oAfBZIQ==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
diff --git a/deploy/site/secrets/certs/vm/icn/root-cert.pem b/deploy/site/secrets/certs/vm/icn/root-cert.pem
new file mode 100644 (file)
index 0000000..dbbb4fe
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFKDCCAxCgAwIBAgIUC95kUgcVNhO2wLmzfpdu4+xN0oUwDQYJKoZIhvcNAQEL
+BQAwLDEYMBYGA1UECgwPcHJvamVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENB
+MB4XDTIyMDMwNzIzNDUyNVoXDTMyMDMwNDIzNDUyNVowLDEYMBYGA1UECgwPcHJv
+amVjdC1lbWNvLmlvMRAwDgYDVQQDDAdSb290IENBMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA4ahtOq/xJaFswt6RBXW/WDVJ0Gvoo5bVh9oKdQ91PVYe
+0QplSFE5ZpV7Rej/3Sfa2TqPkrl7doFmYfBMGi8tLOrJzvfFt0Okg9xLC9IG5YIG
+bTr9pyXTSHagjWEX7dIJo85xOyO2Mt1S9LyG2DKVXLfL3WY3QuU0Rp92sAB2ZzoK
+xKp7SAlt/LMag3cMU3hjVjEdnXCndZlWlr0oa2eQyxPt7n7tgD9uFMUIqfM5XpQ3
+poaMV85dmnvPUDkLT+jb6+m4m8UE+f3HglfNdJ78o18j53/SQi9/eBFFRzmxWiCS
+JlMhwxO3eFR8A3tvqgKD7ID/i+iUR9fTVqQx1PPScGLSZZhrlMncHXNhBAjPTwl5
+dj1s31zwSByqh0mKxE+c9wiVk5iml2UtS7ucYxy/k0YDKXP7hhWiwo0vn7fdQdpt
+RoDYpJSTOIuDRMHajYjLQZih0c+/+OytGHKKG7p6nwQZQbHzkvDRg068N8MpOENw
+j3FaqSuDvb8KrWrXvUXbI1z7TPlpsrNQxiblQRd4pSw5I3p6M6YK5pUN1/FblO8I
+bWAECghBA4GT25vn2YT2prISwCbOY/ferBf0Bs3BSaGsrop//IqW8TP9ZXhyJ9iJ
+Oo+npMKlqCkuo+waxdzWbUH5y1pBwXNoS7tzfXlvlrPoEMGuNnSgxaQf68ukQEUC
+AwEAAaNCMEAwHQYDVR0OBBYEFGuwgWa8wXsYJLz0v7eNpIXuZVXoMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgLkMA0GCSqGSIb3DQEBCwUAA4ICAQCtwouv
+zpFKITD7fYibHg1at3qQvZQa2+4qCjfmWIrrpcaWIcc3tP79lLbtvUsw5y2U29Dg
+4UJ4j/zKvfljc+INt3ltSeQSlN5DrblNlvuy4+q0cSlYX4diPfERsxH1mvoJlGt9
+Wzi+4jAq+TXPBg4uhdfLbkBEk7cdoavpBAKgx304oHzmhVKixw3Jw2k8y1LTqgD/
+2mRS+NFyh/jna9o3GfE4i5IpsTUnQVPhAKm/FmH8IGzpqlHw+s5upK3pktJBkthr
+jjI4tMU9nymuLuI3lw7ucdPJSCW2luOgkljQv8WJGaLEnwUXRxXOGHdusQ1ARPsZ
+injbMDtnnWuJsnZu4M3+B/19jmJstiqZHvp+DQTia5VSewIuia/VQ7zkKcJvGez3
+e3JsS9jvn1FqN7KEOuC8U17DyQHv2OiKHFTw3b2SvkBG5Pa9d7ATlXKIDkLj1BWa
+MUO3KxTCHLkQOeVZO8ctwPnemOYbeWn1bfMt0EcGHXmMhz0bng1CFCc1Nznw0LnE
+RcxU799r4RLbl2R2q0nihLml74Ko57YkGqQFJ+JBcLSugFIV0gveOezlf+vayp55
+X3CRxw7uwYlacSlQWrGuO3tnS3EdAAigACoA8ugYNDFFasXY/BNmwkhvEIiRryOT
+tBfPBLZpBd38zYrMzk5OnJI+4daHH03MQ9MM7w==
+-----END CERTIFICATE-----
index ca117cb..aea8c86 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-set -eu -o pipefail
+set -eux -o pipefail
 
 SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
 LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
@@ -7,19 +7,122 @@ LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
 source $LIBDIR/common.sh
 source $SCRIPTDIR/common.sh
 
+# !!!NOTE!!! THE KEYS USED BELOW ARE FOR TEST PURPOSES ONLY.  DO NOT
+# USE THESE OUTSIDE OF THIS ICN VIRTUAL TEST ENVIRONMENT.
+
+function build_istio_root_certs {
+    # Create root CA certs for use by Istio in each cluster
+    clone_istio_repository
+    local -r certs_dir=${SCRIPTDIR}/secrets/certs
+    rm -rf ${certs_dir}
+    mkdir -p ${certs_dir}
+    certs=${ISTIOPATH}/tools/certs
+    make -C ${certs} -f Makefile.selfsigned.mk ROOT_CN="EMCO Root CA" ROOTCA_ORG=project-emco.io root-ca
+    find ${certs}/root-* -exec cp '{}' ${certs_dir} ';'
+}
+
+function build_site_source {
+    local -r site_dir=$1
+    local -r reuse_credentials=${2:-false}
+
+    # First decrypt the existing site YAML, otherwise we'll be
+    # attempting to encrypt it twice below
+    if [[ -f ${FLUX_SOPS_PRIVATE_KEY} ]]; then
+        gpg --import ${FLUX_SOPS_PRIVATE_KEY}
+        for yaml in ${site_dir}/cluster/*/*.yaml ${site_dir}/deployment/*.yaml; do
+            sops_decrypt ${yaml} ${site_dir}
+        done
+    fi
+
+    if ! ${reuse_credentials}; then
+        # Generate user password and authorized key in site YAML
+        # To login to guest, ssh -i ${site_dir}/id_rsa
+        HASHED_PASSWORD=$(mkpasswd --method=SHA-512 --rounds 10000 "mypasswd")
+        ssh-keygen -t rsa -N "" -f ${site_dir}/id_rsa <<<y
+        SSH_AUTHORIZED_KEY=$(cat ${site_dir}/id_rsa.pub)
+        for yaml in ${site_dir}/deployment/*.yaml; do
+            sed -i -e 's!hashedPassword: .*!hashedPassword: '"${HASHED_PASSWORD}"'!' ${yaml}
+            # Use ! instead of usual / to avoid escaping / in
+            # SSH_AUTHORIZED_KEY
+            sed -i -e 's!sshAuthorizedKey: .*!sshAuthorizedKey: '"${SSH_AUTHORIZED_KEY}"'!' ${yaml}
+        done
+    fi
+
+    # Create intermediate CA certs for use by Istio in each cluster
+    certs=${ISTIOPATH}/tools/certs
+    for yaml in ${site_dir}/deployment/*.yaml; do
+        name=$(awk '/clusterName:/ {print $2}' ${yaml})
+        if [[ ! -z "${name}" ]]; then
+            certs_dir=${SCRIPTDIR}/secrets/certs/$(basename ${site_dir})
+            mkdir -p ${certs_dir}
+            make -C ${certs} -f Makefile.selfsigned.mk INTERMEDIATE_CN="EMCO Intermediate CA" INTERMEDIATE_ORG=project-emco.io ${name}-cacerts
+            cp -r ${certs}/${name} ${certs_dir}
+            kubectl create secret generic cacerts -n istio-system --dry-run=client -o yaml \
+                --from-file=${certs}/${name}/ca-cert.pem \
+                --from-file=${certs}/${name}/ca-key.pem \
+                --from-file=${certs}/${name}/root-cert.pem \
+                --from-file=${certs}/${name}/cert-chain.pem >${site_dir}/cluster/${name}/istio-cacerts.yaml
+        fi
+    done
+
+    # Encrypt the site YAML
+    for yaml in ${site_dir}/cluster/*/*.yaml ${site_dir}/deployment/*.yaml; do
+        sops_encrypt ${yaml} ${FLUX_SOPS_KEY_NAME} ${site_dir}
+    done
+}
+
+function create_gpg_key {
+    local -r key_name=$1
+
+    # Create an rsa4096 key that does not expire
+    gpg --batch --full-generate-key <<EOF
+%no-protection
+Key-Type: 1
+Key-Length: 4096
+Subkey-Type: 1
+Subkey-Length: 4096
+Expire-Date: 0
+Name-Real: ${key_name}
+EOF
+}
+
+function export_gpg_private_key {
+    gpg --export-secret-keys --armor "$(_gpg_key_fp $1)"
+}
+
+function build_source {
+    create_gpg_key ${FLUX_SOPS_KEY_NAME}
+    # ONLY FOR TEST ENVIRONMENT: save the private key used
+    export_gpg_private_key ${FLUX_SOPS_KEY_NAME} >${FLUX_SOPS_PRIVATE_KEY}
+
+    build_istio_root_certs
+
+    build_site_source ${SCRIPTDIR}/vm-mc
+    build_site_source ${SCRIPTDIR}/vm
+    build_site_source ${SCRIPTDIR}/pod11 true # re-use existing credentials in site
+}
+
 case $1 in
     "create-gpg-key") create_gpg_key $2 ;;
     "sops-encrypt-site") sops_encrypt $2 $3 ;;
-    "sops-decrypt-site") sops_decrypt $2 ;;
+    "sops-decrypt-site")
+        if [[ $# -eq 2 ]]; then
+            sops_decrypt $2
+        else
+            sops_decrypt $2 $3
+        fi
+        ;;
     "flux-create-site") flux_create_site $2 $3 $4 $5;;
+    "build-source") build_source ;;
     *) cat <<EOF
 Usage: $(basename $0) COMMAND
 
 Commands:
-  create-gpg-key KEY_NAME                      - Create GPG keypair in local keyring
-  sops-encrypt-site SITE_YAML KEY_NAME         - Encrypt SITE_YAML secrets with KEY_NAME
-  sops-decrypt-site SITE_YAML                  - Decrypt SITE_YAML secrets
-  flux-create-site URL BRANCH PATH KEY_NAME    - Create Flux resources to deploy site
+  build-source                                  - Rebuild the in-tree site files
+  create-gpg-key KEY_NAME                       - Create GPG keypair in local keyring
+  sops-encrypt-site SITE_YAML KEY_NAME          - Encrypt SITE_YAML secrets with KEY_NAME
+  sops-decrypt-site SITE_YAML [SITE_DIR]        - Decrypt SITE_YAML secrets
+  flux-create-site URL BRANCH PATH KEY_NAME     - Create Flux resources to deploy site
 EOF
        ;;
 esac
diff --git a/deploy/site/vm-mc/.sops.yaml b/deploy/site/vm-mc/.sops.yaml
new file mode 100644 (file)
index 0000000..1845115
--- /dev/null
@@ -0,0 +1,4 @@
+creation_rules:
+  - path_regex: .*.yaml
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    pgp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
diff --git a/deploy/site/vm-mc/cluster/compute/addons.yaml b/deploy/site/vm-mc/cluster/compute/addons.yaml
new file mode 100644 (file)
index 0000000..170028a
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: addons
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-addons
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm-mc/cluster/compute/emco-compute.yaml b/deploy/site/vm-mc/cluster/compute/emco-compute.yaml
new file mode 100644 (file)
index 0000000..4b97d14
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-compute
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-emco-compute
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm-mc/cluster/compute/gotk-sync.yaml b/deploy/site/vm-mc/cluster/compute/gotk-sync.yaml
new file mode 100644 (file)
index 0000000..5516319
--- /dev/null
@@ -0,0 +1,30 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: icn
+  namespace: flux-system
+spec:
+  gitImplementation: go-git
+  interval: 1m0s
+  ref:
+    branch: master
+  timeout: 20s
+  url: https://gerrit.akraino.org/r/icn
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: compute-flux-sync
+  namespace: flux-system
+spec:
+  interval: 10m0s
+  path: deploy/site/vm-mc/cluster/compute
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
diff --git a/deploy/site/vm-mc/cluster/compute/istio-cacerts.yaml b/deploy/site/vm-mc/cluster/compute/istio-cacerts.yaml
new file mode 100644 (file)
index 0000000..190d0cb
--- /dev/null
@@ -0,0 +1,42 @@
+apiVersion: v1
+data:
+    ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZiakNDQTFhZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREl5TURVd05Gb1hEVEkwTURNd056SXlNRFV3TkZvd1N6RVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFUU1BNEcKQTFVRUJ3d0hZMjl0Y0hWMFpUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQU1WNgptdTJUbjc3TVdrcGZQVnZHeDduTnNVSEhmR2lFVGtXczVaUG84VDhidDdiUm16cGVyZGkyZUNPUFdWMnl4NjZpCmJTMTdhQktrVmZlM0w1WDRDR2dNTlBTelJGWG9RRFp4ZXNKMkZZYzFreVFOVWxZc25RbGhJRGNldTd2VklKOVoKNmRzeWttbFZ6cEh3Z0pucm8zZkVIL2VFNS9Xa1E1Z3o3TWVnakFwM3ZidnFLSy8xcEpPeEQrNEl1REE1c24zQgpXZHlWaGpEeURXZStKWGVBQ2h6Vnp6OUlXUnR5ekVMcjZwM3M3a2lrUktsYkxvUUpNUENGL3BlamlDVGRFRVhXCmJhL3owbDQ1WTRmZVlWcDQ1aFlxMG45anIwMWFzWUR3cGtvbDhFcHlWb3hFdUlIVWhQdVVGa2ZFOHhlNFhSQzcKQWZGL2p0WnlMenJRR0h3R0d3Ni9MeUpnb3FvdlplbFhUQlNZWGIzV1J4Y3JUREttUkVQcGw3ajNNZ2lnNkQ2TQpiVXNDMzFqZktuTnNpVnhMaGJxaUpkQyt5WUt5dEd0RmhmMkFnNTExUVd1VXBsNkdGS3NJNEZ0Q0FSbHFTUnRZCnEyaE0xbWpHR0FTU3h6bzAxb3BQK1NtamdxNmpxWDh6YlArK3lyc1YyZVdpNjQ3Y3pHc3c5MndsaUVNVi95ZWYKT0hFSUd1VFcvTDhIekRZWWxiMFJVY1lnK3BlQ1k0VElpcU4zaGs2RWhnOU5WRDVLSjIvZTUzWm5Vd0RoUFI2NQpENTVLa0NPR2hxL3Z1bmJDZzVRMmhzK09YUDYwSURZSFB1YkRyZVhkUjZjUDlhc2wwdWRYd1ZPKzMra2N6SWhVCmYvTVBzOEw0WUthZXZJQUh2aE5NU1ZjQ0Zxb09RMVorQWdlenA5T0xBZ01CQUFHamFUQm5NQjBHQTFVZERnUVcKQkJTTG9NRTJ0ZDBEWmZMQW45THVZNG0wSkhGMlVUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUM1REFpQmdOVkhSRUVHekFaZ2hkcGMzUnBiMlF1YVhOMGFXOHRjM2x6ZEdWdExuTjJZekFOCkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQWc5SG1pRnV3RVNOM0ZrRG1BeXFRZG9xTzJBbC9SbFZQK3VWTG91TVoKZm9LS0wxN1oxUUI1eUFKandkenJzeUJwZlJyZGQxTlRNdUM5QlowdDM5UHNFdk5TT3Q4ejFNbGREb1hwWkJoWQpOd1U2Z21BZGRwc0tCY0VHajA5Y2JONjgvdTB6RlNTdTlwU0pJVTNZaHZIbkVRKzZRMjlvakZ5bjF0enVGRXVZClZiNW5VVGIzZ0N0b2hLMU55NU5lZmxCT0JPdjFzNFNHRkErc1ZxeXUrQTRsdmJCaHV2S2tHQzRaNldmWWVyR2EKM2NEcjJXd1VsWEhPeVhGOTMyVEllbkhaUXQxMEpWa0F1MWZtR2xiU1dyUzYvK1JDR0FoUVZMMndPYytXWVBRSQpjNXd3c3dNdkN1S05pandpalV3UURnQ2dBb3c2bldMMGtnWWxqY1I3bi9oUHFHV2NvWXFvVnF2UCsvWlZCNFI3Ck9icHpSMk0xU1ZrQ0YrbVJvVlFkN2NiUWFjTVowSE9JVldmN0F4d2Y5K1RlRTNhK0p2T0RCdFYyNXc3ZXpUMkYKeVQ2amFlWFlSNkVYOFlqVHJGUmVmOTNtMXBObHFsY29JUVREajI5Wi9wbnlURFZpalpSaUVLNUJ1QWlndm5sMgpqRnZYL1lpTGVSUFl2alUyZDNQU1kvclpxYkJBem5ibGlER0VKM0NzY2JtWmhZTUNuaHE1UXZFTUg3aURVdGVjCllzSGZpS1FVT2o5UGVmZUc3Q3BrbjZvRWZSd0tUK2RnR0VKY2RmbytJLzhMSnBqV3ZDYWtyOGlGeHJwZG0xTmQKODJxeHpQWWRrWjQ1NnZ3TUJNRWF3eklDL3FqRzVadnorZzhRL055cjZQWW81QUZZMXpCZHowUUFvZnl2dEVzVQpoaE09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+    ca-key.pem: ENC[AES256_GCM,data:8hRVkdOoM0c+p88F9N8MOJbAnz0oMZKXkJXlxjhDL38aDkOPYfdloDYr3dYLeS0/YRCgzISzO5bKFdu4WDcvz3UuKQ3LRabKSPCa9H31gDL0qsjRSfHpJmCszKgNg65fvA7LVaMQpkudLjLz7z39S8x6jIqrRT7A9MRygTBPHtnF/huV4pNEtRsA/xy62hygXgfQfDz+b/072ye5f/rku+8+NCMpsoSHYoCXrXPJOi+lT9CZrZsblXi86eqY/fDIb0z1GyHU5VjD9s2hxBhKajCro/pqz2BYL3Zd3Qgr1yt3Xzgidy7diw1vu3l6A9zE1WLuaOcocb6y+J8I4BIwtyIlP4+7XHgwip6sxjmGJLmUbHV8Ls/I680oGwGg3ukG/85JTuz2UqqklGv1ImDF9qWc9X2qPaWfCXq8ejTCPghEUQ11qo847xjIETASgTkoBkzs2YLC6S7d+qqg98jzJiJ0mHvIyt2zjJNjMfRTEeWtn75XA6QFtcgyE/0zeAjZh+rBHRP9k0dCL5BRWKvO0QDtzQRDGheH5lKjM0nKPKOlmvvtwsiSvYpkbUVMBlyGbsY1QQCUs7VCZwgJv2+bPj40k7TZ17PSUWErWzOyzgqybNJgTMq4pIjsvGgeeJ/IQwt+xEvY9S4izJJwYut7OdTGxRiZJKSOFgPGKWpxKAq6NrtgP89dEPRCzkY8owf0rLXU/8sBUTLht+x0ExY8OZgsjh/H0nBtKO4E2TJHvhuquSXpingmrqIHD2BT6AFezD3tsaB23wne8K7+7nQ0upM2PoeRZwGnFL3IWj4tmajugq1iYepZeztOYFF6sSkCT7ybqTxuxkpHfyQRKb06jq84eu/5/stTQmmV3RwJozAOjH1RzaoTG1swpV23u9TtoD062n+YtgJ85aELHD5BpW+FIoAF35WZnVzCiYIJjpcXKuH4U7nkjk6/Js2SSremUXO9CwCBhYWc0jd3h0VASVux1Q0re1M2gQ975Rada1Mgol49jJIMUZhl8wqI1JYvVHNSQsLQM2QFuR5U+PO3OarCa1ESZlxhu8L+NR8JkF/jxlLY8dhWwf3oE7Ql1luCfAnIUok99iI2pQ9wyif4945HfABBwroOKMG5X98zYVsy7YBX0Fwfdt/PyNuOTSAgIyeu3E4uwBxl3xso9jpzje+B+5Y0kIC6WuWS3ILCG551TIJj5p6IJBdlky3ZH23Q0UOSdUq5SoiKp6YF/hTHN9ljFXgkJNXf+dsv47wBZ7YbdaMiOhwcfNvErUWVkqYF0zZjGB2b83wk+lLI104wNfpq3VBzBeqUp4nke827x15kcQEOCgV9opcbYmOPaDL0Q9WuNnBpH2POUq6w6LCJc5/O9KubM3b1hYc4p9MRBeXRtnqs+GNTupmkHoVR279g5pur2rIa+2MarziVEnVoUuk9nn4bYMx98Uo8NdfrQtvp9ZouCn87FoRsQ4JVWv/YhmIb5OOBtnmI70NGF4GC83RKmf0m06QPU9QwDdepHUeoRm8ck2PuBRvmt45fdXyHjAuvlO4zPCKChEbbHmXp6cO3Dto5/8O3B606YvtDGzfvaRnYyZZkCLmv9sXjOBbQ9iBCOmpLiVPgoOw7aAa2jMoVJncnW8yemZ2xXXrosoam6e2Mj6I8Pm+GK7nPJ7PRpBPKMXySWNfu6mfS0Rrqz2HIouK0SmpzEqs0PVJqee+Jh2enqdkb2e3WLH1yLpVHvOvWTJWNNPwOOHkaZhTUITvg8XneqJiCa/bmRMYk1K/Ca22z0b4jZs342CfG8LfCKs7u3BABcm3O9RuG4WtZklOh7GQz+EnkGNfMGLU+85dHpnddeRUw+rc0HGyWhjMfElIGtTQ5UYNSdO2UCngB9FQFFRWX5s66Xl7/2CGUedx8XUdbyucIGB6kPOozYACyK1Z+kMfIJombZKDijcXdwfE7ytlYfjhznOzFrbkq3+w4mBMtyLSTHKtG0hlqkeLye+V/+6HNYb907/i+R/hOb0AO1TDAzpJWSglZsqJy1SZ5hzht49DPmC2DEmz+hvxqkjF0ylob6GeGIUs0JFi6808cscOP9QZpduqYVt1rHEMPjXHzKBCLZRK5LchxUtfiEbY7T84QslaoQ0zuZdI8YxoJOhqGU6H8lNWIFYbwtFvBVM+zIqSZpvOdx2Kqg6XYroMD5i3XP6NySMpP5EmPxSB1sOiCak8HjCS/Hi1jqUvvSkhys2f6Zv3kJwZazB8SOTqmEZ/4g+MLfPcv48HnI5z265aVmlbTyLzpzXROUENTcUJZ9GOoE/XXIK2t0HwvNntnJx+3q/s1E8FOm+3Met+cyq88nQSWiPWAAxu29ShPFNfXy5FemddZNYr9r1Lq1J/7yIXv+5fcMtmH3NBUtUREu6x/a/ETVa8jDaL6mpOF+gIjOrcAuA7zzklmpAmvntjEMOM/ZY4g/NC7l+qVZpyrwCPPzxy7IuT/hirZOcx3PvKaOU97zCFWdHRNAFqTuGzwEriCOfgZpCFd9YMKSpObqOBEAyCdfKz3I67f1DZoj3qZscYu1tVvAnyHz3lxQEhtNqCC4POZwSESlnmfNf0L+cNJV1PM8KgFjHVoyyVfI0y6BAet/bVWahGpTKHo8JuabKYje+Yhxza+wljvnVvt1bW/36LJ5PktGtacR9oTPfEfdwo33ZRK3epnaN1YwZQ1/1AehYc/C9aTBAHGQjCCSBrZw4ljbVamZnIJaLJSSutj3GoXMnJ0kvuOTtr4dhBHOeOr6qjwcIH0oafBJHx3CC+K5mmvnf66UY7yVrc0nlnvyFs7CdCHndXL/OD3dlUIk3WOdkhvSyzxa7f5rh0vNDQwYWJm0riFN6KSjcu1YbM8aHND4nci6F9hTSFRgrq58LpYVQQHgsLFaVGcbTg3Q+XGjThtnPl5AIonWDqLAsc5urFv+bTQVuufwgokaNnxqbEXcdtj78mUNpdEReA3aLokKoEBuk9jBvio3Os8ag3AxtnQjAoJnF5hmMqfi/cM2nLr9gDb4qe7iehzHLvtepIOB9Vxm9UAEh7WZigQOSKFLndEJXBQmuTL8FDgkX1QNaI1/jnwOBE20fpHWwMfufGopqyH85BOoGkqoVDFNqcXZwFHTobg+9fhGqBViSs/OcXi8iRg00juc5NEQn5UrMApNRMQqg6V6Y8WPrNsVuCgzFmTe2+rmJL4szRYvyzlzJBw/khrWOFvY2Llr64ekNgYcT9P6xZJF4pCYXFsziF7nYg02K2PaQ4uIa+Luo+pKUF3sFF5bOjvSUxsd61H9Awsj3ubq5GKAm5+PRV+HQfP8C7kIAgSbbss875MozBoNoby7seDIk4HCRm16B8HVEfPlMrWXHbDzWKcseBLc+RVD4/jsPQIwyosmpdyoZ3UCFWjRr5KmtQyrKVO0hUUJJfFr5TTttDHzQFKCLiH8dskW8pEm3Ea8kv9uqgJz1PIxhGnqIWsc/k6yFQJgA3XIeFL6MHQw3em0UwBtz0Sd07aoH1HlwrMbV9NRHdxkDiQU/M3vY2kgWVDZdOEwrlmWCzf6RDmyG0u7zHjC/moOVvxe5GP5jG87V6zM/B/xaV0dPyzowSKBN1L3m/vyzZEMo84QoURJskkwfAvgvBqakeGwm1oefLoVcoZSN2SozzGj5dKH+4cOR8FbQLBRrAPXT2BuFFpmx7gmDm2loyQCY4ljjot8tvvCdNomsLLSOFhS+tit/prRBOs9U+3q8RG1HtrbLG6N4y3wfGOe2kaKanj5uPN+mXrLO5eyTMV/ptsD810cPLuRZMbN/9h18r7ILdr0hIUi7J1OOInkY6v+dh1btrEdQ0yJmm5/+fBx9cTPCrwd/dSuBwiVUSj1F1ZLQJUnt+93w+FUnjJ7xNOaLxFkvROmIvpDuiALTEsv7xpvJ3YowY2lJyHwuo1sUCDnUyu00RYvqjkg7yFfC2IxwDmti0LxyjyE1FT2wlC7t+Nom0eYkQ4KSHoB/u8hhnabYvfBgQsW8Ym+kyokRld33b/c6n6+5LSHm36zNMnqLpcC4DkxeSzfQGmrA5e4bF5UFPYo0hkhx86hjDAffiDwxe80BLdAeL8Y386Ss51g1rgMfjR9VbmpiN2bH62gu9ZQxrYWlewpmcxuF6KfT3rTolcWA8G18dAG51UBs3wxwy1ewA4bTU7y+MCPsm1zXCRvHSmMnF44OBoddQwYCwT8r8gYjxAXpHeEbfnSMo+8DpDPPRmoP4789QWIeiJL/cpDCBGs9BAwUqA5aZriPJBHLHLGXP5Ze46MozU1TKachCQPIFfmqXBeRQ9eArtJpgIGcHRSlzkS9Xyd8zdojxpU+fhCM+UnIoRaTsFW2112IiUp8BhT42IAvfGbAEeJqWZ1S4crrloHjkcA76gRVcVHFYdueAR4HB7ueUHwM8Kz7RQHSQvm+lhiWZq3yI1/V0GCL7X/ADrkCVwu5EmQh5P2YucjgmsuWb4YX8SKX4VTpDmllzYW1uE9j6YxzdFtBEFLhQz/ZR3l4NuM3d8IbwtRuOEayq8UQiwsWRo2d+FtXhRIJkY2JA64emfoVEhERSkdNW9pTzd8aaya4AtcF4skHFArui76Pr7vMs3wuPg2G9BU3C+EADa5QlHoARpCvF3c4uW+P1K/UURhfUIwEkpLMeZdoaWUUCxlZpbky+rRBJM6ro2UtOg+G9e8GIMNDBT6V3kwGrtdmT9InvGEgaMB9t8DZPJ9aHmXEgqu4DZwX2x90xjNmAzyxaAYKxgH3SY/kx9IOO1+lT/F9qZMH9FycFn+hZ8QiDJCQUFS9U4g0T9Wya6Wv8Q93W8KGRwTA/DR20pcQTMAf2AjNM/Zpi5syfcNQ2WGxZ9CMTHnqjrF9ixdBIIVYSTYrjs6YRMJ1KW1SbaMjQ1ayt48WVvGSJP5ZsA9lt+/KA6kN7Ag9LupiRoVYWYlteoLXSLezZu2PDtEaVGfxCn4aDxLOueh4cn31AmVCblzs4WNC+qRE8nMev3yjCWfX4zVe30ylhE8EvXra8b3MkZaHYFIBAomvr68oJndB4gTdEPQ3S2jw2kzneYixwcrCKmQv5sHjPHHYKp+hNXhQFe2mzaL/hYsDF/quVaTtKY+CCbKjUyi4kO/gBA8ugAnNeT/aD+PK1m1Wy1nZvij6iOLgHUPAExlbiSicuGoazTUgtVmRCAc7VF7BUgB2USiEe63uVnNCyog/e3copEXBox5ibLPAlLvaqIyetKh0lNhxq0muqNUp2sXw4a3aUh0WQRcpfMpEKC4DBuyfvoasPUN3sdrihawuRwFVOP5Q0m6P5sdcf9TACcLbyvR0FHZ39KGJZMx7tiLS5MOjE5YT9t30TEAHXOz11rcUApcOOv3Y8ZOmlwT+kQn2upmNXC/Dd5BGrsESI16PcFi0TpKWHfrVV81j7OeIWUm/J3J9ZXHh67wl9EmoPe5Xoz7TvAfL0nNPXbFgxmLJ/NlkHE5KgpgFhrRFWbZFUy8twfB0llItuUNyEsuifpXRp9s1TTFAFU8ROjtWqeC4qPh0eVaXCBz1q+rlayNpIt7/cI8IVZa2tOdQVhel6UyX50QCpxmuHHCOw+NKsRZxhX+YAmx7kZP8/kvaw5rZHhIFVtEnlXQ2l51+lGgX1UkJI5dtgNpci4hLzv6ybQTL1JFxK9Uoa8kSLsfswS3ZT4/1uDwNwXiTAZ1wngXm+5625ipX12b4KCRdDvgVk2HsH/JkgfCbyMEf4QxynD4k28KApzexALkqKVerpo47O+f4tK2A==,iv:oAjyB9Rh7mK+Wp86RUV1srbVtT3tuNagVkY22DM33do=,tag:wyMjOWlheVbkA/87YXTAZw==,type:str]
+    cert-chain.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZiakNDQTFhZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREl5TURVd05Gb1hEVEkwTURNd056SXlNRFV3TkZvd1N6RVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFUU1BNEcKQTFVRUJ3d0hZMjl0Y0hWMFpUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQU1WNgptdTJUbjc3TVdrcGZQVnZHeDduTnNVSEhmR2lFVGtXczVaUG84VDhidDdiUm16cGVyZGkyZUNPUFdWMnl4NjZpCmJTMTdhQktrVmZlM0w1WDRDR2dNTlBTelJGWG9RRFp4ZXNKMkZZYzFreVFOVWxZc25RbGhJRGNldTd2VklKOVoKNmRzeWttbFZ6cEh3Z0pucm8zZkVIL2VFNS9Xa1E1Z3o3TWVnakFwM3ZidnFLSy8xcEpPeEQrNEl1REE1c24zQgpXZHlWaGpEeURXZStKWGVBQ2h6Vnp6OUlXUnR5ekVMcjZwM3M3a2lrUktsYkxvUUpNUENGL3BlamlDVGRFRVhXCmJhL3owbDQ1WTRmZVlWcDQ1aFlxMG45anIwMWFzWUR3cGtvbDhFcHlWb3hFdUlIVWhQdVVGa2ZFOHhlNFhSQzcKQWZGL2p0WnlMenJRR0h3R0d3Ni9MeUpnb3FvdlplbFhUQlNZWGIzV1J4Y3JUREttUkVQcGw3ajNNZ2lnNkQ2TQpiVXNDMzFqZktuTnNpVnhMaGJxaUpkQyt5WUt5dEd0RmhmMkFnNTExUVd1VXBsNkdGS3NJNEZ0Q0FSbHFTUnRZCnEyaE0xbWpHR0FTU3h6bzAxb3BQK1NtamdxNmpxWDh6YlArK3lyc1YyZVdpNjQ3Y3pHc3c5MndsaUVNVi95ZWYKT0hFSUd1VFcvTDhIekRZWWxiMFJVY1lnK3BlQ1k0VElpcU4zaGs2RWhnOU5WRDVLSjIvZTUzWm5Vd0RoUFI2NQpENTVLa0NPR2hxL3Z1bmJDZzVRMmhzK09YUDYwSURZSFB1YkRyZVhkUjZjUDlhc2wwdWRYd1ZPKzMra2N6SWhVCmYvTVBzOEw0WUthZXZJQUh2aE5NU1ZjQ0Zxb09RMVorQWdlenA5T0xBZ01CQUFHamFUQm5NQjBHQTFVZERnUVcKQkJTTG9NRTJ0ZDBEWmZMQW45THVZNG0wSkhGMlVUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUM1REFpQmdOVkhSRUVHekFaZ2hkcGMzUnBiMlF1YVhOMGFXOHRjM2x6ZEdWdExuTjJZekFOCkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQWc5SG1pRnV3RVNOM0ZrRG1BeXFRZG9xTzJBbC9SbFZQK3VWTG91TVoKZm9LS0wxN1oxUUI1eUFKandkenJzeUJwZlJyZGQxTlRNdUM5QlowdDM5UHNFdk5TT3Q4ejFNbGREb1hwWkJoWQpOd1U2Z21BZGRwc0tCY0VHajA5Y2JONjgvdTB6RlNTdTlwU0pJVTNZaHZIbkVRKzZRMjlvakZ5bjF0enVGRXVZClZiNW5VVGIzZ0N0b2hLMU55NU5lZmxCT0JPdjFzNFNHRkErc1ZxeXUrQTRsdmJCaHV2S2tHQzRaNldmWWVyR2EKM2NEcjJXd1VsWEhPeVhGOTMyVEllbkhaUXQxMEpWa0F1MWZtR2xiU1dyUzYvK1JDR0FoUVZMMndPYytXWVBRSQpjNXd3c3dNdkN1S05pandpalV3UURnQ2dBb3c2bldMMGtnWWxqY1I3bi9oUHFHV2NvWXFvVnF2UCsvWlZCNFI3Ck9icHpSMk0xU1ZrQ0YrbVJvVlFkN2NiUWFjTVowSE9JVldmN0F4d2Y5K1RlRTNhK0p2T0RCdFYyNXc3ZXpUMkYKeVQ2amFlWFlSNkVYOFlqVHJGUmVmOTNtMXBObHFsY29JUVREajI5Wi9wbnlURFZpalpSaUVLNUJ1QWlndm5sMgpqRnZYL1lpTGVSUFl2alUyZDNQU1kvclpxYkJBem5ibGlER0VKM0NzY2JtWmhZTUNuaHE1UXZFTUg3aURVdGVjCllzSGZpS1FVT2o5UGVmZUc3Q3BrbjZvRWZSd0tUK2RnR0VKY2RmbytJLzhMSnBqV3ZDYWtyOGlGeHJwZG0xTmQKODJxeHpQWWRrWjQ1NnZ3TUJNRWF3eklDL3FqRzVadnorZzhRL055cjZQWW81QUZZMXpCZHowUUFvZnl2dEVzVQpoaE09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZLRENDQXhDZ0F3SUJBZ0lVQzk1a1VnY1ZOaE8yd0xtemZwZHU0K3hOMG9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdOekl6TkRVeU5Wb1hEVE15TURNd05ESXpORFV5TlZvd0xERVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUE0YWh0T3EveEphRnN3dDZSQlhXL1dEVkowR3ZvbzViVmg5b0tkUTkxUFZZZQowUXBsU0ZFNVpwVjdSZWovM1NmYTJUcVBrcmw3ZG9GbVlmQk1HaTh0TE9ySnp2ZkZ0ME9rZzl4TEM5SUc1WUlHCmJUcjlweVhUU0hhZ2pXRVg3ZElKbzg1eE95TzJNdDFTOUx5RzJES1ZYTGZMM1dZM1F1VTBScDkyc0FCMlp6b0sKeEtwN1NBbHQvTE1hZzNjTVUzaGpWakVkblhDbmRabFdscjBvYTJlUXl4UHQ3bjd0Z0Q5dUZNVUlxZk01WHBRMwpwb2FNVjg1ZG1udlBVRGtMVCtqYjYrbTRtOFVFK2YzSGdsZk5kSjc4bzE4ajUzL1NRaTkvZUJGRlJ6bXhXaUNTCkpsTWh3eE8zZUZSOEEzdHZxZ0tEN0lEL2kraVVSOWZUVnFReDFQUFNjR0xTWlpocmxNbmNIWE5oQkFqUFR3bDUKZGoxczMxendTQnlxaDBtS3hFK2M5d2lWazVpbWwyVXRTN3VjWXh5L2swWURLWFA3aGhXaXdvMHZuN2ZkUWRwdApSb0RZcEpTVE9JdURSTUhhallqTFFaaWgwYysvK095dEdIS0tHN3A2bndRWlFiSHprdkRSZzA2OE44TXBPRU53CmozRmFxU3VEdmI4S3JXclh2VVhiSTF6N1RQbHBzck5ReGlibFFSZDRwU3c1STNwNk02WUs1cFVOMS9GYmxPOEkKYldBRUNnaEJBNEdUMjV2bjJZVDJwcklTd0NiT1kvZmVyQmYwQnMzQlNhR3Nyb3AvL0lxVzhUUDlaWGh5SjlpSgpPbytucE1LbHFDa3VvK3dheGR6V2JVSDV5MXBCd1hOb1M3dHpmWGx2bHJQb0VNR3VOblNneGFRZjY4dWtRRVVDCkF3RUFBYU5DTUVBd0hRWURWUjBPQkJZRUZHdXdnV2E4d1hzWUpMejB2N2VOcElYdVpWWG9NQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnTGtNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUN0d291dgp6cEZLSVREN2ZZaWJIZzFhdDNxUXZaUWEyKzRxQ2pmbVdJcnJwY2FXSWNjM3RQNzlsTGJ0dlVzdzV5MlUyOURnCjRVSjRqL3pLdmZsamMrSU50M2x0U2VRU2xONURyYmxObHZ1eTQrcTBjU2xZWDRkaVBmRVJzeEgxbXZvSmxHdDkKV3ppKzRqQXErVFhQQmc0dWhkZkxia0JFazdjZG9hdnBCQUtneDMwNG9Iem1oVktpeHczSncyazh5MUxUcWdELwoybVJTK05GeWgvam5hOW8zR2ZFNGk1SXBzVFVuUVZQaEFLbS9GbUg4SUd6cHFsSHcrczV1cEszcGt0SkJrdGhyCmpqSTR0TVU5bnltdUx1STNsdzd1Y2RQSlNDVzJsdU9na2xqUXY4V0pHYUxFbndVWFJ4WE9HSGR1c1ExQVJQc1oKaW5qYk1EdG5uV3VKc25adTRNMytCLzE5am1Kc3RpcVpIdnArRFFUaWE1VlNld0l1aWEvVlE3emtLY0p2R2V6MwplM0pzUzlqdm4xRnFON0tFT3VDOFUxN0R5UUh2Mk9pS0hGVHczYjJTdmtCRzVQYTlkN0FUbFhLSURrTGoxQldhCk1VTzNLeFRDSExrUU9lVlpPOGN0d1BuZW1PWWJlV24xYmZNdDBFY0dIWG1NaHowYm5nMUNGQ2MxTnpudzBMbkUKUmN4VTc5OXI0UkxibDJSMnEwbmloTG1sNzRLbzU3WWtHcVFGSitKQmNMU3VnRklWMGd2ZU9lemxmK3ZheXA1NQpYM0NSeHc3dXdZbGFjU2xRV3JHdU8zdG5TM0VkQUFpZ0FDb0E4dWdZTkRGRmFzWFkvQk5td2todkVJaVJyeU9UCnRCZlBCTFpwQmQzOHpZck16azVPbkpJKzRkYUhIMDNNUTlNTTd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+    root-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZLRENDQXhDZ0F3SUJBZ0lVQzk1a1VnY1ZOaE8yd0xtemZwZHU0K3hOMG9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdOekl6TkRVeU5Wb1hEVE15TURNd05ESXpORFV5TlZvd0xERVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUE0YWh0T3EveEphRnN3dDZSQlhXL1dEVkowR3ZvbzViVmg5b0tkUTkxUFZZZQowUXBsU0ZFNVpwVjdSZWovM1NmYTJUcVBrcmw3ZG9GbVlmQk1HaTh0TE9ySnp2ZkZ0ME9rZzl4TEM5SUc1WUlHCmJUcjlweVhUU0hhZ2pXRVg3ZElKbzg1eE95TzJNdDFTOUx5RzJES1ZYTGZMM1dZM1F1VTBScDkyc0FCMlp6b0sKeEtwN1NBbHQvTE1hZzNjTVUzaGpWakVkblhDbmRabFdscjBvYTJlUXl4UHQ3bjd0Z0Q5dUZNVUlxZk01WHBRMwpwb2FNVjg1ZG1udlBVRGtMVCtqYjYrbTRtOFVFK2YzSGdsZk5kSjc4bzE4ajUzL1NRaTkvZUJGRlJ6bXhXaUNTCkpsTWh3eE8zZUZSOEEzdHZxZ0tEN0lEL2kraVVSOWZUVnFReDFQUFNjR0xTWlpocmxNbmNIWE5oQkFqUFR3bDUKZGoxczMxendTQnlxaDBtS3hFK2M5d2lWazVpbWwyVXRTN3VjWXh5L2swWURLWFA3aGhXaXdvMHZuN2ZkUWRwdApSb0RZcEpTVE9JdURSTUhhallqTFFaaWgwYysvK095dEdIS0tHN3A2bndRWlFiSHprdkRSZzA2OE44TXBPRU53CmozRmFxU3VEdmI4S3JXclh2VVhiSTF6N1RQbHBzck5ReGlibFFSZDRwU3c1STNwNk02WUs1cFVOMS9GYmxPOEkKYldBRUNnaEJBNEdUMjV2bjJZVDJwcklTd0NiT1kvZmVyQmYwQnMzQlNhR3Nyb3AvL0lxVzhUUDlaWGh5SjlpSgpPbytucE1LbHFDa3VvK3dheGR6V2JVSDV5MXBCd1hOb1M3dHpmWGx2bHJQb0VNR3VOblNneGFRZjY4dWtRRVVDCkF3RUFBYU5DTUVBd0hRWURWUjBPQkJZRUZHdXdnV2E4d1hzWUpMejB2N2VOcElYdVpWWG9NQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnTGtNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUN0d291dgp6cEZLSVREN2ZZaWJIZzFhdDNxUXZaUWEyKzRxQ2pmbVdJcnJwY2FXSWNjM3RQNzlsTGJ0dlVzdzV5MlUyOURnCjRVSjRqL3pLdmZsamMrSU50M2x0U2VRU2xONURyYmxObHZ1eTQrcTBjU2xZWDRkaVBmRVJzeEgxbXZvSmxHdDkKV3ppKzRqQXErVFhQQmc0dWhkZkxia0JFazdjZG9hdnBCQUtneDMwNG9Iem1oVktpeHczSncyazh5MUxUcWdELwoybVJTK05GeWgvam5hOW8zR2ZFNGk1SXBzVFVuUVZQaEFLbS9GbUg4SUd6cHFsSHcrczV1cEszcGt0SkJrdGhyCmpqSTR0TVU5bnltdUx1STNsdzd1Y2RQSlNDVzJsdU9na2xqUXY4V0pHYUxFbndVWFJ4WE9HSGR1c1ExQVJQc1oKaW5qYk1EdG5uV3VKc25adTRNMytCLzE5am1Kc3RpcVpIdnArRFFUaWE1VlNld0l1aWEvVlE3emtLY0p2R2V6MwplM0pzUzlqdm4xRnFON0tFT3VDOFUxN0R5UUh2Mk9pS0hGVHczYjJTdmtCRzVQYTlkN0FUbFhLSURrTGoxQldhCk1VTzNLeFRDSExrUU9lVlpPOGN0d1BuZW1PWWJlV24xYmZNdDBFY0dIWG1NaHowYm5nMUNGQ2MxTnpudzBMbkUKUmN4VTc5OXI0UkxibDJSMnEwbmloTG1sNzRLbzU3WWtHcVFGSitKQmNMU3VnRklWMGd2ZU9lemxmK3ZheXA1NQpYM0NSeHc3dXdZbGFjU2xRV3JHdU8zdG5TM0VkQUFpZ0FDb0E4dWdZTkRGRmFzWFkvQk5td2todkVJaVJyeU9UCnRCZlBCTFpwQmQzOHpZck16azVPbkpJKzRkYUhIMDNNUTlNTTd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+kind: Secret
+metadata:
+    creationTimestamp: null
+    name: cacerts
+    namespace: istio-system
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:07Z"
+    mac: ENC[AES256_GCM,data:MstJcEMw0eAakR1u2F4SDYz1eqV9ORSyvstAIlaXPDJHaUZmcbXQ7jhzWKKa0hGYmkBkl3gWzg43ScQYqKyrS0XVA1/mDmq4kJpxnOJrpIFfyM7bk71ZW1cCknhtrOpkO0Q3BxoW3LfAzDuGPRlf4G3cw1Ev/4SdIz5mpSL2mOg=,iv:/3cyNqTULmVHh2TKeFuxgsmEx9rVpObCR8z6PTEOUhc=,tag:n0L6Rw+1wzfmXTiSwK96LQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:06Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPARAAg2QyCD04wc0h6a40yhOwJuHgyhJB+ggzob1zqAcrRqXB
+            mX6FdwNBasJABhfnNysCugjx3HK6oUYAbjNFQcvg0lEtWkmISO4fNK7w0G34/O+H
+            0kAeScwne4i+LZ5iU+vV4Si0NVcuzRLRlHNoaTVZIGoxyDx4OoCYwPov9/H4aJ7S
+            rtTtvuSvpOc0LB5xi3LwdKITb1ehJzMLrJ79lCnLvzFx8pCQ9NEkezUHFTNCTBKw
+            TMmsaENx0HEmhJ8CSYy0R95PXZflAPqh94vYMVahX9hAWwmT8VecjTk6+i3GcI32
+            VGkgHq8qQK3a8j5QHAwsqbj37qu4abZXLPssN1rPlAqgf+lCfkiWbhc4Gfen87Ir
+            a4psEms5zlFPYKirx6KvH523Kvn2pe6NEx3RqjL1Yffx5bhq8Q8ESb1ipdIcHpgL
+            Z85VDdETDlhbvoHfo5PmRKXh2wvqpio89W7sLq4GjP8M6gdtKKlFAs03eLrtNjoW
+            64BO72m6F84LADBXn3PijOqSDqGcib2WxcvGoYuZMX6r14QphiOQzx+k591s/zMZ
+            MQqezYphJsL1D5SsMcwVsCuxX5fB7y8BfIpypvVAFP3oeej3Bk3ye3V5fqHdYao1
+            aGfU3wfEsCpyEKQINEWev0LEUYSKI6Q2/HzHBgGh+a8C/c7WjNANN84uiYOM8snS
+            XgHC9iH4nE6d5wswt5w8izWcPH23WWtDtyaxvJ6nR8Q3U9bm5VLUpwK7I9IjI8kt
+            /g3suH8lqWbDhgXEEMjGAktWVZAxue5rIb8Uv2y6PYf6WLd5OYW7VSHGt5tTUXc=
+            =FXv4
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/cluster/compute/istio-namespace.yaml b/deploy/site/vm-mc/cluster/compute/istio-namespace.yaml
new file mode 100644 (file)
index 0000000..60de14f
--- /dev/null
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: istio-system
diff --git a/deploy/site/vm-mc/cluster/compute/istio.yaml b/deploy/site/vm-mc/cluster/compute/istio.yaml
new file mode 100644 (file)
index 0000000..5eb5f09
--- /dev/null
@@ -0,0 +1,24 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: istio
+  namespace: istio-system
+spec:
+  interval: 5m
+  chart:
+    spec:
+      chart: deploy/istio
+      sourceRef:
+        kind: GitRepository
+        name: icn
+        namespace: flux-system
+      interval: 1m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  dependsOn:
+  - name: istio-operator
diff --git a/deploy/site/vm-mc/cluster/management/addons.yaml b/deploy/site/vm-mc/cluster/management/addons.yaml
new file mode 100644 (file)
index 0000000..170028a
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: addons
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-addons
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm-mc/cluster/management/emco-management.yaml b/deploy/site/vm-mc/cluster/management/emco-management.yaml
new file mode 100644 (file)
index 0000000..28866df
--- /dev/null
@@ -0,0 +1,19 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-management
+  namespace: flux-system
+spec:
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
+  interval: 5m
+  path: deploy/site/cluster-emco-management
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm-mc/cluster/management/gotk-sync.yaml b/deploy/site/vm-mc/cluster/management/gotk-sync.yaml
new file mode 100644 (file)
index 0000000..a279712
--- /dev/null
@@ -0,0 +1,30 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: icn
+  namespace: flux-system
+spec:
+  gitImplementation: go-git
+  interval: 1m0s
+  ref:
+    branch: master
+  timeout: 20s
+  url: https://gerrit.akraino.org/r/icn
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: management-flux-sync
+  namespace: flux-system
+spec:
+  interval: 10m0s
+  path: deploy/site/vm-mc/cluster/management
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
diff --git a/deploy/site/vm-mc/cluster/management/istio-cacerts.yaml b/deploy/site/vm-mc/cluster/management/istio-cacerts.yaml
new file mode 100644 (file)
index 0000000..2819560
--- /dev/null
@@ -0,0 +1,42 @@
+apiVersion: v1
+data:
+    ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZjVENDQTFtZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZ3d0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREl5TURVd05Wb1hEVEkwTURNd056SXlNRFV3TlZvd1RqRVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFVE1CRUcKQTFVRUJ3d0tiV0Z1WVdkbGJXVnVkRENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQgpBTkFpVkczOVNOUnpHSW5iZ0pRQkkvbXlWUEh0UVN1aEpCYzIyVkNqYjNPOTlqb0ZCWlhURmtzVkZQNFRJKytRCko3RERWMmEwTDdWeEFKbGJ0NWh6ZWFvemJTTkNOU01GeGpFTHZsNFpIdTlMSGxnZ1NPZHVRd0dSQ003czloSTEKZDJ0SDg0MEdoZEs3WEF1UHZzY0pJd2lGU01aTTdISllCcTlqdjN6RFdJUU41WWlTWFA0VkxWS042K3NnRlVUUgpuYzkxeEpmcG5mazltZWhjUFI0dVNlOW0xL0JrRFV3TXBDVTBGaGJMNzc4VkNRZnprY3lITVJuejBtTzZ2dDFFClhIUmZNRkVMVnlZVDhJNGNHYVpBVnYwSE03UkNxMmU4QlZnMkxIb1lGcGtNVVhKVTNQMHg2ZnJRZDdjOFdxd1EKSU5oRWR3QTJ4WkpkVDJkYi8zUExwUnZiTUVNeG44QmdzZzh6T1ZMZEZwUUt4UHJWUWw4TmhFQ21DNVRzV01kVApncEUvN3dUVExaM3JHYlphQVRncmZkTkpLRi8vRzFwbU1oUmdoQ0t1VzZMYjR2VW9TRkg5MjlQeWE2TDQvZTN1CmN1dHZYcENuU2VpUTBoRnRuUHEvQmFHaHpZdnNNTDArS1lTMTZ0MXF2REpXWEx2L0ZycGxmaWcxUmR6U0lJb2MKNUpENURxK3g3aDhNbHdBcWRQZ295RlIzK3ZwMWtlenhlRTN6TzFUQURXUWVwQW44ZHhKaU9hUGhjTHlaNGl6LwpzQndvMGtZSXB0OHdiYnUydldHUWpkUC9pck9XbEdFQ1Rsb01DZUdKckMvaWRiMWc5ZU8ySElFVVlETnIveUllCnFzd0tYUFpsVWVPc1BsVU4zenBWQkw3MmVmRVEwRFVGOFpReE5Dck1HN056QWdNQkFBR2phVEJuTUIwR0ExVWQKRGdRV0JCU2V3YlZ0NkpySDFaa0hGREtpTFpjUXF6UkgrVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC9BZ0VBTUE0RwpBMVVkRHdFQi93UUVBd0lDNURBaUJnTlZIUkVFR3pBWmdoZHBjM1JwYjJRdWFYTjBhVzh0YzNsemRHVnRMbk4yCll6QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFWSnc0YUtaWEJhVzZQUUhVYVlIWGV2WVJnTHNJM3ZndG56a1YKNEtkeWdpSnBiRENRL3hkM25QcmU4dFZrdUFPTGNEWlR3OWIrNzV3aFoxK1BLOEZBOG9lWjM0NG9hb21aU0x4OAovNjNZUHdFMFByNDR0RWN0MHVVUUhVWjczMURwaFMvb2taVDAxUUw5WHJuSE1nZG10WnNNdVhHclJ2Z0tTMzJhCkNZbytDR01kWWhjRkFiWnpzd0xpeWNhdzFBNWtESkh1V2JvMHBTQy9NaUU1VWt5SVQ0aUxGMUVFeDRId3Jqc0wKRlVMODBjOVFEMTExVzFtWDkrbHlYa3FwLzdTUXFaOVA3anZ0cEdGdmpkN1JZVUhRUG1ZQW1uMHBpSGVTMTRkaQovUlBzZDcyU1k3UXNpL3RkdnY0d0JhbS94eWlmVFJCQ0F2cW1zSTE4TU1oWDZFeVB4Qk90dnphajVyNUdrRGlsCnhVQk8rQ3lrZGFEcU9FR0tjTEVEWDhCWXJaK08vdmlUQU5OYVY3ZjhTcXNFejVST3pGckg1YmRkelJTOWQvcFUKRG9EYllpZXMxa2lvNVB6cmNxMDB0VDBMMEdCdzE4Q0RkczdxcmZVMHZ1RDA0TWZPUFd1cWdKcHRNeUhPY2VjdwpkKzEwUm9LS2JuVDg0Y3BaOGNYWWJ2RlpZTFVrcUhxTGN5VG1yYWxBc2NSczN1UWJaREdxclFLSFpXdUJCZnNLCllMMklEbSs2L3dPSlE4UmFsdmF5QnhqYlJEa3RWZm5rSE1wZXVMS0pJMGlTUEd1QWRRcUwxMG9DUlZBNW9ad3cKa3kvbUNmY3VKZFV4cHE3SVdwaWg5ZzhMTlNzYkVkc0tldXY0L3YvZmJmeHk1M2x5MytUNTNmRmROOXAzMlFyaQpkY01DMkc0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
+    ca-key.pem: ENC[AES256_GCM,data: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,iv:Vh8nCR4ZT+AZc6ckq1uzHsCczth8r05YyEuJG1MmzRM=,tag:Z+niXzfofltOJuoXHE/Gzw==,type:str]
+    cert-chain.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZjVENDQTFtZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZ3d0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREl5TURVd05Wb1hEVEkwTURNd056SXlNRFV3TlZvd1RqRVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFVE1CRUcKQTFVRUJ3d0tiV0Z1WVdkbGJXVnVkRENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQgpBTkFpVkczOVNOUnpHSW5iZ0pRQkkvbXlWUEh0UVN1aEpCYzIyVkNqYjNPOTlqb0ZCWlhURmtzVkZQNFRJKytRCko3RERWMmEwTDdWeEFKbGJ0NWh6ZWFvemJTTkNOU01GeGpFTHZsNFpIdTlMSGxnZ1NPZHVRd0dSQ003czloSTEKZDJ0SDg0MEdoZEs3WEF1UHZzY0pJd2lGU01aTTdISllCcTlqdjN6RFdJUU41WWlTWFA0VkxWS042K3NnRlVUUgpuYzkxeEpmcG5mazltZWhjUFI0dVNlOW0xL0JrRFV3TXBDVTBGaGJMNzc4VkNRZnprY3lITVJuejBtTzZ2dDFFClhIUmZNRkVMVnlZVDhJNGNHYVpBVnYwSE03UkNxMmU4QlZnMkxIb1lGcGtNVVhKVTNQMHg2ZnJRZDdjOFdxd1EKSU5oRWR3QTJ4WkpkVDJkYi8zUExwUnZiTUVNeG44QmdzZzh6T1ZMZEZwUUt4UHJWUWw4TmhFQ21DNVRzV01kVApncEUvN3dUVExaM3JHYlphQVRncmZkTkpLRi8vRzFwbU1oUmdoQ0t1VzZMYjR2VW9TRkg5MjlQeWE2TDQvZTN1CmN1dHZYcENuU2VpUTBoRnRuUHEvQmFHaHpZdnNNTDArS1lTMTZ0MXF2REpXWEx2L0ZycGxmaWcxUmR6U0lJb2MKNUpENURxK3g3aDhNbHdBcWRQZ295RlIzK3ZwMWtlenhlRTN6TzFUQURXUWVwQW44ZHhKaU9hUGhjTHlaNGl6LwpzQndvMGtZSXB0OHdiYnUydldHUWpkUC9pck9XbEdFQ1Rsb01DZUdKckMvaWRiMWc5ZU8ySElFVVlETnIveUllCnFzd0tYUFpsVWVPc1BsVU4zenBWQkw3MmVmRVEwRFVGOFpReE5Dck1HN056QWdNQkFBR2phVEJuTUIwR0ExVWQKRGdRV0JCU2V3YlZ0NkpySDFaa0hGREtpTFpjUXF6UkgrVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC9BZ0VBTUE0RwpBMVVkRHdFQi93UUVBd0lDNURBaUJnTlZIUkVFR3pBWmdoZHBjM1JwYjJRdWFYTjBhVzh0YzNsemRHVnRMbk4yCll6QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFWSnc0YUtaWEJhVzZQUUhVYVlIWGV2WVJnTHNJM3ZndG56a1YKNEtkeWdpSnBiRENRL3hkM25QcmU4dFZrdUFPTGNEWlR3OWIrNzV3aFoxK1BLOEZBOG9lWjM0NG9hb21aU0x4OAovNjNZUHdFMFByNDR0RWN0MHVVUUhVWjczMURwaFMvb2taVDAxUUw5WHJuSE1nZG10WnNNdVhHclJ2Z0tTMzJhCkNZbytDR01kWWhjRkFiWnpzd0xpeWNhdzFBNWtESkh1V2JvMHBTQy9NaUU1VWt5SVQ0aUxGMUVFeDRId3Jqc0wKRlVMODBjOVFEMTExVzFtWDkrbHlYa3FwLzdTUXFaOVA3anZ0cEdGdmpkN1JZVUhRUG1ZQW1uMHBpSGVTMTRkaQovUlBzZDcyU1k3UXNpL3RkdnY0d0JhbS94eWlmVFJCQ0F2cW1zSTE4TU1oWDZFeVB4Qk90dnphajVyNUdrRGlsCnhVQk8rQ3lrZGFEcU9FR0tjTEVEWDhCWXJaK08vdmlUQU5OYVY3ZjhTcXNFejVST3pGckg1YmRkelJTOWQvcFUKRG9EYllpZXMxa2lvNVB6cmNxMDB0VDBMMEdCdzE4Q0RkczdxcmZVMHZ1RDA0TWZPUFd1cWdKcHRNeUhPY2VjdwpkKzEwUm9LS2JuVDg0Y3BaOGNYWWJ2RlpZTFVrcUhxTGN5VG1yYWxBc2NSczN1UWJaREdxclFLSFpXdUJCZnNLCllMMklEbSs2L3dPSlE4UmFsdmF5QnhqYlJEa3RWZm5rSE1wZXVMS0pJMGlTUEd1QWRRcUwxMG9DUlZBNW9ad3cKa3kvbUNmY3VKZFV4cHE3SVdwaWg5ZzhMTlNzYkVkc0tldXY0L3YvZmJmeHk1M2x5MytUNTNmRmROOXAzMlFyaQpkY01DMkc0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGS0RDQ0F4Q2dBd0lCQWdJVUM5NWtVZ2NWTmhPMndMbXpmcGR1NCt4TjBvVXdEUVlKS29aSWh2Y05BUUVMCkJRQXdMREVZTUJZR0ExVUVDZ3dQY0hKdmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkIKTUI0WERUSXlNRE13TnpJek5EVXlOVm9YRFRNeU1ETXdOREl6TkRVeU5Wb3dMREVZTUJZR0ExVUVDZ3dQY0hKdgphbVZqZEMxbGJXTnZMbWx2TVJBd0RnWURWUVFEREFkU2IyOTBJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBZzhBTUlJQ0NnS0NBZ0VBNGFodE9xL3hKYUZzd3Q2UkJYVy9XRFZKMEd2b281YlZoOW9LZFE5MVBWWWUKMFFwbFNGRTVacFY3UmVqLzNTZmEyVHFQa3JsN2RvRm1ZZkJNR2k4dExPckp6dmZGdDBPa2c5eExDOUlHNVlJRwpiVHI5cHlYVFNIYWdqV0VYN2RJSm84NXhPeU8yTXQxUzlMeUcyREtWWExmTDNXWTNRdVUwUnA5MnNBQjJaem9LCnhLcDdTQWx0L0xNYWczY01VM2hqVmpFZG5YQ25kWmxXbHIwb2EyZVF5eFB0N243dGdEOXVGTVVJcWZNNVhwUTMKcG9hTVY4NWRtbnZQVURrTFQramI2K200bThVRStmM0hnbGZOZEo3OG8xOGo1My9TUWk5L2VCRkZSem14V2lDUwpKbE1od3hPM2VGUjhBM3R2cWdLRDdJRC9pK2lVUjlmVFZxUXgxUFBTY0dMU1paaHJsTW5jSFhOaEJBalBUd2w1CmRqMXMzMXp3U0J5cWgwbUt4RStjOXdpVms1aW1sMlV0Uzd1Y1l4eS9rMFlES1hQN2hoV2l3bzB2bjdmZFFkcHQKUm9EWXBKU1RPSXVEUk1IYWpZakxRWmloMGMrLytPeXRHSEtLRzdwNm53UVpRYkh6a3ZEUmcwNjhOOE1wT0VOdwpqM0ZhcVN1RHZiOEtyV3JYdlVYYkkxejdUUGxwc3JOUXhpYmxRUmQ0cFN3NUkzcDZNNllLNXBVTjEvRmJsTzhJCmJXQUVDZ2hCQTRHVDI1dm4yWVQycHJJU3dDYk9ZL2ZlckJmMEJzM0JTYUdzcm9wLy9JcVc4VFA5WlhoeUo5aUoKT28rbnBNS2xxQ2t1byt3YXhkeldiVUg1eTFwQndYTm9TN3R6ZlhsdmxyUG9FTUd1Tm5TZ3hhUWY2OHVrUUVVQwpBd0VBQWFOQ01FQXdIUVlEVlIwT0JCWUVGR3V3Z1dhOHdYc1lKTHowdjdlTnBJWHVaVlhvTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0xrTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFDdHdvdXYKenBGS0lURDdmWWliSGcxYXQzcVF2WlFhMis0cUNqZm1XSXJycGNhV0ljYzN0UDc5bExidHZVc3c1eTJVMjlEZwo0VUo0ai96S3ZmbGpjK0lOdDNsdFNlUVNsTjVEcmJsTmx2dXk0K3EwY1NsWVg0ZGlQZkVSc3hIMW12b0psR3Q5Cld6aSs0akFxK1RYUEJnNHVoZGZMYmtCRWs3Y2RvYXZwQkFLZ3gzMDRvSHptaFZLaXh3M0p3Mms4eTFMVHFnRC8KMm1SUytORnloL2puYTlvM0dmRTRpNUlwc1RVblFWUGhBS20vRm1IOElHenBxbEh3K3M1dXBLM3BrdEpCa3Rocgpqakk0dE1VOW55bXVMdUkzbHc3dWNkUEpTQ1cybHVPZ2tsalF2OFdKR2FMRW53VVhSeFhPR0hkdXNRMUFSUHNaCmluamJNRHRubld1SnNuWnU0TTMrQi8xOWptSnN0aXFaSHZwK0RRVGlhNVZTZXdJdWlhL1ZRN3prS2NKdkdlejMKZTNKc1M5anZuMUZxTjdLRU91QzhVMTdEeVFIdjJPaUtIRlR3M2IyU3ZrQkc1UGE5ZDdBVGxYS0lEa0xqMUJXYQpNVU8zS3hUQ0hMa1FPZVZaTzhjdHdQbmVtT1liZVduMWJmTXQwRWNHSFhtTWh6MGJuZzFDRkNjMU56bncwTG5FClJjeFU3OTlyNFJMYmwyUjJxMG5paExtbDc0S281N1lrR3FRRkorSkJjTFN1Z0ZJVjBndmVPZXpsZit2YXlwNTUKWDNDUnh3N3V3WWxhY1NsUVdyR3VPM3RuUzNFZEFBaWdBQ29BOHVnWU5ERkZhc1hZL0JObXdraHZFSWlScnlPVAp0QmZQQkxacEJkMzh6WXJNems1T25KSSs0ZGFISDAzTVE5TU03dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+    root-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZLRENDQXhDZ0F3SUJBZ0lVQzk1a1VnY1ZOaE8yd0xtemZwZHU0K3hOMG9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdOekl6TkRVeU5Wb1hEVE15TURNd05ESXpORFV5TlZvd0xERVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUE0YWh0T3EveEphRnN3dDZSQlhXL1dEVkowR3ZvbzViVmg5b0tkUTkxUFZZZQowUXBsU0ZFNVpwVjdSZWovM1NmYTJUcVBrcmw3ZG9GbVlmQk1HaTh0TE9ySnp2ZkZ0ME9rZzl4TEM5SUc1WUlHCmJUcjlweVhUU0hhZ2pXRVg3ZElKbzg1eE95TzJNdDFTOUx5RzJES1ZYTGZMM1dZM1F1VTBScDkyc0FCMlp6b0sKeEtwN1NBbHQvTE1hZzNjTVUzaGpWakVkblhDbmRabFdscjBvYTJlUXl4UHQ3bjd0Z0Q5dUZNVUlxZk01WHBRMwpwb2FNVjg1ZG1udlBVRGtMVCtqYjYrbTRtOFVFK2YzSGdsZk5kSjc4bzE4ajUzL1NRaTkvZUJGRlJ6bXhXaUNTCkpsTWh3eE8zZUZSOEEzdHZxZ0tEN0lEL2kraVVSOWZUVnFReDFQUFNjR0xTWlpocmxNbmNIWE5oQkFqUFR3bDUKZGoxczMxendTQnlxaDBtS3hFK2M5d2lWazVpbWwyVXRTN3VjWXh5L2swWURLWFA3aGhXaXdvMHZuN2ZkUWRwdApSb0RZcEpTVE9JdURSTUhhallqTFFaaWgwYysvK095dEdIS0tHN3A2bndRWlFiSHprdkRSZzA2OE44TXBPRU53CmozRmFxU3VEdmI4S3JXclh2VVhiSTF6N1RQbHBzck5ReGlibFFSZDRwU3c1STNwNk02WUs1cFVOMS9GYmxPOEkKYldBRUNnaEJBNEdUMjV2bjJZVDJwcklTd0NiT1kvZmVyQmYwQnMzQlNhR3Nyb3AvL0lxVzhUUDlaWGh5SjlpSgpPbytucE1LbHFDa3VvK3dheGR6V2JVSDV5MXBCd1hOb1M3dHpmWGx2bHJQb0VNR3VOblNneGFRZjY4dWtRRVVDCkF3RUFBYU5DTUVBd0hRWURWUjBPQkJZRUZHdXdnV2E4d1hzWUpMejB2N2VOcElYdVpWWG9NQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnTGtNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUN0d291dgp6cEZLSVREN2ZZaWJIZzFhdDNxUXZaUWEyKzRxQ2pmbVdJcnJwY2FXSWNjM3RQNzlsTGJ0dlVzdzV5MlUyOURnCjRVSjRqL3pLdmZsamMrSU50M2x0U2VRU2xONURyYmxObHZ1eTQrcTBjU2xZWDRkaVBmRVJzeEgxbXZvSmxHdDkKV3ppKzRqQXErVFhQQmc0dWhkZkxia0JFazdjZG9hdnBCQUtneDMwNG9Iem1oVktpeHczSncyazh5MUxUcWdELwoybVJTK05GeWgvam5hOW8zR2ZFNGk1SXBzVFVuUVZQaEFLbS9GbUg4SUd6cHFsSHcrczV1cEszcGt0SkJrdGhyCmpqSTR0TVU5bnltdUx1STNsdzd1Y2RQSlNDVzJsdU9na2xqUXY4V0pHYUxFbndVWFJ4WE9HSGR1c1ExQVJQc1oKaW5qYk1EdG5uV3VKc25adTRNMytCLzE5am1Kc3RpcVpIdnArRFFUaWE1VlNld0l1aWEvVlE3emtLY0p2R2V6MwplM0pzUzlqdm4xRnFON0tFT3VDOFUxN0R5UUh2Mk9pS0hGVHczYjJTdmtCRzVQYTlkN0FUbFhLSURrTGoxQldhCk1VTzNLeFRDSExrUU9lVlpPOGN0d1BuZW1PWWJlV24xYmZNdDBFY0dIWG1NaHowYm5nMUNGQ2MxTnpudzBMbkUKUmN4VTc5OXI0UkxibDJSMnEwbmloTG1sNzRLbzU3WWtHcVFGSitKQmNMU3VnRklWMGd2ZU9lemxmK3ZheXA1NQpYM0NSeHc3dXdZbGFjU2xRV3JHdU8zdG5TM0VkQUFpZ0FDb0E4dWdZTkRGRmFzWFkvQk5td2todkVJaVJyeU9UCnRCZlBCTFpwQmQzOHpZck16azVPbkpJKzRkYUhIMDNNUTlNTTd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+kind: Secret
+metadata:
+    creationTimestamp: null
+    name: cacerts
+    namespace: istio-system
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:08Z"
+    mac: ENC[AES256_GCM,data:3GvKV7QvYVSqKL4LC5p9l8wbZXW0ao9CZr0Q15aW03cZSpexUuzfHAfAhLJZLKU2Cw9Gv3Kxutyw13uflewnlL6q8q0sj/pZEiGsB4AbFAezBTwwE+h7zc65NT59uYw9YFGFUrvqtJlQdK68OcyhTi93lMGf6GsJEX8lOmt7mas=,iv:OM8Qwpt0B0Ofe8p714D23uHYqG0KWPo82GQRGsqyP/I=,tag:ZKCwcjgN6QYQHNkkr5AyKQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:07Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ/+IsiW47K2A3LKxq7Uh0K9mODXS5fSCwIWM8SVCRsMTELh
+            2G7uwptAIt5V19x1f1OHzfsZZ6ukAhueuHUR+MoaPAYM7roVuQWXeVpZNCuxUfK6
+            9gSTKhnfRTp1ltz04byI6SrRg2/3+Gv8IFA+tHOyT2DcdeAK/Pd8+KwxU+PW9Y9B
+            WHLhaBSS1A44Vtif9jagF1yRPzBo2iI4ZSpAaCyDoXweGv+rar+zeyfvNPOfyiXD
+            aCcGMbmyRUx82UWeKFKI6Fl1nKNQuRO7A7EkC6WIwAV2Cl2ZAFLcPdeNNL6WLVvM
+            6Wfp759A894LM/ARgJrKu4GJrP2qRO38PVGW0F1MOZrjEOLvaDODB28reRhETtx4
+            +xI13UorkrU2fVe0TVegT8l3TkIo/d1rJy2UkkzEvDQMlbgXA+O6LQGJyk8E9D4B
+            bHL3AIN/1E2zxDB5u//6eDhgltvR9hVtP8vAxklqsNnetTTWMVoxUbwLwgfZyLDD
+            fTS/ttgB8jXBEyxI6Tz1KOMeRE+LvYnrFrySnPcvCD1vMRLWYv4xncWm06z2V37z
+            bqfrzCa9ziFUwDy3FfXMpP02Se+vCro8hTZ4ugWkTHrhGLQrKAMloVRyDrQZzRPI
+            8C/rc5sfJ2V+4QzFglkV88nGF0moGijEPgYkiTG6VmsXsSaBO1slIDsB5ztyoUDS
+            XgGdILjzVTmAupqt5HGWIgFR1oKR0jagrk0B7D2QVfJ7oxdu1s7CSuBAn/gMCkuS
+            VPX7U6Hp/tlu+Xcjlozo4vsKOTPHDSN1DgkwNezsXqxabqDqXGX6/3dTl+qtT40=
+            =sq+d
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/cluster/management/istio-namespace.yaml b/deploy/site/vm-mc/cluster/management/istio-namespace.yaml
new file mode 100644 (file)
index 0000000..60de14f
--- /dev/null
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: istio-system
diff --git a/deploy/site/vm-mc/cluster/management/istio.yaml b/deploy/site/vm-mc/cluster/management/istio.yaml
new file mode 100644 (file)
index 0000000..5eb5f09
--- /dev/null
@@ -0,0 +1,24 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: istio
+  namespace: istio-system
+spec:
+  interval: 5m
+  chart:
+    spec:
+      chart: deploy/istio
+      sourceRef:
+        kind: GitRepository
+        name: icn
+        namespace: flux-system
+      interval: 1m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  dependsOn:
+  - name: istio-operator
diff --git a/deploy/site/vm-mc/deployment/cluster-compute.yaml b/deploy/site/vm-mc/deployment/cluster-compute.yaml
new file mode 100644 (file)
index 0000000..0630d39
--- /dev/null
@@ -0,0 +1,65 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: cluster-compute
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/cluster
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        clusterName: compute
+        clusterLabels:
+            site: vm-multi-cluster
+        controlPlaneEndpoint: 192.168.151.253
+        keepalived:
+            interface: ens6
+            routerId: 4
+        networks:
+            baremetal:
+                interface: ens6
+            provisioning:
+                interface: ens5
+        userData:
+            hashedPassword: ENC[AES256_GCM,data:xwoWhJ20H2WOV3appsHf6wAMA/o72EkgvVuG5KyIEfQh7Ceofhtfq6erbSZ+oAxWjceUzFezGhGzxJVtX/5ipa9qv9jFCcBXk+auAoYIDkF9fzIi5NccHDmayPOjSmgMCWGCifuiIMnCEahM357sQt/4,iv:VAVM0M8XApxIGLOgq3WbYVXom/++f8Q10DVRlDquctI=,tag:YMYjHgAZWfwOMHL2ujSwZg==,type:str]
+            sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDYPGY1jqOWnbTKREC4Sr56G2OhdSxT0XuLsMI97FSv2DC9Y456AplwrOCsk6Qk5YtJyzeWa4p+OTRH+2Nsak0ejI+yweA98ZRRPVQJhlQu5U5ZS4mG4Y6/LCG834LbFlFL+jup0WYtPz6/EXWhlLsGjUBb84fzwnDlukbZ9CBRbOYInoV5HjBlGGfcqyvhIjkvtxc9Cp5uhvSyzUum068NcvRfCMVVyAfFJnnIipgyYuD7VjxZDPIff17lfh3J1mIh06fcu8HHIoJe6k4tQbv5S2ogxrf8lsI5Xu7YU0SciAgerNQORa9KTJSDoNrsXT9Ae3F0XKxHj72+NhtrUjtXJvR2glXv6B3WVB82pfCBIP6P6VqrjwK8zwuWN8ERFJxX7LsLRMhNyd3yX4lauSIQA7SlC6TN37SR9FhwQa1oocF6T4XDj5wy+xT8iftEzvZtOXe+2GeycgvV8ojMd5TmtfFBFeVimBtnUldw8U6GXLrlQQrXrXk7XrAAJrWeU/U= root@jump
+        flux:
+            url: https://gerrit.akraino.org/r/icn
+            branch: master
+            path: ./deploy/site/vm-mc/cluster/compute
+            decryptionSecret: ENC[AES256_GCM,data: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,iv:BdcHhBUPKpiiZWSVTd0ctRwTS+5ExiI0iMwBJPKSzns=,tag:N/h9Y8q+0h62HZIwa2ll5Q==,type:str]
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:09Z"
+    mac: ENC[AES256_GCM,data:GCz3SkKABvTtuHO47JChrv9XVNdCOZ8QIfD/1gUdW2s4FXO9JXodZtSG3vIT0BVVmxcQw8cisVAe55+Tjx051UcmSPlvQojcCz8HUCXBZHU0OVR/9FhWzdsy5A3f+ea7U9e9U8kYNJT06nktprmL4UInu72X/Vxo/5Z9mXIHuHQ=,iv:9RSsF3wgqvm6z0R1MDdGKwrB0jfdw5fEaeCfJA003po=,tag:Zo8yG21JrCt1Qw0Q9yPzIw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:08Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ//c7MYWFGF/Z/+uXoy0Bf6XRs3qhfNJBMPFSw30DTYnvSO
+            AdRGjE1jE1QNt/HFSicv5tk7aR8DzCezw0kvxOXu2sAAG8RGk7S2rasxBaWOskcW
+            LscPMbsCRK2WoOD6AUC43jHg5+W0y49GJpOJIWGg6LrUJoj7AavciSUT0EwIGnu4
+            zPbcz5sKpJRj5HKntkICXQnzblHteytDxrS7oFdMcgpKPkl0lxJIHP7PT6/uR8QU
+            3dGNgRKI2MZF6AyZl+q/D3a5VkymJwohwFpKrcVVMxjOjLprVYpNShShKq9txj/C
+            iCoXd0xZUVd69zTwpWHh3qcw4WlerYkn08k8LLJlk8BnYdoHzMYz/7pzzvxHn8tF
+            3VBahrkHdN9ag5lamdnJ/6PJHje0I4im3Gv9uQUQDorrwqm41bPt5IfRg3i4lzaT
+            Db49/9n2JR8CV0Oq5f1+bB6aQHZMbIehvAbtSEqXzEiEqhYm2cACq50ipy3ShWZ1
+            eDy84SNlrOaSd/1m10re1J+w2fJsOx0oT/Oi5p+s+VceLsfJhagyXiZJPB2HItxv
+            Mb19Y+6nDl/fZgd4/H4bBecAYFk5d8EocS5p1oUnJJ2hsFr5TBWCJITAPTkotb7j
+            YtqOaCB6eAI7dsHg7oTn0beYCy1LFAYgaEaXssY0nPisiji/uFMXRft77rWtxVrS
+            XgHAK05B8vZ7EmUz48NpQKmhDVYZqeGyo94u0nk/D8w1xex9o8gDRisbu+BanUTk
+            vrXO1S1Lr/OzTv0oyHF0Ovf48cRpCNl0xe689Jjq2MzRTjc0sw32cZbrm7BD7RA=
+            =3/1R
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/deployment/cluster-management.yaml b/deploy/site/vm-mc/deployment/cluster-management.yaml
new file mode 100644 (file)
index 0000000..fe891f3
--- /dev/null
@@ -0,0 +1,65 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: cluster-management
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/cluster
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        clusterName: management
+        clusterLabels:
+            site: vm-multi-cluster
+        controlPlaneEndpoint: 192.168.151.254
+        keepalived:
+            interface: ens6
+            routerId: 3
+        networks:
+            baremetal:
+                interface: ens6
+            provisioning:
+                interface: ens5
+        userData:
+            hashedPassword: ENC[AES256_GCM,data:sJdD3YIJRd9zdyPzeajrD1vWkXiKPUmJV4jRNNZfMzQYuGHIpDExWKYCxNlFHDmLDznq0cQVGhIpFJT7vdQ+k76s3vLx0wIwxEbVphm/3jfTQrGTmMRaaOQar8XQ9mWTOPLlrOpoiMDqmjaW/Tb9ZdnG,iv:Fx6HY010M3FtIPXyWbxgUT/PzOPJskpf35eG0m+IEWM=,tag:Ei3hb5Bxifya0wsxaG5jCw==,type:str]
+            sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDYPGY1jqOWnbTKREC4Sr56G2OhdSxT0XuLsMI97FSv2DC9Y456AplwrOCsk6Qk5YtJyzeWa4p+OTRH+2Nsak0ejI+yweA98ZRRPVQJhlQu5U5ZS4mG4Y6/LCG834LbFlFL+jup0WYtPz6/EXWhlLsGjUBb84fzwnDlukbZ9CBRbOYInoV5HjBlGGfcqyvhIjkvtxc9Cp5uhvSyzUum068NcvRfCMVVyAfFJnnIipgyYuD7VjxZDPIff17lfh3J1mIh06fcu8HHIoJe6k4tQbv5S2ogxrf8lsI5Xu7YU0SciAgerNQORa9KTJSDoNrsXT9Ae3F0XKxHj72+NhtrUjtXJvR2glXv6B3WVB82pfCBIP6P6VqrjwK8zwuWN8ERFJxX7LsLRMhNyd3yX4lauSIQA7SlC6TN37SR9FhwQa1oocF6T4XDj5wy+xT8iftEzvZtOXe+2GeycgvV8ojMd5TmtfFBFeVimBtnUldw8U6GXLrlQQrXrXk7XrAAJrWeU/U= root@jump
+        flux:
+            url: https://gerrit.akraino.org/r/icn
+            branch: master
+            path: ./deploy/site/vm-mc/cluster/management
+            decryptionSecret: ENC[AES256_GCM,data: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,iv:qRgDp87qOXNt+XhaIiya7hgBEK4c+qrRIwzGI7LCw0U=,tag:MJDn4s7+H6dirnhl6fnhTg==,type:str]
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:10Z"
+    mac: ENC[AES256_GCM,data:ziAlNMorLozV6Tht2U//flT1Gs/DqJRfAAw1pqhRkhRAWUyvB+Gnq8ZUQTxf5JdKP3uI9FXWDf7Rr4xIIxeAGiKVVe3xwBw4BKhZkdmIB6BmvTQ2Nf/5jCVhILwGICR1fyTEQH1isFUCKDap1qRHVtXUP2mHp4zT3g8wFF1UOIQ=,iv:COnp314KI3HI5+Zh7iTLlYHUJ+FfNeJl/DObWndNL+U=,tag:mp4yYvf44rzkNFQpBkXG/w==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:09Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ/+O2098YjGlx6jdSMrumRiCZpNUlis6OKwF0fz6SKDHmBk
+            oUwhn2flBOpAj1Xyb0U8Zts7Uz/uJvvUuQBuFAGWC8n6q+5Vjs17fLblvR8BK/y2
+            EOBD61GHL5iA7KMJVnP5xXlVIV2TxLYlsDGT1x0iuIy1lhHYwGZdwhGrEGNkd6wJ
+            exFoDMxxoOy+ipfDo9oSLvajCKZpI6Kh8uPE3QwpxsAYL2dOE7Xrehxf0nvzolNE
+            VPfnfCP/mruaU6BJTXxHHHoJ1MVjQYXQH9rnwc04rzazmmtV+0VX4PfIxCfWeFrl
+            GiMdpdN1x1SemPuS+7hu1S2KLIPxOsGGvQN5sPoan8IPAIlg9nKBejN+PReF7CYO
+            h4+sYjD7KrePv8kYEQf1DlYAF2jirpYnapUYqVIEjyJUHG0FdmCmpq55REfXmbT2
+            b0q6DcVfyc7Ksw++oBdzqC/+wv5hD+WWrb+QCoZBCBlmRrfxs1FrxRsVKq0uNWMg
+            qFOg95YSo/iYaj+/5hPa0njpAvE0DA09GjpSa2XR6p9Nepih/gG0OYMdIHc6XTUU
+            by1Hf5G3YQ6TQHVHylWjvnpxmXqCOEBsjqLsskD8lPn+jQJhF3Ae4OSuOpHZiZZd
+            ctXFTWSpUZDG8Y1wFxXnwOvtjGcxT7CmC9YcFIgIU8xT0bfcrMy9zMfOdj22IO/S
+            XgF4aIs8oxv3mVQ76utxjeXSfZtbzf6GGFjuKEY3rQgjAojno2fA9/1PX7hDwql7
+            CoUR895H8TSG9+B7YSwm7XXjM0mAJBa07JYfe/FGzIH8zB6SEYsYDhPuC7EKWQY=
+            =+Jt9
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/deployment/icn-source.yaml b/deploy/site/vm-mc/deployment/icn-source.yaml
new file mode 100644 (file)
index 0000000..77fb400
--- /dev/null
@@ -0,0 +1,11 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+    name: icn
+spec:
+    gitImplementation: go-git
+    interval: 1m0s
+    ref:
+        branch: master
+    timeout: 20s
+    url: https://gerrit.akraino.org/r/icn
diff --git a/deploy/site/vm-mc/deployment/machine-1.yaml b/deploy/site/vm-mc/deployment/machine-1.yaml
new file mode 100644 (file)
index 0000000..f50d48e
--- /dev/null
@@ -0,0 +1,51 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: machine-1
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: machine-1
+        bootMACAddress: 52:54:00:c6:75:40
+        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/ab389bad-2f4a-4eba-b49e-0d649ff3d237
+        bmcUsername: admin
+        bmcPassword: ENC[AES256_GCM,data:yRbB7naw81M=,iv:5cOPLhjsGV4IHCqpj9v719FzlaWyu0ovp61jXTGbb3k=,tag:Qus/zWzJATkvyowuJ5c1/w==,type:str]
+        bmcDisableCertificateVerification: true
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:10Z"
+    mac: ENC[AES256_GCM,data:BeoMxcdZXRw/ZTOaPDFhuLp57Dqa2DkX438ge1+pqUTXbztyNwgZgU/A9iOThChLeLros4ba+YR+L2v+7+3KsNvOzGWoxODHH1/3lamO3SlBGuOr4IrOC3If7KHV0zgI0puYJlYDIo75CPCfl22GGkPc1onGr+KNy3o3WH8EcNw=,iv:y5X0hEm7DgwOzIHN2Z4mDYBZ3mmesvejXV3fcRkSmlQ=,tag:YxLBZAs+KnQ2G4OAEPa3Pw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:10Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ//bx9JBswCG+kGJLCr3apqCKelAj2BQac3flWRJP0nwnq5
+            Ouv9gq+7044aRwUo0r9CYwetIxRr/h5kgusaeKcv+6DPSXvXn4AfZZUBULmvGoJy
+            qI5D7h5x3hiylfP9I1z8ToHjf+0CtAWgVdlmOwTwWnBJXRscfmPWiPkAgswGkM/5
+            eTteuIpar4du6kc1T+heiZ71spgkEt912/KYo4KR5eetGuVFm4iEyV0ZYRFcXzML
+            IQTtS8SHmpoYGRC3a1foZoulOU0uhmMJuesCgIGNOvXtIvvIDbUXaO3BoKAjG+OT
+            Jf2eFw5BykCPKgeF6AkG/6WVgn/xBFfwpz/6IG+xFwKfIxXnyR7p2tqxT43tcJwC
+            p9OLBwK8txvfTV1Q2qf5xB3+o/o6AXmX3F4Cl9gdurmGyL844Q9gGWp9DP+gP+ms
+            dbA0tLYpbrw/GH0UFykSM7u7pZYgX68vvM5pcCDpdqrDdPJHXBGuhUB9JX9jNX0C
+            gossAJ9BqQSFDx3y+S2T6wnQQN7+Xvqnn07q52GJb0VJhHT+JJHrlvmBHBCAJOqe
+            jRq6HeIH/UU7Tf/zcY8YcTVadWPxPoVmHl0oxMc3Jaw01atlT3tPmcAGqfY6xin4
+            4GGcLbSACr9R6moggaBg2JcJba1h5XNj7l5pl4hSKQtBn2Nz7uBiHs/0AF9zflHS
+            XgFsEXOiUDzDJsXUUaC8SiwIFq4cTqMToPKzADYyIZbFXxQn1FRfrpwErT/MPldl
+            5OjmJ1dx43qGv2rmyneA53cuqR9jonMp5Rbw+uaVaAulixPrPkQqbca73u8K+wk=
+            =R2Ib
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/deployment/machine-2.yaml b/deploy/site/vm-mc/deployment/machine-2.yaml
new file mode 100644 (file)
index 0000000..23049b9
--- /dev/null
@@ -0,0 +1,51 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: machine-2
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: machine-2
+        bootMACAddress: 52:54:00:6f:d6:97
+        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/8d747997-dcd1-42ca-9e25-b3eedbe326aa
+        bmcUsername: admin
+        bmcPassword: ENC[AES256_GCM,data:HFalZ1KklB8=,iv:8sMm2CwwHLNhB9fP2f0csfbUtKm0TQvpDcaO9e35MXk=,tag:TSPmyNCcNNGNCqmCEvKTww==,type:str]
+        bmcDisableCertificateVerification: true
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:11Z"
+    mac: ENC[AES256_GCM,data:oSk5HhFOYQTfwlqw3LfyGu8ZN4eUz3CQLN5pa+ZjKgsYlZKpxausVa1vdCj8O8XfxxXv0JR8AQ7swZ98tkobRETZwc+QCTOVOm8U2OeCGnRLjnlS4oTiB9ElFDsIaQGdJgjjJ1J+ohETJeSDp94FUtSURfI1uaz8Ny1BjMope24=,iv:yKLou2oclHzdrLeTGdzxwxGNOOdpurfPUvAU0B5YuCo=,tag:YlqylAALFHkWQSrRYYUZSw==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:10Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ//djAwmFeVsTd2769BpvaLpGDn+kGIaGVOqBIys4QoALrb
+            13gBLu7YiVmi0pI8B5gnPGOgChfvtkd0b4ZiVe0fZJ1C/xPf7n3XPRUds5TPkzuO
+            b6SBpv8JmnpbrdAj0jXTiGIB1PQ2f41KVFgxk4bcJ4bx+rZdtfxbfrUFuzeEttPH
+            6XtG3BgHSV6DPYYAVAibt2PzP8Ov6CqQrIVOKFhbtJwFN04lTYphOam1UTKawo4j
+            CoNZhu0aLRjUmpjvjj9zqEngj9AvyWFOw/TVm/u3B0I9e7H5AbwukR7hWZc+eq+2
+            vRL2rilcEK7CXWCtp42LcxsoW+u/8mWEfz/l2Sk5+AvvMU6FNuKZuDSf1CtAbTY5
+            FPyAQFwTwJGFCBPH5/vQPpXuFaNMS7ILc4k0JWB+7ddOI/0+uI27zvcLYbHpeU4Q
+            jmetajDwY/GDzyoSG6Y2H30j3eFtWlyXcpBt42tWGDOcZx3k1sqmTvoJlTE5rcKi
+            tjxfFEBYk3XjqptdQVjSf3MrAV754Scof1n7DRkaQFv5mKoDDcTuMT54gnaQuDYv
+            GQxqP6nfpHSCaDMFNllnIjFT8KgPs16Q7XSTB5gRSFkruQibeBL1ZOTPy121Uo20
+            m6DYarp262h8tGeddeJb3sFzl4zPFmxWaf7hUosefTwbR0ZRGYJ+/6UZZMDwRJjS
+            XgFjs1ZPJbI2ce6IKT14w45yogMViusHLP8StgYjKP1fAW3emTZKinGb5kH6Rj8d
+            shdhiqdHKDOpTv4K7T4hz3XShWVPdf0XlgSEBe0HsslP2KMwNtnEjBUVOWa+x/Y=
+            =nd27
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/deployment/machine-3.yaml b/deploy/site/vm-mc/deployment/machine-3.yaml
new file mode 100644 (file)
index 0000000..df37e06
--- /dev/null
@@ -0,0 +1,51 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: machine-3
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: machine-3
+        bootMACAddress: 52:54:00:50:63:44
+        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/ac3527cc-1223-4794-a0a8-3f6a12f69f17
+        bmcUsername: admin
+        bmcPassword: ENC[AES256_GCM,data:iu8UfIMCk/U=,iv:D8JCq6AnQJvxhEfj1rSp9Vwf0PEVi+tY1/KjCZmj7Z8=,tag:2QE9yMFva9uBMpjKqJohUw==,type:str]
+        bmcDisableCertificateVerification: true
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:12Z"
+    mac: ENC[AES256_GCM,data:EUIp20z8qa3GHfX2ffwowL2clqtFrqnU2fMC2DXNn8BgVUd3QAyT8WStkDJt2Qp0Jl3rMV/sEv8wzu+27lCycnnkZBlVMvQqOZN2Jg3i8iBOag18CHdyUcBrF2kqGt00Gc3i62u5SRnWwGwOr8oHPY+K9aLTvY8UE/F1GLuCrV0=,iv:CpYvPun+pgENL7x7O54uahs/BxD5IZ1dr/rl0zL93BM=,tag:+M4vjVGCGZpsrJ+rOE/XXQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:11Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ//SjtkApKZtRD21/hW4eW8y7gAy6fmO0s7evmneXbVpc7d
+            lijHAov4ZFOrlNlJwu6JFPSuw0Fw4l+zppLZlX9vm6AQm7Tt6e8YSF66KYVZUtax
+            8/oRnBs8p5NMRXLdBDy2lglrFRY6Xdu0FcHOFXeNTdqdQ6rkzY6vNlJiv8zbrs6d
+            9ICl67twXCyrwgDbttxNULx/A7GdG39uOIIQ56QOqUWuFo4uL6SGUWZbWfQ8jIrM
+            +EeSDTmuu8eMhtUS0ep3f5ag5eiS197jo4eIUAx9B0hFGckAKEg2Gdp69qEYt4Qh
+            xnlgw8CdRS2swI9tteJx786ALC8QszfTxJkKTxcjniDqUoAOP0iDuSSgaVbW9a7I
+            5FwgZ5Dbn2dMgjqd5FlaZOuWzsDIWq7HMhfCq0xpo9fhS6Oo8dIyLk8dlpqmB/qN
+            82j1DTuLEjHw5wdYdS0BJu67GK+2mJrBHsqhUhRs9HdE21/PPB1Iu4XWjNBiGLpK
+            /IaMtW2ZATCIzz9oFBae4EWDnPLWou8pHMSGWWZYA51bSOi8nw4nZYT0rwKtIpsx
+            Xfo72REY9qMk5D2/XrcgQBK66kiX0nTy60xclTkWM1N8di44Z8Uoory9AVVb/usR
+            ET8ScDCx9WoVacYr66XnyTlzW9HPY3PsvS4F6RqWOK05rAA1MN6ZhtbvPOYNpwrS
+            XgEfJX+9Jj+mVFFR/a4b8NQAGOUjditKOUmXIAv+lVrS+LGfQaeDD3DFXuzID8pg
+            xfafiLNg1vjWd/2UoCKWYKo9RnMcGLi5ZFGPFZpCGjB9t6Ewd2CsZe9izavbs4Y=
+            =osqQ
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/deployment/machine-4.yaml b/deploy/site/vm-mc/deployment/machine-4.yaml
new file mode 100644 (file)
index 0000000..4506415
--- /dev/null
@@ -0,0 +1,51 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: machine-4
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: machine-4
+        bootMACAddress: 52:54:00:7a:b4:55
+        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/41d41744-3dc6-453d-a498-dbd795c5d748
+        bmcUsername: admin
+        bmcPassword: ENC[AES256_GCM,data:+1YhU/Ic7ss=,iv:WA5i/Uujwk+NI+AHNgsk1BALO7gA9Le/0Y7cTvR5ol8=,tag:UDjVd7GD+9H3AiuYixkDrg==,type:str]
+        bmcDisableCertificateVerification: true
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:13Z"
+    mac: ENC[AES256_GCM,data:NPmVSpeWT9TDT1ywJBfhuV3t2moDItwNslPmw6Y9rqZe5YoMVk/BlPcX5ilsF9V9vkT7yDsUzmCNkJrHOZGwuKNjBlSE6yRygBaEFgRHeEWZwk1f0BsIUCRPdcgACz5GoyorOP5iAMb0dVHtuTX+ef5S4nbntm7kba28G9mlUeo=,iv:iXrUAxQ9dcyQWcpxZL8boQi+O5knJQOS4BTtKzbCxQM=,tag:kd7VnIZtA+1wEwN9tAjZCg==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:12Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPAQ//fl5z1/gWr4aImJMggP5FgyTfIaMph174fs5YM/tH5b+3
+            C+8Y2NfDsBXYFi8uX4NN+5dg1sitOZ1rIIYBlxt2pOEf4Z3ClxV5scKaJLaOMwSp
+            rIUyYHUpvHEV+d7YhPJOxJlDQ34vxNMNmHBKPjQT1WuOu2yDZQUdVmKmbf1jQddI
+            Gjxt1LxLRJZHgbS3Wc0Ff+y2/tvm+ufmuHyGyLkdfeN/+XGJE+Z/4rS4aPImsFfK
+            pwhBhwOpOai39gl5v5o+8oC2da9CmTOOtxAAHt2u7fxRJmFZPdtqU5TPPXJdM3dW
+            92cHvrWFDFogpmU++mzwSIuZDigeOOtCc8lc8OSdlz5NjONgITlTN7nKQ/JH+8P0
+            wYmX1WUc6MknXfdgkjEXpbCCb+IqlsS+i14uTQFtFtqS2Se1CoyDWzNRQOgyFOZ/
+            8zxp+6myMuX/Fgcy0pUKbz0wrsEzSIDIaOC0egJBovlShasYaWF+ITxyEX0DZ8zN
+            PDybFAH2Bc8Ru+G3hFwjdKIOC96+NYwA9AyXvhhEvFbxhETqz5A+vq8oieL0fN7N
+            4sdY0ElWdkkzFzI8qdBrYtIllTRncRQMFUwITK592PU5Vz+44NJjmoQQsrgPRl0L
+            s3GR8Czu2phVRmnsWSWlpP6HlzHvoQ5EOCBow5X43/r3LIWW3QszGLGv0I7JsdHS
+            XgEmBy0NhXBRv8dvfPFowpNKCQjDYUPjEqdxJ2DXZeZYqEuN7c5NFYGLjuorWQCj
+            yhJkK1DTruZjRwQw5PFJHQ7Cxu0tzpAOP9z2ml3QvfNZVY0WIpG6pfH+AT0RklE=
+            =aSKM
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm-mc/id_rsa b/deploy/site/vm-mc/id_rsa
new file mode 100644 (file)
index 0000000..17c3767
--- /dev/null
@@ -0,0 +1,38 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+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
+75TSBZV7IZW2IvAAAACXJvb3RAanVtcAE=
+-----END OPENSSH PRIVATE KEY-----
diff --git a/deploy/site/vm-mc/id_rsa.pub b/deploy/site/vm-mc/id_rsa.pub
new file mode 100644 (file)
index 0000000..09ad3ac
--- /dev/null
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDYPGY1jqOWnbTKREC4Sr56G2OhdSxT0XuLsMI97FSv2DC9Y456AplwrOCsk6Qk5YtJyzeWa4p+OTRH+2Nsak0ejI+yweA98ZRRPVQJhlQu5U5ZS4mG4Y6/LCG834LbFlFL+jup0WYtPz6/EXWhlLsGjUBb84fzwnDlukbZ9CBRbOYInoV5HjBlGGfcqyvhIjkvtxc9Cp5uhvSyzUum068NcvRfCMVVyAfFJnnIipgyYuD7VjxZDPIff17lfh3J1mIh06fcu8HHIoJe6k4tQbv5S2ogxrf8lsI5Xu7YU0SciAgerNQORa9KTJSDoNrsXT9Ae3F0XKxHj72+NhtrUjtXJvR2glXv6B3WVB82pfCBIP6P6VqrjwK8zwuWN8ERFJxX7LsLRMhNyd3yX4lauSIQA7SlC6TN37SR9FhwQa1oocF6T4XDj5wy+xT8iftEzvZtOXe+2GeycgvV8ojMd5TmtfFBFeVimBtnUldw8U6GXLrlQQrXrXk7XrAAJrWeU/U= root@jump
diff --git a/deploy/site/vm-mc/sops.pub.asc b/deploy/site/vm-mc/sops.pub.asc
new file mode 100644 (file)
index 0000000..34a3c25
--- /dev/null
@@ -0,0 +1,63 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+SqmNDCYCCn2EJbwrHQ==
+=8GKa
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/deploy/site/vm-mc/vm-mc.sh b/deploy/site/vm-mc/vm-mc.sh
new file mode 100755 (executable)
index 0000000..97f51d5
--- /dev/null
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+set -eux -o pipefail
+
+SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
+LIBDIR="$(dirname $(dirname $(dirname ${SCRIPTDIR})))/env/lib"
+
+source $LIBDIR/common.sh
+source $SCRIPTDIR/../common.sh
+
+BUILDDIR=${SCRIPTDIR/deploy/build}
+mkdir -p ${BUILDDIR}
+
+SITE_REPO=${SITE_REPO:-" https://gerrit.akraino.org/r/icn"}
+SITE_BRANCH=${SITE_BRANCH:-"master"}
+SITE_PATH=${SITE_PATH:-"deploy/site/vm-mc/deployment"}
+
+case $1 in
+    "clean") site_clean ;;
+    "deploy")
+       gpg --import ${FLUX_SOPS_PRIVATE_KEY}
+       site_deploy
+       ;;
+    "wait")
+       site_wait_for_all_ready
+       site_insert_control_plane_network_identity_into_ssh_config
+       ;;
+    "wait-clean") site_wait_for_all_deleted ;;
+    *) cat <<EOF
+Usage: $(basename $0) COMMAND
+
+Commands:
+  clean         - Remove the site
+  deploy        - Deploy the site
+  wait          - Wait for the site to be ready
+  wait-clean    - Wait for the site to be removed
+EOF
+       ;;
+esac
index 25b4a37..1845115 100644 (file)
@@ -1,4 +1,4 @@
 creation_rules:
   - path_regex: .*.yaml
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
     pgp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
diff --git a/deploy/site/vm/cluster/icn/addons.yaml b/deploy/site/vm/cluster/icn/addons.yaml
new file mode 100644 (file)
index 0000000..170028a
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: addons
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-addons
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm/cluster/icn/emco-compute.yaml b/deploy/site/vm/cluster/icn/emco-compute.yaml
new file mode 100644 (file)
index 0000000..4b97d14
--- /dev/null
@@ -0,0 +1,15 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-compute
+  namespace: flux-system
+spec:
+  interval: 5m
+  path: deploy/site/cluster-emco-compute
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm/cluster/icn/emco-management.yaml b/deploy/site/vm/cluster/icn/emco-management.yaml
new file mode 100644 (file)
index 0000000..28866df
--- /dev/null
@@ -0,0 +1,19 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: emco-management
+  namespace: flux-system
+spec:
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
+  interval: 5m
+  path: deploy/site/cluster-emco-management
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  wait: true
+  timeout: 10m
diff --git a/deploy/site/vm/cluster/icn/gotk-sync.yaml b/deploy/site/vm/cluster/icn/gotk-sync.yaml
new file mode 100644 (file)
index 0000000..94ac445
--- /dev/null
@@ -0,0 +1,30 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: icn
+  namespace: flux-system
+spec:
+  gitImplementation: go-git
+  interval: 1m0s
+  ref:
+    branch: master
+  timeout: 20s
+  url: https://gerrit.akraino.org/r/icn
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: icn-flux-sync
+  namespace: flux-system
+spec:
+  interval: 10m0s
+  path: deploy/site/vm/cluster/icn
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: icn
+  decryption:
+    provider: sops
+    secretRef:
+      name: icn-master-sops-gpg
diff --git a/deploy/site/vm/cluster/icn/istio-cacerts.yaml b/deploy/site/vm/cluster/icn/istio-cacerts.yaml
new file mode 100644 (file)
index 0000000..fd329ae
--- /dev/null
@@ -0,0 +1,42 @@
+apiVersion: v1
+data:
+    ca-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZhakNDQTFLZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZrd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREU1TWpjeE1sb1hEVEkwTURNd056RTVNamN4TWxvd1J6RVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFTU1Bb0cKQTFVRUJ3d0RhV051TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFuTSsxT3M5Mgp0RGxYbFVUU1ptUTloWThiREMyc0tIZStZVFdqaHM1MHJYVU4yc3RoVHFVdEE5K2dBZkUwdlByVm0vZStPSEpGCkFXRDRINGJDcDZOS3lZWkMwRCsvelJpR2R5WUJraGxRN0lRajc1QTJTRkY1MmdIMENyV1BQTk5WNDltSThZSnAKL2NWaWcwNUtHSXB5a0xmZ1AyUWJXUWZWdWFGT09MNGRvME93ZUFaZTBDc2E5V0k1bENoUHljSENnalV6UEdJSQpYZ0hLbmVQWHRleGR3bUNTWW5jZ0lUUUJpQmErOVExQy9uV0ZBZ2JvNnNSQXhaS1k5SWlXM1p2TXNZeGhuRDN1CjNoNGxsYkRrZVJhQnJoalVIRjhLaEtoWU4ranN1SWpCQm9XSzFyNmI0RTFvMEszWDFFMmZFcVE1dXdVM2JLV3kKWHFnTDdTNXFJMHhqREJtMWo2alNvUFcwanZxSTg5UlJhV0tGa2pzVnMwdWJEeGQvSUFSMGJuNFlISkVRUlJrMQpPM3hteFY2aml1ZlUxWUtZdXlQTHFWMVJadzUzWjJhc01NSHptbXR0TlZUYml3dnJEdXd6OWg2RndtcVRtQzY2Ck1pTWllRXdtVXZ6M04rQ0I3dVZKNXJOOWNvQkF1b0hkRkRWTUZ0SE5sa2pneHFKNVV0ejRrVlUwNUF5TlI1dFoKb1RGbGZnR2p6L05SSHJpOW5Ma0lIWndGd3FKd2JXVzhYYlhYWmI4YWxMTmtZMGJ6dDdnd1U3MHJBUkNtNXhFNgpuWUhCTG5ZQ3pMcjBobGlaNkRHYW1ZL2xYUGZUR0RwK1FOeHBiRko5cU4xYUNLYWhOV3NydlBoZ2w5eng3QUtRCjFqTXIxTyswb0lva1RXQm9LMlZCWGVSVVZpRmxFVFl3ZUJVQ0F3RUFBYU5wTUdjd0hRWURWUjBPQkJZRUZCTU4KMmZlT2tOVStZUzlRZ294SjBuK0dtb21DTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFILwpCQVFEQWdMa01DSUdBMVVkRVFRYk1CbUNGMmx6ZEdsdlpDNXBjM1JwYnkxemVYTjBaVzB1YzNaak1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUNBUUFQSnB2UXVSejZ4WG44YVh4b1AzaS9CMEZ0QWh1aHc5NCtNWkV1a0NHVmNUWkkKKzNIQUNkUWJNdkhab2lDdXE5QWw0clhaZkNYSkdZMGdwUGNWQVMxbVo3NlhNSU9oQUJDajd4ZkpGZVhRR2ticwpDZHZKeWlnZDZMR1hBK01POVpYWjh1UEh6T0hOWFRwMlNHWnBNNDI4NktKMFd6NGQraTdJMUlSeHdBWXVKN1BEClVKN3cxRmZmd01aRC9wVk9aRG5QQURtY3FBZzNlTHZ5S2FhZDk3NHgvU0pEbDY2bVFhRGZQN1Z5R2d3RE9NM3IKN1lFVFF1cTJKMWMzSk1SeHdqVHJOSjUvRVBiTExRdXhsbEtHNUhGZlJLN2k5UHp3bjQ0NHdERTA2WTEwNHdlRApuWFJ4TnpDOTNDVGNFZndEQTYxQUxxTG1qWm8vM1M3OHJKMElQY2tkRDM1TGVKNW00SHlYUFN4Wjg5cjlMd2xuCmtjbVczTlhZMkUxZ2RBT0F4UTI5cGwzUGh2Rlh6elFIM1NsV3FMQ3MrbEJ2WWdkYy9tVXlENU9ySVltTXoyOEYKaHhRRmIxRlIzQ2gzMHcwL2dNVmlpd3M3SGlNN0kzM3c0NUF1WGFKRG42QXlCM3Zkd05MTlpMcFNNdDFheVJMcwpwZnZSM2g1SFV5TGg3bG1DN21BTjZsc1JndzBnMEtmYlNKY1NFS1RMYjNreFJ0Nkw0UEpSTzIwbWtyOWxEeFU5CmtVV3BTRngyb3BNZ1RzakNwam0zZ3ovTjBhQjBkTTQzUjhHVldFMzhkRFNEVGVrUXExNUVBblhOdjRXVkJKbVkKYkR1c0VKVUt6Y3hEMVZyeUd0bktYemRhcHpONmZUbE5LNk5YcjMzeUVJRVdKM3hhdll1ZzJpM29BZkJaSVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
+    ca-key.pem: ENC[AES256_GCM,data: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,iv:aQaQWPh1V0N3i7zdBnRdHvMrqIgPL/OeCrdCqHo2Yd0=,tag:piQ6Sq92oqb5G3NekUOwIw==,type:str]
+    cert-chain.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZhakNDQTFLZ0F3SUJBZ0lVWnduR3YzZVV6QjhjWWVJNmlMbENyYThiQXZrd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdPREU1TWpjeE1sb1hEVEkwTURNd056RTVNamN4TWxvd1J6RVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUjB3R3dZRFZRUUREQlJGVFVOUElFbHVkR1Z5YldWa2FXRjBaU0JEUVRFTU1Bb0cKQTFVRUJ3d0RhV051TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFuTSsxT3M5Mgp0RGxYbFVUU1ptUTloWThiREMyc0tIZStZVFdqaHM1MHJYVU4yc3RoVHFVdEE5K2dBZkUwdlByVm0vZStPSEpGCkFXRDRINGJDcDZOS3lZWkMwRCsvelJpR2R5WUJraGxRN0lRajc1QTJTRkY1MmdIMENyV1BQTk5WNDltSThZSnAKL2NWaWcwNUtHSXB5a0xmZ1AyUWJXUWZWdWFGT09MNGRvME93ZUFaZTBDc2E5V0k1bENoUHljSENnalV6UEdJSQpYZ0hLbmVQWHRleGR3bUNTWW5jZ0lUUUJpQmErOVExQy9uV0ZBZ2JvNnNSQXhaS1k5SWlXM1p2TXNZeGhuRDN1CjNoNGxsYkRrZVJhQnJoalVIRjhLaEtoWU4ranN1SWpCQm9XSzFyNmI0RTFvMEszWDFFMmZFcVE1dXdVM2JLV3kKWHFnTDdTNXFJMHhqREJtMWo2alNvUFcwanZxSTg5UlJhV0tGa2pzVnMwdWJEeGQvSUFSMGJuNFlISkVRUlJrMQpPM3hteFY2aml1ZlUxWUtZdXlQTHFWMVJadzUzWjJhc01NSHptbXR0TlZUYml3dnJEdXd6OWg2RndtcVRtQzY2Ck1pTWllRXdtVXZ6M04rQ0I3dVZKNXJOOWNvQkF1b0hkRkRWTUZ0SE5sa2pneHFKNVV0ejRrVlUwNUF5TlI1dFoKb1RGbGZnR2p6L05SSHJpOW5Ma0lIWndGd3FKd2JXVzhYYlhYWmI4YWxMTmtZMGJ6dDdnd1U3MHJBUkNtNXhFNgpuWUhCTG5ZQ3pMcjBobGlaNkRHYW1ZL2xYUGZUR0RwK1FOeHBiRko5cU4xYUNLYWhOV3NydlBoZ2w5eng3QUtRCjFqTXIxTyswb0lva1RXQm9LMlZCWGVSVVZpRmxFVFl3ZUJVQ0F3RUFBYU5wTUdjd0hRWURWUjBPQkJZRUZCTU4KMmZlT2tOVStZUzlRZ294SjBuK0dtb21DTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFILwpCQVFEQWdMa01DSUdBMVVkRVFRYk1CbUNGMmx6ZEdsdlpDNXBjM1JwYnkxemVYTjBaVzB1YzNaak1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUNBUUFQSnB2UXVSejZ4WG44YVh4b1AzaS9CMEZ0QWh1aHc5NCtNWkV1a0NHVmNUWkkKKzNIQUNkUWJNdkhab2lDdXE5QWw0clhaZkNYSkdZMGdwUGNWQVMxbVo3NlhNSU9oQUJDajd4ZkpGZVhRR2ticwpDZHZKeWlnZDZMR1hBK01POVpYWjh1UEh6T0hOWFRwMlNHWnBNNDI4NktKMFd6NGQraTdJMUlSeHdBWXVKN1BEClVKN3cxRmZmd01aRC9wVk9aRG5QQURtY3FBZzNlTHZ5S2FhZDk3NHgvU0pEbDY2bVFhRGZQN1Z5R2d3RE9NM3IKN1lFVFF1cTJKMWMzSk1SeHdqVHJOSjUvRVBiTExRdXhsbEtHNUhGZlJLN2k5UHp3bjQ0NHdERTA2WTEwNHdlRApuWFJ4TnpDOTNDVGNFZndEQTYxQUxxTG1qWm8vM1M3OHJKMElQY2tkRDM1TGVKNW00SHlYUFN4Wjg5cjlMd2xuCmtjbVczTlhZMkUxZ2RBT0F4UTI5cGwzUGh2Rlh6elFIM1NsV3FMQ3MrbEJ2WWdkYy9tVXlENU9ySVltTXoyOEYKaHhRRmIxRlIzQ2gzMHcwL2dNVmlpd3M3SGlNN0kzM3c0NUF1WGFKRG42QXlCM3Zkd05MTlpMcFNNdDFheVJMcwpwZnZSM2g1SFV5TGg3bG1DN21BTjZsc1JndzBnMEtmYlNKY1NFS1RMYjNreFJ0Nkw0UEpSTzIwbWtyOWxEeFU5CmtVV3BTRngyb3BNZ1RzakNwam0zZ3ovTjBhQjBkTTQzUjhHVldFMzhkRFNEVGVrUXExNUVBblhOdjRXVkJKbVkKYkR1c0VKVUt6Y3hEMVZyeUd0bktYemRhcHpONmZUbE5LNk5YcjMzeUVJRVdKM3hhdll1ZzJpM29BZkJaSVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGS0RDQ0F4Q2dBd0lCQWdJVUM5NWtVZ2NWTmhPMndMbXpmcGR1NCt4TjBvVXdEUVlKS29aSWh2Y05BUUVMCkJRQXdMREVZTUJZR0ExVUVDZ3dQY0hKdmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkIKTUI0WERUSXlNRE13TnpJek5EVXlOVm9YRFRNeU1ETXdOREl6TkRVeU5Wb3dMREVZTUJZR0ExVUVDZ3dQY0hKdgphbVZqZEMxbGJXTnZMbWx2TVJBd0RnWURWUVFEREFkU2IyOTBJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBZzhBTUlJQ0NnS0NBZ0VBNGFodE9xL3hKYUZzd3Q2UkJYVy9XRFZKMEd2b281YlZoOW9LZFE5MVBWWWUKMFFwbFNGRTVacFY3UmVqLzNTZmEyVHFQa3JsN2RvRm1ZZkJNR2k4dExPckp6dmZGdDBPa2c5eExDOUlHNVlJRwpiVHI5cHlYVFNIYWdqV0VYN2RJSm84NXhPeU8yTXQxUzlMeUcyREtWWExmTDNXWTNRdVUwUnA5MnNBQjJaem9LCnhLcDdTQWx0L0xNYWczY01VM2hqVmpFZG5YQ25kWmxXbHIwb2EyZVF5eFB0N243dGdEOXVGTVVJcWZNNVhwUTMKcG9hTVY4NWRtbnZQVURrTFQramI2K200bThVRStmM0hnbGZOZEo3OG8xOGo1My9TUWk5L2VCRkZSem14V2lDUwpKbE1od3hPM2VGUjhBM3R2cWdLRDdJRC9pK2lVUjlmVFZxUXgxUFBTY0dMU1paaHJsTW5jSFhOaEJBalBUd2w1CmRqMXMzMXp3U0J5cWgwbUt4RStjOXdpVms1aW1sMlV0Uzd1Y1l4eS9rMFlES1hQN2hoV2l3bzB2bjdmZFFkcHQKUm9EWXBKU1RPSXVEUk1IYWpZakxRWmloMGMrLytPeXRHSEtLRzdwNm53UVpRYkh6a3ZEUmcwNjhOOE1wT0VOdwpqM0ZhcVN1RHZiOEtyV3JYdlVYYkkxejdUUGxwc3JOUXhpYmxRUmQ0cFN3NUkzcDZNNllLNXBVTjEvRmJsTzhJCmJXQUVDZ2hCQTRHVDI1dm4yWVQycHJJU3dDYk9ZL2ZlckJmMEJzM0JTYUdzcm9wLy9JcVc4VFA5WlhoeUo5aUoKT28rbnBNS2xxQ2t1byt3YXhkeldiVUg1eTFwQndYTm9TN3R6ZlhsdmxyUG9FTUd1Tm5TZ3hhUWY2OHVrUUVVQwpBd0VBQWFOQ01FQXdIUVlEVlIwT0JCWUVGR3V3Z1dhOHdYc1lKTHowdjdlTnBJWHVaVlhvTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0xrTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFDdHdvdXYKenBGS0lURDdmWWliSGcxYXQzcVF2WlFhMis0cUNqZm1XSXJycGNhV0ljYzN0UDc5bExidHZVc3c1eTJVMjlEZwo0VUo0ai96S3ZmbGpjK0lOdDNsdFNlUVNsTjVEcmJsTmx2dXk0K3EwY1NsWVg0ZGlQZkVSc3hIMW12b0psR3Q5Cld6aSs0akFxK1RYUEJnNHVoZGZMYmtCRWs3Y2RvYXZwQkFLZ3gzMDRvSHptaFZLaXh3M0p3Mms4eTFMVHFnRC8KMm1SUytORnloL2puYTlvM0dmRTRpNUlwc1RVblFWUGhBS20vRm1IOElHenBxbEh3K3M1dXBLM3BrdEpCa3Rocgpqakk0dE1VOW55bXVMdUkzbHc3dWNkUEpTQ1cybHVPZ2tsalF2OFdKR2FMRW53VVhSeFhPR0hkdXNRMUFSUHNaCmluamJNRHRubld1SnNuWnU0TTMrQi8xOWptSnN0aXFaSHZwK0RRVGlhNVZTZXdJdWlhL1ZRN3prS2NKdkdlejMKZTNKc1M5anZuMUZxTjdLRU91QzhVMTdEeVFIdjJPaUtIRlR3M2IyU3ZrQkc1UGE5ZDdBVGxYS0lEa0xqMUJXYQpNVU8zS3hUQ0hMa1FPZVZaTzhjdHdQbmVtT1liZVduMWJmTXQwRWNHSFhtTWh6MGJuZzFDRkNjMU56bncwTG5FClJjeFU3OTlyNFJMYmwyUjJxMG5paExtbDc0S281N1lrR3FRRkorSkJjTFN1Z0ZJVjBndmVPZXpsZit2YXlwNTUKWDNDUnh3N3V3WWxhY1NsUVdyR3VPM3RuUzNFZEFBaWdBQ29BOHVnWU5ERkZhc1hZL0JObXdraHZFSWlScnlPVAp0QmZQQkxacEJkMzh6WXJNems1T25KSSs0ZGFISDAzTVE5TU03dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+    root-cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZLRENDQXhDZ0F3SUJBZ0lVQzk1a1VnY1ZOaE8yd0xtemZwZHU0K3hOMG9Vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xERVlNQllHQTFVRUNnd1BjSEp2YW1WamRDMWxiV052TG1sdk1SQXdEZ1lEVlFRRERBZFNiMjkwSUVOQgpNQjRYRFRJeU1ETXdOekl6TkRVeU5Wb1hEVE15TURNd05ESXpORFV5TlZvd0xERVlNQllHQTFVRUNnd1BjSEp2CmFtVmpkQzFsYldOdkxtbHZNUkF3RGdZRFZRUUREQWRTYjI5MElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FnOEFNSUlDQ2dLQ0FnRUE0YWh0T3EveEphRnN3dDZSQlhXL1dEVkowR3ZvbzViVmg5b0tkUTkxUFZZZQowUXBsU0ZFNVpwVjdSZWovM1NmYTJUcVBrcmw3ZG9GbVlmQk1HaTh0TE9ySnp2ZkZ0ME9rZzl4TEM5SUc1WUlHCmJUcjlweVhUU0hhZ2pXRVg3ZElKbzg1eE95TzJNdDFTOUx5RzJES1ZYTGZMM1dZM1F1VTBScDkyc0FCMlp6b0sKeEtwN1NBbHQvTE1hZzNjTVUzaGpWakVkblhDbmRabFdscjBvYTJlUXl4UHQ3bjd0Z0Q5dUZNVUlxZk01WHBRMwpwb2FNVjg1ZG1udlBVRGtMVCtqYjYrbTRtOFVFK2YzSGdsZk5kSjc4bzE4ajUzL1NRaTkvZUJGRlJ6bXhXaUNTCkpsTWh3eE8zZUZSOEEzdHZxZ0tEN0lEL2kraVVSOWZUVnFReDFQUFNjR0xTWlpocmxNbmNIWE5oQkFqUFR3bDUKZGoxczMxendTQnlxaDBtS3hFK2M5d2lWazVpbWwyVXRTN3VjWXh5L2swWURLWFA3aGhXaXdvMHZuN2ZkUWRwdApSb0RZcEpTVE9JdURSTUhhallqTFFaaWgwYysvK095dEdIS0tHN3A2bndRWlFiSHprdkRSZzA2OE44TXBPRU53CmozRmFxU3VEdmI4S3JXclh2VVhiSTF6N1RQbHBzck5ReGlibFFSZDRwU3c1STNwNk02WUs1cFVOMS9GYmxPOEkKYldBRUNnaEJBNEdUMjV2bjJZVDJwcklTd0NiT1kvZmVyQmYwQnMzQlNhR3Nyb3AvL0lxVzhUUDlaWGh5SjlpSgpPbytucE1LbHFDa3VvK3dheGR6V2JVSDV5MXBCd1hOb1M3dHpmWGx2bHJQb0VNR3VOblNneGFRZjY4dWtRRVVDCkF3RUFBYU5DTUVBd0hRWURWUjBPQkJZRUZHdXdnV2E4d1hzWUpMejB2N2VOcElYdVpWWG9NQThHQTFVZEV3RUIKL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnTGtNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUN0d291dgp6cEZLSVREN2ZZaWJIZzFhdDNxUXZaUWEyKzRxQ2pmbVdJcnJwY2FXSWNjM3RQNzlsTGJ0dlVzdzV5MlUyOURnCjRVSjRqL3pLdmZsamMrSU50M2x0U2VRU2xONURyYmxObHZ1eTQrcTBjU2xZWDRkaVBmRVJzeEgxbXZvSmxHdDkKV3ppKzRqQXErVFhQQmc0dWhkZkxia0JFazdjZG9hdnBCQUtneDMwNG9Iem1oVktpeHczSncyazh5MUxUcWdELwoybVJTK05GeWgvam5hOW8zR2ZFNGk1SXBzVFVuUVZQaEFLbS9GbUg4SUd6cHFsSHcrczV1cEszcGt0SkJrdGhyCmpqSTR0TVU5bnltdUx1STNsdzd1Y2RQSlNDVzJsdU9na2xqUXY4V0pHYUxFbndVWFJ4WE9HSGR1c1ExQVJQc1oKaW5qYk1EdG5uV3VKc25adTRNMytCLzE5am1Kc3RpcVpIdnArRFFUaWE1VlNld0l1aWEvVlE3emtLY0p2R2V6MwplM0pzUzlqdm4xRnFON0tFT3VDOFUxN0R5UUh2Mk9pS0hGVHczYjJTdmtCRzVQYTlkN0FUbFhLSURrTGoxQldhCk1VTzNLeFRDSExrUU9lVlpPOGN0d1BuZW1PWWJlV24xYmZNdDBFY0dIWG1NaHowYm5nMUNGQ2MxTnpudzBMbkUKUmN4VTc5OXI0UkxibDJSMnEwbmloTG1sNzRLbzU3WWtHcVFGSitKQmNMU3VnRklWMGd2ZU9lemxmK3ZheXA1NQpYM0NSeHc3dXdZbGFjU2xRV3JHdU8zdG5TM0VkQUFpZ0FDb0E4dWdZTkRGRmFzWFkvQk5td2todkVJaVJyeU9UCnRCZlBCTFpwQmQzOHpZck16azVPbkpJKzRkYUhIMDNNUTlNTTd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+kind: Secret
+metadata:
+    creationTimestamp: null
+    name: cacerts
+    namespace: istio-system
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:14Z"
+    mac: ENC[AES256_GCM,data:63Pb2PHpM3raEzpyhIsGC3Zeqr8xOAkhIRHubWy7QJTk+o/K4LswjVMyW96dZnttPD8c+YH4eWIIJAur524DsBS9L+X2FrAlP4fCsVAs+UBN4p/E+wNvo9Q0a7TlJ5kT16O8plWxntBhIjTa0tMl1uKIByQLW/brCbga6vUoPyI=,iv:oTMl3iYrNyfr/irKdYWq/yCuwBSH7x5Qh0TfS0dxIu8=,tag:0SEQGzCSsuvgyJWKqvx9tg==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:14Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPARAAhTSU6rtPOWm/rd8iQoJgm98mtmRoJG30ZRmdTqz7X7yM
+            5mcptRTBGZ9SIsHEQPZg7is8ipxqf8jitw4/QsM6lOggB2XqKL19BpF0RsMu7wJa
+            dTom3bCscxZkRZy0RpzgQEANk6y08KCTGAVw8u7vgnxKHfxS6M5VLgX2IKcFt9T/
+            x0p7SsBHP1UBLeSiTZVPOPaDaHbz3bn69+Ngovmu8JZKZBFA+8LwRKwzInS2VqYl
+            eRsIMMkrgnD/e/pW1ljHPLjS3QeofBnfpsYCXcRiJodMSqQuKO8qyE4OA9WfEfQt
+            2EAnaa9Y2+xjhxivWhwGOm4CH7TT9wh1gifxMge1dwHfawNOEjN7jq4fSseaR1n9
+            1VZjgZkfo9aGvaWWSMw8E/M0pNBA3Wx+dLWIX2eof6vMVBFUp29bd9rTBWtRS6vx
+            K/K+2/OQtP/n2sU5766Nxlqz/5xZ21qieF85JFJXZ5vwnxj8+QtHkqgXtI1slYcx
+            /ORhD7RCOciY3vsUrpmzmPUaauFLQS2iUjuSlGDh3FWYMzWtmf1qgV/1WwpYjEsE
+            LZr8fxoJBYwFGHDEZlpR+L89hs43/PEMBzngixwidVc6ugOI556JfB6D6JKiaWli
+            X5axNLPXtpUy15iH9uWn0HDPdLuFO9CwQy4iDPoTeUbo4YIa+BiiArQYQaRnWjLS
+            XgG2+YOfyT0KbkDBQOJZm1C0gU/3C/O3uxlZMg9tSv8Qkc9r9cTks0m6djuG4v63
+            vQwD908tE3PAiaCF6tR2wTsHUxT2txJv1ra0IGvt59Xwgtqmzkl9jB9vDtyKMN0=
+            =fiUV
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
diff --git a/deploy/site/vm/cluster/icn/istio-namespace.yaml b/deploy/site/vm/cluster/icn/istio-namespace.yaml
new file mode 100644 (file)
index 0000000..60de14f
--- /dev/null
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: istio-system
diff --git a/deploy/site/vm/cluster/icn/istio.yaml b/deploy/site/vm/cluster/icn/istio.yaml
new file mode 100644 (file)
index 0000000..5eb5f09
--- /dev/null
@@ -0,0 +1,24 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: istio
+  namespace: istio-system
+spec:
+  interval: 5m
+  chart:
+    spec:
+      chart: deploy/istio
+      sourceRef:
+        kind: GitRepository
+        name: icn
+        namespace: flux-system
+      interval: 1m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  dependsOn:
+  - name: istio-operator
diff --git a/deploy/site/vm/deployment/site.yaml b/deploy/site/vm/deployment/site.yaml
new file mode 100644 (file)
index 0000000..cdb4f2b
--- /dev/null
@@ -0,0 +1,211 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+    name: icn
+spec:
+    gitImplementation: go-git
+    interval: 1m0s
+    ref:
+        branch: master
+    timeout: 20s
+    url: https://gerrit.akraino.org/r/icn
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:15Z"
+    mac: ENC[AES256_GCM,data:x529yjFTiV/UsF8yGpX9gVazfjEw8wIAX4kvlc6H4LkdDDjCQX8+adR9OcQNQ3irllnGwuNbfQgFao+ZnRN/Vq/mdkwAvfDzvVWbYeInCqBw4/5EQCumy9pABWN+AD9DTNOR1LEeENfor+KW7YwNLSxKImfS6KQ1kjgQD6iqzs4=,iv:Z8elmmWQLBSR5Y9NciEGh1FT6rhJYOjDDJmSOZKcgKY=,tag:Btyc/Al6NQG7qbnk1PN8sQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:15Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPARAAiAjweyqc1yJf6UT9t2SI4HHxOR6dwlEm2aA3ZO957wA8
+            p05PKxBmiEKH1S0zJOjpFkCCVNsK9l5uRohWEjuYj6uDQD2FkoXB3xtJFr1Ekkg9
+            M9CFyZuir+Gq789xAOrknPVcAqBxAGdtII5Qn0WzlaNypcLKhyspNXv2YGJdKeOV
+            C2pZI0fmm66EP2wCf0YaeF4HV+lNczc06KJFVf244kd9BSsEZEbzZNQx+soUBwyW
+            c1ZCGoqjUi4Vokb+7wYiPnxiISksIUQQnd8jefRY84miA0/HHydBdMCbQ2PZQOiZ
+            pINaHLGXu7RJC+l5OIT4ElAXjjMC4rljhNg2KRCEz7WUXRKQT3Wl8NP7i7UKGtX9
+            XuudkxTzIVv2JYK+u89ZXRndfeDSr2mgZIo1eqb1ge1oc/tX1I3VmFqEjhT8MPNw
+            lnhKGAWtnDHB+Eh+qjFmKi/d0V0L3IVnHz9ADmrQgIIofQ6HHgzUbLD4wnuYr6uw
+            7Vb0c7+sDAZ3QcIzjKa/iaGSIK3oXUgU8Jf9cXb7Vt0CIXNai+1Bk1zXRYJT3u3+
+            /VCb6fK9m0awdbevs9o2a3VvdZ6QHVNcL1nTPeDoj8PUS7a6iPnk5UWvsrZ2QyNj
+            ilVG4ZHzwWHAE0EtsFKIXlarq47Cc0eLJPvg6xuUwQTirNzwC5GNCpBMPPrLjRDS
+            XgEw7oLkbuTq7NyqQlRqytkjH3h+upk1NT3gany3xANqCv/vlbZpLhveXqaMuXI6
+            F3xVTXijMNK4RZSy8r/rA2IucK50D9eTPRK1Iu9dLYCFddaYLHV/pdnVjPHvnhg=
+            =nXVg
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: machine-1
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: machine-1
+        bootMACAddress: 52:54:00:c6:75:40
+        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/ab389bad-2f4a-4eba-b49e-0d649ff3d237
+        bmcUsername: admin
+        bmcPassword: ENC[AES256_GCM,data:OunmLDDhBw8=,iv:cXPefsPeX0i9ymFvliHD1KM44pzXZHNXkREGesmITNY=,tag:5PGMLhQUhexvJ78HOt7NQA==,type:str]
+        bmcDisableCertificateVerification: true
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:15Z"
+    mac: ENC[AES256_GCM,data:x529yjFTiV/UsF8yGpX9gVazfjEw8wIAX4kvlc6H4LkdDDjCQX8+adR9OcQNQ3irllnGwuNbfQgFao+ZnRN/Vq/mdkwAvfDzvVWbYeInCqBw4/5EQCumy9pABWN+AD9DTNOR1LEeENfor+KW7YwNLSxKImfS6KQ1kjgQD6iqzs4=,iv:Z8elmmWQLBSR5Y9NciEGh1FT6rhJYOjDDJmSOZKcgKY=,tag:Btyc/Al6NQG7qbnk1PN8sQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:15Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPARAAiAjweyqc1yJf6UT9t2SI4HHxOR6dwlEm2aA3ZO957wA8
+            p05PKxBmiEKH1S0zJOjpFkCCVNsK9l5uRohWEjuYj6uDQD2FkoXB3xtJFr1Ekkg9
+            M9CFyZuir+Gq789xAOrknPVcAqBxAGdtII5Qn0WzlaNypcLKhyspNXv2YGJdKeOV
+            C2pZI0fmm66EP2wCf0YaeF4HV+lNczc06KJFVf244kd9BSsEZEbzZNQx+soUBwyW
+            c1ZCGoqjUi4Vokb+7wYiPnxiISksIUQQnd8jefRY84miA0/HHydBdMCbQ2PZQOiZ
+            pINaHLGXu7RJC+l5OIT4ElAXjjMC4rljhNg2KRCEz7WUXRKQT3Wl8NP7i7UKGtX9
+            XuudkxTzIVv2JYK+u89ZXRndfeDSr2mgZIo1eqb1ge1oc/tX1I3VmFqEjhT8MPNw
+            lnhKGAWtnDHB+Eh+qjFmKi/d0V0L3IVnHz9ADmrQgIIofQ6HHgzUbLD4wnuYr6uw
+            7Vb0c7+sDAZ3QcIzjKa/iaGSIK3oXUgU8Jf9cXb7Vt0CIXNai+1Bk1zXRYJT3u3+
+            /VCb6fK9m0awdbevs9o2a3VvdZ6QHVNcL1nTPeDoj8PUS7a6iPnk5UWvsrZ2QyNj
+            ilVG4ZHzwWHAE0EtsFKIXlarq47Cc0eLJPvg6xuUwQTirNzwC5GNCpBMPPrLjRDS
+            XgEw7oLkbuTq7NyqQlRqytkjH3h+upk1NT3gany3xANqCv/vlbZpLhveXqaMuXI6
+            F3xVTXijMNK4RZSy8r/rA2IucK50D9eTPRK1Iu9dLYCFddaYLHV/pdnVjPHvnhg=
+            =nXVg
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: machine-2
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/machine
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        machineName: machine-2
+        bootMACAddress: 52:54:00:6f:d6:97
+        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/8d747997-dcd1-42ca-9e25-b3eedbe326aa
+        bmcUsername: admin
+        bmcPassword: ENC[AES256_GCM,data:ZtkxhLA21H4=,iv:bjflcS9+W1iDATaHVpSynj731JUESc/lFmPTbXNJIyk=,tag:iS9jE8NddHkr4NjYzOt9xQ==,type:str]
+        bmcDisableCertificateVerification: true
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:15Z"
+    mac: ENC[AES256_GCM,data:x529yjFTiV/UsF8yGpX9gVazfjEw8wIAX4kvlc6H4LkdDDjCQX8+adR9OcQNQ3irllnGwuNbfQgFao+ZnRN/Vq/mdkwAvfDzvVWbYeInCqBw4/5EQCumy9pABWN+AD9DTNOR1LEeENfor+KW7YwNLSxKImfS6KQ1kjgQD6iqzs4=,iv:Z8elmmWQLBSR5Y9NciEGh1FT6rhJYOjDDJmSOZKcgKY=,tag:Btyc/Al6NQG7qbnk1PN8sQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:15Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPARAAiAjweyqc1yJf6UT9t2SI4HHxOR6dwlEm2aA3ZO957wA8
+            p05PKxBmiEKH1S0zJOjpFkCCVNsK9l5uRohWEjuYj6uDQD2FkoXB3xtJFr1Ekkg9
+            M9CFyZuir+Gq789xAOrknPVcAqBxAGdtII5Qn0WzlaNypcLKhyspNXv2YGJdKeOV
+            C2pZI0fmm66EP2wCf0YaeF4HV+lNczc06KJFVf244kd9BSsEZEbzZNQx+soUBwyW
+            c1ZCGoqjUi4Vokb+7wYiPnxiISksIUQQnd8jefRY84miA0/HHydBdMCbQ2PZQOiZ
+            pINaHLGXu7RJC+l5OIT4ElAXjjMC4rljhNg2KRCEz7WUXRKQT3Wl8NP7i7UKGtX9
+            XuudkxTzIVv2JYK+u89ZXRndfeDSr2mgZIo1eqb1ge1oc/tX1I3VmFqEjhT8MPNw
+            lnhKGAWtnDHB+Eh+qjFmKi/d0V0L3IVnHz9ADmrQgIIofQ6HHgzUbLD4wnuYr6uw
+            7Vb0c7+sDAZ3QcIzjKa/iaGSIK3oXUgU8Jf9cXb7Vt0CIXNai+1Bk1zXRYJT3u3+
+            /VCb6fK9m0awdbevs9o2a3VvdZ6QHVNcL1nTPeDoj8PUS7a6iPnk5UWvsrZ2QyNj
+            ilVG4ZHzwWHAE0EtsFKIXlarq47Cc0eLJPvg6xuUwQTirNzwC5GNCpBMPPrLjRDS
+            XgEw7oLkbuTq7NyqQlRqytkjH3h+upk1NT3gany3xANqCv/vlbZpLhveXqaMuXI6
+            F3xVTXijMNK4RZSy8r/rA2IucK50D9eTPRK1Iu9dLYCFddaYLHV/pdnVjPHvnhg=
+            =nXVg
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+    name: cluster-icn
+spec:
+    interval: 5m
+    chart:
+        spec:
+            chart: deploy/cluster
+            sourceRef:
+                kind: GitRepository
+                name: icn
+            interval: 1m
+    values:
+        clusterName: icn
+        clusterLabels:
+            site: vm
+        keepalived:
+            interface: ens6
+            routerId: 3
+        networks:
+            baremetal:
+                interface: ens6
+            provisioning:
+                interface: ens5
+        userData:
+            hashedPassword: ENC[AES256_GCM,data:GMMXpwQdk1WnMiB6GXFIPeBt+klNgwPgfE7FHuO0Eme6JF2H5bAiKDteTB1ip3PhxRgqLCgF7TtQ4VucBANMzCVWGFUPL3CxuQPSXnYQOTYWgccnI5tqjg/YbSpOn14hU0zssGr4IeFSGhGP1drq6osm8SGxm/U=,iv:qoQUpJsVts6yJpRFG8KWzU6eUWT1s4huKqsC6vTJiQQ=,tag:L/Xl8bmY6R1tR28O8HrypA==,type:str]
+            sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD6w9mtvJ8WXDVJOgK2U5RQlhDkyqfBY0QCbZfdpAWayhmMad1DH2JQBkGB2L7RqB6Vwoyme7WmXImSYKvg1cLmfeJV8mJXbs7vBfiq3wG80Ww5UpYOhThwsTo2un1m9c22OO+OXv5V0RCXkZZoDHbBGHAzMP6tgcbz7IHKnCYAsg9NejBAwSkUM3VZsgvoSQ9SVkgBab/RooVsdoxhjMOTa0a//CQfGvO4DloWr1+YlZgPRL8ZbIN68mhEHS5lFuykio2JFpdQTUj/NCO9W5S5ceqjQGC5hX95lLYa8MtPsazuDnOoeJeILYtF2szvtEFX9XAYMK4tqcQMBzS0HZVdK0bdEB0eKWR1Dw0bP3Vt9zNXmf4otJU7c8d6TRrZ9x25/scbqwHD9H0VwgDXIeVzAmiNXvfpBSwkR7a1Y99+byEpAzLSs3Qfg4tPt303G2DsYnZrkROSTB4J0TfaixCdPcs7AExeLHShLEqDqEwE/7RIVEvT4zOSFTpUCGrBK6s= root@jump
+        flux:
+            url: https://gerrit.akraino.org/r/icn
+            branch: master
+            path: ./deploy/site/vm/cluster/icn
+            decryptionSecret: ENC[AES256_GCM,data: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,iv:bDl7p5UjSNtS99DrEmmPEW8updKavUqvVUBS8sJx5Ng=,tag:5gSZeohvkvaQn+0VEn2uUw==,type:str]
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-03-08T22:12:15Z"
+    mac: ENC[AES256_GCM,data:x529yjFTiV/UsF8yGpX9gVazfjEw8wIAX4kvlc6H4LkdDDjCQX8+adR9OcQNQ3irllnGwuNbfQgFao+ZnRN/Vq/mdkwAvfDzvVWbYeInCqBw4/5EQCumy9pABWN+AD9DTNOR1LEeENfor+KW7YwNLSxKImfS6KQ1kjgQD6iqzs4=,iv:Z8elmmWQLBSR5Y9NciEGh1FT6rhJYOjDDJmSOZKcgKY=,tag:Btyc/Al6NQG7qbnk1PN8sQ==,type:str]
+    pgp:
+        - created_at: "2022-03-08T22:12:15Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4SX7nk+q+zPARAAiAjweyqc1yJf6UT9t2SI4HHxOR6dwlEm2aA3ZO957wA8
+            p05PKxBmiEKH1S0zJOjpFkCCVNsK9l5uRohWEjuYj6uDQD2FkoXB3xtJFr1Ekkg9
+            M9CFyZuir+Gq789xAOrknPVcAqBxAGdtII5Qn0WzlaNypcLKhyspNXv2YGJdKeOV
+            C2pZI0fmm66EP2wCf0YaeF4HV+lNczc06KJFVf244kd9BSsEZEbzZNQx+soUBwyW
+            c1ZCGoqjUi4Vokb+7wYiPnxiISksIUQQnd8jefRY84miA0/HHydBdMCbQ2PZQOiZ
+            pINaHLGXu7RJC+l5OIT4ElAXjjMC4rljhNg2KRCEz7WUXRKQT3Wl8NP7i7UKGtX9
+            XuudkxTzIVv2JYK+u89ZXRndfeDSr2mgZIo1eqb1ge1oc/tX1I3VmFqEjhT8MPNw
+            lnhKGAWtnDHB+Eh+qjFmKi/d0V0L3IVnHz9ADmrQgIIofQ6HHgzUbLD4wnuYr6uw
+            7Vb0c7+sDAZ3QcIzjKa/iaGSIK3oXUgU8Jf9cXb7Vt0CIXNai+1Bk1zXRYJT3u3+
+            /VCb6fK9m0awdbevs9o2a3VvdZ6QHVNcL1nTPeDoj8PUS7a6iPnk5UWvsrZ2QyNj
+            ilVG4ZHzwWHAE0EtsFKIXlarq47Cc0eLJPvg6xuUwQTirNzwC5GNCpBMPPrLjRDS
+            XgEw7oLkbuTq7NyqQlRqytkjH3h+upk1NT3gany3xANqCv/vlbZpLhveXqaMuXI6
+            F3xVTXijMNK4RZSy8r/rA2IucK50D9eTPRK1Iu9dLYCFddaYLHV/pdnVjPHvnhg=
+            =nXVg
+            -----END PGP MESSAGE-----
+          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
+    encrypted_regex: ^(bmcPassword|ca-key.pem|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
+    version: 3.7.1
index 21e9cb1..5e1b988 100644 (file)
@@ -1,27 +1,38 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAz/UPm/uLY2bknS+pA6GtoeIpA9wBunYcUkEI6VIq/FLtsher
-tVgB6vHAQOCrjpy9Xi0Kmg0TTXiuNhGoux4uUJYWzWtzA+IRIfCzNZFA7LZZek1l
-JNS1QF/L3B0T7oRwvd8nhls1y3cUpdo4gdLJz8kbjWlvTR8/LjWxbGVLSdyfKUKL
-/OXYAho3R8IcXQ44qaxEkC7Hg+YoCs+8oZT3QB6x/tWZs7J4NTlAWLFLetjiZ1SN
-JJL09B/7pxZeq6pJmVPENeDTahJMDBRo3DnBPeWT8+WXPRHYz3HtJgy6LJ/ceYLC
-ntjGoq2yS2EafakH+yYMzrh9rPYJyeLJJZAfNwIDAQABAoIBABKcQsZZz5KYvbLX
-dg+uI2TOYY9H3Bu8wDIYQdznjpNANKdweNxkwN8uvV7Q/Glp24SXEVDSBL01JJoQ
-IIKGY+ywUeAWUpexXokkClWr5xyIAR/x1zBhnMrjB9JuA7+fuJs1Yksi1ICd6ooh
-Kldr7sWaoM2Z9uz28+eFxJgHxKIaY+aoP+S/UFv+2fX1uGHcADpGf16Z92TaWo4h
-pa296owO+kHWb6lbFPmslJpVqb+jrIky1a6KXCZAHxxQqQ042IHt8GnIZm9dFneq
-gHwjtMlZAyowwjPf/SRzZGVh285O9Zr3Y30PMPqfmMD2x11KVB2vJkHgzXA64GFe
-/6TpgWkCgYEA/RFrmL2FIdAbWqO3jL356FmfmSaFhk+le2w+qWLR/ypGvdtw2+c+
-V9jpsfoWQp3Cs0ryqu2K764YCf4EwxQVmPLYA0DD3gqSxD57TRlm+JiYZHD/8f8c
-P59EnYkLOd8RuonpzTXEu+EhrBztRRRulBFhsqGaeSh0v+OP+nOyn4UCgYEA0l3Y
-f1w4dn+M2mxFpYH+F7tZo0os/KPJRvC0cF/ooBcsfM+DlEw5iQp9HQR1lJHy3VGS
-8zi7V9/ACej7Bn45sbUsbdGXVxG8pWhgwFUgLR9whMrKN4ZocAIarf3lHwvUld7L
-AQBg/jynrlXubb4B9BvoaJ9uRh7KJ8yZCZ/gGosCgYBP8ZPa4WvQHay2emd+d3kd
-1EodmFSv9DMjhTNaURRjlhhY25yQa0F/gM96YLVtf+bEutVj97xfMND5PxyD/7E+
-6uAgTvJRD2gDxHUxCuhDefkSKbxA10U2N/r2BRfdxUEVe4G3SNgIPftkIpM1slmo
-PsFtK63fvk77W0jdZnUz/QKBgHI4glSkvgOZPeFa6HX1HwHDt+fxXnvOcnsSNubN
-LIHAE2exRMBAovzFtSkMQstoc3W31RI6u336/0piNepQnwLeXEFEi+e6ubMV+XJ0
-xgO6Dl4LvcBoOkyW1+Wg9cblpYe6cH8atY9VX7ZI8iyj/muMu6QS7M0l6p2xeWbA
-Z+4BAoGALegvmJQsNKTRXEyCjSOTq5FrOB9vSPDyLJ30HIN0sFHU0hycehPEzGcS
-VWLTct6IAy+Hs4md8YJHv0izN3WNvKdU0jMOkOirWC5XexWnnP9W8T7jZnnORjd2
-FkudWZC2d6el+JA3b021kjDMpBw4lMmr4vvwWbgDZpKaqx23HmU=
------END RSA PRIVATE KEY-----
+-----BEGIN OPENSSH PRIVATE KEY-----
+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
+MmBNN5CX8AHoBbAAAACXJvb3RAanVtcAE=
+-----END OPENSSH PRIVATE KEY-----
index a539a63..f82732d 100644 (file)
@@ -1 +1 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDP9Q+b+4tjZuSdL6kDoa2h4ikD3AG6dhxSQQjpUir8Uu2yF6u1WAHq8cBA4KuOnL1eLQqaDRNNeK42Eai7Hi5QlhbNa3MD4hEh8LM1kUDstll6TWUk1LVAX8vcHRPuhHC93yeGWzXLdxSl2jiB0snPyRuNaW9NHz8uNbFsZUtJ3J8pQov85dgCGjdHwhxdDjiprESQLseD5igKz7yhlPdAHrH+1Zmzsng1OUBYsUt62OJnVI0kkvT0H/unFl6rqkmZU8Q14NNqEkwMFGjcOcE95ZPz5Zc9EdjPce0mDLosn9x5gsKe2MairbJLYRp9qQf7JgzOuH2s9gnJ4sklkB83 root@jump
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD6w9mtvJ8WXDVJOgK2U5RQlhDkyqfBY0QCbZfdpAWayhmMad1DH2JQBkGB2L7RqB6Vwoyme7WmXImSYKvg1cLmfeJV8mJXbs7vBfiq3wG80Ww5UpYOhThwsTo2un1m9c22OO+OXv5V0RCXkZZoDHbBGHAzMP6tgcbz7IHKnCYAsg9NejBAwSkUM3VZsgvoSQ9SVkgBab/RooVsdoxhjMOTa0a//CQfGvO4DloWr1+YlZgPRL8ZbIN68mhEHS5lFuykio2JFpdQTUj/NCO9W5S5ceqjQGC5hX95lLYa8MtPsazuDnOoeJeILYtF2szvtEFX9XAYMK4tqcQMBzS0HZVdK0bdEB0eKWR1Dw0bP3Vt9zNXmf4otJU7c8d6TRrZ9x25/scbqwHD9H0VwgDXIeVzAmiNXvfpBSwkR7a1Y99+byEpAzLSs3Qfg4tPt303G2DsYnZrkROSTB4J0TfaixCdPcs7AExeLHShLEqDqEwE/7RIVEvT4zOSFTpUCGrBK6s= root@jump
diff --git a/deploy/site/vm/site.yaml b/deploy/site/vm/site.yaml
deleted file mode 100644 (file)
index ce1b681..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-apiVersion: source.toolkit.fluxcd.io/v1beta1
-kind: GitRepository
-metadata:
-    name: icn
-spec:
-    gitImplementation: go-git
-    interval: 1m0s
-    ref:
-        branch: master
-    timeout: 20s
-    url: https://gerrit.akraino.org/r/icn
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:47Z"
-    mac: ENC[AES256_GCM,data:OiKL0p2/puzedPT2+wj+1MrJArJMfNVCwiU6fEwEPg3B2/mkENlQ4db8pNJa0cz26h1H8TaBbPSuLzzH6XYuzjjFEcroHRWZtKbKAqH0LNKyuWd0KDg74xZ/zq4nxGs5B2MBTXVMXoNnKJftCU/lgYRGJq34/segQNZTwPepcBY=,iv:N+1qXeP/qfHhIXJS5XNgidTqzQ33TNC0XVbU7mNq01M=,tag:pTttX4712XOOsmOVG6SAbA==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:46Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ//R64LXoyIapGWTMwqIfASWCGOkLASMQGwfC6lIv2pRYd0
-            d3rRmpGz3wBm3QXWhG2vNxFUojMHp44WxnVydNQaeKAAK0L709NQetMjJBe0bmpl
-            tS4bKzJLK1kIJK0Pe2v8ecNakMFWTRlvjl5WbQ01J6j6Rn7t3UXwcdkR2bXmuLes
-            I6ozItsJciQMbraegGgnya6fjUZ7NtFHNyR7bpVP23HhczdQAqQmi2+5pUy/2Xl3
-            fMbf1Jw5bHPOZ9V6xlPfjcGYl5sPPl6TXN7o9hRbMQCR/wITEO7SbTRU6SVP5vpV
-            rWHkJxaqOlUeCEXXDDae8FKuDsh2rFtoiCah3PlTBsvt5sbDtkgSDULityWZ/g6L
-            l8s91ltY0cJi73G+Z4TsRo37FYBq5o+LyqJTdB8cxIkC8AqAFUpRpnEL0esSRYvP
-            VuBQzKSxb7nwUfw9afhyS6Fdp62cS/BkOJN49vSshyoOrgigfLZZB2ZebccnzBQz
-            2Qh26U8nWwjKI7FbyWlBGd0XCC2Xa3qIe+jDkQNfqQXpY8lQMazaQfNReLlFpIFG
-            SpKt4fAABIyW8BI1m+jXlz5TckluNaQ/Mk0EFEnZpcU3akkZWIAQOMkh376sGhlB
-            6Dukt9+f+oVoL68s8pgzpSmN+YQTqDVVW4xaaWhDnTUTiwTIQcB8SmOybHtmcAXS
-            XAE/3M2UXAQ9fQMfooK5UQ3ibzT/3EwnWaVUWZOmZc4ShOI2GKX7H2glGEONNE5F
-            OkpgKkDAfUlnX8LaWo5ywT72eha/EZO26C7aLs3usAww8iDib8+0vSYPmY6W
-            =noKr
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-    name: machine-1
-spec:
-    interval: 5m
-    chart:
-        spec:
-            chart: deploy/machine
-            sourceRef:
-                kind: GitRepository
-                name: icn
-            interval: 1m
-    values:
-        machineName: machine-1
-        bootMACAddress: 52:54:00:c6:75:40
-        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/ab389bad-2f4a-4eba-b49e-0d649ff3d237
-        bmcUsername: admin
-        bmcPassword: ENC[AES256_GCM,data:21MjqlJnTvE=,iv:ITCV+8moPqCPAM+9UmxwjjMyXEgTNHrtab9ZELwq2xs=,tag:EqxQKZykKfP29EIv034WBg==,type:str]
-        bmcDisableCertificateVerification: true
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:47Z"
-    mac: ENC[AES256_GCM,data:OiKL0p2/puzedPT2+wj+1MrJArJMfNVCwiU6fEwEPg3B2/mkENlQ4db8pNJa0cz26h1H8TaBbPSuLzzH6XYuzjjFEcroHRWZtKbKAqH0LNKyuWd0KDg74xZ/zq4nxGs5B2MBTXVMXoNnKJftCU/lgYRGJq34/segQNZTwPepcBY=,iv:N+1qXeP/qfHhIXJS5XNgidTqzQ33TNC0XVbU7mNq01M=,tag:pTttX4712XOOsmOVG6SAbA==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:46Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ//R64LXoyIapGWTMwqIfASWCGOkLASMQGwfC6lIv2pRYd0
-            d3rRmpGz3wBm3QXWhG2vNxFUojMHp44WxnVydNQaeKAAK0L709NQetMjJBe0bmpl
-            tS4bKzJLK1kIJK0Pe2v8ecNakMFWTRlvjl5WbQ01J6j6Rn7t3UXwcdkR2bXmuLes
-            I6ozItsJciQMbraegGgnya6fjUZ7NtFHNyR7bpVP23HhczdQAqQmi2+5pUy/2Xl3
-            fMbf1Jw5bHPOZ9V6xlPfjcGYl5sPPl6TXN7o9hRbMQCR/wITEO7SbTRU6SVP5vpV
-            rWHkJxaqOlUeCEXXDDae8FKuDsh2rFtoiCah3PlTBsvt5sbDtkgSDULityWZ/g6L
-            l8s91ltY0cJi73G+Z4TsRo37FYBq5o+LyqJTdB8cxIkC8AqAFUpRpnEL0esSRYvP
-            VuBQzKSxb7nwUfw9afhyS6Fdp62cS/BkOJN49vSshyoOrgigfLZZB2ZebccnzBQz
-            2Qh26U8nWwjKI7FbyWlBGd0XCC2Xa3qIe+jDkQNfqQXpY8lQMazaQfNReLlFpIFG
-            SpKt4fAABIyW8BI1m+jXlz5TckluNaQ/Mk0EFEnZpcU3akkZWIAQOMkh376sGhlB
-            6Dukt9+f+oVoL68s8pgzpSmN+YQTqDVVW4xaaWhDnTUTiwTIQcB8SmOybHtmcAXS
-            XAE/3M2UXAQ9fQMfooK5UQ3ibzT/3EwnWaVUWZOmZc4ShOI2GKX7H2glGEONNE5F
-            OkpgKkDAfUlnX8LaWo5ywT72eha/EZO26C7aLs3usAww8iDib8+0vSYPmY6W
-            =noKr
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-    name: machine-2
-spec:
-    interval: 5m
-    chart:
-        spec:
-            chart: deploy/machine
-            sourceRef:
-                kind: GitRepository
-                name: icn
-            interval: 1m
-    values:
-        machineName: machine-2
-        bootMACAddress: 52:54:00:6f:d6:97
-        bmcAddress: redfish-virtualmedia://192.168.151.1:8000/redfish/v1/Systems/8d747997-dcd1-42ca-9e25-b3eedbe326aa
-        bmcUsername: admin
-        bmcPassword: ENC[AES256_GCM,data:y1xT/CL+sms=,iv:PHmZbaUxCbKxgviiji+fOPEXPIDYU+6CERLA2PhrMfs=,tag:5ZcDD1vP8CcVyqE0VCSVSg==,type:str]
-        bmcDisableCertificateVerification: true
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:47Z"
-    mac: ENC[AES256_GCM,data:OiKL0p2/puzedPT2+wj+1MrJArJMfNVCwiU6fEwEPg3B2/mkENlQ4db8pNJa0cz26h1H8TaBbPSuLzzH6XYuzjjFEcroHRWZtKbKAqH0LNKyuWd0KDg74xZ/zq4nxGs5B2MBTXVMXoNnKJftCU/lgYRGJq34/segQNZTwPepcBY=,iv:N+1qXeP/qfHhIXJS5XNgidTqzQ33TNC0XVbU7mNq01M=,tag:pTttX4712XOOsmOVG6SAbA==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:46Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ//R64LXoyIapGWTMwqIfASWCGOkLASMQGwfC6lIv2pRYd0
-            d3rRmpGz3wBm3QXWhG2vNxFUojMHp44WxnVydNQaeKAAK0L709NQetMjJBe0bmpl
-            tS4bKzJLK1kIJK0Pe2v8ecNakMFWTRlvjl5WbQ01J6j6Rn7t3UXwcdkR2bXmuLes
-            I6ozItsJciQMbraegGgnya6fjUZ7NtFHNyR7bpVP23HhczdQAqQmi2+5pUy/2Xl3
-            fMbf1Jw5bHPOZ9V6xlPfjcGYl5sPPl6TXN7o9hRbMQCR/wITEO7SbTRU6SVP5vpV
-            rWHkJxaqOlUeCEXXDDae8FKuDsh2rFtoiCah3PlTBsvt5sbDtkgSDULityWZ/g6L
-            l8s91ltY0cJi73G+Z4TsRo37FYBq5o+LyqJTdB8cxIkC8AqAFUpRpnEL0esSRYvP
-            VuBQzKSxb7nwUfw9afhyS6Fdp62cS/BkOJN49vSshyoOrgigfLZZB2ZebccnzBQz
-            2Qh26U8nWwjKI7FbyWlBGd0XCC2Xa3qIe+jDkQNfqQXpY8lQMazaQfNReLlFpIFG
-            SpKt4fAABIyW8BI1m+jXlz5TckluNaQ/Mk0EFEnZpcU3akkZWIAQOMkh376sGhlB
-            6Dukt9+f+oVoL68s8pgzpSmN+YQTqDVVW4xaaWhDnTUTiwTIQcB8SmOybHtmcAXS
-            XAE/3M2UXAQ9fQMfooK5UQ3ibzT/3EwnWaVUWZOmZc4ShOI2GKX7H2glGEONNE5F
-            OkpgKkDAfUlnX8LaWo5ywT72eha/EZO26C7aLs3usAww8iDib8+0vSYPmY6W
-            =noKr
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
----
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-    name: cluster-icn
-spec:
-    interval: 5m
-    chart:
-        spec:
-            chart: deploy/cluster
-            sourceRef:
-                kind: GitRepository
-                name: icn
-            interval: 1m
-    values:
-        clusterName: icn
-        clusterLabels:
-            site: vm
-        keepalived:
-            interface: ens6
-            routerId: 3
-        networks:
-            baremetal:
-                interface: ens6
-            provisioning:
-                interface: ens5
-        userData:
-            hashedPassword: ENC[AES256_GCM,data:nwzxtoMYntcxK7KNlXWBHKWHSQu/AbgXNEW29NwYZR8tTPhmy0I8oBLpYU7efUbEDSGE0uo5jrUmc9zNR4chL8+Oz1UGPfGHulzWW656J87oJjSID2GFuSs2OJjk3wCcrV0TrgaiF6fm1sMW/haNVfv9cyHj,iv:azi5ToHIX5Adwkr1rVCKHsiIgtE+kY3//O92MBgnnd4=,tag:ZNS+ZGyXAbVCJX7SuOSmxw==,type:str]
-            sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDP9Q+b+4tjZuSdL6kDoa2h4ikD3AG6dhxSQQjpUir8Uu2yF6u1WAHq8cBA4KuOnL1eLQqaDRNNeK42Eai7Hi5QlhbNa3MD4hEh8LM1kUDstll6TWUk1LVAX8vcHRPuhHC93yeGWzXLdxSl2jiB0snPyRuNaW9NHz8uNbFsZUtJ3J8pQov85dgCGjdHwhxdDjiprESQLseD5igKz7yhlPdAHrH+1Zmzsng1OUBYsUt62OJnVI0kkvT0H/unFl6rqkmZU8Q14NNqEkwMFGjcOcE95ZPz5Zc9EdjPce0mDLosn9x5gsKe2MairbJLYRp9qQf7JgzOuH2s9gnJ4sklkB83 root@jump
-        flux:
-            url: https://gerrit.akraino.org/r/icn
-            branch: master
-            path: ./deploy/site/cluster-icn
-            decryptionSecret: ENC[AES256_GCM,data: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,iv:Su1IuMEi6hpV0N+qycuHoYDzF7xLbd2jBih2aX97bKg=,tag:+kEuC5gU7laJWG5YRqchOQ==,type:str]
-sops:
-    kms: []
-    gcp_kms: []
-    azure_kv: []
-    hc_vault: []
-    age: []
-    lastmodified: "2022-02-08T21:47:47Z"
-    mac: ENC[AES256_GCM,data:OiKL0p2/puzedPT2+wj+1MrJArJMfNVCwiU6fEwEPg3B2/mkENlQ4db8pNJa0cz26h1H8TaBbPSuLzzH6XYuzjjFEcroHRWZtKbKAqH0LNKyuWd0KDg74xZ/zq4nxGs5B2MBTXVMXoNnKJftCU/lgYRGJq34/segQNZTwPepcBY=,iv:N+1qXeP/qfHhIXJS5XNgidTqzQ33TNC0XVbU7mNq01M=,tag:pTttX4712XOOsmOVG6SAbA==,type:str]
-    pgp:
-        - created_at: "2022-02-08T21:47:46Z"
-          enc: |
-            -----BEGIN PGP MESSAGE-----
-
-            hQIMA4SX7nk+q+zPAQ//R64LXoyIapGWTMwqIfASWCGOkLASMQGwfC6lIv2pRYd0
-            d3rRmpGz3wBm3QXWhG2vNxFUojMHp44WxnVydNQaeKAAK0L709NQetMjJBe0bmpl
-            tS4bKzJLK1kIJK0Pe2v8ecNakMFWTRlvjl5WbQ01J6j6Rn7t3UXwcdkR2bXmuLes
-            I6ozItsJciQMbraegGgnya6fjUZ7NtFHNyR7bpVP23HhczdQAqQmi2+5pUy/2Xl3
-            fMbf1Jw5bHPOZ9V6xlPfjcGYl5sPPl6TXN7o9hRbMQCR/wITEO7SbTRU6SVP5vpV
-            rWHkJxaqOlUeCEXXDDae8FKuDsh2rFtoiCah3PlTBsvt5sbDtkgSDULityWZ/g6L
-            l8s91ltY0cJi73G+Z4TsRo37FYBq5o+LyqJTdB8cxIkC8AqAFUpRpnEL0esSRYvP
-            VuBQzKSxb7nwUfw9afhyS6Fdp62cS/BkOJN49vSshyoOrgigfLZZB2ZebccnzBQz
-            2Qh26U8nWwjKI7FbyWlBGd0XCC2Xa3qIe+jDkQNfqQXpY8lQMazaQfNReLlFpIFG
-            SpKt4fAABIyW8BI1m+jXlz5TckluNaQ/Mk0EFEnZpcU3akkZWIAQOMkh376sGhlB
-            6Dukt9+f+oVoL68s8pgzpSmN+YQTqDVVW4xaaWhDnTUTiwTIQcB8SmOybHtmcAXS
-            XAE/3M2UXAQ9fQMfooK5UQ3ibzT/3EwnWaVUWZOmZc4ShOI2GKX7H2glGEONNE5F
-            OkpgKkDAfUlnX8LaWo5ywT72eha/EZO26C7aLs3usAww8iDib8+0vSYPmY6W
-            =noKr
-            -----END PGP MESSAGE-----
-          fp: A4B4A47A1DB07DE00E8158BE411E23534CA8FAE0
-    encrypted_regex: ^(bmcPassword|decryptionSecret|hashedPassword|emcoPassword|rootPassword)$
-    version: 3.7.1
index 8d65df7..9f6e455 100755 (executable)
@@ -12,127 +12,26 @@ mkdir -p ${BUILDDIR}
 
 SITE_REPO=${SITE_REPO:-"https://gerrit.akraino.org/r/icn"}
 SITE_BRANCH=${SITE_BRANCH:-"master"}
-SITE_PATH=${SITE_PATH:-"deploy/site/vm"}
-
-FLUX_SOPS_KEY_NAME=${FLUX_SOPS_KEY_NAME:-"icn-site-vm"}
-FLUX_SOPS_PRIVATE_KEY="${SCRIPTDIR}/../secrets/sops.asc"
-
-# !!!NOTE!!! THE KEYS USED BELOW ARE FOR TEST PURPOSES ONLY.  DO NOT
-# USE THESE OUTSIDE OF THIS ICN VIRTUAL TEST ENVIRONMENT.
-function build_source {
-    # First decrypt the existing site YAML, otherwise we'll be
-    # attempting to encrypt it twice below
-    if [[ -f ${FLUX_SOPS_PRIVATE_KEY} ]]; then
-       gpg --import ${FLUX_SOPS_PRIVATE_KEY}
-       sops_decrypt ${SCRIPTDIR}/site.yaml
-    fi
-
-    # Generate user password and authorized key in site YAML
-    # To login to guest, ssh -i ${SCRIPTDIR}/id_rsa
-    HASHED_PASSWORD=$(mkpasswd --method=SHA-512 --rounds 10000 "mypasswd")
-    sed -i -e 's!hashedPassword: .*!hashedPassword: '"${HASHED_PASSWORD}"'!' ${SCRIPTDIR}/site.yaml
-    ssh-keygen -t rsa -N "" -f ${SCRIPTDIR}/id_rsa <<<y
-    SSH_AUTHORIZED_KEY=$(cat ${SCRIPTDIR}/id_rsa.pub)
-    # Use ! instead of usual / to avoid escaping / in
-    # SSH_AUTHORIZED_KEY
-    sed -i -e 's!sshAuthorizedKey: .*!sshAuthorizedKey: '"${SSH_AUTHORIZED_KEY}"'!' ${SCRIPTDIR}/site.yaml
-
-    # Encrypt the site YAML
-    create_gpg_key ${FLUX_SOPS_KEY_NAME}
-    sops_encrypt ${SCRIPTDIR}/site.yaml ${FLUX_SOPS_KEY_NAME}
-
-    # ONLY FOR TEST ENVIRONMENT: save the private key used
-    export_gpg_private_key ${FLUX_SOPS_KEY_NAME} >${FLUX_SOPS_PRIVATE_KEY}
-}
-
-function deploy {
-    gpg --import ${FLUX_SOPS_PRIVATE_KEY}
-    flux_create_site ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH} ${FLUX_SOPS_KEY_NAME}
-}
-
-function clean {
-    kubectl -n flux-system delete kustomization $(flux_site_kustomization_name ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH})
-}
-
-function is_cluster_ready {
-    [[ $(kubectl -n ${SITE_NAMESPACE} get cluster icn -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}') == "True" ]]
-}
-
-function is_control_plane_ready {
-    # Checking the Cluster resource status is not sufficient, it
-    # reports the control plane as ready before the nodes forming the
-    # control plane are ready
-    local -r replicas=$(kubectl -n ${SITE_NAMESPACE} get kubeadmcontrolplane icn -o jsonpath='{.spec.replicas}')
-    [[ $(kubectl --kubeconfig=${BUILDDIR}/icn-admin.conf get nodes -l node-role.kubernetes.io/control-plane -o jsonpath='{range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}{end}' | grep -c True) == ${replicas} ]]
-}
-
-function insert_control_plane_network_identity_into_ssh_config {
-    # This enables logging into the control plane machines from this
-    # machine without specifying the identify file on the command line
-
-    if [[ ! $(which ipcalc) ]]; then
-        apt-get install -y ipcalc
-    fi
-
-    # Create ssh config if it doesn't exist
-    mkdir -p ${HOME}/.ssh && chmod 700 ${HOME}/.ssh
-    touch ${HOME}/.ssh/config
-    chmod 600 ${HOME}/.ssh/config
-    # Add the entry for the control plane network, host value in ssh
-    # config is a wildcard
-    endpoint=$(helm -n ${SITE_NAMESPACE} get values -a cluster-icn | awk '/controlPlaneEndpoint:/ {print $2}')
-    prefix=$(helm -n ${SITE_NAMESPACE} get values -a cluster-icn | awk '/controlPlanePrefix:/ {print $2}')
-    host=$(ipcalc ${endpoint}/${prefix} | awk '/Network:/ {sub(/\.0.*/,".*"); print $2}')
-    if [[ $(grep -c "Host ${host}" ${HOME}/.ssh/config) != 0 ]]; then
-       sed -i -e '/Host '"${host}"'/,+3 d' ${HOME}/.ssh/config
-    fi
-    cat <<EOF >>${HOME}/.ssh/config
-Host ${host}
-  IdentityFile ${SCRIPTDIR}/id_rsa
-  StrictHostKeyChecking no
-  UserKnownHostsFile /dev/null
-EOF
-    # Add the identity to authorized keys on this host to enable ssh
-    # logins via its control plane address
-    authorized_key=$(cat ${SCRIPTDIR}/id_rsa.pub)
-    sed -i -e '\!'"${authorized_key}"'!d' ${HOME}/.ssh/authorized_keys
-    cat ${SCRIPTDIR}/id_rsa.pub >> ~/.ssh/authorized_keys
-}
-
-function wait_for_all_ready {
-    WAIT_FOR_INTERVAL=60s
-    WAIT_FOR_TRIES=30
-    wait_for is_cluster_ready
-    clusterctl -n ${SITE_NAMESPACE} get kubeconfig icn >${BUILDDIR}/icn-admin.conf
-    chmod 600 ${BUILDDIR}/icn-admin.conf
-    wait_for is_control_plane_ready
-    insert_control_plane_network_identity_into_ssh_config
-}
-
-function is_cluster_deleted {
-    ! kubectl -n ${SITE_NAMESPACE} get cluster icn
-}
-
-function wait_for_all_deleted {
-    WAIT_FOR_INTERVAL=60s
-    WAIT_FOR_TRIES=30
-    wait_for is_cluster_deleted
-}
+SITE_PATH=${SITE_PATH:-"deploy/site/vm/deployment"}
 
 case $1 in
-    "build-source") build_source ;;
-    "clean") clean ;;
-    "deploy") deploy ;;
-    "wait") wait_for_all_ready ;;
-    "wait-clean") wait_for_all_deleted ;;
+    "clean") site_clean ;;
+    "deploy")
+       gpg --import ${FLUX_SOPS_PRIVATE_KEY}
+       site_deploy ;;
+    "wait")
+       site_wait_for_all_ready
+       site_insert_control_plane_network_identity_into_ssh_config
+       ;;
+    "wait-clean") site_wait_for_all_deleted ;;
     *) cat <<EOF
 Usage: $(basename $0) COMMAND
 
 Commands:
-  build-source  - Build the in-tree site values
   clean         - Remove the site
   deploy        - Deploy the site
   wait          - Wait for the site to be ready
+  wait-clean    - Wait for the site to be removed
 EOF
        ;;
 esac
index 0c94508..33ac57d 100644 (file)
@@ -30,6 +30,7 @@
 |EMCO|v21.12|
 |Flux|0.27.0|
 |Intel Network Adapter Virtual Function Driver Installer|latest|
+|Istio|1.10.3|
 |Kata Containers|2.3.2|
 |KubeVirt|v0.50.0|
 |Multus|v3.8|
index 8af4436..2cd93d6 100755 (executable)
@@ -69,6 +69,13 @@ KUBECTL_VERSION="v1.20.7"
 #The yq version to use
 YQ_VERSION="v4.20.1"
 
+#Istio repository URL
+ISTIOREPO="${ISTIOREPO:-https://github.com/istio/istio.git}"
+#Path to clone the Istio repo
+ISTIOPATH="/opt/src/istio"
+#Istio version to use
+ISTIO_VERSION="1.10.3"
+
 #Addon versions
 CDI_VERSION="v1.44.1"
 CPU_MANAGER_VERSION="v1.4.1"
@@ -300,6 +307,10 @@ function clone_emco_repository {
     clone_repository ${EMCOPATH} ${EMCOREPO} ${EMCO_VERSION}
 }
 
+function clone_istio_repository {
+    clone_repository ${ISTIOPATH} ${ISTIOREPO} ${ISTIO_VERSION}
+}
+
 function fetch_image {
     if [[ "${BM_IMAGE_URL}" && "${BM_IMAGE}" ]]; then
        mkdir -p "${IRONIC_DATA_DIR}/html/images"
index fb8f996..f39d535 100755 (executable)
@@ -104,9 +104,10 @@ function compute_cluster_addons {
 |Containerized Data Importer|${CDI_VERSION}|
 |cert-manager|${CERT_MANAGER_VERSION}|
 |CPU Manager for Kubernetes|${CPU_MANAGER_VERSION}|
-|EMCO|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-icn/emco-source.yaml)|
+|EMCO|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-emco-management/emco-source.yaml)|
 |Flux|${FLUX_VERSION}|
 |Intel Network Adapter Virtual Function Driver Installer|$(image_tag ${ICNDIR}/deploy/iavf-driver-installer/icn/daemonset.yaml iavf-driver-installer)|
+|Istio|$(git_repository_tag ${ICNDIR}/deploy/site/cluster-addons/istio-source.yaml)|
 |Kata Containers|${KATA_VERSION}|
 |KubeVirt|${KUBEVIRT_VERSION}|
 |Multus|${MULTUS_VERSION}|
index 672d362..d6915b0 100755 (executable)
@@ -6,12 +6,12 @@ site = ENV['ICN_SITE'] || 'vm'
 Dir.chdir(File.join(__dir__, '../../'))
 system('vagrant destroy -f jump')
 
-Dir.glob("deploy/site/#{site}/*.yaml") do |file|
+Dir.glob("deploy/site/#{site}/deployment/*.yaml") do |file|
   YAML.load_stream(File.read(file)) do |document|
     values = document.fetch('spec', {}).fetch('values', {})
     next if values['machineName'].nil? || values['bootMACAddress'].nil?
     machine_name = values['machineName']
-    system("virsh -c qemu:///system destroy vm-#{machine_name}")
-    system("virsh -c qemu:///system undefine --nvram --remove-all-storage vm-#{machine_name}")
+    system("virsh -c qemu:///system destroy #{site}-#{machine_name}")
+    system("virsh -c qemu:///system undefine --nvram --remove-all-storage #{site}-#{machine_name}")
   end
 end
index f3d5b53..a6c2f62 100755 (executable)
@@ -3,32 +3,35 @@ set -eu -o pipefail
 
 listen_ip=$1
 
-if [[ -f ${HOME}/.sushy/emulator.pid && $(ps -p $(cat ${HOME}/.sushy/emulator.pid) 2>/dev/null) ]]; then
-    echo sushy-emulator is already started
-else
-    # Install prerequisites
-    if [[ $(which apt-get 2>/dev/null) ]]; then
-       DEBIAN_FRONTEND=noninteractive sudo apt-get install -y make apache2-utils libvirt-dev ovmf python3-pip
-    elif [[ $(which yum) ]]; then
-        # TODO OVMF doesn't include OVMF_CODE.fd
-       sudo yum install -y make httpd-tools libvirt-devel OVMF python3-pip
+if [[ -f ${HOME}/.sushy/emulator.pid ]]; then
+    if ps -p $(cat ${HOME}/.sushy/emulator.pid); then
+       echo sushy-emulator is already started
+       exit 0
     fi
-    sudo python3 -m pip install libvirt-python sushy-tools
-    # Add route to provisioning network - sushy-emulator needs to
-    # fetch ISOs over this during virtual media boot
-    dev=$(ip -o addr show to ${listen_ip} | awk '{print $2}')
-    sudo ip route add 172.22.0.0/24 dev ${dev}
-    # Configure sushy-emulator
-    mkdir -p ${HOME}/.sushy
-    openssl req -x509 -newkey rsa:4096 -keyout ${HOME}/.sushy/key.pem -out ${HOME}/.sushy/cert.pem -sha256 -days 365 -nodes -subj "/CN=${listen_ip}"
-    htpasswd -c -b -B ${HOME}/.sushy/htpasswd admin password
-    cat <<EOF >${HOME}/.sushy/emulator.conf
+fi
+
+# Install prerequisites
+if [[ $(which apt-get 2>/dev/null) ]]; then
+    DEBIAN_FRONTEND=noninteractive sudo apt-get install -y make apache2-utils libvirt-dev ovmf python3-pip
+elif [[ $(which yum) ]]; then
+    # TODO OVMF doesn't include OVMF_CODE.fd
+    sudo yum install -y make httpd-tools libvirt-devel OVMF python3-pip
+fi
+sudo python3 -m pip install libvirt-python sushy-tools
+# Add route to provisioning network - sushy-emulator needs to
+# fetch ISOs over this during virtual media boot
+dev=$(ip -o addr show to ${listen_ip} | awk '{print $2}')
+sudo ip route add 172.22.0.0/24 dev ${dev}
+# Configure sushy-emulator
+mkdir -p ${HOME}/.sushy
+openssl req -x509 -newkey rsa:4096 -keyout ${HOME}/.sushy/key.pem -out ${HOME}/.sushy/cert.pem -sha256 -days 365 -nodes -subj "/CN=${listen_ip}"
+htpasswd -c -b -B ${HOME}/.sushy/htpasswd admin password
+cat <<EOF >${HOME}/.sushy/emulator.conf
 SUSHY_EMULATOR_LISTEN_IP = u'${listen_ip}'
 SUSHY_EMULATOR_SSL_CERT = u'${HOME}/.sushy/cert.pem'
 SUSHY_EMULATOR_SSL_KEY = u'${HOME}/.sushy/key.pem'
 SUSHY_EMULATOR_AUTH_FILE = u'${HOME}/.sushy/htpasswd'
 SUSHY_EMULATOR_VMEDIA_VERIFY_SSL = False
 EOF
-    sushy-emulator --config ${HOME}/.sushy/emulator.conf 1>${HOME}/.sushy/emulator-stdout.log 2>${HOME}/.sushy/emulator-stderr.log &
-    echo $! >${HOME}/.sushy/emulator.pid
-fi
+sushy-emulator --config ${HOME}/.sushy/emulator.conf 1>${HOME}/.sushy/emulator-stdout.log 2>${HOME}/.sushy/emulator-stderr.log &
+echo $! >${HOME}/.sushy/emulator.pid
index 2e3f3a8..435ee7d 100755 (executable)
@@ -3,8 +3,10 @@ set -eu -o pipefail
 
 listen_ip=$1
 
-if [[ -f ${HOME}/.sushy/emulator.pid && $(ps -p $(cat ${HOME}/.sushy/emulator.pid) 2>/dev/null) ]]; then
-    kill $(cat ${HOME}/.sushy/emulator.pid)
+if [[ -f ${HOME}/.sushy/emulator.pid ]]; then
+    if ps -p $(cat ${HOME}/.sushy/emulator.pid); then
+       kill $(cat ${HOME}/.sushy/emulator.pid)
+    fi
     rm ${HOME}/.sushy/emulator.pid
     echo Stopped sushy-emulator
     dev=$(ip -o addr show to ${listen_ip} | awk '{print $2}')