repo clean-up
[oam.git] / solution / network / docker-compose.yaml
diff --git a/solution/network/docker-compose.yaml b/solution/network/docker-compose.yaml
new file mode 100755 (executable)
index 0000000..d8e2ed9
--- /dev/null
@@ -0,0 +1,157 @@
+################################################################################
+# Copyright 2023 highstreet technologies GmbH
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+version: '3.8'
+
+x-common_env: &common_env
+    IPv6_ENABLED: ${IPv6_ENABLED}
+    SSH_CONNECTIONS: ${SSH_CONNECTIONS}
+    TLS_CONNECTIONS: ${TLS_CONNECTIONS}
+    NTS_NF_MOUNT_POINT_ADDRESSING_METHOD: ${NTS_NF_MOUNT_POINT_ADDRESSING_METHOD}
+
+    NTS_HOST_IP: ${NTS_HOST_IP}
+    NTS_HOST_BASE_PORT: ${NTS_HOST_BASE_PORT}
+    NTS_HOST_NETCONF_SSH_BASE_PORT: ${NTS_HOST_NETCONF_SSH_BASE_PORT}
+    NTS_HOST_NETCONF_TLS_BASE_PORT: ${NTS_HOST_NETCONF_TLS_BASE_PORT}
+    NTS_HOST_TRANSFER_FTP_BASE_PORT: ${NTS_HOST_TRANSFER_FTP_BASE_PORT}
+    NTS_HOST_TRANSFER_SFTP_BASE_PORT: ${NTS_HOST_TRANSFER_SFTP_BASE_PORT}
+
+    SDN_CONTROLLER_PROTOCOL: ${SDN_CONTROLLER_PROTOCOL}
+    SDN_CONTROLLER_IP: ${SDNC_DCN_HOST}
+    SDN_CONTROLLER_CALLHOME_IP: ${SDNC_DCN_HOST}
+    SDN_CONTROLLER_USERNAME: ${ADMIN_USERNAME}
+    SDN_CONTROLLER_PASSWORD: ${ADMIN_PASSWORD}
+
+    VES_COMMON_HEADER_VERSION: ${VES_COMMON_HEADER_VERSION}
+    VES_ENDPOINT_PROTOCOL: ${VES_ENDPOINT_PROTOCOL}
+    VES_ENDPOINT_IP: ${VES_COLLECTOR_DCN_HOST}
+    VES_ENDPOINT_PORT: ${VES_ENDPOINT_PORT}
+    VES_ENDPOINT_AUTH_METHOD: ${VES_ENDPOINT_AUTH_METHOD}
+    VES_ENDPOINT_USERNAME: ${VES_ENDPOINT_USERNAME}
+    VES_ENDPOINT_PASSWORD: ${VES_ENDPOINT_PASSWORD}
+
+x-du_env: &du_env
+    # NTS_NF_STANDALONE_START_FEATURES: "datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration web-cut-through"
+    NTS_NF_STANDALONE_START_FEATURES: "datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration ves-o1-pnf-registration web-cut-through"
+
+x-ru-env: &ru_env
+    NTS_NF_STANDALONE_START_FEATURES: "datastore-populate netconf-call-home web-cut-through"
+
+x-topo-env: &topo_env
+    NTS_NF_STANDALONE_START_FEATURES: "datastore-populate netconf-call-home web-cut-through"
+
+x-nf: &common_nf
+    stop_grace_period: 5m
+    extra_hosts:
+      - "controller.dcn.${GATEWAY_DOMAIN}:${HOST_IP}"
+      - "ves-collector.dcn.${GATEWAY_DOMAIN}:${HOST_IP}"
+    cap_add:
+    - SYS_ADMIN
+    - SYS_PTRACE
+
+services:
+  ntsim-ng-o-du-1122:
+    <<: *common_nf
+    image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-du:${NTS_BUILD_VERSION}"
+    container_name: ntsim-ng-o-du-1122
+    hostname: O-DU-1122
+    volumes:
+        - ./ntsim-ng-o-du/config.json:/opt/dev/ntsim-ng/config/config.json
+        - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-running.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-running.xml
+        - ./ntsim-ng-o-du/o-ran-sc-du-hello-world-operational.xml:/opt/dev/deploy/data/o-ran-sc-du-hello-world-operational.xml
+    environment:
+        <<: [*common_env, *du_env]
+
+  ntsim-ng-o-du-1123:
+    <<: *common_nf
+    image: "${LOCAL_DOCKER_REPO}nts-ng-o-ran-du-rel-18:${NTS_BUILD_VERSION}"
+    container_name: ntsim-ng-o-du-1123
+    hostname: O-DU-1123
+    volumes:
+        - ./ntsim-ng-o-du-rel-18/config.json:/opt/dev/ntsim-ng/config/config.json
+        - ./ntsim-ng-o-du-rel-18/_3gpp-common-managed-element-running.xml:/opt/dev/deploy/data/_3gpp-common-managed-element-running.xml
+        - ./ntsim-ng-o-du-rel-18/_3gpp-common-managed-element-operational.xml:/opt/dev/deploy/data/_3gpp-common-managed-element-operational.xml
+    environment:
+        <<: [*common_env, *du_env]
+
+  ntsim-ng-o-ru-11221:
+    <<: *common_nf
+    image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
+    container_name: ntsim-ng-o-ru-11221
+    hostname: O-RU-11221
+    volumes:
+        - ./ntsim-ng-o-ru/o-ru-11221/config.json:/opt/dev/ntsim-ng/config/config.json
+        - ./ntsim-ng-o-ru/o-ru-11221/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
+        - ./ntsim-ng-o-ru/o-ru-11221/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
+        - ./ntsim-ng-o-ru/o-ru-11221/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
+        - ./ntsim-ng-o-ru/o-ru-11221/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
+    environment:
+        SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_SSH_PORT}
+        <<: [*common_env, *ru_env]
+
+  ntsim-ng-o-ru-11222:
+    <<: *common_nf
+    image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
+    container_name: ntsim-ng-o-ru-11222
+    hostname: O-RU-11222
+    volumes:
+        - ./ntsim-ng-o-ru/o-ru-11222/config.json:/opt/dev/ntsim-ng/config/config.json
+        - ./ntsim-ng-o-ru/o-ru-11222/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
+        - ./ntsim-ng-o-ru/o-ru-11222/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
+        - ./ntsim-ng-o-ru/o-ru-11222/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
+        - ./ntsim-ng-o-ru/o-ru-11222/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
+    environment:
+        SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_SSH_PORT}
+        <<: [*common_env, *ru_env]
+
+  ntsim-ng-o-ru-11223:
+    <<: *common_nf
+    image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
+    container_name: ntsim-ng-o-ru-11223
+    hostname: O-RU-11223
+    volumes:
+        - ./ntsim-ng-o-ru/o-ru-11223/config.json:/opt/dev/ntsim-ng/config/config.json
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
+    environment:
+        SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_TLS_PORT}
+        <<: [*common_env, *ru_env]
+
+  ntsim-ng-o-ru-11224:
+    <<: *common_nf
+    image: "${NEXUS3_DOCKER_REPO}nts-ng-o-ran-ru-fh:${NTS_BUILD_VERSION}"
+    container_name: ntsim-ng-o-ru-11224
+    hostname: O-RU-11224
+    volumes:
+        - ./ntsim-ng-o-ru/o-ru-11223/config.json:/opt/dev/ntsim-ng/config/config.json
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-operational.json:/opt/dev/deploy/data/ietf-hardware-operational.json
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-hardware-running.json:/opt/dev/deploy/data/ietf-hardware-running.json
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-operational.xml:/opt/dev/deploy/data/ietf-interfaces-operational.xml
+        - ./ntsim-ng-o-ru/o-ru-11223/ietf-interfaces-running.xml:/opt/dev/deploy/data/ietf-interfaces-running.xml
+    environment:
+        SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_TLS_PORT}
+        <<: [*common_env, *ru_env]
+
+networks:
+    default:
+        driver: bridge
+        name: network
+        enable_ipv6: true
+        ipam:
+            driver: default
+            config:
+            - subnet:  ${NETWORK_SUBNET_DCN_IPv6}