Add Aether cluster and app configs

Change-Id: I1394ca5690267e930bc74eb2602c0473c8d60c1b
diff --git a/deployment-configs/aether/apps/common-multicluster-cord-platform.yaml b/deployment-configs/aether/apps/common-multicluster-cord-platform.yaml
new file mode 100644
index 0000000..baf366f
--- /dev/null
+++ b/deployment-configs/aether/apps/common-multicluster-cord-platform.yaml
@@ -0,0 +1,53 @@
+etcd-operator:
+  enabled: false
+# NOTE: set central=true, edge=false for central cluster
+tags:
+  central: false
+  edge: true
+
+nem-monitoring:
+  kpi_exporter:
+    enabled: true
+
+  prometheus:
+    alertmanager:
+      enabled: false
+    kubeStateMetrics:
+      enabled: true
+      fullnameOverride: "cord-platform-prometheus-kube-state-metrics"
+    nodeExporter:
+      enabled: true
+      fullnameOverride: "cord-platform-prometheus-node-exporter"
+    pushgateway:
+      enabled: false
+    server:
+      enabled: true
+      fullnameOverride: "cord-platform-prometheus-server"
+      # NOTE: set unique datacenter name for each clusters
+      global:
+        external_labels:
+          datacenter: "edge-onf-menlo"
+    extraScrapeConfigs: |
+      - job_name: 'nem-kpi-exporter'
+        metrics_path: /metrics
+        scrape_interval: 15s
+        static_configs:
+          - targets:
+              - cord-platform-nem-kpi-exporter:8080
+
+  grafana:
+    fullnameOverride: "cord-platform-grafana"
+
+  # NOTE: set xos=true, aehterCentralPods=true for central cluster.
+  dashboards:
+    k8s: false
+    nodeExporter: false
+    xos: false
+    onos: true
+    aaa: false
+    voltha: false
+    omec: false
+    aetherClusters: false
+    aetherEdges: false
+    aetherCentralPods: false
+    aetherEdgePods: true
diff --git a/deployment-configs/aether/apps/common-multicluster-omec-dp-cni.yaml b/deployment-configs/aether/apps/common-multicluster-omec-dp-cni.yaml
new file mode 100644
index 0000000..3662c68
--- /dev/null
+++ b/deployment-configs/aether/apps/common-multicluster-omec-dp-cni.yaml
@@ -0,0 +1,6 @@
+config:
+  sriov:
+    resourceList:
+      vfio:
+        pfNames:
+          - eth2
diff --git a/deployment-configs/aether/apps/global-docker-registry.yaml b/deployment-configs/aether/apps/global-docker-registry.yaml
new file mode 100644
index 0000000..5d4d99d
--- /dev/null
+++ b/deployment-configs/aether/apps/global-docker-registry.yaml
@@ -0,0 +1,10 @@
+secrets:
+  htpasswd: ""
+persistence:
+  enabled: false
+ingress:
+  enabled: true
+  hosts:
+    - "registry.aether.opennetworking.org"
+  annotations:
+     "nginx.ingress.kubernetes.io/proxy-body-size": "0"
diff --git a/deployment-configs/aether/apps/global-nem-monitoring.yaml b/deployment-configs/aether/apps/global-nem-monitoring.yaml
new file mode 100644
index 0000000..4c89d1d
--- /dev/null
+++ b/deployment-configs/aether/apps/global-nem-monitoring.yaml
@@ -0,0 +1,49 @@
+kpi_exporter:
+  enabled: false
+
+prometheus:
+  alertmanager:
+    enabled: false
+  kubeStateMetrics:
+    enabled: false
+  nodeExporter:
+    enabled: false
+  pushgateway:
+    enabled: false
+  server:
+    enabled: true
+    fullnameOverride: "nem-monitoring-prometheus-server"
+  serverFiles:
+    prometheus.yml:
+      scrape_configs:
+        - job_name: prometheus-aggregator
+          scrape_interval: 15s
+          honor_labels: true
+          metrics_path: /federate
+          params:
+            match[]:
+              - '{job="kubernetes-nodes-cadvisor"}'
+              - '{job="kubernetes-service-endpoints"}'
+          static_configs:
+            - targets:
+              - cord-platform-prometheus-server.staging-cord-platform-p-rp6p6.svc.staging.central:80
+              - cord-platform-prometheus-server.staging-cord-platform-p-8s6wg.svc.a.staging.edge:80
+              - cord-platform-prometheus-server.staging-cord-platform-p-lmx6j.svc.b.staging.edge:80
+              - cord-platform-prometheus-server.staging-cord-platform-p-867hl.svc.c.staging.edge:80
+  extraScrapeConfigs: ""
+
+grafana:
+  fullnameOverride: "nem-monitoring-grafana"
+
+dashboards:
+  k8s: false
+  nodeExporter: false
+  xos: true
+  onos: false
+  aaa: false
+  voltha: false
+  omec: false
+  aetherClusters: true
+  aetherEdges: true
+  aetherCentralPods: true
+  aetherEdgePods: false
diff --git a/deployment-configs/aether/apps/production-cassandra.yaml b/deployment-configs/aether/apps/production-cassandra.yaml
new file mode 100644
index 0000000..b64461a
--- /dev/null
+++ b/deployment-configs/aether/apps/production-cassandra.yaml
@@ -0,0 +1,9 @@
+fullnameOverride: "cassandra"
+image:
+  tag: "2.1.20"
+persistence:
+  enabled: true
+  storageClass: "zonal-ssd"
+config:
+  cluster_domain: "product.central"
+  endpoint_snitch: "GossipingPropertyFileSnitch"
diff --git a/deployment-configs/aether/apps/production-mcord-profile.yaml b/deployment-configs/aether/apps/production-mcord-profile.yaml
new file mode 100644
index 0000000..66dfb3e
--- /dev/null
+++ b/deployment-configs/aether/apps/production-mcord-profile.yaml
@@ -0,0 +1,19 @@
+progran:
+  enabled: false
+fabric:
+  enabled: true
+
+mcord-subscriber:
+  image:
+    repository: "omecproject/mcord-synchronizer"
+    tag: "comac-1.0.0"
+    pullPolicy: "IfNotPresent"
+
+onos-service:
+  kafkaService: "cord-platform-kafka"
+
+fabric:
+  kafkaService: "cord-platform-kafka"
+
+onosFabricRestHost: "cord-platform-onos-ui.cord-platform-p-x7tlq.svc.menlo.edge"
+onosFabricRestPort: 8181
diff --git a/deployment-configs/aether/apps/production-multicluster-accelleran-cbrs-common.yaml b/deployment-configs/aether/apps/production-multicluster-accelleran-cbrs-common.yaml
new file mode 100644
index 0000000..0012381
--- /dev/null
+++ b/deployment-configs/aether/apps/production-multicluster-accelleran-cbrs-common.yaml
@@ -0,0 +1,3 @@
+config:
+  nats:
+    ip: "119.0.0.30"
diff --git a/deployment-configs/aether/apps/production-multicluster-accelleran-cbrs-cu.yaml b/deployment-configs/aether/apps/production-multicluster-accelleran-cbrs-cu.yaml
new file mode 100644
index 0000000..8cae075
--- /dev/null
+++ b/deployment-configs/aether/apps/production-multicluster-accelleran-cbrs-cu.yaml
@@ -0,0 +1,3 @@
+config:
+  mme:
+    ip: "10.168.0.204"
diff --git a/deployment-configs/aether/apps/production-multicluster-omec-dp.yaml b/deployment-configs/aether/apps/production-multicluster-omec-dp.yaml
new file mode 100644
index 0000000..f776c24
--- /dev/null
+++ b/deployment-configs/aether/apps/production-multicluster-omec-dp.yaml
@@ -0,0 +1,21 @@
+images:
+  tags:
+    spgwu: "registry.aether.opennetworking.org/ngic-dp:1.1.0"
+  pullPolicy: "Always"
+
+config:
+  spgwu:
+    cpComm:
+      addr: "spgwc-headless.omec.svc.product.central"
+    s1u:
+      device: "s1u-net"
+      # NOTE: set different IP for each edge
+      ip: "119.0.0.3/24"
+    sgi:
+      device: "sgi-net"
+      # NOTE: set different IP for each edge
+      ip: "13.1.1.3/24"
+networks:
+  sgi:
+    # NOTE: set correct gateway for each edge
+    gateway: "13.1.1.250" # Vyatta router IP
diff --git a/deployment-configs/aether/apps/production-omec-cp.yaml b/deployment-configs/aether/apps/production-omec-cp.yaml
new file mode 100644
index 0000000..06e7092
--- /dev/null
+++ b/deployment-configs/aether/apps/production-omec-cp.yaml
@@ -0,0 +1,54 @@
+images:
+  tags:
+    hssdb: "registry.aether.opennetworking.org/c3po-hssdb:1.1.0"
+    hss: "registry.aether.opennetworking.org/c3po-hss:1.1.0"
+    mme: "registry.aether.opennetworking.org/openmme:1.1.0"
+    spgwc: "registry.aether.opennetworking.org/ngic-cp:1.1.0"
+  pullPolicy: "Always"
+
+cassandra:
+  deploy: false
+
+resources:
+  enabled: true
+
+config:
+  clusterDomain: "product.central"
+  hss:
+    hssdb: "cassandra"
+  spgwc:
+    s1uAddr: "119.0.0.3"
+  mme:
+    cfgFiles:
+      config.json:
+        mme:
+          mcc:
+            dig1: 7
+            dig2: 3
+            dig3: 2
+          mnc:
+            dig1: 1
+            dig2: 1
+            dig3: 1
+  hss:
+    acl:
+      oldTls: "*.product.central"
+    bootstrap:
+      enabled: true
+      users:
+        - imsi: "732111000000420"
+          msisdn: "1122334455"
+          apn: "apn1"
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+        - imsi: "732111000000421"
+          msisdn: "1122334455"
+          apn: "apn1"
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+      mmes:
+        - id: 1
+          isdn: "19136246000"
+          unreachability: 1
diff --git a/deployment-configs/aether/apps/staging-cassandra.yaml b/deployment-configs/aether/apps/staging-cassandra.yaml
new file mode 100644
index 0000000..00fbdde
--- /dev/null
+++ b/deployment-configs/aether/apps/staging-cassandra.yaml
@@ -0,0 +1,9 @@
+fullnameOverride: "cassandra"
+image:
+  tag: "2.1.20"
+persistence:
+  enabled: true
+  storageClass: "zonal-ssd"
+config:
+  cluster_domain: "staging.central"
+  endpoint_snitch: "GossipingPropertyFileSnitch"
diff --git a/deployment-configs/aether/apps/staging-mcord-profile.yaml b/deployment-configs/aether/apps/staging-mcord-profile.yaml
new file mode 100644
index 0000000..ffc5231
--- /dev/null
+++ b/deployment-configs/aether/apps/staging-mcord-profile.yaml
@@ -0,0 +1,19 @@
+progran:
+  enabled: false
+fabric:
+  enabled: true
+
+mcord-subscriber:
+  image:
+    repository: "omecproject/mcord-synchronizer"
+    tag: "comac-1.0.0"
+    pullPolicy: "IfNotPresent"
+
+onos-service:
+  kafkaService: "cord-platform-kafka"
+
+fabric:
+  kafkaService: "cord-platform-kafka"
+
+onosFabricRestHost: "cord-platform-onos-ui.staging-cord-platform-p-8s6wg.svc.a.staging.edge"
+onosFabricRestPort: 8181
diff --git a/deployment-configs/aether/apps/staging-multicluster-accelleran-cbrs-common.yaml b/deployment-configs/aether/apps/staging-multicluster-accelleran-cbrs-common.yaml
new file mode 100644
index 0000000..b91deae
--- /dev/null
+++ b/deployment-configs/aether/apps/staging-multicluster-accelleran-cbrs-common.yaml
@@ -0,0 +1,3 @@
+config:
+  nats:
+    ip: "119.0.0.20"
diff --git a/deployment-configs/aether/apps/staging-multicluster-accelleran-cbrs-cu.yaml b/deployment-configs/aether/apps/staging-multicluster-accelleran-cbrs-cu.yaml
new file mode 100644
index 0000000..b048ac6
--- /dev/null
+++ b/deployment-configs/aether/apps/staging-multicluster-accelleran-cbrs-cu.yaml
@@ -0,0 +1,3 @@
+config:
+  mme:
+    ip: "10.168.0.192"
diff --git a/deployment-configs/aether/apps/staging-multicluster-omec-dp.yaml b/deployment-configs/aether/apps/staging-multicluster-omec-dp.yaml
new file mode 100644
index 0000000..29410c4
--- /dev/null
+++ b/deployment-configs/aether/apps/staging-multicluster-omec-dp.yaml
@@ -0,0 +1,18 @@
+images:
+  tags:
+    spgwu: "registry.aether.opennetworking.org/ngic-dp:1.1.0"
+  pullPolicy: "Always"
+
+config:
+  spgwu:
+    cpComm:
+      addr: "spgwc-headless.omec.svc.staging.central"
+    s1u:
+      device: "s1u-net"
+      ip: "119.0.0.3/24"
+    sgi:
+      device: "sgi-net"
+      ip: "13.1.1.3/24"
+networks:
+  sgi:
+    gateway: "13.1.1.250" # Vyatta router IP
diff --git a/deployment-configs/aether/apps/staging-omec-cp.yaml b/deployment-configs/aether/apps/staging-omec-cp.yaml
new file mode 100644
index 0000000..210c393
--- /dev/null
+++ b/deployment-configs/aether/apps/staging-omec-cp.yaml
@@ -0,0 +1,54 @@
+images:
+  tags:
+    hssdb: "registry.aether.opennetworking.org/c3po-hssdb:1.1.0"
+    hss: "registry.aether.opennetworking.org/c3po-hss:1.1.0"
+    mme: "registry.aether.opennetworking.org/openmme:1.1.0"
+    spgwc: "registry.aether.opennetworking.org/ngic-cp:1.1.0"
+  pullPolicy: "Always"
+
+cassandra:
+  deploy: false
+
+resources:
+  enabled: true
+
+config:
+  clusterDomain: "staging.central"
+  hss:
+    hssdb: cassandra
+  spgwc:
+    s1uAddr: "119.0.0.3"
+  mme:
+    cfgFiles:
+      config.json:
+        mme:
+          mcc:
+            dig1: 7
+            dig2: 3
+            dig3: 2
+          mnc:
+            dig1: 1
+            dig2: 1
+            dig3: 1
+  hss:
+    acl:
+      oldTls: "*.staging.central"
+    bootstrap:
+      enabled: true
+      users:
+        - imsi: "732111000000420"
+          msisdn: "1122334455"
+          apn: "apn1"
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+        - imsi: "732111000000421"
+          msisdn: "1122334455"
+          apn: "apn1"
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+      mmes:
+        - id: 1
+          isdn: "19136246000"
+          unreachability: 1
diff --git a/deployment-configs/aether/clusters/production-central.yml b/deployment-configs/aether/clusters/production-central.yml
new file mode 100644
index 0000000..243dee1
--- /dev/null
+++ b/deployment-configs/aether/clusters/production-central.yml
@@ -0,0 +1,111 @@
+name: production-central
+rancher_kubernetes_engine_config:
+  authentication:
+    strategy: x509
+  cloud_provider:
+    name: gce
+    customCloudProvider: |-
+      [global]
+      project-id = m-cord
+      network-project-id = onf-vpn
+      network-name = default
+      subnetwork-name = default
+      regional = true
+      multizone = true
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    options:
+      calico_cloud_provider: gce
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.52.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: product.central
+      cluster_dns_server: 10.52.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.52.0.0/17
+      service_cluster_ip_range: 10.52.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addon_job_timeout: 30
+  addons: |-
+    ---
+    apiVersion: storage.k8s.io/v1
+    kind: StorageClass
+    metadata:
+      name: zonal-ssd
+    provisioner: kubernetes.io/gce-pd
+    parameters:
+      type: pd-ssd
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes product.central in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        menlo.edge:53 {
+            errors
+            cache 30
+            forward . 10.53.128.10
+        }
+
+windows_prefered_cluster: false
+docker_root_dir: /var/lib/docker
+local_cluster_auth_endpoint:
+  enabled: true
+enable_network_policy: false
+enable_cluster_alerting: false
+enable_cluster_monitoring: false
diff --git a/deployment-configs/aether/clusters/production-edge-onf-menlo.yml b/deployment-configs/aether/clusters/production-edge-onf-menlo.yml
new file mode 100644
index 0000000..3a7bed9
--- /dev/null
+++ b/deployment-configs/aether/clusters/production-edge-onf-menlo.yml
@@ -0,0 +1,93 @@
+name: production-edge-onf-menlo
+rancher_kubernetes_engine_config:
+  authentication:
+    strategy: x509
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.53.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: menlo.edge
+      cluster_dns_server: 10.53.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.53.0.0/17
+      service_cluster_ip_range: 10.53.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addon_job_timeout: 30
+  addons: |-
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes menlo.edge in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        product.central:53 {
+            errors
+            cache 30
+            forward . 10.52.128.10
+        }
+  addons_include:
+    - https://raw.githubusercontent.com/intel/multus-cni/master/images/multus-daemonset-pre-1.16.yml
+
+windows_prefered_cluster: false
+docker_root_dir: /var/lib/docker
+local_cluster_auth_endpoint:
+  enabled: true
+enable_network_policy: false
+enable_cluster_alerting: false
+enable_cluster_monitoring: false
diff --git a/deployment-configs/aether/clusters/production-global.yml b/deployment-configs/aether/clusters/production-global.yml
new file mode 100644
index 0000000..5b1a6bc
--- /dev/null
+++ b/deployment-configs/aether/clusters/production-global.yml
@@ -0,0 +1,128 @@
+name: production-global
+rancher_kubernetes_engine_config:
+  addon_job_timeout: 30
+  authentication:
+    strategy: x509
+  cloud_provider:
+    name: gce
+    customCloudProvider: |-
+      [global]
+      project-id = m-cord
+      network-project-id = onf-vpn
+      network-name = default
+      subnetwork-name = default
+      regional = true
+      multizone = true
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    options:
+      calico_cloud_provider: gce
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.45.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: global
+      cluster_dns_server: 10.45.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.45.0.0/17
+      service_cluster_ip_range: 10.45.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addons: |-
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes global in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        product.central:53 {
+            errors
+            cache 30
+            forward . 10.52.128.10
+        }
+        staging.central:53 {
+            errors
+            cache 30
+            forward . 10.47.128.10
+        }
+        menlo.edge:53 {
+            errors
+            cache 30
+            forward . 10.53.128.10
+        }
+        a.staging.edge:53 {
+            errors
+            cache 30
+            forward . 10.48.128.10
+        }
+        b.staging.edge:53 {
+            errors
+            cache 30
+            forward . 10.49.128.10
+        }
+        c.staging.edge:53 {
+            errors
+            cache 30
+            forward . 10.50.128.10
+        }
+
+windows_prefered_cluster: false
+local_cluster_auth_endpoint:
+  enabled: true
+docker_root_dir: /var/lib/docker
+enable_cluster_alerting: false
+enable_cluster_monitoring: false
+enable_network_policy: false
diff --git a/deployment-configs/aether/clusters/rancher.yml b/deployment-configs/aether/clusters/rancher.yml
new file mode 100644
index 0000000..90e1b11
--- /dev/null
+++ b/deployment-configs/aether/clusters/rancher.yml
@@ -0,0 +1,32 @@
+cluster_name: aether-rancher
+kubernetes_version: "v1.15.6-rancher1-2"
+nodes:
+  - address: rancher-us-west2-a
+    user: aether
+    role: [controlplane,worker,etcd]
+  - address: rancher-us-west2-b
+    user: aether
+    role: [controlplane,worker,etcd]
+  - address: rancher-us-west2-c
+    user: aether
+    role: [controlplane,worker,etcd]
+cloud_provider:
+  name: gce
+  customCloudProvider: |-
+    [global]
+    project-id = m-cord
+    network-project-id = onf-vpn
+    network-name = default
+    subnetwork-name = default
+services:
+  etcd:
+    backup_config:
+      enabled: true
+      interval_hours: 6
+      retention: 60
+network:
+  plugin: calico
+  options:
+    calico_cloud_provider: gce
+monitoring:
+  provider: none
diff --git a/deployment-configs/aether/clusters/staging-central.yml b/deployment-configs/aether/clusters/staging-central.yml
new file mode 100644
index 0000000..30ca92e
--- /dev/null
+++ b/deployment-configs/aether/clusters/staging-central.yml
@@ -0,0 +1,121 @@
+name: staging-central
+rancher_kubernetes_engine_config:
+  authentication:
+    strategy: x509
+  cloud_provider:
+    name: gce
+    customCloudProvider: |-
+      [global]
+      project-id = m-cord
+      network-project-id = onf-vpn
+      network-name = default
+      subnetwork-name = default
+      regional = true
+      multizone = true
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    options:
+      calico_cloud_provider: gce
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.47.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: staging.central
+      cluster_dns_server: 10.47.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.47.0.0/17
+      service_cluster_ip_range: 10.47.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addon_job_timeout: 30
+  addons: |-
+    ---
+    apiVersion: storage.k8s.io/v1
+    kind: StorageClass
+    metadata:
+      name: zonal-ssd
+    provisioner: kubernetes.io/gce-pd
+    parameters:
+      type: pd-ssd
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes staging.central in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        a.staging.edge:53 {
+            errors
+            cache 30
+            forward . 10.48.128.10
+        }
+        b.staging.edge:53 {
+            errors
+            cache 30
+            forward . 10.49.128.10
+        }
+        c.staging.edge:53 {
+            errors
+            cache 30
+            forward . 10.50.128.10
+        }
+
+windows_prefered_cluster: false
+docker_root_dir: /var/lib/docker
+local_cluster_auth_endpoint:
+  enabled: true
+enable_network_policy: false
+enable_cluster_alerting: false
+enable_cluster_monitoring: false
diff --git a/deployment-configs/aether/clusters/staging-edge-a.yml b/deployment-configs/aether/clusters/staging-edge-a.yml
new file mode 100644
index 0000000..9313549
--- /dev/null
+++ b/deployment-configs/aether/clusters/staging-edge-a.yml
@@ -0,0 +1,93 @@
+name: staging-edge-a
+rancher_kubernetes_engine_config:
+  authentication:
+    strategy: x509
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.48.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: a.staging.edge
+      cluster_dns_server: 10.48.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.48.0.0/17
+      service_cluster_ip_range: 10.48.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addon_job_timeout: 30
+  addons: |-
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes a.staging.edge in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        staging.central:53 {
+            errors
+            cache 30
+            forward . 10.47.128.10
+        }
+  addons_include:
+    - https://raw.githubusercontent.com/intel/multus-cni/master/images/multus-daemonset-pre-1.16.yml
+
+windows_prefered_cluster: false
+docker_root_dir: /var/lib/docker
+local_cluster_auth_endpoint:
+  enabled: true
+enable_network_policy: false
+enable_cluster_alerting: false
+enable_cluster_monitoring: false
diff --git a/deployment-configs/aether/clusters/staging-edge-b.yml b/deployment-configs/aether/clusters/staging-edge-b.yml
new file mode 100644
index 0000000..0bea65b
--- /dev/null
+++ b/deployment-configs/aether/clusters/staging-edge-b.yml
@@ -0,0 +1,93 @@
+name: staging-edge-b
+rancher_kubernetes_engine_config:
+  authentication:
+    strategy: x509
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.49.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: b.staging.edge
+      cluster_dns_server: 10.49.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.49.0.0/17
+      service_cluster_ip_range: 10.49.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addon_job_timeout: 30
+  addons: |-
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes b.staging.edge in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        staging.central:53 {
+            errors
+            cache 30
+            forward . 10.47.128.10
+        }
+  addons_include:
+    - https://raw.githubusercontent.com/intel/multus-cni/master/images/multus-daemonset-pre-1.16.yml
+
+windows_prefered_cluster: false
+docker_root_dir: /var/lib/docker
+local_cluster_auth_endpoint:
+  enabled: true
+enable_network_policy: false
+enable_cluster_alerting: false
+enable_cluster_monitoring: false
diff --git a/deployment-configs/aether/clusters/staging-edge-c.yml b/deployment-configs/aether/clusters/staging-edge-c.yml
new file mode 100644
index 0000000..c72c129
--- /dev/null
+++ b/deployment-configs/aether/clusters/staging-edge-c.yml
@@ -0,0 +1,93 @@
+name: staging-edge-c
+rancher_kubernetes_engine_config:
+  authentication:
+    strategy: x509
+  ignore_docker_version: true
+  ingress:
+    provider: nginx
+  kubernetes_version: v1.15.6-rancher1-2
+  monitoring:
+    provider: none
+  network:
+    plugin: calico
+  services:
+    etcd:
+      backup_config:
+        enabled: true
+        interval_hours: 12
+        retention: 6
+        safe_timestamp: false
+      creation: 12h
+      extra_args:
+        election-timeout: 5000
+        heartbeat-interval: 500
+      gid: 0
+      retention: 72h
+      snapshot: false
+      uid: 0
+    kube_api:
+      always_pull_images: false
+      pod_security_policy: false
+      service_node_port_range: 2000-36767
+      service_cluster_ip_range: 10.50.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubelet:
+      cluster_domain: c.staging.edge
+      cluster_dns_server: 10.50.128.10
+      fail_swap_on: false
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kube-controller:
+      cluster_cidr: 10.50.0.0/17
+      service_cluster_ip_range: 10.50.128.0/17
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    scheduler:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+    kubeproxy:
+      extra_args:
+        feature-gates: "SCTPSupport=True"
+  ssh_agent_auth: false
+  addon_job_timeout: 30
+  addons: |-
+    ---
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      namespace: kube-system
+      name: coredns
+    data:
+      Corefile: |
+        .:53 {
+            errors
+            health
+            kubernetes c.staging.edge in-addr.arpa ip6.arpa {
+              pods insecure
+              upstream
+              fallthrough in-addr.arpa ip6.arpa
+              ttl 30
+            }
+            prometheus :9153
+            forward . "/etc/resolv.conf"
+            cache 30
+            loop
+            reload
+            loadbalance
+        }
+        staging.central:53 {
+            errors
+            cache 30
+            forward . 10.47.128.10
+        }
+  addons_include:
+    - https://raw.githubusercontent.com/intel/multus-cni/master/images/multus-daemonset-pre-1.16.yml
+
+windows_prefered_cluster: false
+docker_root_dir: /var/lib/docker
+local_cluster_auth_endpoint:
+  enabled: true
+enable_network_policy: false
+enable_cluster_alerting: false
+enable_cluster_monitoring: false