Triggered by Gerrit: https://gerrit.o-ran-sc.org/r/c/it/dep/+/12397 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu1804-docker-4c-4g-1422 (ubuntu1804-docker-4c-4g) in workspace /w/workspace/it-dep-helm-docker-verify-all [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-Vbl7bpm9V6iS/agent.2139 SSH_AGENT_PID=2141 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/it-dep-helm-docker-verify-all@tmp/private_key_17234104962024532451.key (jenkins-ssh) [ssh-agent] Using credentials jenkins (jenkins) The recommended git tool is: NONE using credential jenkins Wiping out workspace first. Cloning the remote Git repository Cloning repository ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep > git init /w/workspace/it-dep-helm-docker-verify-all # timeout=10 Fetching upstream changes from ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep > git --version # timeout=10 > git --version # 'git version 2.17.1' using GIT_SSH to set credentials jenkins > git fetch --tags --progress -- ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep # timeout=10 Fetching upstream changes from ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep using GIT_SSH to set credentials jenkins > git fetch --tags --progress -- ssh://oran-jobbuilder@gerrit.o-ran-sc.org:29418/it/dep refs/changes/97/12397/2 # timeout=10 > git rev-parse 177701e036017bc89d6d3ab1932eaa8ce5f122a3^{commit} # timeout=10 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script Checking out Revision 177701e036017bc89d6d3ab1932eaa8ce5f122a3 (refs/changes/97/12397/2) > git config core.sparsecheckout # timeout=10 > git checkout -f 177701e036017bc89d6d3ab1932eaa8ce5f122a3 # timeout=10 Commit message: "Aligning OSC and SMO versions ti I-Release" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk 7a8f974a3815cc8a17041dbba4154cd2c799ac4e # timeout=10 provisioning config files... copy managed file [npmrc] to file:/home/jenkins/.npmrc copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins11228390462497761481.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.13 (set by /opt/pyenv/version) * 3.9.13 (set by /opt/pyenv/version) * 3.10.6 (set by /opt/pyenv/version) lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-XCa3 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-XCa3/bin to PATH Generating Requirements File Python 3.10.6 pip 23.3.2 from /tmp/venv-XCa3/lib/python3.10/site-packages/pip (python 3.10) appdirs==1.4.4 argcomplete==3.2.1 aspy.yaml==1.3.0 attrs==23.1.0 autopage==0.5.2 Babel==2.14.0 beautifulsoup4==4.12.2 boto3==1.34.2 botocore==1.34.2 bs4==0.0.1 cachetools==5.3.2 certifi==2023.11.17 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 cliff==4.4.0 cmd2==2.4.3 cryptography==3.3.2 debtcollector==2.5.0 decorator==5.1.1 defusedxml==0.7.1 Deprecated==1.2.14 distlib==0.3.8 dnspython==2.4.2 docker==4.2.2 dogpile.cache==1.2.2 email-validator==2.1.0.post1 filelock==3.13.1 future==0.18.3 gitdb==4.0.11 GitPython==3.1.40 google-auth==2.25.2 httplib2==0.22.0 identify==2.5.33 idna==3.6 importlib-metadata==7.0.0 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.2 jmespath==1.0.1 jsonpatch==1.33 jsonpointer==2.4 jsonschema==4.20.0 jsonschema-specifications==2023.11.2 keystoneauth1==5.4.0 kubernetes==28.1.0 lftools==0.37.8 lxml==4.9.3 MarkupSafe==2.1.3 msgpack==1.0.7 multi-key-dict==2.0.3 munch==4.0.0 netaddr==0.9.0 netifaces==0.11.0 niet==1.4.2 nodeenv==1.8.0 oauth2client==4.1.3 oauthlib==3.2.2 openstacksdk==0.62.0 os-client-config==2.1.0 os-service-types==1.7.0 osc-lib==2.9.0 oslo.config==9.2.0 oslo.context==5.3.0 oslo.i18n==6.2.0 oslo.log==5.4.0 oslo.serialization==5.2.0 oslo.utils==6.3.0 packaging==23.2 pbr==6.0.0 platformdirs==4.1.0 prettytable==3.9.0 pyasn1==0.5.1 pyasn1-modules==0.3.0 pycparser==2.21 pygerrit2==2.0.15 PyGithub==2.1.1 pyinotify==0.9.6 PyJWT==2.8.0 PyNaCl==1.5.0 pyparsing==2.4.7 pyperclip==1.8.2 pyrsistent==0.20.0 python-cinderclient==9.4.0 python-dateutil==2.8.2 python-heatclient==3.3.0 python-jenkins==1.8.2 python-keystoneclient==5.2.0 python-magnumclient==4.3.0 python-novaclient==18.4.0 python-openstackclient==6.0.0 python-swiftclient==4.4.0 pytz==2023.3.post1 PyYAML==6.0.1 referencing==0.32.0 requests==2.31.0 requests-oauthlib==1.3.1 requestsexceptions==1.4.0 rfc3986==2.0.0 rpds-py==0.15.2 rsa==4.9 ruamel.yaml==0.18.5 ruamel.yaml.clib==0.2.8 s3transfer==0.9.0 simplejson==3.19.2 six==1.16.0 smmap==5.0.1 soupsieve==2.5 stevedore==5.1.0 tabulate==0.9.0 toml==0.10.2 tomlkit==0.12.3 tqdm==4.66.1 typing_extensions==4.9.0 tzdata==2023.3 urllib3==1.26.18 virtualenv==20.25.0 wcwidth==0.2.12 websocket-client==1.7.0 wrapt==1.16.0 xdg==6.0.0 xmltodict==0.13.0 yq==3.2.3 zipp==3.17.0 provisioning config files... copy managed file [global-settings] to file:/w/workspace/it-dep-helm-docker-verify-all@tmp/config8758808913731269765tmp copy managed file [it-dep-settings] to file:/w/workspace/it-dep-helm-docker-verify-all@tmp/config6586036049208884657tmp [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins15613598367820081241.sh ---> docker-login.sh nexus3.o-ran-sc.org:10001 WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded nexus3.o-ran-sc.org:10002 WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded nexus3.o-ran-sc.org:10003 WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded nexus3.o-ran-sc.org:10004 WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded ---> docker-login.sh ends [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins16371545269321378681.sh [it-dep-helm-docker-verify-all] $ /bin/sh -xe /tmp/jenkins12755031157910194394.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content DOCKER_ROOT=$WORKSPACE CONTAINER_TAG_YAML_DIR= CONTAINER_TAG_METHOD=latest [EnvInject] - Variables injected successfully. [it-dep-helm-docker-verify-all] $ /bin/bash -l /tmp/jenkins15060751023372251310.sh ---> docker-get-container-tag.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/it-dep-helm-docker-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-XCa3 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: yq lf-activate-venv(): INFO: Adding /tmp/venv-XCa3/bin to PATH ---> Docker image tag found: latest [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties file path 'env_docker_inject.txt' [EnvInject] - Variables injected successfully. [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content DOCKER_ARGS=-f ci/Dockerfile DOCKER_ROOT=/w/workspace/it-dep-helm-docker-verify-all CONTAINER_PULL_REGISTRY=nexus3.o-ran-sc.org:10001 CONTAINER_PUSH_REGISTRY=nexus3.o-ran-sc.org:10004 DOCKER_NAME=o-ran-sc/it-dep-helm [EnvInject] - Variables injected successfully. [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins11620824261993178245.sh ---> docker-build.sh Docker version 20.10.20, build 9fdeb9c Building image: nexus3.o-ran-sc.org:10004/o-ran-sc/it-dep-helm:latest docker build -f ci/Dockerfile -t nexus3.o-ran-sc.org:10004/o-ran-sc/it-dep-helm:latest . Sending build context to Docker daemon 14.31MB Step 1/9 : FROM ubuntu:18.04 18.04: Pulling from library/ubuntu 7c457f213c76: Pulling fs layer 7c457f213c76: Verifying Checksum 7c457f213c76: Download complete 7c457f213c76: Pull complete Digest: sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98 Status: Downloaded newer image for ubuntu:18.04 ---> f9a80a55f492 Step 2/9 : RUN apt-get update && apt-get -y install curl ca-certificates wget ---> Running in 79f4a12bec30 Get:1 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB] Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:3 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [23.8 kB] Get:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:5 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [3373 kB] Get:6 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [83.3 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB] Get:8 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB] Get:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB] Get:10 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB] Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [3785 kB] Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [1728 kB] Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2411 kB] Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [30.8 kB] Get:15 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [20.6 kB] Get:16 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [64.0 kB] Get:17 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [1688 kB] Get:18 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1637 kB] Fetched 28.1 MB in 5s (6105 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: krb5-locales libasn1-8-heimdal libcurl4 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common libnghttp2-14 libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssl1.1 libwind0-heimdal openssl publicsuffix Suggested packages: krb5-doc krb5-user libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql The following NEW packages will be installed: ca-certificates curl krb5-locales libasn1-8-heimdal libcurl4 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common libnghttp2-14 libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssl1.1 libwind0-heimdal openssl publicsuffix wget 0 upgraded, 31 newly installed, 0 to remove and 0 not upgraded. Need to get 5161 kB of archives. After this operation, 15.7 MB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl1.1 amd64 1.1.1-1ubuntu2.1~18.04.23 [1303 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 openssl amd64 1.1.1-1ubuntu2.1~18.04.23 [614 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 ca-certificates all 20230311ubuntu0.18.04.1 [151 kB] Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsqlite3-0 amd64 3.22.0-1ubuntu0.7 [499 kB] Get:5 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 krb5-locales all 1.16-2ubuntu0.4 [13.4 kB] Get:6 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5support0 amd64 1.16-2ubuntu0.4 [30.9 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libk5crypto3 amd64 1.16-2ubuntu0.4 [85.3 kB] Get:8 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkeyutils1 amd64 1.5.9-9.2ubuntu2.1 [8764 B] Get:9 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5-3 amd64 1.16-2ubuntu0.4 [278 kB] Get:10 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgssapi-krb5-2 amd64 1.16-2ubuntu0.4 [122 kB] Get:11 http://archive.ubuntu.com/ubuntu bionic/main amd64 libpsl5 amd64 0.19.1-5build1 [41.8 kB] Get:12 http://archive.ubuntu.com/ubuntu bionic/main amd64 publicsuffix all 20180223.1310-1 [97.6 kB] Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 wget amd64 1.19.4-1ubuntu2.2 [316 kB] Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libroken18-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [42.3 kB] Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libasn1-8-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [175 kB] Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libheimbase1-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [30.3 kB] Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libhcrypto4-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [85.9 kB] Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libwind0-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [48.0 kB] Get:19 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libhx509-5-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [107 kB] Get:20 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5-26-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [207 kB] Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libheimntlm0-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [14.8 kB] Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgssapi3-heimdal amd64 7.5.0+dfsg-1ubuntu0.4 [96.7 kB] Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsasl2-modules-db amd64 2.1.27~101-g0780600+dfsg-3ubuntu2.4 [15.0 kB] Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsasl2-2 amd64 2.1.27~101-g0780600+dfsg-3ubuntu2.4 [49.2 kB] Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libldap-common all 2.4.45+dfsg-1ubuntu1.11 [15.8 kB] Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libldap-2.4-2 amd64 2.4.45+dfsg-1ubuntu1.11 [154 kB] Get:27 http://archive.ubuntu.com/ubuntu bionic/main amd64 libnghttp2-14 amd64 1.30.0-1ubuntu1 [77.8 kB] Get:28 http://archive.ubuntu.com/ubuntu bionic/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-1 [54.2 kB] Get:29 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl4 amd64 7.58.0-2ubuntu3.24 [221 kB] Get:30 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 curl amd64 7.58.0-2ubuntu3.24 [159 kB] Get:31 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsasl2-modules amd64 2.1.27~101-g0780600+dfsg-3ubuntu2.4 [48.9 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 5161 kB in 6s (911 kB/s) Selecting previously unselected package libssl1.1:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4050 files and directories currently installed.) Preparing to unpack .../00-libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb ... Unpacking libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.23) ... Selecting previously unselected package openssl. Preparing to unpack .../01-openssl_1.1.1-1ubuntu2.1~18.04.23_amd64.deb ... Unpacking openssl (1.1.1-1ubuntu2.1~18.04.23) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../02-ca-certificates_20230311ubuntu0.18.04.1_all.deb ... Unpacking ca-certificates (20230311ubuntu0.18.04.1) ... Selecting previously unselected package libsqlite3-0:amd64. Preparing to unpack .../03-libsqlite3-0_3.22.0-1ubuntu0.7_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.22.0-1ubuntu0.7) ... Selecting previously unselected package krb5-locales. Preparing to unpack .../04-krb5-locales_1.16-2ubuntu0.4_all.deb ... Unpacking krb5-locales (1.16-2ubuntu0.4) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../05-libkrb5support0_1.16-2ubuntu0.4_amd64.deb ... Unpacking libkrb5support0:amd64 (1.16-2ubuntu0.4) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../06-libk5crypto3_1.16-2ubuntu0.4_amd64.deb ... Unpacking libk5crypto3:amd64 (1.16-2ubuntu0.4) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../07-libkeyutils1_1.5.9-9.2ubuntu2.1_amd64.deb ... Unpacking libkeyutils1:amd64 (1.5.9-9.2ubuntu2.1) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../08-libkrb5-3_1.16-2ubuntu0.4_amd64.deb ... Unpacking libkrb5-3:amd64 (1.16-2ubuntu0.4) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../09-libgssapi-krb5-2_1.16-2ubuntu0.4_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.16-2ubuntu0.4) ... Selecting previously unselected package libpsl5:amd64. Preparing to unpack .../10-libpsl5_0.19.1-5build1_amd64.deb ... Unpacking libpsl5:amd64 (0.19.1-5build1) ... Selecting previously unselected package publicsuffix. Preparing to unpack .../11-publicsuffix_20180223.1310-1_all.deb ... Unpacking publicsuffix (20180223.1310-1) ... Selecting previously unselected package wget. Preparing to unpack .../12-wget_1.19.4-1ubuntu2.2_amd64.deb ... Unpacking wget (1.19.4-1ubuntu2.2) ... Selecting previously unselected package libroken18-heimdal:amd64. Preparing to unpack .../13-libroken18-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libroken18-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libasn1-8-heimdal:amd64. Preparing to unpack .../14-libasn1-8-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libasn1-8-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libheimbase1-heimdal:amd64. Preparing to unpack .../15-libheimbase1-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libheimbase1-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libhcrypto4-heimdal:amd64. Preparing to unpack .../16-libhcrypto4-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libhcrypto4-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libwind0-heimdal:amd64. Preparing to unpack .../17-libwind0-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libwind0-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libhx509-5-heimdal:amd64. Preparing to unpack .../18-libhx509-5-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libhx509-5-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libkrb5-26-heimdal:amd64. Preparing to unpack .../19-libkrb5-26-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libkrb5-26-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libheimntlm0-heimdal:amd64. Preparing to unpack .../20-libheimntlm0-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libheimntlm0-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libgssapi3-heimdal:amd64. Preparing to unpack .../21-libgssapi3-heimdal_7.5.0+dfsg-1ubuntu0.4_amd64.deb ... Unpacking libgssapi3-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../22-libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu2.4_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2.4) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../23-libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu2.4_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2.4) ... Selecting previously unselected package libldap-common. Preparing to unpack .../24-libldap-common_2.4.45+dfsg-1ubuntu1.11_all.deb ... Unpacking libldap-common (2.4.45+dfsg-1ubuntu1.11) ... Selecting previously unselected package libldap-2.4-2:amd64. Preparing to unpack .../25-libldap-2.4-2_2.4.45+dfsg-1ubuntu1.11_amd64.deb ... Unpacking libldap-2.4-2:amd64 (2.4.45+dfsg-1ubuntu1.11) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../26-libnghttp2-14_1.30.0-1ubuntu1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.30.0-1ubuntu1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../27-librtmp1_2.4+20151223.gitfa8646d.1-1_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-1) ... Selecting previously unselected package libcurl4:amd64. Preparing to unpack .../28-libcurl4_7.58.0-2ubuntu3.24_amd64.deb ... Unpacking libcurl4:amd64 (7.58.0-2ubuntu3.24) ... Selecting previously unselected package curl. Preparing to unpack .../29-curl_7.58.0-2ubuntu3.24_amd64.deb ... Unpacking curl (7.58.0-2ubuntu3.24) ... Selecting previously unselected package libsasl2-modules:amd64. Preparing to unpack .../30-libsasl2-modules_2.1.27~101-g0780600+dfsg-3ubuntu2.4_amd64.deb ... Unpacking libsasl2-modules:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2.4) ... Setting up libnghttp2-14:amd64 (1.30.0-1ubuntu1) ... Setting up libldap-common (2.4.45+dfsg-1ubuntu1.11) ... Setting up libpsl5:amd64 (0.19.1-5build1) ... Setting up libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2.4) ... Setting up libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2.4) ... Setting up libroken18-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-1) ... Setting up libkrb5support0:amd64 (1.16-2ubuntu0.4) ... Setting up krb5-locales (1.16-2ubuntu0.4) ... Setting up publicsuffix (20180223.1310-1) ... Setting up libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.23) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) debconf: falling back to frontend: Teletype Setting up libheimbase1-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up openssl (1.1.1-1ubuntu2.1~18.04.23) ... Setting up wget (1.19.4-1ubuntu2.2) ... Setting up libsqlite3-0:amd64 (3.22.0-1ubuntu0.7) ... Setting up libkeyutils1:amd64 (1.5.9-9.2ubuntu2.1) ... Setting up libsasl2-modules:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2.4) ... Setting up ca-certificates (20230311ubuntu0.18.04.1) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) debconf: falling back to frontend: Teletype Updating certificates in /etc/ssl/certs... 137 added, 0 removed; done. Setting up libk5crypto3:amd64 (1.16-2ubuntu0.4) ... Setting up libwind0-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libasn1-8-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libhcrypto4-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libhx509-5-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libkrb5-3:amd64 (1.16-2ubuntu0.4) ... Setting up libkrb5-26-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libheimntlm0-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libgssapi-krb5-2:amd64 (1.16-2ubuntu0.4) ... Setting up libgssapi3-heimdal:amd64 (7.5.0+dfsg-1ubuntu0.4) ... Setting up libldap-2.4-2:amd64 (2.4.45+dfsg-1ubuntu1.11) ... Setting up libcurl4:amd64 (7.58.0-2ubuntu3.24) ... Setting up curl (7.58.0-2ubuntu3.24) ... Processing triggers for libc-bin (2.27-3ubuntu1.6) ... Processing triggers for ca-certificates (20230311ubuntu0.18.04.1) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Removing intermediate container 79f4a12bec30 ---> d4d51e6a1f58 Step 3/9 : ARG HELMVERSION=v2.17.0 ---> Running in 9e41e13c3c98 Removing intermediate container 9e41e13c3c98 ---> c0281831d12e Step 4/9 : RUN wget https://get.helm.sh/helm-${HELMVERSION}-linux-amd64.tar.gz && tar -xvf ../helm-${HELMVERSION}-linux-amd64.tar.gz && mv linux-amd64/helm /usr/local/bin/helm ---> Running in 289c6a499077 --2023-12-19 15:46:45-- https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz Resolving get.helm.sh (get.helm.sh)... 152.195.19.97, 2606:2800:11f:1cb7:261b:1f9c:2074:3c Connecting to get.helm.sh (get.helm.sh)|152.195.19.97|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25097357 (24M) [application/x-tar] Saving to: 'helm-v2.17.0-linux-amd64.tar.gz' 0K .......... .......... .......... .......... .......... 0% 14.1M 2s 50K .......... .......... .......... .......... .......... 0% 17.6M 2s 100K .......... .......... .......... .......... .......... 0% 32.7M 1s 150K .......... .......... .......... .......... .......... 0% 22.3M 1s 200K .......... .......... .......... .......... .......... 1% 66.2M 1s 250K .......... .......... .......... .......... .......... 1% 18.1M 1s 300K .......... .......... .......... .......... .......... 1% 87.9M 1s 350K .......... .......... .......... .......... .......... 1% 20.7M 1s 400K .......... .......... .......... .......... .......... 1% 36.4M 1s 450K .......... .......... .......... .......... .......... 2% 23.9M 1s 500K .......... .......... .......... .......... .......... 2% 18.3M 1s 550K .......... .......... .......... .......... .......... 2% 46.0M 1s 600K .......... .......... .......... .......... .......... 2% 24.9M 1s 650K .......... .......... .......... .......... .......... 2% 6.59M 1s 700K .......... .......... .......... .......... .......... 3% 146M 1s 750K .......... .......... .......... .......... .......... 3% 225M 1s 800K .......... .......... .......... .......... .......... 3% 307M 1s 850K .......... .......... .......... .......... .......... 3% 311M 1s 900K .......... .......... .......... .......... .......... 3% 29.3M 1s 950K .......... .......... .......... .......... .......... 4% 64.8M 1s 1000K .......... .......... .......... .......... .......... 4% 54.1M 1s 1050K .......... .......... .......... .......... .......... 4% 51.7M 1s 1100K .......... .......... .......... .......... .......... 4% 75.6M 1s 1150K .......... .......... .......... .......... .......... 4% 54.2M 1s 1200K .......... .......... .......... .......... .......... 5% 53.2M 1s 1250K .......... .......... .......... .......... .......... 5% 64.3M 1s 1300K .......... .......... .......... .......... .......... 5% 50.2M 1s 1350K .......... .......... .......... .......... .......... 5% 41.2M 1s 1400K .......... .......... .......... .......... .......... 5% 88.6M 1s 1450K .......... .......... .......... .......... .......... 6% 60.5M 1s 1500K .......... .......... .......... .......... .......... 6% 59.5M 1s 1550K .......... .......... .......... .......... .......... 6% 40.1M 1s 1600K .......... .......... .......... .......... .......... 6% 267M 1s 1650K .......... .......... .......... .......... .......... 6% 46.4M 1s 1700K .......... .......... .......... .......... .......... 7% 114M 1s 1750K .......... .......... .......... .......... .......... 7% 56.9M 1s 1800K .......... .......... .......... .......... .......... 7% 134M 1s 1850K .......... .......... .......... .......... .......... 7% 38.4M 1s 1900K .......... .......... .......... .......... .......... 7% 222M 1s 1950K .......... .......... .......... .......... .......... 8% 88.6M 1s 2000K .......... .......... .......... .......... .......... 8% 126M 1s 2050K .......... .......... .......... .......... .......... 8% 49.5M 1s 2100K .......... .......... .......... .......... .......... 8% 190M 1s 2150K .......... .......... .......... .......... .......... 8% 127M 1s 2200K .......... .......... .......... .......... .......... 9% 96.9M 1s 2250K .......... .......... .......... .......... .......... 9% 85.9M 1s 2300K .......... .......... .......... .......... .......... 9% 81.9M 1s 2350K .......... .......... .......... .......... .......... 9% 95.1M 1s 2400K .......... .......... .......... .......... .......... 9% 58.3M 1s 2450K .......... .......... .......... .......... .......... 10% 70.3M 1s 2500K .......... .......... .......... .......... .......... 10% 150M 0s 2550K .......... .......... .......... .......... .......... 10% 72.5M 0s 2600K .......... .......... .......... .......... .......... 10% 80.8M 0s 2650K .......... .......... .......... .......... .......... 11% 111M 0s 2700K .......... .......... .......... .......... .......... 11% 76.3M 0s 2750K .......... .......... .......... .......... .......... 11% 57.5M 0s 2800K .......... .......... .......... .......... .......... 11% 85.7M 0s 2850K .......... .......... .......... .......... .......... 11% 106M 0s 2900K .......... .......... .......... .......... .......... 12% 84.3M 0s 2950K .......... .......... .......... .......... .......... 12% 86.3M 0s 3000K .......... .......... .......... .......... .......... 12% 137M 0s 3050K .......... .......... .......... .......... .......... 12% 78.4M 0s 3100K .......... .......... .......... .......... .......... 12% 71.3M 0s 3150K .......... .......... .......... .......... .......... 13% 41.5M 0s 3200K .......... .......... .......... .......... .......... 13% 136M 0s 3250K .......... .......... .......... .......... .......... 13% 84.8M 0s 3300K .......... .......... .......... .......... .......... 13% 152M 0s 3350K .......... .......... .......... .......... .......... 13% 14.2M 0s 3400K .......... .......... .......... .......... .......... 14% 96.6M 0s 3450K .......... .......... .......... .......... .......... 14% 126M 0s 3500K .......... .......... .......... .......... .......... 14% 342M 0s 3550K .......... .......... .......... .......... .......... 14% 47.1M 0s 3600K .......... .......... .......... .......... .......... 14% 131M 0s 3650K .......... .......... .......... .......... .......... 15% 190M 0s 3700K .......... .......... .......... .......... .......... 15% 125M 0s 3750K .......... .......... .......... .......... .......... 15% 201M 0s 3800K .......... .......... .......... .......... .......... 15% 99.0M 0s 3850K .......... .......... .......... .......... .......... 15% 149M 0s 3900K .......... .......... .......... .......... .......... 16% 273M 0s 3950K .......... .......... .......... .......... .......... 16% 125M 0s 4000K .......... .......... .......... .......... .......... 16% 83.4M 0s 4050K .......... .......... .......... .......... .......... 16% 87.4M 0s 4100K .......... .......... .......... .......... .......... 16% 66.5M 0s 4150K .......... .......... .......... .......... .......... 17% 81.1M 0s 4200K .......... .......... .......... .......... .......... 17% 75.1M 0s 4250K .......... .......... .......... .......... .......... 17% 76.3M 0s 4300K .......... .......... .......... .......... .......... 17% 57.1M 0s 4350K .......... .......... .......... .......... .......... 17% 68.0M 0s 4400K .......... .......... .......... .......... .......... 18% 229M 0s 4450K .......... .......... .......... .......... .......... 18% 37.8M 0s 4500K .......... .......... .......... .......... .......... 18% 112M 0s 4550K .......... .......... .......... .......... .......... 18% 129M 0s 4600K .......... .......... .......... .......... .......... 18% 58.4M 0s 4650K .......... .......... .......... .......... .......... 19% 85.4M 0s 4700K .......... .......... .......... .......... .......... 19% 127M 0s 4750K .......... .......... .......... .......... .......... 19% 64.9M 0s 4800K .......... .......... .......... .......... .......... 19% 87.4M 0s 4850K .......... .......... .......... .......... .......... 19% 108M 0s 4900K .......... .......... .......... .......... .......... 20% 79.5M 0s 4950K .......... .......... .......... .......... .......... 20% 49.6M 0s 5000K .......... .......... .......... .......... .......... 20% 85.7M 0s 5050K .......... .......... .......... .......... .......... 20% 84.8M 0s 5100K .......... .......... .......... .......... .......... 21% 110M 0s 5150K .......... .......... .......... .......... .......... 21% 63.8M 0s 5200K .......... .......... .......... .......... .......... 21% 88.9M 0s 5250K .......... .......... .......... .......... .......... 21% 90.0M 0s 5300K .......... .......... .......... .......... .......... 21% 50.5M 0s 5350K .......... .......... .......... .......... .......... 22% 110M 0s 5400K .......... .......... .......... .......... .......... 22% 71.7M 0s 5450K .......... .......... .......... .......... .......... 22% 87.8M 0s 5500K .......... .......... .......... .......... .......... 22% 104M 0s 5550K .......... .......... .......... .......... .......... 22% 67.5M 0s 5600K .......... .......... .......... .......... .......... 23% 60.9M 0s 5650K .......... .......... .......... .......... .......... 23% 52.4M 0s 5700K .......... .......... .......... .......... .......... 23% 101M 0s 5750K .......... .......... .......... .......... .......... 23% 70.4M 0s 5800K .......... .......... .......... .......... .......... 23% 64.8M 0s 5850K .......... .......... .......... .......... .......... 24% 86.5M 0s 5900K .......... .......... .......... .......... .......... 24% 70.3M 0s 5950K .......... .......... .......... .......... .......... 24% 58.3M 0s 6000K .......... .......... .......... .......... .......... 24% 69.4M 0s 6050K .......... .......... .......... .......... .......... 24% 79.9M 0s 6100K .......... .......... .......... .......... .......... 25% 95.0M 0s 6150K .......... .......... .......... .......... .......... 25% 39.5M 0s 6200K .......... .......... .......... .......... .......... 25% 294M 0s 6250K .......... .......... .......... .......... .......... 25% 76.0M 0s 6300K .......... .......... .......... .......... .......... 25% 115M 0s 6350K .......... .......... .......... .......... .......... 26% 51.1M 0s 6400K .......... .......... .......... .......... .......... 26% 142M 0s 6450K .......... .......... .......... .......... .......... 26% 51.6M 0s 6500K .......... .......... .......... .......... .......... 26% 115M 0s 6550K .......... .......... .......... .......... .......... 26% 108M 0s 6600K .......... .......... .......... .......... .......... 27% 77.7M 0s 6650K .......... .......... .......... .......... .......... 27% 73.3M 0s 6700K .......... .......... .......... .......... .......... 27% 83.6M 0s 6750K .......... .......... .......... .......... .......... 27% 44.5M 0s 6800K .......... .......... .......... .......... .......... 27% 54.1M 0s 6850K .......... .......... .......... .......... .......... 28% 31.4M 0s 6900K .......... .......... .......... .......... .......... 28% 116M 0s 6950K .......... .......... .......... .......... .......... 28% 99.5M 0s 7000K .......... .......... .......... .......... .......... 28% 75.2M 0s 7050K .......... .......... .......... .......... .......... 28% 109M 0s 7100K .......... .......... .......... .......... .......... 29% 98.8M 0s 7150K .......... .......... .......... .......... .......... 29% 54.0M 0s 7200K .......... .......... .......... .......... .......... 29% 114M 0s 7250K .......... .......... .......... .......... .......... 29% 96.7M 0s 7300K .......... .......... .......... .......... .......... 29% 112M 0s 7350K .......... .......... .......... .......... .......... 30% 70.8M 0s 7400K .......... .......... .......... .......... .......... 30% 113M 0s 7450K .......... .......... .......... .......... .......... 30% 82.9M 0s 7500K .......... .......... .......... .......... .......... 30% 72.8M 0s 7550K .......... .......... .......... .......... .......... 31% 91.6M 0s 7600K .......... .......... .......... .......... .......... 31% 154M 0s 7650K .......... .......... .......... .......... .......... 31% 81.9M 0s 7700K .......... .......... .......... .......... .......... 31% 93.7M 0s 7750K .......... .......... .......... .......... .......... 31% 89.5M 0s 7800K .......... .......... .......... .......... .......... 32% 62.8M 0s 7850K .......... .......... .......... .......... .......... 32% 81.9M 0s 7900K .......... .......... .......... .......... .......... 32% 119M 0s 7950K .......... .......... .......... .......... .......... 32% 85.2M 0s 8000K .......... .......... .......... .......... .......... 32% 65.7M 0s 8050K .......... .......... .......... .......... .......... 33% 302M 0s 8100K .......... .......... .......... .......... .......... 33% 114M 0s 8150K .......... .......... .......... .......... .......... 33% 66.1M 0s 8200K .......... .......... .......... .......... .......... 33% 40.5M 0s 8250K .......... .......... .......... .......... .......... 33% 90.8M 0s 8300K .......... .......... .......... .......... .......... 34% 120M 0s 8350K .......... .......... .......... .......... .......... 34% 93.8M 0s 8400K .......... .......... .......... .......... .......... 34% 101M 0s 8450K .......... .......... .......... .......... .......... 34% 109M 0s 8500K .......... .......... .......... .......... .......... 34% 59.3M 0s 8550K .......... .......... .......... .......... .......... 35% 116M 0s 8600K .......... .......... .......... .......... .......... 35% 99.5M 0s 8650K .......... .......... .......... .......... .......... 35% 126M 0s 8700K .......... .......... .......... .......... .......... 35% 83.4M 0s 8750K .......... .......... .......... .......... .......... 35% 106M 0s 8800K .......... .......... .......... .......... .......... 36% 96.2M 0s 8850K .......... .......... .......... .......... .......... 36% 70.8M 0s 8900K .......... .......... .......... .......... .......... 36% 121M 0s 8950K .......... .......... .......... .......... .......... 36% 101M 0s 9000K .......... .......... .......... .......... .......... 36% 119M 0s 9050K .......... .......... .......... .......... .......... 37% 88.2M 0s 9100K .......... .......... .......... .......... .......... 37% 122M 0s 9150K .......... .......... .......... .......... .......... 37% 104M 0s 9200K .......... .......... .......... .......... .......... 37% 31.9M 0s 9250K .......... .......... .......... .......... .......... 37% 240M 0s 9300K .......... .......... .......... .......... .......... 38% 149M 0s 9350K .......... .......... .......... .......... .......... 38% 167M 0s 9400K .......... .......... .......... .......... .......... 38% 105M 0s 9450K .......... .......... .......... .......... .......... 38% 105M 0s 9500K .......... .......... .......... .......... .......... 38% 132M 0s 9550K .......... .......... .......... .......... .......... 39% 56.7M 0s 9600K .......... .......... .......... .......... .......... 39% 169M 0s 9650K .......... .......... .......... .......... .......... 39% 78.8M 0s 9700K .......... .......... .......... .......... .......... 39% 41.8M 0s 9750K .......... .......... .......... .......... .......... 39% 56.1M 0s 9800K .......... .......... .......... .......... .......... 40% 290M 0s 9850K .......... .......... .......... .......... .......... 40% 98.7M 0s 9900K .......... .......... .......... .......... .......... 40% 108M 0s 9950K .......... .......... .......... .......... .......... 40% 60.4M 0s 10000K .......... .......... .......... .......... .......... 41% 149M 0s 10050K .......... .......... .......... .......... .......... 41% 79.7M 0s 10100K .......... .......... .......... .......... .......... 41% 132M 0s 10150K .......... .......... .......... .......... .......... 41% 95.4M 0s 10200K .......... .......... .......... .......... .......... 41% 113M 0s 10250K .......... .......... .......... .......... .......... 42% 104M 0s 10300K .......... .......... .......... .......... .......... 42% 64.7M 0s 10350K .......... .......... .......... .......... .......... 42% 92.0M 0s 10400K .......... .......... .......... .......... .......... 42% 121M 0s 10450K .......... .......... .......... .......... .......... 42% 246M 0s 10500K .......... .......... .......... .......... .......... 43% 85.3M 0s 10550K .......... .......... .......... .......... .......... 43% 95.1M 0s 10600K .......... .......... .......... .......... .......... 43% 63.4M 0s 10650K .......... .......... .......... .......... .......... 43% 37.2M 0s 10700K .......... .......... .......... .......... .......... 43% 123M 0s 10750K .......... .......... .......... .......... .......... 44% 16.6M 0s 10800K .......... .......... .......... .......... .......... 44% 10.5M 0s 10850K .......... .......... .......... .......... .......... 44% 125M 0s 10900K .......... .......... .......... .......... .......... 44% 148M 0s 10950K .......... .......... .......... .......... .......... 44% 151M 0s 11000K .......... .......... .......... .......... .......... 45% 212M 0s 11050K .......... .......... .......... .......... .......... 45% 264M 0s 11100K .......... .......... .......... .......... .......... 45% 187M 0s 11150K .......... .......... .......... .......... .......... 45% 88.8M 0s 11200K .......... .......... .......... .......... .......... 45% 118M 0s 11250K .......... .......... .......... .......... .......... 46% 94.7M 0s 11300K .......... .......... .......... .......... .......... 46% 70.2M 0s 11350K .......... .......... .......... .......... .......... 46% 70.1M 0s 11400K .......... .......... .......... .......... .......... 46% 76.2M 0s 11450K .......... .......... .......... .......... .......... 46% 79.1M 0s 11500K .......... .......... .......... .......... .......... 47% 115M 0s 11550K .......... .......... .......... .......... .......... 47% 36.9M 0s 11600K .......... .......... .......... .......... .......... 47% 205M 0s 11650K .......... .......... .......... .......... .......... 47% 61.0M 0s 11700K .......... .......... .......... .......... .......... 47% 77.1M 0s 11750K .......... .......... .......... .......... .......... 48% 79.2M 0s 11800K .......... .......... .......... .......... .......... 48% 104M 0s 11850K .......... .......... .......... .......... .......... 48% 73.3M 0s 11900K .......... .......... .......... .......... .......... 48% 63.0M 0s 11950K .......... .......... .......... .......... .......... 48% 24.4M 0s 12000K .......... .......... .......... .......... .......... 49% 91.3M 0s 12050K .......... .......... .......... .......... .......... 49% 89.0M 0s 12100K .......... .......... .......... .......... .......... 49% 105M 0s 12150K .......... .......... .......... .......... .......... 49% 106M 0s 12200K .......... .......... .......... .......... .......... 49% 144M 0s 12250K .......... .......... .......... .......... .......... 50% 92.0M 0s 12300K .......... .......... .......... .......... .......... 50% 92.3M 0s 12350K .......... .......... .......... .......... .......... 50% 63.7M 0s 12400K .......... .......... .......... .......... .......... 50% 99.2M 0s 12450K .......... .......... .......... .......... .......... 51% 101M 0s 12500K .......... .......... .......... .......... .......... 51% 180M 0s 12550K .......... .......... .......... .......... .......... 51% 101M 0s 12600K .......... .......... .......... .......... .......... 51% 79.3M 0s 12650K .......... .......... .......... .......... .......... 51% 93.7M 0s 12700K .......... .......... .......... .......... .......... 52% 68.0M 0s 12750K .......... .......... .......... .......... .......... 52% 100M 0s 12800K .......... .......... .......... .......... .......... 52% 94.3M 0s 12850K .......... .......... .......... .......... .......... 52% 172M 0s 12900K .......... .......... .......... .......... .......... 52% 98.5M 0s 12950K .......... .......... .......... .......... .......... 53% 119M 0s 13000K .......... .......... .......... .......... .......... 53% 110M 0s 13050K .......... .......... .......... .......... .......... 53% 73.6M 0s 13100K .......... .......... .......... .......... .......... 53% 96.3M 0s 13150K .......... .......... .......... .......... .......... 53% 115M 0s 13200K .......... .......... .......... .......... .......... 54% 123M 0s 13250K .......... .......... .......... .......... .......... 54% 96.3M 0s 13300K .......... .......... .......... .......... .......... 54% 121M 0s 13350K .......... .......... .......... .......... .......... 54% 75.5M 0s 13400K .......... .......... .......... .......... .......... 54% 57.6M 0s 13450K .......... .......... .......... .......... .......... 55% 86.3M 0s 13500K .......... .......... .......... .......... .......... 55% 197M 0s 13550K .......... .......... .......... .......... .......... 55% 78.5M 0s 13600K .......... .......... .......... .......... .......... 55% 82.0M 0s 13650K .......... .......... .......... .......... .......... 55% 153M 0s 13700K .......... .......... .......... .......... .......... 56% 56.3M 0s 13750K .......... .......... .......... .......... .......... 56% 131M 0s 13800K .......... .......... .......... .......... .......... 56% 70.5M 0s 13850K .......... .......... .......... .......... .......... 56% 93.3M 0s 13900K .......... .......... .......... .......... .......... 56% 114M 0s 13950K .......... .......... .......... .......... .......... 57% 109M 0s 14000K .......... .......... .......... .......... .......... 57% 113M 0s 14050K .......... .......... .......... .......... .......... 57% 59.3M 0s 14100K .......... .......... .......... .......... .......... 57% 120M 0s 14150K .......... .......... .......... .......... .......... 57% 94.7M 0s 14200K .......... .......... .......... .......... .......... 58% 128M 0s 14250K .......... .......... .......... .......... .......... 58% 97.9M 0s 14300K .......... .......... .......... .......... .......... 58% 115M 0s 14350K .......... .......... .......... .......... .......... 58% 115M 0s 14400K .......... .......... .......... .......... .......... 58% 61.2M 0s 14450K .......... .......... .......... .......... .......... 59% 118M 0s 14500K .......... .......... .......... .......... .......... 59% 97.3M 0s 14550K .......... .......... .......... .......... .......... 59% 152M 0s 14600K .......... .......... .......... .......... .......... 59% 191M 0s 14650K .......... .......... .......... .......... .......... 59% 75.1M 0s 14700K .......... .......... .......... .......... .......... 60% 82.9M 0s 14750K .......... .......... .......... .......... .......... 60% 61.3M 0s 14800K .......... .......... .......... .......... .......... 60% 98.4M 0s 14850K .......... .......... .......... .......... .......... 60% 105M 0s 14900K .......... .......... .......... .......... .......... 60% 88.9M 0s 14950K .......... .......... .......... .......... .......... 61% 58.7M 0s 15000K .......... .......... .......... .......... .......... 61% 92.4M 0s 15050K .......... .......... .......... .......... .......... 61% 101M 0s 15100K .......... .......... .......... .......... .......... 61% 101M 0s 15150K .......... .......... .......... .......... .......... 62% 64.6M 0s 15200K .......... .......... .......... .......... .......... 62% 94.5M 0s 15250K .......... .......... .......... .......... .......... 62% 106M 0s 15300K .......... .......... .......... .......... .......... 62% 128M 0s 15350K .......... .......... .......... .......... .......... 62% 112M 0s 15400K .......... .......... .......... .......... .......... 63% 99.5M 0s 15450K .......... .......... .......... .......... .......... 63% 99.0M 0s 15500K .......... .......... .......... .......... .......... 63% 88.2M 0s 15550K .......... .......... .......... .......... .......... 63% 66.7M 0s 15600K .......... .......... .......... .......... .......... 63% 121M 0s 15650K .......... .......... .......... .......... .......... 64% 115M 0s 15700K .......... .......... .......... .......... .......... 64% 122M 0s 15750K .......... .......... .......... .......... .......... 64% 95.9M 0s 15800K .......... .......... .......... .......... .......... 64% 110M 0s 15850K .......... .......... .......... .......... .......... 64% 61.7M 0s 15900K .......... .......... .......... .......... .......... 65% 103M 0s 15950K .......... .......... .......... .......... .......... 65% 109M 0s 16000K .......... .......... .......... .......... .......... 65% 89.0M 0s 16050K .......... .......... .......... .......... .......... 65% 108M 0s 16100K .......... .......... .......... .......... .......... 65% 135M 0s 16150K .......... .......... .......... .......... .......... 66% 93.0M 0s 16200K .......... .......... .......... .......... .......... 66% 62.0M 0s 16250K .......... .......... .......... .......... .......... 66% 137M 0s 16300K .......... .......... .......... .......... .......... 66% 181M 0s 16350K .......... .......... .......... .......... .......... 66% 234M 0s 16400K .......... .......... .......... .......... .......... 67% 72.7M 0s 16450K .......... .......... .......... .......... .......... 67% 33.6M 0s 16500K .......... .......... .......... .......... .......... 67% 71.5M 0s 16550K .......... .......... .......... .......... .......... 67% 143M 0s 16600K .......... .......... .......... .......... .......... 67% 119M 0s 16650K .......... .......... .......... .......... .......... 68% 86.6M 0s 16700K .......... .......... .......... .......... .......... 68% 126M 0s 16750K .......... .......... .......... .......... .......... 68% 57.3M 0s 16800K .......... .......... .......... .......... .......... 68% 98.6M 0s 16850K .......... .......... .......... .......... .......... 68% 59.1M 0s 16900K .......... .......... .......... .......... .......... 69% 98.9M 0s 16950K .......... .......... .......... .......... .......... 69% 87.2M 0s 17000K .......... .......... .......... .......... .......... 69% 126M 0s 17050K .......... .......... .......... .......... .......... 69% 120M 0s 17100K .......... .......... .......... .......... .......... 69% 144M 0s 17150K .......... .......... .......... .......... .......... 70% 49.0M 0s 17200K .......... .......... .......... .......... .......... 70% 50.6M 0s 17250K .......... .......... .......... .......... .......... 70% 245M 0s 17300K .......... .......... .......... .......... .......... 70% 79.4M 0s 17350K .......... .......... .......... .......... .......... 70% 120M 0s 17400K .......... .......... .......... .......... .......... 71% 115M 0s 17450K .......... .......... .......... .......... .......... 71% 73.2M 0s 17500K .......... .......... .......... .......... .......... 71% 94.1M 0s 17550K .......... .......... .......... .......... .......... 71% 41.7M 0s 17600K .......... .......... .......... .......... .......... 72% 68.7M 0s 17650K .......... .......... .......... .......... .......... 72% 112M 0s 17700K .......... .......... .......... .......... .......... 72% 124M 0s 17750K .......... .......... .......... .......... .......... 72% 117M 0s 17800K .......... .......... .......... .......... .......... 72% 85.1M 0s 17850K .......... .......... .......... .......... .......... 73% 59.6M 0s 17900K .......... .......... .......... .......... .......... 73% 95.3M 0s 17950K .......... .......... .......... .......... .......... 73% 58.7M 0s 18000K .......... .......... .......... .......... .......... 73% 131M 0s 18050K .......... .......... .......... .......... .......... 73% 124M 0s 18100K .......... .......... .......... .......... .......... 74% 92.6M 0s 18150K .......... .......... .......... .......... .......... 74% 101M 0s 18200K .......... .......... .......... .......... .......... 74% 112M 0s 18250K .......... .......... .......... .......... .......... 74% 61.4M 0s 18300K .......... .......... .......... .......... .......... 74% 131M 0s 18350K .......... .......... .......... .......... .......... 75% 172M 0s 18400K .......... .......... .......... .......... .......... 75% 125M 0s 18450K .......... .......... .......... .......... .......... 75% 59.8M 0s 18500K .......... .......... .......... .......... .......... 75% 52.2M 0s 18550K .......... .......... .......... .......... .......... 75% 55.5M 0s 18600K .......... .......... .......... .......... .......... 76% 39.8M 0s 18650K .......... .......... .......... .......... .......... 76% 91.7M 0s 18700K .......... .......... .......... .......... .......... 76% 43.0M 0s 18750K .......... .......... .......... .......... .......... 76% 35.4M 0s 18800K .......... .......... .......... .......... .......... 76% 151M 0s 18850K .......... .......... .......... .......... .......... 77% 90.8M 0s 18900K .......... .......... .......... .......... .......... 77% 52.7M 0s 18950K .......... .......... .......... .......... .......... 77% 26.4M 0s 19000K .......... .......... .......... .......... .......... 77% 69.6M 0s 19050K .......... .......... .......... .......... .......... 77% 88.3M 0s 19100K .......... .......... .......... .......... .......... 78% 73.1M 0s 19150K .......... .......... .......... .......... .......... 78% 94.1M 0s 19200K .......... .......... .......... .......... .......... 78% 26.7M 0s 19250K .......... .......... .......... .......... .......... 78% 60.1M 0s 19300K .......... .......... .......... .......... .......... 78% 76.5M 0s 19350K .......... .......... .......... .......... .......... 79% 62.3M 0s 19400K .......... .......... .......... .......... .......... 79% 69.5M 0s 19450K .......... .......... .......... .......... .......... 79% 47.7M 0s 19500K .......... .......... .......... .......... .......... 79% 26.4M 0s 19550K .......... .......... .......... .......... .......... 79% 44.5M 0s 19600K .......... .......... .......... .......... .......... 80% 29.7M 0s 19650K .......... .......... .......... .......... .......... 80% 33.7M 0s 19700K .......... .......... .......... .......... .......... 80% 215M 0s 19750K .......... .......... .......... .......... .......... 80% 26.6M 0s 19800K .......... .......... .......... .......... .......... 80% 46.6M 0s 19850K .......... .......... .......... .......... .......... 81% 59.8M 0s 19900K .......... .......... .......... .......... .......... 81% 77.9M 0s 19950K .......... .......... .......... .......... .......... 81% 23.5M 0s 20000K .......... .......... .......... .......... .......... 81% 91.9M 0s 20050K .......... .......... .......... .......... .......... 82% 57.2M 0s 20100K .......... .......... .......... .......... .......... 82% 58.5M 0s 20150K .......... .......... .......... .......... .......... 82% 45.4M 0s 20200K .......... .......... .......... .......... .......... 82% 164M 0s 20250K .......... .......... .......... .......... .......... 82% 68.1M 0s 20300K .......... .......... .......... .......... .......... 83% 56.7M 0s 20350K .......... .......... .......... .......... .......... 83% 66.5M 0s 20400K .......... .......... .......... .......... .......... 83% 66.1M 0s 20450K .......... .......... .......... .......... .......... 83% 64.4M 0s 20500K .......... .......... .......... .......... .......... 83% 93.1M 0s 20550K .......... .......... .......... .......... .......... 84% 61.6M 0s 20600K .......... .......... .......... .......... .......... 84% 89.1M 0s 20650K .......... .......... .......... .......... .......... 84% 54.4M 0s 20700K .......... .......... .......... .......... .......... 84% 89.7M 0s 20750K .......... .......... .......... .......... .......... 84% 50.3M 0s 20800K .......... .......... .......... .......... .......... 85% 132M 0s 20850K .......... .......... .......... .......... .......... 85% 94.6M 0s 20900K .......... .......... .......... .......... .......... 85% 100M 0s 20950K .......... .......... .......... .......... .......... 85% 38.8M 0s 21000K .......... .......... .......... .......... .......... 85% 88.5M 0s 21050K .......... .......... .......... .......... .......... 86% 77.6M 0s 21100K .......... .......... .......... .......... .......... 86% 88.8M 0s 21150K .......... .......... .......... .......... .......... 86% 119M 0s 21200K .......... .......... .......... .......... .......... 86% 101M 0s 21250K .......... .......... .......... .......... .......... 86% 121M 0s 21300K .......... .......... .......... .......... .......... 87% 65.9M 0s 21350K .......... .......... .......... .......... .......... 87% 111M 0s 21400K .......... .......... .......... .......... .......... 87% 104M 0s 21450K .......... .......... .......... .......... .......... 87% 137M 0s 21500K .......... .......... .......... .......... .......... 87% 89.6M 0s 21550K .......... .......... .......... .......... .......... 88% 96.3M 0s 21600K .......... .......... .......... .......... .......... 88% 114M 0s 21650K .......... .......... .......... .......... .......... 88% 73.8M 0s 21700K .......... .......... .......... .......... .......... 88% 111M 0s 21750K .......... .......... .......... .......... .......... 88% 98.5M 0s 21800K .......... .......... .......... .......... .......... 89% 96.8M 0s 21850K .......... .......... .......... .......... .......... 89% 118M 0s 21900K .......... .......... .......... .......... .......... 89% 135M 0s 21950K .......... .......... .......... .......... .......... 89% 76.4M 0s 22000K .......... .......... .......... .......... .......... 89% 71.4M 0s 22050K .......... .......... .......... .......... .......... 90% 178M 0s 22100K .......... .......... .......... .......... .......... 90% 74.5M 0s 22150K .......... .......... .......... .......... .......... 90% 236M 0s 22200K .......... .......... .......... .......... .......... 90% 70.2M 0s 22250K .......... .......... .......... .......... .......... 90% 128M 0s 22300K .......... .......... .......... .......... .......... 91% 94.5M 0s 22350K .......... .......... .......... .......... .......... 91% 60.2M 0s 22400K .......... .......... .......... .......... .......... 91% 111M 0s 22450K .......... .......... .......... .......... .......... 91% 112M 0s 22500K .......... .......... .......... .......... .......... 92% 77.5M 0s 22550K .......... .......... .......... .......... .......... 92% 127M 0s 22600K .......... .......... .......... .......... .......... 92% 67.4M 0s 22650K .......... .......... .......... .......... .......... 92% 153M 0s 22700K .......... .......... .......... .......... .......... 92% 158M 0s 22750K .......... .......... .......... .......... .......... 93% 27.5M 0s 22800K .......... .......... .......... .......... .......... 93% 79.9M 0s 22850K .......... .......... .......... .......... .......... 93% 248M 0s 22900K .......... .......... .......... .......... .......... 93% 29.2M 0s 22950K .......... .......... .......... .......... .......... 93% 111M 0s 23000K .......... .......... .......... .......... .......... 94% 40.8M 0s 23050K .......... .......... .......... .......... .......... 94% 80.1M 0s 23100K .......... .......... .......... .......... .......... 94% 74.9M 0s 23150K .......... .......... .......... .......... .......... 94% 48.7M 0s 23200K .......... .......... .......... .......... .......... 94% 70.1M 0s 23250K .......... .......... .......... .......... .......... 95% 105M 0s 23300K .......... .......... .......... .......... .......... 95% 94.4M 0s 23350K .......... .......... .......... .......... .......... 95% 68.1M 0s 23400K .......... .......... .......... .......... .......... 95% 52.2M 0s 23450K .......... .......... .......... .......... .......... 95% 124M 0s 23500K .......... .......... .......... .......... .......... 96% 162M 0s 23550K .......... .......... .......... .......... .......... 96% 17.2M 0s 23600K .......... .......... .......... .......... .......... 96% 51.2M 0s 23650K .......... .......... .......... .......... .......... 96% 80.1M 0s 23700K .......... .......... .......... .......... .......... 96% 76.5M 0s 23750K .......... .......... .......... .......... .......... 97% 94.5M 0s 23800K .......... .......... .......... .......... .......... 97% 52.8M 0s 23850K .......... .......... .......... .......... .......... 97% 88.0M 0s 23900K .......... .......... .......... .......... .......... 97% 43.1M 0s 23950K .......... .......... .......... .......... .......... 97% 105M 0s 24000K .......... .......... .......... .......... .......... 98% 66.2M 0s 24050K .......... .......... .......... .......... .......... 98% 72.0M 0s 24100K .......... .......... .......... .......... .......... 98% 57.8M 0s 24150K .......... .......... .......... .......... .......... 98% 89.4M 0s 24200K .......... .......... .......... .......... .......... 98% 59.2M 0s 24250K .......... .......... .......... .......... .......... 99% 164M 0s 24300K .......... .......... .......... .......... .......... 99% 73.7M 0s 24350K .......... .......... .......... .......... .......... 99% 130M 0s 24400K .......... .......... .......... .......... .......... 99% 136M 0s 24450K .......... .......... .......... .......... .......... 99% 156M 0s 24500K ......... 100% 207M=0.3s 2023-12-19 15:46:45 (71.3 MB/s) - 'helm-v2.17.0-linux-amd64.tar.gz' saved [25097357/25097357] linux-amd64/ linux-amd64/README.md linux-amd64/LICENSE linux-amd64/helm linux-amd64/tiller Removing intermediate container 289c6a499077 ---> 37a8afa7a77b Step 5/9 : RUN helm init -c --skip-repos ---> Running in df1e61cecd40 Creating /root/.helm Creating /root/.helm/repository Creating /root/.helm/repository/cache Creating /root/.helm/repository/local Creating /root/.helm/plugins Creating /root/.helm/starters Creating /root/.helm/cache/archive Creating /root/.helm/repository/repositories.yaml $HELM_HOME has been configured at /root/.helm. Not installing Tiller due to 'client-only' flag having been set Removing intermediate container df1e61cecd40 ---> c87df57344bc Step 6/9 : ARG TGT=/tmp/it-dep ---> Running in 2d23e0afcfba Removing intermediate container 2d23e0afcfba ---> cadc8c3896b4 Step 7/9 : COPY . $TGT ---> 4eaf775b4d04 Step 8/9 : RUN rm -rf $TGT/smo-install ---> Running in 1f43d00ed38b Removing intermediate container 1f43d00ed38b ---> d9d9d0572a64 Step 9/9 : RUN $TGT/bin/verify-ric-charts ---> Running in 7be4c099fbfc Package ric-common and serve it using Helm local repo Successfully packaged chart and saved it to: /tmp/ric-common-3.3.2.tgz Successfully packaged chart and saved it to: /tmp/aux-common-3.0.0.tgz Successfully packaged chart and saved it to: /tmp/nonrtric-common-2.0.0.tgz Make sure that helm local repo is added Error: no repo named "local" found Error: no repo named "stable" found "local" has been added to your repositories Create array of helm charts *************************************** Remove nonrtric parent chart from linting as its a conceptual visualization of Nonrtric components. This chart doesn't contain any templates & it's primarily used for grouping of all Nonrtric components in deployment Update chart dependency for directory /tmp/it-dep/bin/../ric-common/Common-Template/helm/ric-common No requirements found in /tmp/it-dep/ric-common/Common-Template/helm/ric-common/charts. *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-common/Common-Template/helm/ric-common [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** *************************************************************************************************************** Skip Nonrtric Parent chart Update chart dependency for directory /tmp/it-dep/bin/../ric-common/Common-Template/helm/aux-common No requirements found in /tmp/it-dep/ric-common/Common-Template/helm/aux-common/charts. *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-common/Common-Template/helm/aux-common [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/portal Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading aux-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/portal [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: portal/charts/portal-app/templates/secret.yaml # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. apiVersion: v1 kind: Secret metadata: name: release-name-portal-app-authz-onapportal namespace: default labels: app: portal-app chart: portal-app-5.0.0 release: release-name heritage: Tiller type: Opaque data: keystoreONAPPortal.p12: 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 truststoreONAPall.jks: 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 --- # Source: portal/charts/portal-mariadb/templates/secrets.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Secret metadata: name: release-name-portal-db namespace: default labels: app: portal-db chart: portal-mariadb-5.0.0 release: release-name heritage: Tiller type: Opaque data: db-root-password: "QWExMjM0NTY=" --- # Source: portal/charts/portal-app/templates/configmap.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: ConfigMap metadata: name: release-name-portal-app-onapportal namespace: default labels: app: portal-app chart: portal-app-5.0.0 release: release-name heritage: Tiller data: fusion.properties: "# Copyright © 2018 Amdocs, Bell Canada, AT&T\n# Modifications Copyright © 2018 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# domain settings\n#domain_class_location =\n\n# validator settings\n#default_error_message = Default error message\n\nlogin_url_no_ret_val = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm\n\nuser_attribute_name \ = user\n\n# User Session settings\nroles_attribute_name = roles\nrole_functions_attribute_name = role_functions\n\n# menu settings\nmenu_query_name = menuData\napplication_menu_set_name \ = APP\napplication_menu_attribute_name = applicationMenuData\nbusiness_direct_menu_set_name \ = BD\nbusiness_direct_menu_attribute_name = businessDirectMenuData\n\n# ECOMP settings\necomp_app_id = 1\n# Role settings\nsys_admin_role_id = 1\naccount_admin_role_id = 999\nrestricted_app_role_id = 900\n\n# Home Page index html\nhome_page \t\t\t\t\t= /index.html\n\nauthentication_mechanism =DBAUTH\n\nlogin.error.hrid.empty = Login failed, please contact system administrator.\nlogin.error.hrid.not-found = User not found, please contact system administrator.\nlogin.error.user.inactive = Account is disabled, please contact system administrator.\n\n#\n# Number of seconds to poll health (database operational, etc.)\n#\nhealth_poll_interval_seconds = 5\n#\n# If a component is down a log entry will be written that triggers an alert. This parameter specifies how often this alert should be triggered\n# if the component remains down. \ For example a value of 30, would translate to 30 * 60 seconds = 1800 seconds, or every 30 minutes\n#\nhealth_fail_alert_every_x_intervals = 30\n" logback.xml: "\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\r\n\t\r\n\r\n\t\r\n\r\n\t\r\n \t\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t${applicationLoggerPattern}\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\r\n\t\r\n\r\n\t\r\n\r\n\r\n\t\r\n\t\t${logDirectory}/${generalLogName}.log\r\n\t\t\r\n\t\t\t\r\n\t\t\t${logDirectory}/${generalLogName}.log.%d{yyyy-MM-dd}.zip\r\n\t\t\t\r\n\t\t\t30\r\n\t\t\r\n\t\t\r\n\t\t\t${applicationLoggerPattern}\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t256\r\n\t\t\r\n \ttrue\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\r\n\t\r\n\t\t${logDirectory}/${auditLogName}.log\r\n\t\t\r\n\t\t\t\r\n\t\t\t${logDirectory}/${auditLogName}.log.%d{yyyy-MM-dd}.zip\r\n\t\t\t\r\n\t\t\t30\r\n\t\t\r\n\t\t\r\n\t\t\t${auditLoggerPattern}\r\n\t\t\r\n\t\r\n\t\r\n\t\t256\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t${logDirectory}/${metricsLogName}.log\r\n\t\t\r\n\t\t\t\r\n\t\t\t${logDirectory}/${metricsLogName}.log.%d{yyyy-MM-dd}.zip\r\n\t\t\t\r\n\t\t\t30\r\n\t\t\r\n\t\t\r\n\t\t\t${metricsLoggerPattern}\r\n\t\t\r\n\t\r\n\r\n\r\n\t\r\n\t\t256\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t${logDirectory}/${errorLogName}.log\r\n\t\t\r\n\t\t\t\r\n\t\t\t${logDirectory}/${errorLogName}.log.%d{yyyy-MM-dd}.zip\r\n\t\t\t\r\n\t\t\t30\r\n\t\t\r\n\t\t\r\n\t\t\t${errorLoggerPattern}\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t256\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t${debugLogDirectory}/${debugLogName}.log\r\n\t\t\r\n\t\t\t\r\n\t\t\t${logDirectory}/${debugLogName}.log.%d{yyyy-MM-dd}.zip\r\n\t\t\t\r\n\t\t\t30\r\n\t\t\r\n\t\t\r\n\t\t\t${defaultLoggerPattern}\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t256\r\n\t\t\r\n\t\ttrue\r\n\t\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\r\n" music.properties: | # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. music.version = v2 music.keyspace = keyspaces music.session.keyspace = portal music.tables = tables music.session.attr.tables = spring_session_attributes music.session.meta.tables = spring_session music.consistency.info = type music.consistency.info.value = eventual music.cache = false music.session.max.inactive.interval.seconds = 1800 music.serialize.compress = true #By default it's eventual music.atomic.get = false music.atomic.put = true cassandra.host=portal-cassandra zookeeper.host=portal-zookeeper cassandra.user=root cassandra.password=Aa123456 openid-connect.properties: | # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. authentication_server_url = http://portal.api.simpledemo.onap.org:8383/openid-connect-server-webapp/ ecomp_openid_connect_client = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/openid_connect_login ecomp_redirect_uri = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/welcome.htm portal.properties: | # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. # Not used by portal portal.api.impl.class = org.onap.portalsdk.core.onboarding.client.OnBoardingApiServiceImpl.not.used.by.portal portal.api.prefix = /api max.idle.time = 5 user.attribute.name = user_attribute # for single sign on ecomp_redirect_url = http://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/login.htm # URL of the ECOMP Portal REST API ecomp_rest_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi ueb_listeners_enable = true ueb_app_key = 7GkVcrO6sIDb3ngW ueb_app_secret = uCYgKjWKK5IxPGNNZzYSSWo9 ueb_app_mailbox_name = ECOMP-PORTAL-INBOX ueb_url_list = message-router ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX # Consumer group name for UEB topic. # Use the special tag to generate a unique one for each sdk-app server. ueb_app_consumer_group_name = {UUID} role_access_centralized = remote ext_req_connection_timeout = 15000 ext_req_read_timeout = 20000 system.properties: "# Copyright © 2018 Amdocs, Bell Canada, AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# \ http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n#mysql\ndb.driver = org.mariadb.jdbc.Driver\ndb.connectionURL = jdbc:mariadb:failover://portal-db:3306/portal\ndb.userName =root\ndb.password =Aa123456\ndb.hib.dialect = org.hibernate.dialect.MySQLDialect\ndb.min_pool_size = 5\ndb.max_pool_size = 10\nhb.dialect = org.hibernate.dialect.MySQLDialect\nhb.show_sql = false\nhb.db_reconnect = true\nhb.idle_connection_test_period = 3600\n\napp_display_name = Portal\nfiles_path = /tmp\ncontext_root = ONAPPORTAL\n# menu settings\nmenu_query_name \ = menuData\nmenu_properties_file_location = /WEB-INF/fusion/menu/\napplication_menu_set_name \ = APP\napplication_menu_attribute_name = applicationMenuData\napplication_menu_properties_name \ = menu.properties\nbusiness_direct_menu_set_name = BD\nbusiness_direct_menu_properties_name = bd.menu.properties\nbusiness_direct_menu_attribute_name = businessDirectMenuData\n\napplication_user_id \ = 30000\npost_default_role_id = 1\n\n#Enable Fusion Mobile capabilities for the application\nmobile_enable\t\t\t \t = false\n\ncache_config_file_path \ = /WEB-INF/conf/cache.ccf\ncache_switch = 1\ncache_load_on_startup \ = false\n\nuser_name\t\t\t\t\t = fullName\ndecryption_key\t\t\t\t = AGLDdG4D04BKm2IxIWEr8o==\n\n\n#Cron Schedules\ncron_site_name = one\nlog_cron = 0 * * * * ? *\nsessiontimeout_feed_cron\t = 0 0/5 * * * ? *\n\n#Front end URL\nfrontend_url \ = https://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/applicationsHome\n\n\n# An Unqiue 128-bit value defined to indentify a specific version of\n# ECOMP Portal deployed on a specific virtual machine.\n# This value must be generated and updated at the time of\n# the deployment.\n# Online Unique UUID generator - https://www.uuidgenerator.net/\ninstance_uuid \t\t\t\t= 90bc9497-10e6-49fe-916b-dcdfaa972383\n\nelastic_search_url \t\t\t= http://\ncontact_us_link\t\t\t\t= http://\nuser_guide_link = http://\n\n# Contact Us page properties\nush_ticket_url\t\t\t\t= http://\nfeedback_email_address\t\t= portal@lists.onap.org\nportal_info_url\t\t\t\t= https://\n\n#Online user bar refresh interval, in seconds\nonline_user_update_rate \ = 30\n\n#Online user bar refresh total duration, in seconds\nonline_user_update_duration \ = 300\n\n#authenticate user server\nauthenticate_user_server=http://portal.api.simpledemo.onap.org:8383/openid-connect-server-webapp/allUsers\n\n#window width threshold to collapse left/right menu when page onload\nwindow_width_threshold_left_menu = 1400\nwindow_width_threshold_right_menu = 1350\n\n# User notification refresh interval and duration, in seconds\nnotification_update_rate = 90\nnotification_update_duration = 900\n\n#Microservices Related Properties for Portal\nmicroservices.widget.protocol = http\nmicroservices.widget.hostname = portal-widget\nmicroservices.widget.username = widget_user\nmicroservices.widget.password = M+KcrCMVrR1rAxtiFE49n1uXC3FCkNBqFgeYsubEC/U=\n#This property won't be needed after consul is functional on VMs -\nmicroservices.widget.local.port = 8082\nmicroservices.m-learn.local.port = 8083\n#HALO API enable flag\nexternal_access_enable = false\n\n#delete auditlog from number of days ago\nauditlog_del_day_from = 365\n\n#External system notification URL\nexternal_system_notification_url= https://jira.onap.org/browse/\n\n# External Access System Basic Auth Credentials & Rest endpoint(These credentials doesn't work as these are place holders for now)\next_central_access_user_name = aaf_admin@people.osaaf.org\next_central_access_password = VTCIC7wfMI0Zy61wkqKQC0bF0EK2YmL2JLl1fQU2YC4=\next_central_access_url = https://aaf-service.onap:8100/authz/\next_central_access_user_domain = @people.osaaf.org\n\n# External Central Auth system access\nremote_centralized_system_access = true\n\n#cookie domain\ncookie_domain = onap.org\n" server.xml: "\n\n\n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \ \n \n\n \n \ \n\n\n \n \n \n \n \n \n\t\n\t \n\n \n \ \n\n\n \ \n\n \n \ \n\n \n \n\n \ \n \n \ \n \n \n\n \n\n \ \n \n\n \ \n \ \n\n \n \n \n" --- # Source: portal/charts/portal-cassandra/templates/configmap.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: ConfigMap metadata: name: release-name-portal-cassandra-docker-entry-initd namespace: default labels: app: portal-cassandra chart: portal-cassandra-5.0.0 release: release-name heritage: Tiller data: portal.cql: | // Copyright © 2018 Amdocs, Bell Canada, AT&T // // 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. CREATE KEYSPACE IF NOT EXISTS portal WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor': 1 } AND DURABLE_WRITES = true; CREATE TABLE portal.spring_session ( primary_id text PRIMARY KEY, creation_time text, expiry_time text, last_access_time text, max_inactive_interval text, principal_name text, session_id text, vector_ts text ) WITH bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': '10'} AND comment = '' AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE'; CREATE TABLE portal.spring_session_attributes ( primary_id text, attribute_name text, attribute_bytes blob, vector_ts text, PRIMARY KEY (primary_id, attribute_name) ) WITH CLUSTERING ORDER BY (attribute_name ASC) AND bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': '1'} AND comment = '' AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE'; portal_single.cql: "// Copyright © 2018 Amdocs, Bell Canada, AT&T\r\n//\r\n// Licensed under the Apache License, Version 2.0 (the \"License\");\r\n// you may not use this file except in compliance with the License.\r\n// You may obtain a copy of the License at\r\n//\r\n// http://www.apache.org/licenses/LICENSE-2.0\r\n//\r\n// Unless required by applicable law or agreed to in writing, software\r\n// distributed under the License is distributed on an \"AS IS\" BASIS,\r\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n// See the License for the specific language governing permissions and\r\n// limitations under the License.\r\n\r\n\r\nCREATE KEYSPACE IF NOT EXISTS admin\r\n WITH REPLICATION = {\r\n 'class' : 'SimpleStrategy',\r\n \ 'replication_factor': 1\r\n }\r\n AND DURABLE_WRITES = true;\r\n \r\nCREATE TABLE IF NOT EXISTS admin.keyspace_master (\r\n uuid uuid,\r\n keyspace_name text,\r\n application_name text,\r\n is_api boolean,\r\n password text,\r\n \ username text,\r\n is_aaf boolean,\r\n PRIMARY KEY (uuid)\r\n);\r\n\r\n\r\nCREATE KEYSPACE IF NOT EXISTS portal\r\n WITH REPLICATION = {\r\n 'class' : 'SimpleStrategy',\r\n \ 'replication_factor': 1\r\n }\r\n AND DURABLE_WRITES = true;\r\n\r\n\r\nCREATE TABLE portal.spring_session (\r\n primary_id text PRIMARY KEY,\r\n creation_time text,\r\n expiry_time text,\r\n last_access_time text,\r\n max_inactive_interval text,\r\n principal_name text,\r\n session_id text,\r\n vector_ts text\r\n) WITH bloom_filter_fp_chance = 0.01\r\n AND caching = {'keys': 'ALL', 'rows_per_partition': '10'}\r\n AND comment = ''\r\n AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}\r\n AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}\r\n AND crc_check_chance = 1.0\r\n AND dclocal_read_repair_chance = 0.1\r\n AND default_time_to_live = 0\r\n AND gc_grace_seconds = 864000\r\n AND max_index_interval = 2048\r\n \ AND memtable_flush_period_in_ms = 0\r\n AND min_index_interval = 128\r\n \ AND read_repair_chance = 0.0\r\n AND speculative_retry = '99PERCENTILE';\r\n\r\n\r\nCREATE TABLE portal.spring_session_attributes (\r\n primary_id text,\r\n attribute_name text,\r\n attribute_bytes blob,\r\n vector_ts text,\r\n PRIMARY KEY (primary_id, attribute_name)\r\n) WITH CLUSTERING ORDER BY (attribute_name ASC)\r\n AND bloom_filter_fp_chance = 0.01\r\n AND caching = {'keys': 'ALL', 'rows_per_partition': '1'}\r\n AND comment = ''\r\n AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}\r\n AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}\r\n AND crc_check_chance = 1.0\r\n AND dclocal_read_repair_chance = 0.1\r\n AND default_time_to_live = 0\r\n AND gc_grace_seconds = 864000\r\n AND max_index_interval = 2048\r\n \ AND memtable_flush_period_in_ms = 0\r\n AND min_index_interval = 128\r\n \ AND read_repair_chance = 0.0\r\n AND speculative_retry = '99PERCENTILE';\r\n \ \r\n\r\n\r\nCREATE KEYSPACE IF NOT EXISTS portalsdk\r\n WITH REPLICATION = {\r\n 'class' : 'SimpleStrategy',\r\n 'replication_factor': 1\r\n \ }\r\n AND DURABLE_WRITES = true;\r\n\r\n\r\nCREATE TABLE portalsdk.spring_session (\r\n primary_id text PRIMARY KEY,\r\n creation_time text,\r\n expiry_time text,\r\n last_access_time text,\r\n max_inactive_interval text,\r\n principal_name text,\r\n session_id text,\r\n vector_ts text\r\n) WITH bloom_filter_fp_chance = 0.01\r\n AND caching = {'keys': 'ALL', 'rows_per_partition': '10'}\r\n AND comment = ''\r\n AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}\r\n AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}\r\n AND crc_check_chance = 1.0\r\n AND dclocal_read_repair_chance = 0.1\r\n AND default_time_to_live = 0\r\n AND gc_grace_seconds = 864000\r\n AND max_index_interval = 2048\r\n \ AND memtable_flush_period_in_ms = 0\r\n AND min_index_interval = 128\r\n \ AND read_repair_chance = 0.0\r\n AND speculative_retry = '99PERCENTILE';\r\n\r\n\r\nCREATE TABLE portalsdk.spring_session_attributes (\r\n primary_id text,\r\n attribute_name text,\r\n attribute_bytes blob,\r\n vector_ts text,\r\n PRIMARY KEY (primary_id, attribute_name)\r\n) WITH CLUSTERING ORDER BY (attribute_name ASC)\r\n AND bloom_filter_fp_chance = 0.01\r\n AND caching = {'keys': 'ALL', 'rows_per_partition': '1'}\r\n AND comment = ''\r\n AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}\r\n AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}\r\n AND crc_check_chance = 1.0\r\n AND dclocal_read_repair_chance = 0.1\r\n AND default_time_to_live = 0\r\n AND gc_grace_seconds = 864000\r\n AND max_index_interval = 2048\r\n \ AND memtable_flush_period_in_ms = 0\r\n AND min_index_interval = 128\r\n \ AND read_repair_chance = 0.0\r\n AND speculative_retry = '99PERCENTILE';" portalsdk.cql: | // Copyright © 2018 Amdocs, Bell Canada, AT&T // // 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. CREATE KEYSPACE IF NOT EXISTS portalsdk WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor': 1 } AND DURABLE_WRITES = true; CREATE TABLE portalsdk.spring_session ( primary_id text PRIMARY KEY, creation_time text, expiry_time text, last_access_time text, max_inactive_interval text, principal_name text, session_id text, vector_ts text ) WITH bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': '10'} AND comment = '' AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE'; CREATE TABLE portalsdk.spring_session_attributes ( primary_id text, attribute_name text, attribute_bytes blob, vector_ts text, PRIMARY KEY (primary_id, attribute_name) ) WITH CLUSTERING ORDER BY (attribute_name ASC) AND bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': '1'} AND comment = '' AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE'; --- # Source: portal/charts/portal-mariadb/templates/configmap.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: ConfigMap metadata: name: release-name-portal-db-mariadb namespace: default labels: app: portal-db chart: portal-mariadb-5.0.0 release: release-name heritage: Tiller data: docker-entrypoint.sh: "#!/bin/bash\nset -eo pipefail\nshopt -s nullglob\n\n# if command starts with an option, prepend mysqld\nif [ \"${1:0:1}\" = '-' ]; then\n set -- mysqld \"$@\"\nfi\n\n# skip setup if they want an option that stops mysqld\nwantHelp=\nfor arg; do\n case \"$arg\" in\n -'?'|--help|--print-defaults|-V|--version)\n \ wantHelp=1\n break\n ;;\n \ esac\ndone\n\n# usage: file_env VAR [DEFAULT]\n# ie: file_env 'XYZ_DB_PASSWORD' 'example'\n# (will allow for \"$XYZ_DB_PASSWORD_FILE\" to fill in the value of\n# \ \"$XYZ_DB_PASSWORD\" from a file, especially for Docker's secrets feature)\nfile_env() {\n local var=\"$1\"\n local fileVar=\"${var}_FILE\"\n local def=\"${2:-}\"\n if [ \"${!var:-}\" ] && [ \"${!fileVar:-}\" ]; then\n echo >&2 \"error: both $var and $fileVar are set (but are exclusive)\"\n exit 1\n fi\n local val=\"$def\"\n if [ \"${!var:-}\" ]; then\n \ val=\"${!var}\"\n elif [ \"${!fileVar:-}\" ]; then\n val=\"$(< \"${!fileVar}\")\"\n fi\n export \"$var\"=\"$val\"\n unset \"$fileVar\"\n}\n\n_check_config() {\n toRun=( \"$@\" --verbose --help --log-bin-index=\"$(mktemp -u)\" )\n if ! errors=\"$(\"${toRun[@]}\" 2>&1 >/dev/null)\"; then\n cat >&2\t<<-EOM\n\n\t\t\t\tERROR: mysqld failed while attempting to check config\n\t\t\t\tcommand was: \"${toRun[*]}\"\n\n\t\t\t\t$errors\n\t\t\t\tEOM\n exit 1\n fi\n}\n\n# Fetch value from server config\n# We use mysqld --verbose --help instead of my_print_defaults because the\n# latter only show values present in config files, and not server defaults\n_get_config() {\n local conf=\"$1\"; shift\n \"$@\" --verbose --help --log-bin-index=\"$(mktemp -u)\" 2>/dev/null | awk '$1 == \"'\"$conf\"'\" { print $2; exit }'\n}\n\n# allow the container to be started with `--user`\nif [ \"$1\" = 'mysqld' -a -z \"$wantHelp\" -a \"$(id -u)\" = '0' ]; then\n _check_config \"$@\"\n DATADIR=\"$(_get_config 'datadir' \"$@\")\"\n mkdir -p \"$DATADIR\"\n find \"$DATADIR\" \\! -user mysql -exec chown mysql '{}' +\n exec gosu mysql \"$BASH_SOURCE\" \"$@\"\nfi\n\nif [ \"$1\" = 'mysqld' -a -z \"$wantHelp\" ]; then\n # still need to check config, container may have started with --user\n _check_config \"$@\"\n # Get config\n DATADIR=\"$(_get_config 'datadir' \"$@\")\"\n\n if [ ! -d \"$DATADIR/mysql\" ]; then\n file_env 'MYSQL_ROOT_PASSWORD'\n \ if [ -z \"$MYSQL_ROOT_PASSWORD\" -a -z \"$MYSQL_ALLOW_EMPTY_PASSWORD\" -a -z \"$MYSQL_RANDOM_ROOT_PASSWORD\" ]; then\n echo >&2 'error: database is uninitialized and password option is not specified '\n echo >&2 ' You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD'\n exit 1\n fi\n\n \ mkdir -p \"$DATADIR\"\n\n echo 'Initializing database'\n \ # \"Other options are passed to mysqld.\" (so we pass all \"mysqld\" arguments directly here)\n mysql_install_db --datadir=\"$DATADIR\" --rpm \"${@:2}\"\n echo 'Database initialized'\n\n SOCKET=\"$(_get_config 'socket' \"$@\")\"\n \"$@\" --skip-networking --socket=\"${SOCKET}\" &\n pid=\"$!\"\n\n mysql=( mysql --protocol=socket -uroot -hlocalhost --socket=\"${SOCKET}\" )\n\n for i in {60..0}; do\n if echo 'SELECT 1' | \"${mysql[@]}\" &> /dev/null; then\n \ break\n fi\n echo 'MySQL init process in progress...'\n sleep 1\n done\n \ if [ \"$i\" = 0 ]; then\n echo >&2 'MySQL init process failed.'\n exit 1\n fi\n\n if [ -z \"$MYSQL_INITDB_SKIP_TZINFO\" ]; then\n # sed is for https://bugs.mysql.com/bug.php?id=20545\n mysql_tzinfo_to_sql /usr/share/zoneinfo | sed 's/Local time zone must be set--see zic manual page/FCTY/' | \"${mysql[@]}\" mysql\n fi\n\n if [ ! -z \"$MYSQL_RANDOM_ROOT_PASSWORD\" ]; then\n export MYSQL_ROOT_PASSWORD=\"$(pwgen -1 32)\"\n \ echo \"GENERATED ROOT PASSWORD: $MYSQL_ROOT_PASSWORD\"\n \ fi\n\n rootCreate=\n # default root to listen for connections from anywhere\n file_env 'MYSQL_ROOT_HOST' '%'\n if [ ! -z \"$MYSQL_ROOT_HOST\" -a \"$MYSQL_ROOT_HOST\" != 'localhost' ]; then\n # no, we don't care if read finds a terminating character in this heredoc\n # https://unix.stackexchange.com/questions/265149/why-is-set-o-errexit-breaking-this-read-heredoc-expression/265151#265151\n \ read -r -d '' rootCreate\t<<-EOSQL || true\n\t\t\t\t\t\tCREATE USER 'root'@'${MYSQL_ROOT_HOST}' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ;\n\t\t\t\t\t\tGRANT ALL ON *.* TO 'root'@'${MYSQL_ROOT_HOST}' WITH GRANT OPTION ;\n\t\t\t\t\t\tEOSQL\n \ fi\n\n \"${mysql[@]}\"\t<<-EOSQL\n\t\t\t\t\t\t-- What's done in this file shouldn't be replicated\n\t\t\t\t\t\t-- or products like mysql-fabric won't work\n\t\t\t\t\t\tSET @@SESSION.SQL_LOG_BIN=0;\n\n\t\t\t\t\t\tDELETE FROM mysql.user WHERE user NOT IN ('mysql.sys', 'mysqlxsys', 'root') OR host NOT IN ('localhost') ;\n\t\t\t\t\t\tSET PASSWORD FOR 'root'@'localhost'=PASSWORD('${MYSQL_ROOT_PASSWORD}') ;\n\t\t\t\t\t\tGRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION ;\n\t\t\t\t\t\t${rootCreate}\n\t\t\t\t\t\tDROP DATABASE IF EXISTS test ;\n\t\t\t\t\t\tFLUSH PRIVILEGES ;\n\t\t\t\t\tEOSQL\n\n if [ ! -z \"$MYSQL_ROOT_PASSWORD\" ]; then\n mysql+=( -p\"${MYSQL_ROOT_PASSWORD}\" )\n fi\n\n file_env 'MYSQL_DATABASE'\n if [ \"$MYSQL_DATABASE\" ]; then\n echo \"CREATE DATABASE IF NOT EXISTS \\`$MYSQL_DATABASE\\` ;\" | \"${mysql[@]}\"\n mysql+=( \"$MYSQL_DATABASE\" )\n fi\n\n file_env 'MYSQL_USER'\n \ file_env 'MYSQL_PASSWORD'\n if [ \"$MYSQL_USER\" -a \"$MYSQL_PASSWORD\" ]; then\n echo \"CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;\" | \"${mysql[@]}\"\n\n if [ \"$MYSQL_DATABASE\" ]; then\n echo \"GRANT ALL ON \\`$MYSQL_DATABASE\\`.* TO '$MYSQL_USER'@'%' ;\" | \"${mysql[@]}\"\n fi\n \ fi\n\n echo\n for f in /docker-entrypoint-initdb.d/*; do\n case \"$f\" in\n *.sh) \ echo \"$0: running $f\"; . \"$f\" ;;\n *.sql) \ echo \"$0: running $f\"; \"${mysql[@]}\" < \"$f\"; echo ;;\n *.sql.gz) echo \"$0: running $f\"; gunzip -c \"$f\" | \"${mysql[@]}\"; echo ;;\n *) \ echo \"$0: ignoring $f\" ;;\n esac\n echo\n \ done\n\n if ! kill -s TERM \"$pid\" || ! wait \"$pid\"; then\n echo >&2 'MySQL init process failed.'\n exit 1\n fi\n\n echo\n echo 'MySQL init process done. Ready for start up.'\n echo\n fi\nfi\n\nexec \"$@\"" oom_updates.sql: "/*\n# Copyright © 2018 Amdocs, Bell Canada, AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n*/\n\nUSE portal;\n/*\nAny updates required by OOM to the portaldb are made here.\n1. split up SDC-FE and SDC-BE. \ Originally both FE and BE point to the same IP\nwhile the OOM K8s version has these service split up.\n*/\n-- app_url is the FE, app_rest_endpoint is the BE\n--portal-sdk => TODO: doesn't open a node port yet\nupdate fn_app set app_url = 'http://portal-sdk.simpledemo.onap.org:30212/ONAPPORTALSDK/welcome.htm', app_rest_endpoint = 'http://portal-sdk:8080/ONAPPORTALSDK/api/v3' where app_name = 'xDemo App';\n--dmaap-bc => the dmaap-bc doesn't open a node port..\nupdate fn_app set app_url = 'http://dmaap-bc.simpledemo.onap.org:/ECOMPDBCAPP/dbc#/dmaap', app_rest_endpoint = 'http://dmaap-bc:8989/ECOMPDBCAPP/api/v2' where app_name = 'DMaaP Bus Ctrl';\n--sdc-be => 8443:30204, 8080:30205\n--sdc-fe => 8181:30206, 9443:30207\nupdate fn_app set app_url = 'http://sdc.api.fe.simpledemo.onap.org:30206/sdc1/portal', app_rest_endpoint = 'http://sdc-be:8080/api/v3' where app_name = 'SDC';\n--pap => 8443:30219\nupdate fn_app set app_url = 'https://policy.api.simpledemo.onap.org:30219/onap/policy', app_rest_endpoint = 'https://pap:8443/onap/api/v3' where app_name = 'Policy';\n--vid => 8080:30200\nupdate fn_app set app_url = 'https://vid.api.simpledemo.onap.org:30200/vid/welcome.htm', app_rest_endpoint = 'https://vid:8443/vid/api/v3' where app_name = 'Virtual Infrastructure Deployment';\n--sparky => TODO: sparky doesn't open a node port yet\nupdate fn_app set app_url = 'https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html#/viewInspect', app_rest_endpoint = 'https://aai-sparky-be.default:8000/api/v2' where app_name = 'A&AI UI';\n--cli => 8080:30260\nupdate fn_app set app_url = 'http://cli.api.simpledemo.onap.org:30260/', app_type = 1 where app_name = 'CLI';\n--msb-iag => 80:30280\nupdate fn_app set app_url = 'http://msb.api.simpledemo.onap.org:30280/iui/microservices/default.html' where app_name = 'MSB';\n\n\n\nINSERT IGNORE INTO `fn_app` (`app_id`, `app_name`, `app_image_url`, `app_description`, `app_notes`, `app_url`, `app_alternate_url`, `app_rest_endpoint`, `ml_app_name`, `ml_app_admin_id`, `mots_id`, `app_password`, `open`, `enabled`, `thumbnail`, `app_username`, `ueb_key`, `ueb_secret`, `ueb_topic_name`, `app_type`,`auth_central`,`auth_namespace`) VALUES\n(12, 'RIC-Dashboard', '', NULL, NULL, 'https://dashboard-entry:32443', '','http://service-ricaux-dashboard-http:8080/api/v3', '', '', NULL, 'password', 'N', 'Y', NULL, 'Default', 'ueb_key', 'ueb_secret', 'ECOMP-PORTAL-OUTBOX', 1,'N',NULL);\n\n\n/*\nCreate SO-Monitoring App\n*/\nINSERT IGNORE INTO `fn_app` (`app_id`, `app_name`, `app_image_url`, `app_description`, `app_notes`, `app_url`, `app_alternate_url`, `app_rest_endpoint`, `ml_app_name`, `ml_app_admin_id`, `mots_id`, `app_password`, `open`, `enabled`, `thumbnail`, `app_username`, `ueb_key`, `ueb_secret`, `ueb_topic_name`, `app_type`,`auth_central`,`auth_namespace`) VALUES\n(10, 'SO-Monitoring', 'images/cache/portal-345993588_92550.png', NULL, NULL, 'http://so-monitoring:30224', NULL, 'http://so-monitoring:30224', '', '', NULL, 'password', 'Y', 'Y', NULL, 'user', '', '', '', 1,'N','SO-Monitoring');\n\n/*\nAdd SO Monitoring to Default apps\n*/\nINSERT IGNORE INTO `fn_pers_user_app_sel` VALUES (10,1,10,'S');\n\n/*\nAdd Contact information for SO Monitoring\n*/\nINSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES ( 10,\"SO Team\",\"so@lists.onap.org\",\"https://wiki.onap.org/display/DW/Approved+Projects\",NULL, \"Service Orchestration (SO).\");\n\n/*\nAdditionally, some more update statments; these should be refactored to another SQL file in future releases \n*/\n\n-- portal\nupdate fn_app set auth_central = 'Y' , auth_namespace = 'org.onap.portal' where app_id = 1;\n-- portal-sdk\nupdate fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='ueb_key' where app_id = 2;\n-- SDC\nupdate fn_app set app_username='sdc', app_password='j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI=', ueb_key='ueb_key' where app_id = 4;\n-- policy\nupdate fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='ueb_key_5', auth_central = 'Y' , auth_namespace = 'org.onap.policy' where app_id = 5;\n-- vid\nupdate fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='2Re7Pvdkgw5aeAUD', auth_central = 'Y' , auth_namespace = 'org.onap.vid' where app_id = 6;\n-- aai sparky\nupdate fn_app set app_username='aaiui', app_password='4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=', ueb_key='ueb_key_7' where app_id = 7;\n\n\n/*\nReplace spaces with underscores for role names to match AAF role names\n*/\nUPDATE fn_role SET role_name= REPLACE(role_name, ' ', '_') WHERE active_yn= 'Y';\n\n\n\nInsert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,12);\n\nINSERT IGNORE INTO `fn_pers_user_app_sel` (`id`,`user_id`,`app_id`,`status_cd`) \ VALUES (12,1,12,'S');\n\ncommit;\n" --- # Source: portal/templates/configmap.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: ConfigMap metadata: name: portal-filebeat namespace: default labels: app: portal chart: portal-5.0.0 release: release-name heritage: Tiller data: filebeat.yml: | # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. filebeat.prospectors: #it is mandatory, in our case it's log - input_type: log #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory. paths: - /var/log/onap/*/*/*/*.log - /var/log/onap/*/*/*.log - /var/log/onap/*/*.log #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive ignore_older: 48h # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit clean_inactive: 96h # Name of the registry file. If a relative path is used, it is considered relative to the # data path. Else full qualified file name. #filebeat.registry_file: ${path.data}/registry output.logstash: #List of logstash server ip addresses with port number. #But, in our case, this will be the loadbalancer IP address. #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately. hosts: ["log-ls:5044"] #If enable will do load balancing among availabe Logstash, automatically. loadbalance: true #The list of root certificates for server verifications. #If certificate_authorities is empty or not set, the trusted #certificate authorities of the host system are used. #ssl.certificate_authorities: $ssl.certificate_authorities #The path to the certificate for SSL client authentication. If the certificate is not specified, #client authentication is not available. #ssl.certificate: $ssl.certificate #The client certificate key used for client authentication. #ssl.key: $ssl.key #The passphrase used to decrypt an encrypted key stored in the configured key file #ssl.key_passphrase: $ssl.key_passphrase --- # Source: portal/charts/portal-cassandra/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-portal-cassandra namespace: default labels: app: portal-cassandra chart: "portal-cassandra-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-portal-cassandra spec: capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/portal/cassandra/data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: portal-storage operator: In values: - enable storageClassName: "manual" --- # Source: portal/charts/portal-cassandra/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-portal-cassandra namespace: default labels: app: portal-cassandra chart: "portal-cassandra-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: name: release-name-portal-cassandra accessModes: - ReadWriteMany resources: requests: storage: 2Gi storageClassName: "manual" --- # Source: portal/charts/portal-app/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: portal-app namespace: default labels: app: portal-app chart: portal-app-5.0.0 release: release-name heritage: Tiller annotations: msb.onap.org/service-info: '[ { "serviceName": "portal", "version": "v2", "url": "/", "protocol": "REST" "port": "8989", "visualRange":"1" } ]' spec: type: LoadBalancer ports: - port: 8989 targetPort: 8080 nodePort: 30215 name: portal-app - port: 8006 targetPort: 8005 nodePort: 30213 name: portal-app2 - port: 8010 targetPort: 8009 nodePort: 30214 name: portal-app3 - port: 8443 targetPort: 8443 nodePort: 30225 name: portal-app4 selector: app: portal-app release: release-name --- # Source: portal/charts/portal-cassandra/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Service metadata: name: portal-cassandra namespace: default labels: app: portal-cassandra chart: portal-cassandra-5.0.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - port: 9160 targetPort: 9160 name: portal-cassandra - port: 7000 targetPort: 7000 name: portal-cassandra2 - port: 7001 targetPort: 7001 name: portal-cassandra3 - port: 7199 targetPort: 7199 name: portal-cassandra4 - port: 9042 targetPort: 9042 name: portal-cassandra5 selector: app: portal-cassandra release: release-name --- # Source: portal/charts/portal-mariadb/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Service metadata: name: portal-db namespace: default labels: app: portal-db chart: portal-mariadb-5.0.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - port: 3306 targetPort: 3306 name: portal-db selector: app: portal-db release: release-name --- # Source: portal/charts/portal-zookeeper/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Service metadata: name: portal-zookeeper namespace: default labels: app: portal-zookeeper chart: portal-zookeeper-5.0.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - port: 2181 targetPort: 2181 name: portal-zk selector: app: portal-zookeeper release: release-name --- # Source: portal/charts/portal-app/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: name: release-name-portal-app namespace: default labels: app: portal-app chart: portal-app-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: portal-app release: release-name template: metadata: labels: app: portal-app release: release-name spec: initContainers: - name: portal-app-job-completion image: "oomk8s/readiness-check:2.0.0" imagePullPolicy: "Always" command: - /root/job_complete.py args: - --job-name - release-name-portal-db-config env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace containers: - name: portal-app image: "nexus3.onap.org:10001/onap/portal-app:2.5.0" imagePullPolicy: Always command: - /start-apache-tomcat.sh - -i - "" - -n - "" env: - name: CATALINA_OPTS value: > -Djavax.net.ssl.keyStore=/opt/apache-tomcat-8.0.37/truststoreONAPall.jks -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=/opt/apache-tomcat-8.0.37/truststoreONAPall.jks -Djavax.net.ssl.trustStorePassword=changeit - name: javax.net.ssl.keyStore value: /opt/apache-tomcat-8.0.37/truststoreONAPall.jks - name: javax.net.ssl.keyStorePassword value: changeit - name: javax.net.ssl.trustStore value: /opt/apache-tomcat-8.0.37/truststoreONAPall.jks - name: javax.net.ssl.trustStorePassword value: changeit ports: - containerPort: 8080 - containerPort: 8005 - containerPort: 8009 - containerPort: 8443 livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 10 periodSeconds: 10 volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/webapps/ONAPPORTAL/WEB-INF/fusion/conf/fusion.properties" subPath: fusion.properties - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/webapps/ONAPPORTAL/WEB-INF/classes/openid-connect.properties" subPath: openid-connect.properties - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/webapps/ONAPPORTAL/WEB-INF/conf/system.properties" subPath: system.properties - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/webapps/ONAPPORTAL/WEB-INF/classes/portal.properties" subPath: portal.properties - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/webapps/ONAPPORTAL/WEB-INF/classes/music.properties" subPath: music.properties - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/webapps/ONAPPORTAL/WEB-INF/classes/logback.xml" subPath: logback.xml - name: properties-onapportal mountPath: "/opt/apache-tomcat-8.0.37/conf/server.xml" subPath: server.xml - name: authz-onapportal mountPath: "/opt/apache-tomcat-8.0.37/keystoreONAPPortal.p12" subPath: keystoreONAPPortal.p12 - name: authz-onapportal mountPath: "/opt/apache-tomcat-8.0.37/truststoreONAPall.jks" subPath: truststoreONAPall.jks - name: var-log-onap mountPath: /var/log/onap resources: limits: cpu: 2 memory: 10Gi requests: cpu: 1 memory: 6Gi - name: filebeat-onap image: "docker.elastic.co/beats/filebeat:5.5.0" imagePullPolicy: Always volumeMounts: - mountPath: /usr/share/filebeat/filebeat.yml name: filebeat-conf subPath: filebeat.yml - name: portal-data-filebeat mountPath: /usr/share/filebeat/data - name: var-log-onap mountPath: /var/log/onap volumes: - name: localtime hostPath: path: /etc/localtime - name: properties-onapportal configMap: name: release-name-portal-app-onapportal defaultMode: 0755 - name: authz-onapportal secret: secretName: release-name-portal-app-authz-onapportal - name: filebeat-conf configMap: name: portal-filebeat - name: var-log-onap emptyDir: {} - name: portal-data-filebeat emptyDir: {} - name: portal-tomcat-logs emptyDir: {} imagePullSecrets: - name: "default-docker-registry-key" --- # Source: portal/charts/portal-cassandra/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: apps/v1 kind: Deployment metadata: name: release-name-portal-cassandra namespace: default labels: app: portal-cassandra chart: portal-cassandra-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: portal-cassandra release: release-name template: metadata: labels: app: portal-cassandra release: release-name spec: containers: - name: portal-cassandra image: "nexus3.onap.org:10001/onap/music/cassandra_music:3.0.0" imagePullPolicy: Always ports: - containerPort: 9160 - containerPort: 7000 - containerPort: 7001 - containerPort: 7199 - containerPort: 9042 livenessProbe: exec: command: - /bin/bash - -c - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: exec: command: - /bin/bash - -c - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' initialDelaySeconds: 10 periodSeconds: 10 env: - name: CASSUSER value: "root" - name: CASSPASS value: "Aa123456" - name: JVM_OPTS value: "-Xmx2536m -Xms2536m" - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - name: cassandra-docker-entrypoint-initdb mountPath: /docker-entrypoint-initdb.d/aaa_portal_single.cql subPath: portal_single.cql - name: release-name-portal-cassandra-data mountPath: /var/lib/cassandra/data resources: limits: cpu: 2 memory: 8Gi requests: cpu: 1 memory: 4Gi volumes: - name: cassandra-docker-entrypoint-initdb configMap: name: release-name-portal-cassandra-docker-entry-initd - name: localtime hostPath: path: /etc/localtime - name: release-name-portal-cassandra-data persistentVolumeClaim: claimName: release-name-portal-cassandra imagePullSecrets: - name: "default-docker-registry-key" --- # Source: portal/charts/portal-mariadb/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: apps/v1 kind: Deployment metadata: name: release-name-portal-db namespace: default labels: app: portal-db chart: portal-mariadb-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: portal-db release: release-name template: metadata: labels: app: portal-db release: release-name spec: containers: - name: portal-db image: "nexus3.onap.org:10001/onap/portal-db:2.5.0" imagePullPolicy: Always ports: - containerPort: 3306 # disable liveness probe when breakpoints set in debugger # so K8s doesn't restart unresponsive container livenessProbe: tcpSocket: port: 3306 initialDelaySeconds: 450 periodSeconds: 10 readinessProbe: tcpSocket: port: 3306 initialDelaySeconds: 30 periodSeconds: 10 env: - name: MYSQL_HOST value: "portal-db" - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: release-name-portal-db key: db-root-password volumeMounts: - mountPath: /var/lib/mysql name: mariadb-data - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /usr/local/bin/docker-entrypoint.sh subPath: docker-entrypoint.sh name: docker-entry resources: limits: cpu: 800m memory: 1Gi requests: cpu: 400m memory: 500Mi volumes: - name: mariadb-data emptyDir: {} - name: localtime hostPath: path: /etc/localtime - name: docker-entry configMap: name: release-name-portal-db-mariadb defaultMode: 0755 imagePullSecrets: - name: "default-docker-registry-key" --- # Source: portal/charts/portal-zookeeper/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: apps/v1 kind: Deployment metadata: name: release-name-portal-zookeeper namespace: default labels: app: portal-zookeeper chart: portal-zookeeper-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: portal-zookeeper release: release-name template: metadata: labels: app: portal-zookeeper release: release-name spec: containers: - name: portal-zookeeper image: "nexus3.onap.org:10001/zookeeper:3.4" imagePullPolicy: Always ports: - containerPort: 2181 livenessProbe: tcpSocket: port: 2181 initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: tcpSocket: port: 2181 initialDelaySeconds: 10 periodSeconds: 10 volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true resources: limits: cpu: 500m memory: 600Mi requests: cpu: 250m memory: 300Mi volumes: - name: localtime hostPath: path: /etc/localtime imagePullSecrets: - name: "default-docker-registry-key" --- # Source: portal/charts/portal-mariadb/templates/job.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: batch/v1 kind: Job metadata: name: release-name-portal-db-config namespace: default labels: app: portal-db-job chart: portal-mariadb-5.0.0 release: release-name heritage: Tiller spec: template: metadata: labels: app: portal-db-job release: release-name spec: restartPolicy: Never initContainers: - name: portal-db-init-readiness image: "oomk8s/readiness-check:2.0.0" imagePullPolicy: Always command: - /root/ready.py args: - --container-name - portal-db env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace containers: - name: portal-db-job image: "oomk8s/mariadb-client-init:3.0.0" imagePullPolicy: Always env: - name: DB_HOST value: "portal-db" - name: DB_USER value: root - name: DB_PASS valueFrom: secretKeyRef: {name: release-name-portal-db, key: db-root-password} - name: SQL_SRC_DIR value: portal/deliveries - name: portal-db-oom-update-job image: "oomk8s/mariadb-client-init:3.0.0" imagePullPolicy: Always env: - name: DB_HOST value: "portal-db" - name: DB_USER value: root - name: DB_PORT value: "3306" - name: DB_PASS valueFrom: secretKeyRef: {name: release-name-portal-db, key: db-root-password} command: - /bin/sh - -x - -c - "mysql -vv --user=$DB_USER --password=$DB_PASS --host=$DB_HOST --port=$DB_PORT < /tmp/oom_updates.sql" volumeMounts: - name: portal-mariadb-sql mountPath: /tmp/oom_updates.sql subPath: oom_updates.sql volumes: - name: portal-mariadb-sql configMap: name: release-name-portal-db-mariadb imagePullSecrets: - name: "default-docker-registry-key" restartPolicy: Never --- # Source: portal/charts/portal-mariadb/templates/pv.yaml --- # Source: portal/charts/portal-mariadb/templates/pvc.yaml *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/aaf Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading aux-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/aaf [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: aaf/charts/aaf-sshsm/templates/secret.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: v1 kind: Secret metadata: name: release-name-aaf-sshsm namespace: default type: Opaque data: prk_passwd: Y0hKcGJXRnllWEJoYzNOM2IzSmtDZz09Cg== srk_handle: TUhnNE1UQXdNREF5TXdvPQo= --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/configmap.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: v1 kind: ConfigMap metadata: name: release-name-aaf-sms-quorumclient namespace: default labels: app: aaf-sms-quorumclient chart: aaf-sms-quorumclient-5.0.0 release: release-name heritage: Tiller data: config.json: |- { "url":"https://aaf-sms.default:10443", "cafile": "/quorumclient/certs/aaf_root_ca.cer", "clientcert":"client.cert", "clientkey":"client.key", "timeout":"10s" } --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/configmap.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: v1 kind: ConfigMap metadata: name: release-name-aaf-sms-vault-vault namespace: default labels: app: aaf-sms-vault chart: aaf-sms-vault-5.0.0 release: release-name heritage: Tiller data: config.json: | {"disable_mlock":true,"listener":{"tcp":{"address":"[::]:8200","tls_disable":true}},"storage":{"consul":{"address":"localhost:8500","path":"smsvault"}}} --- apiVersion: v1 kind: ConfigMap metadata: name: release-name-aaf-sms-vault-consul namespace: default labels: app: aaf-sms-vault chart: aaf-sms-vault-5.0.0 release: release-name heritage: Tiller data: config.json: | {"data_dir":"/consul/data","log_level":"INFO","ports":{"http":8500,"https":-1},"server":true} --- # Source: aaf/charts/aaf-sms/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: release-name-aaf-sms namespace: default labels: app: aaf-sms chart: aaf-sms-5.0.0 release: release-name heritage: Tiller data: smsconfig.json: | {"cafile":"/sms/certs/aaf_root_ca.cer","password":"c2VjcmV0bWFuYWdlbWVudHNlcnZpY2VzZWNyZXRwYXNzd29yZA==","servercert":"/sms/certs/aaf-sms.pub","serverkey":"/sms/certs/aaf-sms.pr","smsdbaddress":"http://aaf-sms-db:8200"} --- apiVersion: v1 kind: ConfigMap metadata: name: release-name-aaf-sms-preload namespace: default labels: app: aaf-sms-preload chart: aaf-sms-5.0.0 release: release-name heritage: Tiller data: has.json: | { "domain": { "name": "has", "secrets": [ { "name": "aai", "values": { "username": "oof@oof.onap.org", "password": "demo123456!" } }, { "name": "conductor_api", "values": { "username": "admin1", "password": "plan.15" } }, { "name": "sdnc", "values": { "username": "admin", "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" } }, { "name": "music_api", "values": { "aafuser": "conductor", "aafpass": "c0nduct0r", "aafns": "conductor" } }, { "name": "aaf_api", "values": { "username": "aaf_admin@people.osaaf.org", "password": "demo123456!", "aaf_conductor_user": "oof@oof.onap.org" } } ] } } osdf.json: |- { "domain": { "name": "osdf", "secrets": [ { "name": "so", "values": { "UserName": "", "Password": "" } }, { "name": "conductor", "values": { "UserName": "admin1", "Password": "plan.15" } }, { "name": "policyPlatform", "values": { "UserName": "testpdp", "Password": "alpha123" } }, { "name": "policyClient", "values": { "UserName": "python", "Password": "test" } }, { "name": "dmaap", "values": { "UserName": "NA", "Password": "NA" } }, { "name": "sdc", "values": { "UserName": "NA", "Password": "NA" } }, { "name": "osdfPlacement", "values": { "UserName": "test", "Password": "testpwd" } }, { "name": "osdfPlacementSO", "values": { "UserName": "so_test", "Password": "so_testpwd" } }, { "name": "osdfPlacementVFC", "values": { "UserName": "vfc_test", "Password": "vfc_testpwd" } }, { "name": "osdfCMScheduler", "values": { "UserName": "test1", "Password": "testpwd1" } }, { "name": "configDb", "values": { "UserName": "osdf", "Password": "passwd" } }, { "name": "pciHMS", "values": { "UserName": "", "Password": "" } }, { "name": "osdfPCIOpt", "values": { "UserName": "pci_test", "Password": "pci_testpwd" } } ] } } --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: release-name-aaf-sshsm-distcenter namespace: default labels: app: aaf-sshsm-distcenter chart: aaf-sshsm-distcenter-5.0.0 release: release-name heritage: Tiller data: {} --- # Source: aaf/charts/aaf-cass/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-cass-pv namespace: default labels: app: aaf-cass chart: "aaf-cass-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-cass spec: capacity: storage: 20Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/cass storageClassName: "manual" --- # Source: aaf/charts/aaf-hello/templates/aaf-hello-pv.yaml ######### ## ============LICENSE_START==================================================== ## org.onap.aaf ## =========================================================================== ## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ## =========================================================================== ## 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. ## ============LICENSE_END==================================================== ## kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-hello-pv namespace: default labels: app: aaf-hello-hello chart: "aaf-hello-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-hello spec: capacity: storage: 40M accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Delete hostPath: path: /mnt/data/aaf/hello storageClassName: "manual" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-sms-quorumclient namespace: default labels: app: aaf-sms-quorumclient chart: "aaf-sms-quorumclient-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-sms-quorumclient spec: capacity: storage: 10Mi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/sms/quorum/data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-sms-vault namespace: default labels: app: aaf-sms-vault chart: "aaf-sms-vault-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-sms-vault spec: capacity: storage: 2Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/sms/consul/data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/charts/aaf-sms/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-sms namespace: default labels: app: aaf-sms chart: "aaf-sms-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-sms spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/sms/auth nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-sshsm-distcenter namespace: default labels: app: aaf-sshsm-distcenter chart: "aaf-sshsm-distcenter-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-sshsm-distcenter spec: capacity: storage: 10Mi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/sshsm/distcenter/data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/charts/aaf-sshsm/templates/pv.yaml kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-sshsm-data namespace: default labels: app: aaf-sshsm chart: "aaf-sshsm-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-sshsm-data spec: capacity: storage: 10Mi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/sshsm/data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-sshsm-dbus namespace: default labels: app: aaf-sshsm chart: "aaf-sshsm-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf-sshsm-dbus spec: capacity: storage: 10Mi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /dockerdata-nfs/release-name/sshsm/dbus nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/templates/aaf-config-pv.yaml ######### ## ============LICENSE_START==================================================== ## org.onap.aaf ## =========================================================================== ## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ## =========================================================================== ## 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. ## ============LICENSE_END==================================================== ## kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-config-pv namespace: default labels: app: aaf-config chart: "aaf-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf spec: capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Delete hostPath: path: /mnt/data/aaf/config nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/templates/aaf-status-pv.yaml ######### ## ============LICENSE_START==================================================== ## org.onap.aaf ## =========================================================================== ## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ## =========================================================================== ## 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. ## ============LICENSE_END==================================================== ## kind: PersistentVolume apiVersion: v1 metadata: name: release-name-aaf-status-pv namespace: default labels: app: aaf-status chart: "aaf-5.0.0" release: "release-name" heritage: "Tiller" name: release-name-aaf spec: capacity: storage: 2M accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Delete hostPath: path: /dockerdata-nfs/release-name/status nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: aaf-storage operator: In values: - enable storageClassName: "manual" --- # Source: aaf/charts/aaf-cass/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-cass-pvc namespace: default labels: app: aaf-cass chart: "aaf-cass-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: app: aaf-cass accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: "manual" --- # Source: aaf/charts/aaf-hello/templates/aaf-hello-pvc.yaml ######### ## ============LICENSE_START==================================================== ## org.onap.aaf ## =========================================================================== ## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ## =========================================================================== ## 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. ## ============LICENSE_END==================================================== ## kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-hello-pvc namespace: default labels: app: aaf-hello chart: "aaf-hello-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: app: aaf-hello-hello accessModes: - ReadWriteMany resources: requests: storage: 40M storageClassName: "manual" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-sms-quorumclient namespace: default labels: app: aaf-sms-quorumclient chart: "aaf-sms-quorumclient-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: name: release-name-aaf-sms-quorumclient accessModes: - ReadWriteOnce resources: requests: storage: 10Mi storageClassName: "manual" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-sms-vault namespace: default labels: app: aaf-sms-vault chart: "aaf-sms-vault-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: name: release-name-aaf-sms-vault accessModes: - ReadWriteOnce resources: requests: storage: 2Gi storageClassName: "manual" --- # Source: aaf/charts/aaf-sms/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-sms namespace: default labels: app: aaf-sms chart: "aaf-sms-5.0.0" release: "release-name" heritage: "Tiller" spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: "manual" --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-sshsm-distcenter namespace: default labels: app: aaf-sshsm-distcenter chart: "aaf-sshsm-distcenter-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: name: release-name-aaf-sshsm-distcenter accessModes: - ReadWriteOnce resources: requests: storage: 10Mi storageClassName: "manual" --- # Source: aaf/charts/aaf-sshsm/templates/pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-sshsm-data namespace: default labels: app: aaf-sshsm chart: "aaf-sshsm-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: name: release-name-aaf-sshsm-data accessModes: - ReadWriteOnce resources: requests: storage: 10Mi storageClassName: "manual" --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-sshsm-dbus namespace: default labels: app: aaf-sshsm chart: "aaf-sshsm-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: name: release-name-aaf-sshsm-dbus accessModes: - ReadWriteOnce resources: requests: storage: 10Mi storageClassName: "manual" --- # Source: aaf/templates/aaf-config-pvc.yaml ######### ## ============LICENSE_START==================================================== ## org.onap.aaf ## =========================================================================== ## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ## =========================================================================== ## 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. ## ============LICENSE_END==================================================== ## kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-config-pvc namespace: default labels: app: aaf chart: "aaf-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: app: aaf-config accessModes: - ReadWriteMany resources: requests: storage: 2Gi storageClassName: "manual" --- # Source: aaf/templates/aaf-status-pvc.yaml ######### ## ============LICENSE_START==================================================== ## org.onap.aaf ## =========================================================================== ## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. ## =========================================================================== ## 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. ## ============LICENSE_END==================================================== ## kind: PersistentVolumeClaim apiVersion: v1 metadata: name: release-name-aaf-status-pvc namespace: default labels: app: aaf chart: "aaf-5.0.0" release: "release-name" heritage: "Tiller" spec: selector: matchLabels: app: aaf-status accessModes: - ReadWriteMany resources: requests: storage: 2M storageClassName: "manual" --- # Source: aaf/charts/aaf-cass/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-cass namespace: default labels: app: aaf-cass chart: aaf-cass-5.0.0 release: release-name heritage: Tiller # annotations: # service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec: type: ClusterIP ports: - name: storage protocol: TCP port: 7000 containerPort: 7000 - name: ssl-storage protocol: TCP port: 7001 containerPort: 7001 - name: native-trans protocol: TCP port: 9042 containerPort: 9042 - name: rpc protocol: TCP port: 9160 containerPort: 9160 selector: app: aaf-cass release: release-name clusterIP: None --- # Source: aaf/charts/aaf-cm/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-cm namespace: default labels: app: aaf-cm chart: aaf-cm-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8150 nodePort: 31114 name: aaf-cm selector: app: aaf-cm release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-fs/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-fs namespace: default labels: app: aaf-fs chart: aaf-fs-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8096 nodePort: 31115 name: aaf-hello selector: app: aaf-fs release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-gui/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-gui namespace: default labels: app: aaf-gui chart: aaf-gui-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8200 nodePort: 31113 name: aaf-gui selector: app: aaf-gui release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-hello/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-hello namespace: default labels: app: aaf-hello chart: aaf-hello-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8130 nodePort: 31119 name: aaf-hello selector: app: aaf-hello release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-locate/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-locate namespace: default labels: app: aaf-locate chart: aaf-locate-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8095 nodePort: 31111 name: aaf-locate selector: app: aaf-locate release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-oauth/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-oauth namespace: default labels: app: aaf-oauth chart: aaf-oauth-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8140 nodePort: 31112 name: aaf-oauth selector: app: aaf-oauth release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-service/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: v1 kind: Service metadata: name: aaf-service namespace: default labels: app: aaf-service chart: aaf-service-5.0.0 release: release-name heritage: Tiller spec: ports: - port: 8100 nodePort: 31110 name: aaf-service selector: app: aaf-service release: release-name type: "NodePort" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/service.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: v1 kind: Service metadata: name: aaf-sms-db namespace: default labels: app: release-name-aaf-sms-vault chart: aaf-sms-vault-5.0.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - name: aaf-sms-db port: 8200 targetPort: 8200 protocol: TCP selector: app: aaf-sms-vault release: release-name --- # Source: aaf/charts/aaf-sms/templates/service.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: v1 kind: Service metadata: name: aaf-sms namespace: default labels: app: release-name-aaf-sms chart: aaf-sms-5.0.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - name: port: 10443 targetPort: 10443 protocol: TCP selector: app: aaf-sms release: release-name --- # Source: aaf/charts/aaf-cass/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: name: release-name-aaf-cass namespace: default labels: app: aaf-cass chart: aaf-cass-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: aaf-cass release: release-name template: metadata: labels: app: aaf-cass release: release-name spec: containers: - name: aaf-cass image: nexus3.onap.org:10001/onap/aaf/aaf_cass:2.1.15 imagePullPolicy: Always # installing with cmd "onap" will not only initialize the DB, but add ONAP bootstrap data as well command: ["/bin/bash","/opt/app/aaf/cass_init/cmd.sh","onap"] lifecycle: preStop: exec: command: ["/bin/sh","-c","rm /opt/app/aaf/status/aaf-cass"] ports: - name: storage containerPort: 7000 - name: ssl-storage containerPort: 7001 - name: native-trans containerPort: 9042 - name: rpc containerPort: 9160 env: - name: CASSANDRA_CLUSTER_NAME value: osaaf - name: CASSANDRA_DC value: dc1 - name: HEAP_NEWSIZE value: 512M - name: MAX_HEAP_SIZE value: 1024M - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: MY_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: MY_POD_IP valueFrom: fieldRef: fieldPath: status.podIP volumeMounts: - mountPath: /var/lib/cassandra name: aaf-cass-vol - mountPath: /opt/app/aaf/status name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 9042 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 9042 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-cass-vol persistentVolumeClaim: claimName: release-name-aaf-cass-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-cm/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-cm chart: aaf-cm-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-cm namespace: default spec: replicas: 1 selector: matchLabels: app: aaf-cm release: release-name template: metadata: labels: app: aaf-cm release: release-name spec: initContainers: - name: aaf-cm-config-container image: nexus3.onap.org:10001/onap/aaf/aaf_config:2.1.15 imagePullPolicy: Always command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol env: - name: aaf_env value: "DEV" - name: cadi_latitude value: "38.0" - name: cadi_longitude value: "-72.0" - name: cadi_x509_issuers value: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_release value: "El Alto" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" - name: aaf_locator_name value: "%NS.%N" - name: aaf_locator_name_oom value: "%CNS.%NS.%N" - name: cm_always_ignore_ips value: "true" - name: CASSANDRA_CLUSTER value: "aaf-cass.default" # - name: CASSANDRA_USER # value: "" # - name: CASSANDRA_PASSWORD # value: "" # - name: CASSANDRA_PORT # value: "" containers: - name: aaf-cm command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-cm aaf-locate && exec bin/cm"] image: nexus3.onap.org:10001/onap/aaf/aaf_core:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8150 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8150 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-config-vol persistentVolumeClaim: claimName: release-name-aaf-config-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-fs/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-fs chart: aaf-fs-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-fs namespace: default spec: replicas: 1 selector: matchLabels: app: aaf-fs release: release-name template: metadata: labels: app: aaf-fs release: release-name spec: initContainers: - name: aaf-fs-config-container image: nexus3.onap.org:10001/onap/aaf/aaf_config:2.1.15 imagePullPolicy: Always command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol env: - name: aaf_env value: "DEV" - name: cadi_latitude value: "38.0" - name: cadi_longitude value: "-72.0" - name: cadi_x509_issuers value: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_release value: "El Alto" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" - name: aaf_locator_name value: "%NS.%N" - name: aaf_locator_name_oom value: "%CNS.%NS.%N" - name: cm_always_ignore_ips value: "true" - name: CASSANDRA_CLUSTER value: "aaf-cass.default" # - name: CASSANDRA_USER # value: "" # - name: CASSANDRA_PASSWORD # value: "" # - name: CASSANDRA_PORT # value: "" containers: - name: aaf-fs command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-fs aaf-locate && exec bin/fs"] image: nexus3.onap.org:10001/onap/aaf/aaf_core:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8096 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8096 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-config-vol persistentVolumeClaim: claimName: release-name-aaf-config-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-gui/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-gui chart: aaf-gui-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-gui namespace: default spec: replicas: 1 selector: matchLabels: app: aaf-gui release: release-name template: metadata: labels: app: aaf-gui release: release-name spec: initContainers: - name: aaf-gui-config-container image: nexus3.onap.org:10001/onap/aaf/aaf_config:2.1.15 imagePullPolicy: Always command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol env: - name: aaf_env value: "DEV" - name: cadi_latitude value: "38.0" - name: cadi_longitude value: "-72.0" - name: cadi_x509_issuers value: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_release value: "El Alto" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" - name: aaf_locator_name value: "%NS.%N" - name: aaf_locator_name_oom value: "%CNS.%NS.%N" - name: cm_always_ignore_ips value: "true" - name: CASSANDRA_CLUSTER value: "aaf-cass.default" # - name: CASSANDRA_USER # value: "" # - name: CASSANDRA_PASSWORD # value: "" # - name: CASSANDRA_PORT # value: "" containers: - name: aaf-gui command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-gui aaf-locate && exec bin/gui"] image: nexus3.onap.org:10001/onap/aaf/aaf_core:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8200 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8200 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-config-vol persistentVolumeClaim: claimName: release-name-aaf-config-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-hello/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-hello chart: aaf-hello-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-hello namespace: default spec: replicas: 0 selector: matchLabels: app: aaf-hello release: release-name template: metadata: labels: app: aaf-hello release: release-name spec: volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-hello-vol persistentVolumeClaim: claimName: release-name-aaf-hello-pvc imagePullSecrets: - name: "default-docker-registry-key" initContainers: - name: aaf-hello-config image: nexus3.onap.org:10001/onap/aaf/aaf_agent:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-hello-vol # NOTE: Before this, need Liveness Attached to aaf-certman command: ["bash","-c","exec /opt/app/aaf_config/bin/agent.sh"] env: - name: APP_FQI value: "aaf@aaf.osaaf.org" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_fqdn value: "aaf-hello" - name: aaf_locator_app_ns value: "org.osaaf.aaf" - name: DEPLOY_FQI value: "deployer@people.osaaf.org" # Note: We want to put this in Secrets or at LEAST ConfigMaps - name: DEPLOY_PASSWORD value: "demo123456!" # Note: want to put this on Nodes, evenutally - name: cadi_longitude value: "-72.0" - name: cadi_latitude value: "38.0" # Hello specific. Clients don't don't need this, unless Registering with AAF Locator - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" containers: - name: aaf-hello command: ["bash","-c","cd /opt/app/aaf && if [ ! -d /opt/app/osaaf/etc ]; then cp -Rf etc logs /opt/app/osaaf; fi && exec bin/hello"] image: nexus3.onap.org:10001/onap/aaf/aaf_hello:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-hello-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8130 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8130 initialDelaySeconds: 5 periodSeconds: 10 resources: null --- # Source: aaf/charts/aaf-locate/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-locate chart: aaf-locate-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-locate namespace: default spec: replicas: 1 selector: matchLabels: app: aaf-locate release: release-name template: metadata: labels: app: aaf-locate release: release-name spec: initContainers: - name: aaf-locate-config-container image: nexus3.onap.org:10001/onap/aaf/aaf_config:2.1.15 imagePullPolicy: Always command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol env: - name: aaf_env value: "DEV" - name: cadi_latitude value: "38.0" - name: cadi_longitude value: "-72.0" - name: cadi_x509_issuers value: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_release value: "El Alto" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" - name: aaf_locator_name value: "%NS.%N" - name: aaf_locator_name_oom value: "%CNS.%NS.%N" - name: cm_always_ignore_ips value: "true" - name: CASSANDRA_CLUSTER value: "aaf-cass.default" # - name: CASSANDRA_USER # value: "" # - name: CASSANDRA_PASSWORD # value: "" # - name: CASSANDRA_PORT # value: "" containers: - name: aaf-locate command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-locate aaf-service && exec bin/locate"] image: nexus3.onap.org:10001/onap/aaf/aaf_core:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8095 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8095 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-config-vol persistentVolumeClaim: claimName: release-name-aaf-config-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-oauth/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-oauth chart: aaf-oauth-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-oauth namespace: default spec: replicas: 1 selector: matchLabels: app: aaf-oauth release: release-name template: metadata: labels: app: aaf-oauth release: release-name spec: initContainers: - name: aaf-oauth-config-container image: nexus3.onap.org:10001/onap/aaf/aaf_config:2.1.15 imagePullPolicy: Always command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol env: - name: aaf_env value: "DEV" - name: cadi_latitude value: "38.0" - name: cadi_longitude value: "-72.0" - name: cadi_x509_issuers value: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_release value: "El Alto" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" - name: aaf_locator_name value: "%NS.%N" - name: aaf_locator_name_oom value: "%CNS.%NS.%N" - name: cm_always_ignore_ips value: "true" - name: CASSANDRA_CLUSTER value: "aaf-cass.default" # - name: CASSANDRA_USER # value: "" # - name: CASSANDRA_PASSWORD # value: "" # - name: CASSANDRA_PORT # value: "" containers: - name: aaf-oauth command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-oauth aaf-service && exec bin/oauth"] image: nexus3.onap.org:10001/onap/aaf/aaf_core:2.1.15 imagePullPolicy: Always volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8140 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8140 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-config-vol persistentVolumeClaim: claimName: release-name-aaf-config-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-service/templates/deployment.yaml # Copyright © 2017 Amdocs, Bell Canada # # 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. apiVersion: apps/v1 kind: Deployment metadata: labels: app: aaf-service chart: aaf-service-5.0.0 release: release-name heritage: Tiller name: release-name-aaf-service namespace: default spec: replicas: 1 selector: matchLabels: app: aaf-service release: release-name template: metadata: labels: app: aaf-service release: release-name spec: initContainers: - name: aaf-service-config-container image: nexus3.onap.org:10001/onap/aaf/aaf_config:2.1.15 imagePullPolicy: Always command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config nc aaf-cass.default 9042 sleep 15 remove && bin/agent.sh"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol env: - name: aaf_env value: "DEV" - name: cadi_latitude value: "38.0" - name: cadi_longitude value: "-72.0" - name: cadi_x509_issuers value: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US" - name: aaf_locate_url value: "https://aaf-locate.default:8095" - name: aaf_locator_container value: "oom" - name: aaf_release value: "El Alto" - name: aaf_locator_container_ns value: "default" - name: aaf_locator_public_fqdn value: "aaf.osaaf.org" - name: aaf_locator_name value: "%NS.%N" - name: aaf_locator_name_oom value: "%CNS.%NS.%N" - name: cm_always_ignore_ips value: "true" - name: CASSANDRA_CLUSTER value: "aaf-cass.default" # - name: CASSANDRA_USER # value: "" # - name: CASSANDRA_PASSWORD # value: "" # - name: CASSANDRA_PORT # value: "" containers: - name: aaf-service command: ["/bin/bash","-c","cd /opt/app/aaf && bin/pod_wait.sh aaf-service aaf-cass && exec bin/service"] image: nexus3.onap.org:10001/onap/aaf/aaf_core:2.1.15 imagePullPolicy: Always env: - name: cm_always_ignore_ips value: "true" lifecycle: preStop: exec: command: ["/bin/sh","-c","rm /opt/app/aaf/status/aaf-service* && echo $HOSTNAME >> aaf-service.hosts"] volumeMounts: - mountPath: "/opt/app/osaaf" name: aaf-config-vol - mountPath: "/opt/app/aaf/status" name: aaf-status-vol - mountPath: /etc/localtime name: localtime readOnly: true livenessProbe: tcpSocket: port: 8100 initialDelaySeconds: 120 periodSeconds: 10 readinessProbe: tcpSocket: port: 8100 initialDelaySeconds: 5 periodSeconds: 10 resources: null volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-status-vol persistentVolumeClaim: claimName: release-name-aaf-status-pvc - name: aaf-config-vol persistentVolumeClaim: claimName: release-name-aaf-config-pvc imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sms/templates/deployment.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: apps/v1 kind: Deployment metadata: name: release-name-aaf-sms namespace: default labels: app: aaf-sms chart: aaf-sms-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: aaf-sms release: release-name template: metadata: labels: app: aaf-sms release: release-name spec: initContainers: - image: "oomk8s/readiness-check:2.0.2" imagePullPolicy: Always name: aaf-sms-readiness command: ["/bin/sh", "-c"] args: ["sed -i s/client.AppsV1beta1Api/client.AppsV1Api/g /root/ready.py && /root/ready.py --container-name aaf-sms-vault --container-name aaf-sms-vault-backend"] env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace containers: - image: "nexus3.onap.org:10001/onap/aaf/sms:4.0.1" imagePullPolicy: Always name: aaf-sms command: ["/sms/bin/sms"] workingDir: /sms/ ports: - containerPort: 10443 livenessProbe: httpGet: port: 10443 scheme: HTTPS path: /v1/sms/quorum/status initialDelaySeconds: 10 periodSeconds: 30 readinessProbe: httpGet: port: 10443 scheme: HTTPS path: /v1/sms/quorum/status initialDelaySeconds: 10 periodSeconds: 30 volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /sms/smsconfig.json name: aaf-sms subPath: smsconfig.json - mountPath: /sms/auth name: release-name-aaf-sms-auth resources: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi volumes: - name: localtime hostPath: path: /etc/localtime - name : aaf-sms configMap: name: release-name-aaf-sms - name: release-name-aaf-sms-auth persistentVolumeClaim: claimName: release-name-aaf-sms imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/statefulset.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-aaf-sms-quorumclient namespace: default labels: app: aaf-sms-quorumclient chart: aaf-sms-quorumclient-5.0.0 release: release-name heritage: Tiller spec: replicas: 3 selector: matchLabels: app: aaf-sms-quorumclient release: release-name serviceName: template: metadata: labels: app: aaf-sms-quorumclient release: release-name spec: containers: - image: "nexus3.onap.org:10001/onap/aaf/smsquorumclient:4.0.0" name: aaf-sms-quorumclient imagePullPolicy: Always command: ["/quorumclient/bin/quorumclient"] workingDir: /quorumclient/ volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /quorumclient/config.json name: aaf-sms-quorumclient subPath: config.json - mountPath: /quorumclient/auth name: release-name-aaf-sms-quorumclient-auth resources: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi volumes: - name: localtime hostPath: path: /etc/localtime - name : aaf-sms-quorumclient configMap: name: release-name-aaf-sms-quorumclient items: - key: config.json path: config.json mode: 0755 - name: release-name-aaf-sms-quorumclient-auth persistentVolumeClaim: claimName: release-name-aaf-sms-quorumclient imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/statefulset.yaml # Copyright 2018 Intel Corporation, Inc # # 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. apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-aaf-sms-vault namespace: default labels: app: aaf-sms-vault chart: aaf-sms-vault-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: aaf-sms-vault release: release-name serviceName: template: metadata: labels: app: aaf-sms-vault release: release-name spec: containers: - image: "nexus3.onap.org:10001/library/vault:0.10.0" name: aaf-sms-vault imagePullPolicy: Always command: ["vault","server","-config","/vault/config/config.json"] ports: - containerPort: 8200 volumeMounts: - mountPath: /vault/config/config.json name: release-name-aaf-sms-vault-vault subPath: config.json - mountPath: /etc/localtime name: localtime readOnly: true resources: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi - image: "nexus3.onap.org:10001/library/consul:1.0.6" name: aaf-sms-vault-backend imagePullPolicy: Always command: ["consul","agent","-server","-client","0.0.0.0","-bootstrap-expect=1","-config-file","/consul/config/config.json"] ports: - name: http containerPort: 8500 volumeMounts: - mountPath: /consul/data name: release-name-aaf-sms-vault-consuldata - mountPath: /consul/config/config.json name: release-name-aaf-sms-vault-consulconfiguration subPath: config.json - mountPath: /etc/localtime name: localtime readOnly: true resources: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi volumes: - name: release-name-aaf-sms-vault-consuldata persistentVolumeClaim: claimName: release-name-aaf-sms-vault - name: release-name-aaf-sms-vault-consulconfiguration configMap: name: release-name-aaf-sms-vault-consul - name: release-name-aaf-sms-vault-vault configMap: name: release-name-aaf-sms-vault-vault - name: localtime hostPath: path: /etc/localtime imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sms/templates/job.yaml apiVersion: batch/v1 kind: Job metadata: name: release-name-aaf-sms-preload namespace: default labels: app: aaf-sms chart: aaf-sms-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 template: metadata: labels: app: aaf-sms release: release-name spec: initContainers: - image: "oomk8s/readiness-check:2.0.2" imagePullPolicy: Always name: aaf-sms-readiness command: ["/bin/sh", "-c"] args: ["sed -i s/client.AppsV1beta1Api/client.AppsV1Api/g /root/ready.py && sed -i s/client.ExtensionsV1beta1Api/client.AppsV1Api/g /root/ready.py && /root/ready.py --container-name aaf-sms --container-name aaf-sms-quorumclient"] env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace containers: - image: "nexus3.onap.org:10001/onap/aaf/sms:4.0.1" imagePullPolicy: Always name: aaf-sms-preload command: - "/sms/bin/preload" - "-cacert" - "/sms/certs/aaf_root_ca.cer" - "-jsondir" - "/preload/config" - "-serviceport" - "10443" - "-serviceurl" - "https://aaf-sms.default" workingDir: /sms volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /preload/config name: aaf-sms-preload resources: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi volumes: - name: localtime hostPath: path: /etc/localtime - name : aaf-sms-preload configMap: name: release-name-aaf-sms-preload restartPolicy: OnFailure imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/job.yaml apiVersion: batch/v1 kind: Job metadata: name: release-name-aaf-sshsm-distcenter namespace: default labels: app: aaf-sshsm-distcenter chart: aaf-sshsm-distcenter-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 serviceName: template: metadata: labels: app: aaf-sshsm-distcenter release: release-name spec: restartPolicy: Never initContainers: - image: "nexus3.onap.org:10001/onap/aaf/distcenter:4.0.0" imagePullPolicy: Always name: aaf-sshsm-distcenter-gen-passphrase command: ["sh", "-c", "/usr/bin/openssl rand -base64 12 >/distcenter/data/passphrase"] env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - name: release-name-aaf-sshsm-distcenter-data mountPath: /distcenter/data containers: - image: "nexus3.onap.org:10001/onap/aaf/distcenter:4.0.0" name: aaf-sshsm-distcenter imagePullPolicy: Always command: ["/entrypoint.sh"] workingDir: /distcenter volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - name: release-name-aaf-sshsm-distcenter-data mountPath: /distcenter/data resources: large: limits: cpu: 400m memory: 1Gi requests: cpu: 10m memory: 100Mi small: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi unlimited: {} volumes: - name: localtime hostPath: path: /etc/localtime - name: release-name-aaf-sshsm-distcenter-data persistentVolumeClaim: claimName: release-name-aaf-sshsm-data imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/templates/job.yaml apiVersion: batch/v1 kind: Job metadata: name: release-name-aaf-sshsm-testca namespace: default labels: app: aaf-sshsm-testca chart: aaf-sshsm-testca-5.0.0 release: release-name heritage: Tiller spec: replicas: 1 serviceName: template: metadata: labels: app: aaf-sshsm-testca release: release-name spec: restartPolicy: Never initContainers: - image: "oomk8s/readiness-check:2.0.2" imagePullPolicy: Always name: aaf-sshsm-testca-distcenter-ready command: - /root/job_complete.py args: - -j - "release-name-aaf-sshsm-distcenter" env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace containers: - image: "nexus3.onap.org:10001/onap/aaf/testcaservice:4.0.0" name: aaf-sshsm-testca imagePullPolicy: Always command: ["./import.sh"] workingDir: /testca/bin env: - name: DATA_FOLDER value: /testca/data - name: SECRETS_FOLDER value: /testca/secrets volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - name: release-name-aaf-sshsm-testca-data mountPath: /testca/data - name: release-name-aaf-sshsm-testca-dbus mountPath: /var/run/dbus - name: release-name-aaf-sshsm-testca-secrets mountPath: /testca/secrets readOnly: true resources: large: limits: cpu: 400m memory: 1Gi requests: cpu: 10m memory: 100Mi small: limits: cpu: 200m memory: 500Mi requests: cpu: 10m memory: 10Mi unlimited: {} nodeSelector: volumes: - name: localtime hostPath: path: /etc/localtime - name: release-name-aaf-sshsm-testca-data persistentVolumeClaim: claimName: release-name-aaf-sshsm-data - name: release-name-aaf-sshsm-testca-dbus persistentVolumeClaim: claimName: release-name-aaf-sshsm-dbus - name: release-name-aaf-sshsm-testca-secrets secret: secretName: release-name-aaf-sshsm imagePullSecrets: - name: "default-docker-registry-key" --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/configmap.yaml --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/job.yaml --- # Source: aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/statefulset.yaml *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/dashboard Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading ric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/dashboard Lint OK 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: dashboard/templates/secret.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: v1 kind: Secret type: kubernetes.io/tls metadata: name: secret-dashboard annotations: "helm.sh/hook": "pre-install" "helm.sh/hook-delete-policy": "before-hook-creation" data: tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIRENDQWdTZ0F3SUJBZ0lRRzlJVk5JUmkzWjd5bk9HM0VQMGFDakFOQmdrcWhraUc5dzBCQVFzRkFEQWQKTVJzd0dRWURWUVFERXhKa2IyTnJaWEl0Y21WbmFYTjBjbmt0WTJFd0hoY05Nak14TWpFNU1UVTBOalUzV2hjTgpNalF4TWpFNE1UVTBOalUzV2pBYU1SZ3dGZ1lEVlFRREV3OWtZWE5vWW05aGNtUXRaVzUwY25rd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDOEJVUXNjRGp2Y0htc1I0aVhHbW84andDSGNBVUsKbHhjUDhmMjYrK0o2NTllRlhGTHdwckxvWFFETlhpRjVEMFF6Sk9QWTlmRktYdWhBUTQvVnltUGxvMWNuWlFSVgpNTDNocjMzdHZjRXVROU05V3orOEhxTDBlRGlmVm1CU2FuYWZPL0R3cDlKZkloMVl0dHI2SC93cGVmRDFRNFdGCk5oeGlPVExtTzhoRHpycUx2RWlMdUxaajF1YTVydzFPd3B3L2IrZmYyZjZ4bVhHc2RndDJoOTFUb3RSZmdVOFEKTUFLdTM4dEJteGcycnB5STRrTDVwV0FmWFljNjgxeFp1QzlqZm5tT2RTRHM0WGQwWFdFWnJNVFRxZk9rc0t5dAoxUjhXK0ZVV2xhbk1ENklQZlAyeSs3bTYvb1ZWYmY4bEx6YlFVZ0cycE1aeDJKRWxmK2kxc0dCYkFnTUJBQUdqCld6QlpNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFhQmdOVkhSRUVFekFSZ2c5a1lYTm9ZbTloY21RdFpXNTBjbmt3RFFZSgpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGWUpsYTVBU1JYMjdFSGRwcDBsMS9BMldWT2grUlpNSzZ0R2NjWlFlMlg2CkY2TDBJTm1kam1Oa3h3dnlSc2k2V0RpcjBsR09BbDBFRmdHdzVYMSswQXBQZmZzb3FmK1JOOTRCMUFvbmQzOFYKU0pNc09yclpSZzd0OElocVFsRkkvWmVLck9ONFBCMjJJcDlwVFV2ZmxIckxkTkVRK2swK1M2aWVnNkZPMGYwOQpSZFdySmVNbEp5MmJSM1dsUGFUMlkvVHU3R1BzWDFZY2lSZWFjVlZHNHQ1NHlqdml1VE9ibitmZlZOZ3Q0djhjClVLOUc3blRxNnNrQUtSY09hcTNHckxPSHZPT0x4Tkt4dnZpZEZuWGxYajhFaXErVGlZZjFha1d1Y0NITG5HeGsKRE0xWjJOd285cFpsV2ZxNnJlNGttaTQ1R2piNjFYTUtOV2dFRzVhLzZidz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBdkFWRUxIQTQ3M0I1ckVlSWx4cHFQSThBaDNBRkNwY1hEL0g5dXZ2aWV1ZlhoVnhTCjhLYXk2RjBBelY0aGVROUVNeVRqMlBYeFNsN29RRU9QMWNwajVhTlhKMlVFVlRDOTRhOTk3YjNCTGtQVFBWcy8KdkI2aTlIZzRuMVpnVW1wMm56dnc4S2ZTWHlJZFdMYmEraC84S1hudzlVT0ZoVFljWWpreTVqdklRODY2aTd4SQppN2kyWTlibXVhOE5Uc0tjUDIvbjM5bitzWmx4ckhZTGRvZmRVNkxVWDRGUEVEQUNydC9MUVpzWU5xNmNpT0pDCithVmdIMTJIT3ZOY1diZ3ZZMzU1am5VZzdPRjNkRjFoR2F6RTA2bnpwTENzcmRVZkZ2aFZGcFdwekEraUQzejkKc3Z1NXV2NkZWVzMvSlM4MjBGSUJ0cVRHY2RpUkpYL290YkJnV3dJREFRQUJBb0lCQUF5WGViSlVMYXZ6WjJLZgpROG1Demx5UjR5SXU0VmVOT05FcmpxZUlHT25NUHdYQ1loZVZ3bU9IWHZkaDkzSHBFTk13QkVaU2FqOWx6YjRJCkNFajBEZTZpR3NNYm84ZWt4UUtwUXhDNTVZY1lxYnZ4TVhxQ3ZyMEtsQmd2cTdHNVNZcHVkRHRac2VBSEk5bisKSFBvbFREam0zcmsrTldIdmRzVXBPWHhyd29TdjVQU0R1eXJabktSVGE1OE41MU9EcStLSTRsblBsT0ltVjNOYgp3cXNnTE4rVXoxQUFoL2FXQ3BrTVNyVzVxaU9uYVV6V2locGJXNjcvQmphMDlvZC9vZVlqWFMzalcxOHhzOU5hCjMxdnVuaHRwVXhHVXZMTGo3THVPWUtTUEd2Y3NUZEk3OGZYckl6TzlzaEJEK21NZzVJNVUrVE9NbVBQZ1hFdW0KMk4zcE1Ta0NnWUVBd1NwWmRZdFAzSHI3RnJOckxhSStUaW9QRFBrQk9adzc4UHNjNmdtN0IzRjJUTkxvUzlqZApYd3pvZmtSamw3MnpqSWFGUnBFUFJmT0tNSjNQeE5GRGdUZFRCbklRd3FBWG96MGp5K3FrekY5cDZvbWZTMGRqCjhPY0NEM2dNbXRmTStsWVZUTUdZNDkxL3VUL05Sb1JId3FLdlhKQkgyRTYyMU8reEkzeDF3R2NDZ1lFQStTNTcKKzJPRlp5N0tNMk1YbExMUSs0bXlkazNxWnhNeHFlTzdIcExXd0ZFRDBxK3BaNWRVYjhZeHBIckdQTXMvdDRMOApLbUJ6cjhMTFpMNnF5QmZRMEpsbTdPSmlGQk0yOVhXSlZWT0xyQXNQYTY5WkcyM0JTVWdhYkdrdUowS3lBTUpYCndhSHdKLzlqdnB6eUROand6ZjFlRkR2SDdxSnhWNmNTVjRYOEYrMENnWUJMY3IwcWVsV2hLcS8wTi9RL0NNWUoKUmNoSEt1TmRtemFXYzU3aGt4ZG9XdHI0T3REYy8wSElKSVNTL1NkaFY0bFA5Q01PWXc1eUppUHR4VlluN0F6UAo1Y29hRkdlVGZYQitKQjFkUXJOSDJHVElaU1RCQkl0Mnh1UTVJb3paMWp5TDh4K3lzVk9FZlRtc0k4Mk1JNUxiCjVTdFZuazFSb2Iwc0FzdFByd2RYTlFLQmdCREFsVWxEV1pha1NLZkh3N0FWallNN3NLblBkekRTMDRYdWI0Z1EKcXl0bXh2RUZLa2h5bmhTZHFIeThYRk45L3B5aHk3NDFtZEY1TVI5bXlpaUZvVjVFMGV5ZkU2VHgzY0lHMHVMUApxUlk1OENGM09uQmpvcGtBcGZZZjVDQnpsWEFEb002OXlsMkdCL2lxcUlOQW1uL2V4dEpwYW5tYXBqQVVaV0ZJCityZkpBb0dBUWNwenJ6YmRVRmdGUGd0SVZ5TWlOSUZTN2pPaEEvbTJvMFAvb1pOYnpvdzh3cnIxL2RWb1hxRSsKTjc1N29mSTZPUjBiSjlwZFVrNUpxRHpYZjFmRUdWQ1c0NjRzUDRmektUaElGeldnSnhwclR1bjErN21CalkwTgovYjZIVnFBblhPd21BMWVmQ3VjQU0zVGtnRVJVM3YrWWZaVjdlQVZwZ2lmUkF5RWZXTzg9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== --- # Source: dashboard/templates/appconfig.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ # Defines multiple config maps for mounting as files; e.g., application.properties # The keys listed below MUST be configured in each deployment; # this list does not include all keys recognized by the app. # The template directives in the URL prefix definitions use common # K8S ingress values, but use Dashboard values if present. apiVersion: v1 kind: ConfigMap metadata: name: configmap-ricaux-dashboard-appconfig data: # one key per file application.yaml: | server: port: 8080 userfile: /dashboard-data/users.json portalapi: # constants for all deployments decryptor: org.oransc.ric.portal.dashboard.portalapi.PortalSdkDecryptorAes usercookie: UserId # different in all deployments security: false appname: RIC-Dashboard username: Default password: password a1med: url: suffix: /a1mediator appmgr: url: suffix: /appmgr/ric/v1 e2mgr: url: suffix: /e2mgr/v1 caasingress: insecure: true plt: url: suffix: /api ricinstances: regions: - name: Region AAA instances: - key: i1 name: Primary RIC Instance appUrlPrefix: App prefix 1 caasUrlPrefix: Caas prefix 1 pltUrlPrefix: Plt prefix 1 - key: i2 name: RIC Instance Nr Two appUrlPrefix: App prefix 2 caasUrlPrefix: Caas prefix 2 pltUrlPrefix: Plt prefix 2 - name: Region DDD instances: - key: i3 name: RIC Instance in region D appUrlPrefix: App prefix 3 caasUrlPrefix: Caas prefix 3 pltUrlPrefix: Plt prefix 3 key.properties: | cipher.enc.key = portal.properties: | # fixed values portal.api.impl.class = org.oransc.ric.portal.dashboard.portalapi.PortalRestCentralServiceImpl role_access_centralized = remote # variable values ecomp_redirect_url = https://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/login.htm ecomp_rest_url = http://portal-app:8989/ONAPPORTAL/auxapi ueb_app_key = uebkey # Temp solution before Portal 2.6 users.json: | [{"orgId":null,"managerId":null,"firstName":"First","middleInitial":null,"lastName":"Last","phone":null,"email":null,"hrid":null,"orgUserId":null,"orgCode":null,"orgManagerUserId":null,"jobTitle":null,"loginId":"demo","active":true,"roles":[{"id":1,"name":"System_Administrator","roleFunctions":null}]}] --- # Source: dashboard/templates/persistentVolume.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: storageclass-dashboard provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer --- apiVersion: v1 kind: PersistentVolume metadata: name: pv-dashboard spec: capacity: storage: 1Mi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: storageclass-dashboard local: path: /opt/data/dashboard-data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: local-storage operator: In values: - enable --- # Source: dashboard/templates/persistentVolumeClaim.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-dashboard spec: accessModes: - ReadWriteOnce storageClassName: storageclass-dashboard resources: requests: storage: 1Mi --- # Source: dashboard/templates/service.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: v1 kind: Service metadata: name: service-ricaux-dashboard-http namespace: ricaux labels: app: ricaux-dashboard chart: dashboard-2.0.0 release: release-name heritage: Tiller spec: type: NodePort ports: - port: 8080 nodePort: 30080 protocol: "TCP" targetPort: "http" selector: app: ricaux-dashboard release: release-name --- # Source: dashboard/templates/deployment.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: apps/v1 kind: Deployment metadata: name: deployment-ricaux-dashboard namespace: ricaux labels: app: ricaux-dashboard chart: dashboard-2.0.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: ricaux-dashboard release: release-name template: metadata: labels: app: ricaux-dashboard release: release-name spec: hostname: dashboard imagePullSecrets: - name: secret-nexus3-o-ran-sc-org-10002-o-ran-sc containers: - name: container-ricaux-dashboard image: nexus3.o-ran-sc.org:10002/o-ran-sc/ric-dashboard:2.0.0 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 protocol: TCP volumeMounts: - name: appconfig mountPath: /config/application.yaml subPath: application.yaml readOnly: true - name: appconfig mountPath: /maven/key.properties subPath: key.properties readOnly: true - name: appconfig mountPath: /maven/portal.properties subPath: portal.properties readOnly: true # Temp solution until portal 2.6 - name: appconfig mountPath: /dashboard-data/users.json subPath: users.json # - name: dashboard-users # mountPath: /dashboard-data livenessProbe: httpGet: path: /api/admin/health port: http initialDelaySeconds: 15 readinessProbe: httpGet: path: /api/admin/version port: http initialDelaySeconds: 15 volumes: - name: appconfig configMap: name: configmap-ricaux-dashboard-appconfig - name: dashboard-users persistentVolumeClaim: claimName: pvc-dashboard --- # Source: dashboard/templates/ingress.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: ingress-ricaux-dashboard spec: tls: - hosts: - dashboard-entry secretName: secret-dashboard rules: - host: dashboard-entry http: paths: - backend: serviceName: service-ricaux-dashboard-http servicePort: http path: "/" *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/mc-stack Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 3 charts Dependency elasticsearch did not declare a repository. Assuming it exists in the charts directory Dependency kibana did not declare a repository. Assuming it exists in the charts directory Dependency logstash did not declare a repository. Assuming it exists in the charts directory Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/mc-stack [INFO] Chart.yaml: icon is recommended [WARNING] templates/: directory not found 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: mc-stack/charts/elasticsearch/templates/poddisruptionbudget.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: "elasticsearch-master-pdb" spec: maxUnavailable: 1 selector: matchLabels: app: "elasticsearch-master" --- # Source: mc-stack/charts/logstash/templates/poddisruptionbudget.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: release-name-logstash labels: app: logstash chart: logstash-1.13.0 release: release-name heritage: Tiller spec: selector: matchLabels: app: logstash release: release-name maxUnavailable: 1 --- # Source: mc-stack/charts/logstash/templates/files-config.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: release-name-logstash-files labels: app: logstash chart: logstash-1.13.0 release: release-name heritage: Tiller data: binaryData: --- # Source: mc-stack/charts/logstash/templates/patterns-config.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: release-name-logstash-patterns labels: app: logstash chart: logstash-1.13.0 release: release-name heritage: Tiller data: --- # Source: mc-stack/charts/logstash/templates/pipeline-config.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: release-name-logstash-pipeline labels: app: logstash chart: logstash-1.13.0 release: release-name heritage: Tiller data: input_main: |- input { # udp { # port => 1514 # type => syslog # } # tcp { # port => 1514 # type => syslog # } #beats { # port => 5044 #} http { port => 8080 } # http { # port => 8080 # } # kafka { # ## ref: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html # bootstrap_servers => "kafka-input:9092" # codec => json { charset => "UTF-8" } # consumer_threads => 1 # topics => ["source"] # type => "example" # } } filter_main: |- filter { if "GS-LITE MC" in [message] { if "mc_connected_cnt" in [message] { csv { columns => ["reportingEntityName","eventType","count_connected_ue","TS"] separator => "," convert => { "count_connected_ue" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "mc_unique_ue_cnt" in [message] { csv { columns => ["reportingEntityName","eventType","count_unique_ue","TS"] separator => "," convert => { "count_unique_ue" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "reconfig_status_reject_cause" in [message] { csv { columns => ["reportingEntityName","eventType","total_reconfig_reject","count_radio_network","count_transport","count_protocol","count_misc","GNB_ID","TS"] separator => "," convert => { "total_reconfig_reject" => "integer" "count_radio_network" => "integer" "count_transport" => "integer" "count_protocol" => "integer" "count_misc" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "release_req_success_stats" in [message] { csv { columns => ["reportingEntityName","eventType","min_success_time","max_success_time","avg_success_time","pctl_05_success_time","pctl_95_success_time","GNB_ID","stddev_success_time","TS"] separator => "," convert => { "min_success_time" => "float" "max_success_time" => "float" "avg_success_time" => "float" "pctl_05_success_time" => "float" "pctl_95_success_time" => "float" "stddev_success_time" => "float" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "mod_status_refuse_cause" in [message] { csv { columns => ["reportingEntityName","eventType","total_reconfig_refuse","count_radio_network","count_transport","count_protocol","count_misc","GNB_ID","TS"] separator => "," convert => { "total_reconfig_refuse" => "integer" "count_radio_network" => "integer" "count_transport" => "integer" "count_protocol" => "integer" "count_misc" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "release_cause" in [message] { csv { columns => ["reportingEntityName","eventType","total_reconfig_refuse","count_radio_network","count_transport","count_protocol","count_misc","GNB_ID","TS"] separator => "," convert => { "total_reconfig_refuse" => "integer" "count_radio_network" => "integer" "count_transport" => "integer" "count_protocol" => "integer" "count_misc" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "addreq_pdf_nr_gnb" in [message] { csv { columns => ["reportingEntityName","eventType","rsrp_medium","rsrp_bad","cnt","rsrp_vbad","GNB_ID","rsrp_good","rsrp_vgood","TS"] separator => "," convert => { "rsrp_medium" => "integer" "rsrp_bad" => "integer" "cnt" => "integer" "rsrp_vbad" => "integer" "rsrp_good" => "integer" "rsrp_vgood" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "addreq_success_stats" in [message] { csv { columns => ["reportingEntityName","eventType","stddev_success_time","max_success_time","avg_success_time","pctl_95_success_time","pctl_05_success_time","GNB_ID","min_success_time","TS"] separator => "," convert => { "stddev_success_time" => "float" "max_success_time" => "float" "avg_success_time" => "float" "pctl_95_success_time" => "float" "pctl_05_success_time" => "float" "min_success_time" => "float" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "mc_connects_cnt" in [message] { csv { columns => ["reportingEntityName","eventType","count_ue_connects","TS"] separator => "," convert => { "count_ue_connects" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "erab_stats" in [message] { csv { columns => ["reportingEntityName","eventType","qCI_other","total_erabs","qCI_9","qCI_8","qCI_7","qCI_6","qCI_5","qCI_4","qCI_3","qCI_2","qCI_1","TS"] separator => "," convert => { "qCI_other" => "integer" "total_erabs" => "integer" "qCI_9" => "integer" "qCI_8" => "integer" "qCI_7" => "integer" "qCI_6" => "integer" "qCI_5" => "integer" "qCI_4" => "integer" "qCI_3" => "integer" "qCI_2" => "integer" "qCI_1" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "mc_disconnects_cnt" in [message] { csv { columns => ["reportingEntityName","eventType","count_ue_disconnects","TS"] separator => "," convert => { "count_ue_disconnects" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "reconfig_status_success_rate" in [message] { csv { columns => ["reportingEntityName","eventType","successful_reconfiguration_requests","GNB_ID","success_rate","total_reconfiguration_requests","TS"] separator => "," convert => { "successful_reconfiguration_requests" => "integer" "success_rate" => "integer" "total_reconfiguration_requests" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "addreq_pdf_nr_cell" in [message] { csv { columns => ["reportingEntityName","eventType","rsrp_medium","rsrp_bad","cnt","rsrp_vbad","CELL_ID","rsrp_good","rsrp_vgood","TS"] separator => "," convert => { "rsrp_medium" => "integer" "rsrp_bad" => "integer" "cnt" => "integer" "rsrp_vbad" => "integer" "CELL_ID" => "integer" "rsrp_good" => "integer" "rsrp_vgood" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "rrcx_pdf_serv_cell" in [message] { csv { columns => ["reportingEntityName","eventType","rsrp_medium","rsrp_bad","cnt","rsrp_vbad","CELL_ID","rsrp_good","rsrp_vgood","TS"] separator => "," convert => { "rsrp_medium" => "integer" "rsrp_bad" => "integer" "cnt" => "integer" "rsrp_vbad" => "integer" "CELL_ID" => "integer" "rsrp_good" => "integer" "rsrp_vgood" => "integer" "TS" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "rrcx_stats_serv_gnb" in [message] { csv { columns => ["reportingEntityName","eventType","median_rsrp","cnt","max_rsrp","stddev_rsrp","GNB_ID","pctl_95_rsrp","pctl_05_rsrp","TS","min_rsrp"] separator => "," convert => { "median_rsrp" => "integer" "cnt" => "integer" "max_rsrp" => "integer" "stddev_rsrp" => "float" "pctl_95_rsrp" => "integer" "pctl_05_rsrp" => "integer" "TS" => "integer" "min_rsrp" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "addreq_stats_nr_cell" in [message] { csv { columns => ["reportingEntityName","eventType","median_rsrp","cnt","max_rsrp","stddev_rsrp","CELL_ID","pctl_95_rsrp","pctl_05_rsrp","TS","min_rsrp"] separator => "," convert => { "median_rsrp" => "integer" "cnt" => "integer" "max_rsrp" => "integer" "stddev_rsrp" => "float" "CELL_ID" => "integer" "pctl_95_rsrp" => "integer" "pctl_05_rsrp" => "integer" "TS" => "integer" "min_rsrp" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "addreq_stats_nr_gnb" in [message] { csv { columns => ["reportingEntityName","eventType","median_rsrp","cnt","max_rsrp","stddev_rsrp","GNB_ID","pctl_95_rsrp","pctl_05_rsrp","TS","min_rsrp"] separator => "," convert => { "median_rsrp" => "integer" "cnt" => "integer" "max_rsrp" => "integer" "stddev_rsrp" => "float" "pctl_95_rsrp" => "integer" "pctl_05_rsrp" => "integer" "TS" => "integer" "min_rsrp" => "integer" } } date { match => [ "TS", "UNIX" ] target => "TS" } } else if "mc_connection_stats" in [message] { csv { columns => ["reportingEntityName","eventType","avg_connected_time","pctl_05_connected_time","pctl_95_connected_time","min_connected_time","stddev_connected_time", "max_connected_time", "TS"] separator => "," convert => { "avg_connected_time" => "float" "pctl_05_connected_time" => "float" "pctl_95_connected_time" => "float" "min_connected_time" => "float" "stddev_connected_time" => "float" "max_connected_time" => "float" "TS" => "float" } } date { match => [ "TS", "UNIX" ] target => "TS" } } } else if "AC xAPP" in [message] { csv { columns => ["reportingEntityName","SgNB_Request_Rate","SgNB_Accept_Rate"] separator => "," convert => { "SgNB_Request_Rate" => "integer" "SgNB_Accept_Rate" => "integer" } } } else { csv { columns => ["reportingEntityName","Unknown1","Unknown2"] separator => "," } } } output_main: |- output { if "GS-LITE MC" in [reportingEntityName] { if "mc_connected_cnt" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-connected-cnt" } } else if "erab_stats" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-erab-stats" } } else if "reconfig_status_reject_cause" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-reconfig-status-reject-cause" } } else if "release_req_success_stats" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-release-req-success-stats" } } else if "mod_status_refuse_cause" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-mod-status-refuse-cause" } } else if "release_cause" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-release-cause" } } else if "mc_unique_ue_cnt" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-unique-ue-cnt" } } else if "mc_connection_stats" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-conn-stats" } } else if "addreq_pdf_nr_gnb" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-addreq-pdf-nr-gnb" } } else if "rrcx_stats_serv_gnb" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-rrcx-stats-serv-gnb" } } else if "rrcx_pdf_serv_cell" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-rrcx-pdf-serv-cell" } } else if "reconfig_status_success_rate" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-reconfig-status-success-rate" } } else if "mc_disconnects_cnt" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-disconnects-cnt" } } else if "mc_connects_cnt" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-connects-cnt" } } else if "addreq_success_stats" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-addreq-success-stats" } } else if "addreq_stats_nr_gnb" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-addreq-stats-nr-gnb" } } else if "addreq_stats_nr_cell" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-addreq-stats-nr-cell" } } else if "addreq_pdf_nr_cell" in [eventType] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-mc-addreq-pdf-nr-cell" } } } else if "AC xAPP" in [reportingEntityName] { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-ac" } } else { elasticsearch { hosts => "elasticsearch-data.kube-system.svc.rec.io" index => "events-ves-other" } } } --- # Source: mc-stack/charts/elasticsearch/templates/service.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- kind: Service apiVersion: v1 metadata: name: elasticsearch-master labels: heritage: "Tiller" release: "release-name" chart: "elasticsearch-7.3.0" app: "elasticsearch-master" annotations: {} spec: type: ClusterIP selector: heritage: "Tiller" release: "release-name" chart: "elasticsearch-7.3.0" app: "elasticsearch-master" ports: - name: http protocol: TCP port: 9200 - name: transport protocol: TCP port: 9300 --- kind: Service apiVersion: v1 metadata: name: elasticsearch-master-headless labels: heritage: "Tiller" release: "release-name" chart: "elasticsearch-7.3.0" app: "elasticsearch-master" annotations: service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec: clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve # Create endpoints also if the related pod isn't ready publishNotReadyAddresses: true selector: app: "elasticsearch-master" ports: - name: http port: 9200 - name: transport port: 9300 --- # Source: mc-stack/charts/kibana/templates/service.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- apiVersion: v1 kind: Service metadata: name: release-name-kibana labels: app: kibana release: "release-name" heritage: Tiller spec: type: ClusterIP ports: - port: 5601 protocol: TCP name: http targetPort: 5601 selector: app: kibana release: "release-name" --- # Source: mc-stack/charts/logstash/templates/service.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: v1 kind: Service metadata: name: release-name-logstash labels: app: logstash chart: logstash-1.13.0 release: release-name heritage: Tiller annotations: spec: type: ClusterIP ports: - name: beats port: 5044 protocol: TCP targetPort: 8080 selector: app: logstash release: release-name --- # Source: mc-stack/charts/elasticsearch/templates/test/test-elasticsearch-health.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- apiVersion: v1 kind: Pod metadata: name: "release-name-vdeiu-test" annotations: "helm.sh/hook": test-success spec: containers: - name: "release-name-wrbma-test" image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.0" command: - "sh" - "-c" - | #!/usr/bin/env bash -e curl -XGET --fail 'elasticsearch-master:9200/_cluster/health?wait_for_status=green&timeout=1s' restartPolicy: Never --- # Source: mc-stack/charts/kibana/templates/deployment.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: apps/v1 kind: Deployment metadata: name: release-name-kibana labels: app: kibana release: "release-name" spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: kibana release: "release-name" template: metadata: labels: app: kibana release: "release-name" annotations: spec: securityContext: fsGroup: 1000 volumes: containers: - name: kibana securityContext: capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000 image: "docker.elastic.co/kibana/kibana-oss:7.3.0" imagePullPolicy: "IfNotPresent" env: - name: ELASTICSEARCH_HOSTS value: "http://elasticsearch-master:9200" - name: SERVER_HOST value: "0.0.0.0" readinessProbe: failureThreshold: 3 initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 3 timeoutSeconds: 5 exec: command: - sh - -c - | #!/usr/bin/env bash -e http () { local path="${1}" set -- -XGET -s --fail if [ -n "${ELASTIC_USERNAME}" ] && [ -n "${ELASTIC_PASSWORD}" ]; then set -- "$@" -u "${ELASTIC_USERNAME}:${ELASTIC_PASSWORD}" fi curl -k "$@" "http://localhost:5601${path}" } http "/app/kibana" ports: - containerPort: 5601 resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 100m memory: 500m volumeMounts: --- # Source: mc-stack/charts/elasticsearch/templates/statefulset.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch-master labels: heritage: "Tiller" release: "release-name" chart: "elasticsearch-7.3.0" app: "elasticsearch-master" annotations: esMajorVersion: "7" spec: serviceName: elasticsearch-master-headless selector: matchLabels: app: "elasticsearch-master" replicas: 1 podManagementPolicy: Parallel updateStrategy: type: RollingUpdate template: metadata: name: "elasticsearch-master" labels: heritage: "Tiller" release: "release-name" chart: "elasticsearch-7.3.0" app: "elasticsearch-master" annotations: spec: securityContext: fsGroup: 1000 affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - "elasticsearch-master" topologyKey: kubernetes.io/hostname terminationGracePeriodSeconds: 120 volumes: initContainers: - name: configure-sysctl securityContext: runAsUser: 0 privileged: true image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.0" command: ["sysctl", "-w", "vm.max_map_count=262144"] resources: {} containers: - name: "elasticsearch" securityContext: capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000 image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.0" imagePullPolicy: "IfNotPresent" readinessProbe: failureThreshold: 3 initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 3 timeoutSeconds: 5 exec: command: - sh - -c - | #!/usr/bin/env bash -e # If the node is starting up wait for the cluster to be ready (request params: 'wait_for_status=green&timeout=1s' ) # Once it has started only check that the node itself is responding START_FILE=/tmp/.es_start_file http () { local path="${1}" if [ -n "${ELASTIC_USERNAME}" ] && [ -n "${ELASTIC_PASSWORD}" ]; then BASIC_AUTH="-u ${ELASTIC_USERNAME}:${ELASTIC_PASSWORD}" else BASIC_AUTH='' fi curl -XGET -s -k --fail ${BASIC_AUTH} http://127.0.0.1:9200${path} } if [ -f "${START_FILE}" ]; then echo 'Elasticsearch is already running, lets check the node is healthy' http "/" else echo 'Waiting for elasticsearch cluster to become cluster to be ready (request params: "wait_for_status=green&timeout=1s" )' if http "/_cluster/health?wait_for_status=green&timeout=1s" ; then touch ${START_FILE} exit 0 else echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )' exit 1 fi fi ports: - name: http containerPort: 9200 - name: transport containerPort: 9300 resources: limits: cpu: 1000m memory: 2Gi requests: cpu: 100m memory: 2Gi env: - name: node.name valueFrom: fieldRef: fieldPath: metadata.name - name: cluster.initial_master_nodes value: "elasticsearch-master-0," - name: discovery.seed_hosts value: "elasticsearch-master-headless" - name: cluster.name value: "elasticsearch" - name: network.host value: "0.0.0.0" - name: ES_JAVA_OPTS value: "-Xmx1g -Xms1g" - name: node.data value: "true" - name: node.ingest value: "true" - name: node.master value: "true" volumeMounts: --- # Source: mc-stack/charts/logstash/templates/statefulset.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-logstash labels: app: logstash chart: logstash-1.13.0 release: release-name heritage: Tiller spec: serviceName: release-name-logstash replicas: 1 podManagementPolicy: OrderedReady selector: matchLabels: app: logstash release: release-name template: metadata: labels: app: logstash release: release-name annotations: checksum/patterns: 7459013605969523101fa8892bac80fbfa9305603b7fdd94ea0c5fa73fbad92a checksum/templates: 7fded1921af22d6aff04b1e7f8f3c142e7fc80b3e39488bde087efbcce2388a1 checksum/pipeline: 0d35d2413146a4abc7dfa617210768793552b1bab0d6c05aafdf34dab84baa63 spec: securityContext: runAsUser: 1000 fsGroup: 1000 initContainers: containers: ## logstash - name: logstash image: "docker.elastic.co/logstash/logstash-oss:7.3.0" imagePullPolicy: IfNotPresent ports: - name: monitor containerPort: 9600 protocol: TCP - containerPort: 5044 name: beats protocol: TCP livenessProbe: null readinessProbe: null env: ## Logstash monitoring API host and port env vars - name: HTTP_HOST value: "0.0.0.0" - name: HTTP_PORT value: "9600" ## Elasticsearch output - name: ELASTICSEARCH_HOST value: "elasticsearch-data.kube-system.svc.rec.io" - name: ELASTICSEARCH_PORT value: "9200" # Logstash Java Options - name: LS_JAVA_OPTS value: -Xmx1g -Xms1g ## Additional env vars - name: CONFIG_RELOAD_AUTOMATIC value: "true" - name: PATH_CONFIG value: "/usr/share/logstash/pipeline" - name: PATH_DATA value: "/usr/share/logstash/data" - name: QUEUE_CHECKPOINT_WRITES value: "1" - name: QUEUE_DRAIN value: "true" - name: QUEUE_MAX_BYTES value: "1gb" - name: QUEUE_TYPE value: "persisted" resources: {} volumeMounts: - mountPath: /usr/share/logstash/data name: data - mountPath: /usr/share/logstash/patterns name: patterns - mountPath: /usr/share/logstash/files name: files - mountPath: /usr/share/logstash/pipeline name: pipeline terminationGracePeriodSeconds: 30 volumes: - name: patterns configMap: name: release-name-logstash-patterns - name: files configMap: name: release-name-logstash-files - name: pipeline configMap: name: release-name-logstash-pipeline - name: data emptyDir: {} --- # Source: mc-stack/charts/elasticsearch/templates/configmap.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- # Source: mc-stack/charts/elasticsearch/templates/ingress.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- --- # Source: mc-stack/charts/kibana/templates/configmap.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- # Source: mc-stack/charts/kibana/templates/ingress.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- --- # Source: mc-stack/charts/logstash/templates/ingress.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/mrsub No requirements found in /tmp/it-dep/ric-aux/helm/mrsub/charts. *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/mrsub [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: mrsub/templates/configmap-bin.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: configmap-release-name-mrsub-bin data: mrsub.sh: "#!/bin/bash\n\nMR_HOSTPORT=\"$_MR_HOSTPORT\"\nMR_TOPIC=\"$_MR_TOPIC\"\nLOGSTASH_URL=\"$_LOGSTASH_URL\"\n\nif ! jq --version > /dev/null 2&>1 ; then\n apt-get update\n apt-get install -y jq curl\nfi\n\necho \"IN SCRIPT\"\necho \"$MR_HOSTPORT $MR_TOPIC $LOGSTASH_URL\"\n\nwhile true; do\n # if dmaap returns single JSON structure\n DATA=$(curl -s -H \"Accept: application/json\" -X GET http://${MR_HOSTPORT}/events/${MR_TOPIC}/elk-plotter/elk-plotter?timeout=60000)\n \ DATA=$(echo $DATA| sed -e 's/\\\\\"/\"/g' -e 's/\"{/{/g' -e 's/}\"/}/g')\n echo \"Getting data: $DATA\"\n\n #VESEVENT=$(echo $DATA |jq -r '((.event.commonEventHeader.lastEpochMicrosec)|tostring) + \",\" + ((.event.measurementsForVfScalingFields.vNicUsageArray[0].receivedTotalPacketsDelta) | tostring)')\n #curl -i -XPUT 'http://127.0.0.1:8080/onenumber/onenumebr' -d \"${VESEVENT}\"\n\n \ # dmaap returns json array\n # echo \"Reading source: $.event.commonEventHeader.reportingEntityName\"\n \ source=$(echo $DATA |jq -r '.[] | ((.event.commonEventHeader.reportingEntityName) | tostring)')\n echo \"Source name: $source\"\n if [ \"$source\" == \"GS_LITE MC\" ]\n then\n DATA=$(echo $DATA |jq -r --arg source \"$source\" '.[] | $source+\",\"+((.event.measurementsForVfScalingFields.additionalFields[1].value) | tostring)+ \",\"+ ((.event.measurementsForVfScalingFields.additionalFields[2].value) | tostring)')\n #EVENTS=$(echo $DATA |jq -r '.event.measurementFields.additionalFields.SgNBRequestRate')\n \ #for EVENT in $EVENTS; do\n elif [ \"$source\" == \"AC xAPP\" ] \n then \n \ DATA=$(echo $DATA |jq -r --arg source \"$source\" '.[] | $source+\",\"+((.event.measurementsForVfScalingFields.additionalFields[0].value) | tostring)')\n else\n DATA=\"No supportive reporting entity provided\"\n fi\n \ echo \"Injecting VES event: $DATA\"\n curl -i -XPUT \"${LOGSTASH_URL}\" -d \"${DATA}\"\n \ #done\ndone\n\n" --- # Source: mrsub/templates/configmap-env.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: configmap-release-name-mrsub-env data: _MR_HOSTPORT: "10.1.0.26:30227" _MR_TOPIC: "unauthenticated.SEC_MEASUREMENT_OUTPUT" _LOGSTASH_URL: "http://192.168.130.77:8081/ves/ves" --- # Source: mrsub/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: release-name-mrsub labels: app.kubernetes.io/name: mrsub helm.sh/chart: mrsub-0.1.0 app.kubernetes.io/instance: release-name app.kubernetes.io/managed-by: Tiller spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: mrsub app.kubernetes.io/instance: release-name template: metadata: labels: app.kubernetes.io/name: mrsub app.kubernetes.io/instance: release-name spec: containers: - name: mrsub image: "ubuntu:16.04" imagePullPolicy: IfNotPresent command: ["/scripts/mrsub.sh"] #command: ["sleep"] #args: ["3600"] volumeMounts: - mountPath: /scripts name: script envFrom: - configMapRef: name: configmap-release-name-mrsub-env volumes: - name: script configMap: name: configmap-release-name-mrsub-bin defaultMode: 0744 *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/infrastructure Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 6 charts Downloading ric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/infrastructure [INFO] Chart.yaml: icon is recommended [WARNING] templates/: directory not found 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: infrastructure/charts/certificate-manager/templates/secret.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- apiVersion: v1 kind: Secret metadata: name: secret-ric-ca-cert namespace: ricaux data: ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURSakNDQWk2Z0F3SUJBZ0lRYWsvdnRjVXlvcWpPU2h0b21Ubk9nakFOQmdrcWhraUc5dzBCQVFzRkFEQTkKTVRzd09RWURWUVFERXpJdlF6MVZVeTlQUFU4dFVrRk9JRUZzYkdsaGJtTmxMMDlWUFU4dFVrRk9JRk52Wm5SMwpZWEpsSUVOdmJXMTFibWwwZVRBZUZ3MHlNekV5TVRreE5UUTNNREZhRncwME9ERXlNVEl4TlRRM01ERmFNRDB4Ck96QTVCZ05WQkFNVE1pOURQVlZUTDA4OVR5MVNRVTRnUVd4c2FXRnVZMlV2VDFVOVR5MVNRVTRnVTI5bWRIZGgKY21VZ1EyOXRiWFZ1YVhSNU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBd0FtVApSREhONVoxQlF2OXFjZEp2Vyt1anUrcGV6YTJmN2k2dm05bVFpT3NQaU1Ra0YvanFhckE1R3hWeDExVHp6ZUFIClZVYkM0L2FOME85THJzUXpLVnp0b1JJREYxeEZPNWN3TlpIbnE2MGFrck85MFA4TEpNS3draW15MEpLY1ZRR1YKbkJuNC9LbkxFc2pIL2ZyK1hZZWZHRHliT01HVnZONXhOSUVjeHJKdzErSWJNcVZQRDd6dkh1U1pCUVNYeXk4SAo4RUxPVDF0YStRZENuUHRFNEpZaFd0UWYrM1hTbzVIaDdHQXE2c0NuWXdxb2JraWI3MHZjc01kY25aVFVvNEwrCnlwTU1jUHlIWFFsbEFJUnJ2cDRJNFlnOTkxc2htWFVwMzhvTkZXNHhyUVc4YUV4dHZ0aUNOMkxibHpvNTVpRC8KNzR4QnBEUjJVbk1jWHVuT3V3SURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQXFRd0hRWURWUjBsQkJZdwpGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFKOHc5Y211RVI3L0dkVG05QTJVZ1VvKyt0WWJVTlRCbDE2K3B1V3RReFFjZExzSlpDZ1IKRkg2MDVPb05qQ2w4dmV4OG0xbDlUdUZnc1FnbEdTNHlOOVJKSDNhcWVPcG4wRkVvYzlHb2VDcmUzZlpLM0s0NApXVlE1dnBSRjd4SWc4TG9ZRVA2Z0QzWW9CYWZURGY5bkFTTk5CSWdVTGlFNW8xY094cnFKTEltSURJRFJKbnFZCmNlOGxOcUZkdUp0NkI4TnFvdlpuZmY1dVVGSm43WDIxVmZONUhCclYwTnpBc0E0Lzhmcm9qL3N5VXlwQ29CNlEKOTJXTVdjWCsvOE0yT1hhV2lDVEtmN0FqeHc0ZGN1dzI3Sy9wdHl3VXJKOExlVFB1OUg0M3BTam55dnJtYXplRgprOXVneUZKNWxZM2dEeVNKZFl4ZHVBdWhGL3NRUWRjWlFDbz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= --- apiVersion: v1 kind: Secret metadata: name: secret-plt-ingress-cert namespace: ricaux data: tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhakNDQWxLZ0F3SUJBZ0lSQUlOR2h4L1R2SnVEZ3o4ME1LbVMyU0F3RFFZSktvWklodmNOQVFFTEJRQXcKUFRFN01Ea0dBMVVFQXhNeUwwTTlWVk12VHoxUExWSkJUaUJCYkd4cFlXNWpaUzlQVlQxUExWSkJUaUJUYjJaMApkMkZ5WlNCRGIyMXRkVzVwZEhrd0hoY05Nak14TWpFNU1UVTBOekF4V2hjTk5EZ3hNakV5TVRVME56QXhXakJOCk1Vc3dTUVlEVlFRREUwSXZRejFWVXk5UFBVOHRVa0ZPSUVGc2JHbGhibU5sTDA5VlBVOHRVa0ZPSUZOdlpuUjMKWVhKbElFTnZiVzExYm1sMGVTOURUajFTU1VNdFVHeGhkR1p2Y20wd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQQpBNElCRHdBd2dnRUtBb0lCQVFDNkJlT0EwM3lCM0tVa0VWaG5MVU1IZm9RSHBIcmZrNUd0dzdxN2tLZnVSdXZJCkM0RlJyZlZnNDBaWUNlREpEaE8yd1g2dzNLdE1QR3gxQlJxVE5CaU8raGFPRlNvdlVwTEZFZU5reER0VThyVGMKN3JCbWZNZk14YW9kcmZwUFFOZU9uTmRsQW5qRzl4a2p0SGt2RTNYbmVXbEY4RmtLc0hSdFhQYll2OGtsOXU4cQp2UG1tTUcwMTR2T0ZOZS8yWFZJS1labERjU1EzK01DN25IdmNrVW9TYU82VnRuWDFXK2pGaXgvTWhZNWJRMGhBCm85YkZHbElWYkVlVGRpNE52S01KVEpzTFFlZkN0TUp6Q0JPZ1JzVXVDcjNoOHd1WkI1OE5SQUw1cDlYZ2ZLRDgKd2lsQVFHV2F4N2hzSGpFWWozcyt1YTFwczJqWWVZMlVhZ0EvN2VBWkFnTUJBQUdqVlRCVE1BNEdBMVVkRHdFQgovd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0l3REFZRFZSMFRBUUgvCkJBSXdBREFVQmdOVkhSRUVEVEFMZ2dseWFXTXRaVzUwY25rd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDVDUKeDNmK3l6dlFZOFEweWFVanVZS0JVOWJ0M2JWS2JUZm4rTllsc0tqYmlTbll1TUZUNTJoa05XNmNXSTZ3T2RZRQpEWndrL0NUbEJhOER4TmJsSjM2b1FFTndNUFVBdGFTOUI5SlRrY1dNRlFQQW0yVTZLa00zei90QVQ5NVJUVWs1CjRrSks2dExwVy9mRVN6Z1NFZnd0YmZDOUNWZ3J6SlRudnJSU0N6UzBoNExTalgwQ2tSelJJdk90b0pqNzZ6NlcKWGI4bnVaT2ZwS2o1TmwvZ1VwTjFVRVd6R0lYbDlHcDNkVjVSbUpRRkRveG0yTkNtSHVxU0s3cnRTUTZXMGZOZgpOR3BSaWFqK3lVd0Q0RDBuWXZaNXNFRys3Y0tzL1dFenNTdFZpWHZvYitUT1Ayc1prMzdMNXNWV3JNdzNKWXFSCkVERDUzbWJGZmJnaTZkd1F1ZTQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBdWdYamdOTjhnZHlsSkJGWVp5MURCMzZFQjZSNjM1T1JyY082dTVDbjdrYnJ5QXVCClVhMzFZT05HV0FuZ3lRNFR0c0Yrc055clREeHNkUVVha3pRWWp2b1dqaFVxTDFLU3hSSGpaTVE3VlBLMDNPNncKWm56SHpNV3FIYTM2VDBEWGpwelhaUUo0eHZjWkk3UjVMeE4xNTNscFJmQlpDckIwYlZ6MjJML0pKZmJ2S3J6NQpwakJ0TmVMemhUWHY5bDFTQ21HWlEzRWtOL2pBdTV4NzNKRktFbWp1bGJaMTlWdm94WXNmeklXT1cwTklRS1BXCnhScFNGV3hIazNZdURieWpDVXliQzBIbndyVENjd2dUb0ViRkxncTk0Zk1MbVFlZkRVUUMrYWZWNEh5Zy9NSXAKUUVCbG1zZTRiQjR4R0k5N1BybXRhYk5vMkhtTmxHb0FQKzNnR1FJREFRQUJBb0lCQUhGdUNjMlNKOGVmM1dyaQowTDhKVUdnUGN6NmR3dmIxcXMwRUhxY2tpK0cxaVN4UUo2akFwSEZSNUtEbVZSVUQ2bTEwQzJhWkNETFNYV2YxCmxzRFA4WEd0ZVhkbDNIVkNxcEJVV2c0bHdmQUlsdFJwRDFOUEh4MzBJY2s3UHZoNGwzZzBsdnJXeVFLNXhiQ0oKNmFNVkFMNEd3SFNQSEJ4eWdHdjNWZVhRL0R5VERRS2pvbUhlWGhkWUdOaEdkZCtuQ0lGNWRhTTF6aVhPR2V1aApENXZQVUVzK0ZDaks1Qkpob05qNmQxTzZtRzJoU004dHpKc2RES1pWb2NxSFpZMG1XV0JJMXdkem0zZ3FRd1dlCnhSL0wrMjNDTFNPZXgrWHprWVFtK0l4NkNyUHBITnl2dGZ2em9ob2RKR2p0WXlpVDl4a3VCVEl1QVhZRjVQVlQKQTdKRmQwa0NnWUVBeHo0Q3VjOW94ZStxVlJMdnB2MEZjdFhwdDRlZGZ5S3gzdGlvTlNRKyswdmVJL25pVVJ3VwpNQy9ZMSs0RXlEZGFoQ1ZZZUNiY3d4NkQyZkk3M0VleG9VRm1oVFZlTFRHL1RIdm5Pclc0Qkg2azNnVXVUc0UzCm5SMzZOUEFuV1pGeXNEMHEyTWRQeDNKMCtYZjluNmkyb1E2QjNvQUU5U2JmY05YbkdueitZVjhDZ1lFQTd3UFoKY01KUVplSUF6dEtnWkdEbDhlN2ZiM2h3TTIzSUlpRGxEMjRPWncwU0hnL0ZxU0JSV0x1bWhHZkpNejlOc3BCVQpaMC9PZW50VkxWbWdNNGlMa3Qvb1N4dE5SUURTMlBjN2JZVmZjVG5JNU54RTg4QlV5OXM0cUZ3czBJWUJGUTh6CnhiUzVWVHQwNWxuQk1ab2lBd245L0FrM29sZTZqeWx4SHRnaDJZY0NnWUIycW9kREZiWW9WYk1VVWwvc0REekgKaFlKYTdlbXZCQUgrWVBubUZMMXlQR0NFK3RxQlJvSXNsd0xHc0p1bWg5bGdaVUhJNWhTTUhjdVg3ajhhMXBTRQpINGlwQS8wZ1c4VzlEdnJNSzlqNnpGYnphUkNJbFduREtVeVJaUXQ2dkRjYm9vSzNkQllmQ3h1Q1RhWUFCcU1uClQ1V242SVdMWVdpcE1xMGZTSnpWYndLQmdHaE8vTUVKL0Q1S1lHSGlaOThHcnJOanRSMFhxWmU0TEdSQWlOYXcKQ0JjUERENFVVZ1hhTmNZTXRzSUg3VFd4UmI1TTRKanBxa21uczJlRU9yYml1MDdRNnJhRVpyZGJnYWp3Vkg0YQplNm1WTjBneG5PSG5xTm9DaFBwc3A1NGxMU204cGJKOWlYaFo1MDEwRkMwS2dCZGxiL05qTG1WcDlkL3VqUkNSCjhFdlhBb0dBUEVoaEFVeE9Pd0Nyai9mMnZrc2RMVFozVGhydllTR3NoUEplMUxHWGZEeFBieFd1VG9ERENSVUoKRXQ2Si81UmE3Ym9CMjRzRmQzeURKdE1ZZ0Y5Y2VySWgvanh5d1BQVm1NR1pDL2NGbjlCNURYblZFRzBMa3Z3SQo4NFpVYVR2NDluL0RjT29wYmY3WndDU2UycG1vc2FNcE1wLy9pZ1FOV004MzR3ZU5rM2s9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== --- apiVersion: v1 kind: Secret metadata: name: secret-aux-ingress-cert namespace: ricaux data: tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURZakNDQWtxZ0F3SUJBZ0lSQU9iUHprSU11RjYvNkF2cVVyY3ljbjB3RFFZSktvWklodmNOQVFFTEJRQXcKUFRFN01Ea0dBMVVFQXhNeUwwTTlWVk12VHoxUExWSkJUaUJCYkd4cFlXNWpaUzlQVlQxUExWSkJUaUJUYjJaMApkMkZ5WlNCRGIyMXRkVzVwZEhrd0hoY05Nak14TWpFNU1UVTBOekF5V2hjTk5EZ3hNakV5TVRVME56QXlXakJGCk1VTXdRUVlEVlFRREV6b3ZRejFWVXk5UFBVOHRVa0ZPSUVGc2JHbGhibU5sTDA5VlBVOHRVa0ZPSUZOdlpuUjMKWVhKbElFTnZiVzExYm1sMGVTOURUajFvWld4dE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTBHdjB1YW14L2hHenpLMDlCYkJUNVRjYjQxckF2UHR0RnZWUzk0SXlBY3Z4cUgwSVB0L3JZTDF3CnMrVlpOR2hlN2t5KzI3eXJBRXlsU3JnMXZkcjQ3b1h1bzFKL1c4OXZ4bzZqc1pZcjd6ZW12c2UxRHpzN1dTalAKbzBISm9ySmxLdHpsTEhucE84MDJZbnhyZTBxTjJvR05GN1V2VEI3WERUUFZnc2FvSW9aNVBEdTFsemx4NDNBWQpWWUEyMDZQTUZLUGxycldNanR4OVp4eU0weVc2OGtUaU9NaE9hOGlaYi9sSUlkVFhvVDdpcFBYTzE2L3VjSzhrCkhLMTRjdnljQ3UrM3g3L3dxd0dHRzF2ckNucDFOWVlHWmlQTWtQVGYwMVhJdElmMlJua1ZoUFllTElrU1FjWFYKazI0U2pTelhlWG9zRkZkWDBsUElmaGVjeXZOZVpRSURBUUFCbzFVd1V6QU9CZ05WSFE4QkFmOEVCQU1DQmFBdwpIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdGQVlEClZSMFJCQTB3QzRJSllYVjRMV1Z1ZEhKNU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1FwVC9Id0s0VnlqQkMKRU9PT3YwWGthT0w5ajVuWUVCT1NqSmg4L0kvOTlBSDZIRk13T3lySVQzQ0R3eVJ2NU1FemlmWGFqRjJ4K3U0MApac0svb0dibEJ1RDVmVmJQaTF5andza09uUEs2UG9wUEtHd05UQVBsVm5HcWE4dk1tZG5ZQUduT3I4amQwOVBZClNmYU1IU2JvRDZGek5xMG1qWWVDUlkvMWtxeEFRL3M4cTZmWWpYSU5HZUZlYXZITFYvWm1zQ0pNbVhXZ2dMRC8KakdqT3NFbzhiWENNeUVyWjdqa3ZQVGZZQ0tFZzIzTFFscWg5Q0JhVkkzRmQvdmpNV25raFlXNkErWUtpUnlsaQo4L2ZPcTRmYjRjVmZCdG1QTnRMckNLUHhwRkpQWlpTdnladEJwU0ZvSmNhS2ViejRqSkJXUmZTRmlhQ1dTRk5xCjNxa24xTld6Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBMEd2MHVhbXgvaEd6ekswOUJiQlQ1VGNiNDFyQXZQdHRGdlZTOTRJeUFjdnhxSDBJClB0L3JZTDF3cytWWk5HaGU3a3krMjd5ckFFeWxTcmcxdmRyNDdvWHVvMUovVzg5dnhvNmpzWllyN3plbXZzZTEKRHpzN1dTalBvMEhKb3JKbEt0emxMSG5wTzgwMllueHJlMHFOMm9HTkY3VXZUQjdYRFRQVmdzYW9Jb1o1UER1MQpsemx4NDNBWVZZQTIwNlBNRktQbHJyV01qdHg5Wnh5TTB5VzY4a1RpT01oT2E4aVpiL2xJSWRUWG9UN2lwUFhPCjE2L3VjSzhrSEsxNGN2eWNDdSszeDcvd3F3R0dHMXZyQ25wMU5ZWUdaaVBNa1BUZjAxWEl0SWYyUm5rVmhQWWUKTElrU1FjWFZrMjRTalN6WGVYb3NGRmRYMGxQSWZoZWN5dk5lWlFJREFRQUJBb0lCQVFDR2F3bXpjRUV1UmdaNgoyOE8rVm9GVkZGeTFIY091WGsxMkFCUlpNcXZEd3QrQk5kcEtpcW5JZzRVYlVMQmVmMjJ5TE9idTJ0aENZaXc4CmExK2xxWUxnZXBwMDFQRDBxbTFCVnA4MkdrOE5nZ3ZWZ1FGQjZJYVhNeDN2QWEva2NUK1VERkQxaFU2cDFlamMKVGJnWUZQWTExVlhFMDRMRWlpTlNEWHNIVTgzK0xTZ3lFNUo0alE3OGVIUjc3ZGdnK2JQV2RwekNRbmxiMm9vWAphZ05TUEpXdmVLQkFXSzI3ZkFzOVQ5aEF5a2trdWxIZDJBQUx2L3FKdWJlYXh3SWdFVUxpTENvQWw4SGQ2TUdaCnBjdFZ1aGZnNGxvLzhLdGgwYkNIYU1wN1pSZHRwSGw2WXNhdjBMa0ZueTRuU0pDenNqYVd1RHF3cHV3bjI0RDYKVTJ1d0cxMUZBb0dCQU9aa3pPWVlGL0QrbkJoaGd2d3QvTmh3dkltUFU5SWJCSVJvbENCQXVuWFkvUE91VHd3YgpBMUphZXBlMG1yN1dMZjRibllRYzdOR3doempCb2t6TkZuY1FySVNOKzhPSElzbzZFaFl5ZWlCL3RNSVJ5WUJaCnNIRFQrYVBFbU1PdUJlTzdtelBKQnpCbWtlYWtCSmJoM05qdmdRdmxzVWttSmRSc2pjT2JTaHhMQW9HQkFPZVcKQU52OEh0anViT1Z6MmRWTGRsd1RWVFFWRU5NazBuRnpiV0JYaGg2eFVrRVFhQnNiK2JUWkZ5NmxLZWJMZUE4OQoxaDE4dkNoTmRzemVmVDVlYzVBOVh1N04zNE4rTldKd0V0TUM3MVVBUncwcHVkV3V3UStYV2d5ZjE3cVd4MmFKCkZla24xWHY5OUliWTcreXNsYnhocy9rMndzOU84Q25ncUlCZDlXSVBBb0dCQUpzUlVVKzArN2c2eGprcXVJeWYKTDBWR2E3OXlkb285b1FhMWxLMDRvOGRaNnJiZ3BWZVNmdVBZL2haSmVyWGpWa1ZudE5jTTJPQXhubkcyOGxRYQozWG42QVFPZXhNdFBrenpsWlBNSHVtZFJUUW9xQ3FPV3VraldnM21VZ3ZXQmxYazM5amdlbi9ZVnN6RzNSMWQrClliU3BUd1FBN3hnNjBzOXMyT1hGQ1ZhTkFvR0JBSjhpbXBDUDNQcWdTOEFZTGJXOTF5VktPNkJBWVlGVnFpNC8KYlFkbzNVYTEvcG1yRm42YWFLcDNDdEVJdVpSWWVMV3dmak5oQlVLRWlJQWEydUZDc2hLSnVYUkxqNjJoeWpsTQpYZ01WM3pQL3J0TkN1dW8wM1lGRE5hTzdLdGlTeDQ2VDRMU0lwTkJCSUFpUmhieVNrNG9SY1VSczlzelJwNEovCldBcHRoakxOQW9HQkFLYnFtcE9LNGdLZU1CMWRwS09qL2hmQzloY1RwUTZoWWFYTXlBNTRWUk56YTBsM1N4UXYKQ1FiMVhzcEMwTVh2emJEejlxTEFWUXhQeWRTbHdVVHRBclBUZTVNMGNHUWI0cms4dTR6a1VNMGd6UGR5QmVINgp3RTFKV0paVGIrT1g4SS9pL05OanFzNGd6bmVMTWtBYWN2WkVjOWlGbmNkaHM1enA1bkZyM2NpMgotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= --- # Source: infrastructure/charts/docker-credential/templates/secrets-docker-reg.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- apiVersion: v1 kind: Secret metadata: name: secret-nexus3-o-ran-sc-org-10002 namespace: ricaux data: .dockercfg: eyJuZXh1czMuby1yYW4tc2Mub3JnOjEwMDAyIjp7InVzZXJuYW1lIjoiZG9ja2VyIiwicGFzc3dvcmQiOiJkb2NrZXIiLCJlbWFpbCI6IkAiLCJhdXRoIjoiWkc5amEyVnlPbVJ2WTJ0bGNnPT0ifX0= type: kubernetes.io/dockercfg --- apiVersion: v1 kind: Secret metadata: name: secret-nexus3-o-ran-sc-org-10004 namespace: ricaux data: .dockercfg: eyJuZXh1czMuby1yYW4tc2Mub3JnOjEwMDA0Ijp7InVzZXJuYW1lIjoiZG9ja2VyIiwicGFzc3dvcmQiOiJkb2NrZXIiLCJlbWFpbCI6IkAiLCJhdXRoIjoiWkc5amEyVnlPbVJ2WTJ0bGNnPT0ifX0= type: kubernetes.io/dockercfg --- apiVersion: v1 kind: Secret metadata: name: secret-nexus3-o-ran-sc-org-10002 namespace: ricinfra data: .dockercfg: eyJuZXh1czMuby1yYW4tc2Mub3JnOjEwMDAyIjp7InVzZXJuYW1lIjoiZG9ja2VyIiwicGFzc3dvcmQiOiJkb2NrZXIiLCJlbWFpbCI6IkAiLCJhdXRoIjoiWkc5amEyVnlPbVJ2WTJ0bGNnPT0ifX0= type: kubernetes.io/dockercfg --- apiVersion: v1 kind: Secret metadata: name: secret-nexus3-o-ran-sc-org-10004 namespace: ricinfra data: .dockercfg: eyJuZXh1czMuby1yYW4tc2Mub3JnOjEwMDA0Ijp7InVzZXJuYW1lIjoiZG9ja2VyIiwicGFzc3dvcmQiOiJkb2NrZXIiLCJlbWFpbCI6IkAiLCJhdXRoIjoiWkc5amEyVnlPbVJ2WTJ0bGNnPT0ifX0= type: kubernetes.io/dockercfg --- # Source: infrastructure/charts/kong/templates/config-custom-server-blocks.yaml apiVersion: v1 kind: ConfigMap metadata: name: release-name-kong-default-custom-server-blocks labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" data: servers.conf: | # Prometheus metrics and health-checking server server { server_name kong_prometheus_exporter; listen 0.0.0.0:9542; # can be any other port as well access_log off; location /status { default_type text/plain; return 200; } location /metrics { default_type text/plain; content_by_lua_block { local prometheus = require "kong.plugins.prometheus.exporter" prometheus:collect() } } location /nginx_status { internal; access_log off; stub_status; } } --- # Source: infrastructure/charts/kong/templates/controller-service-account.yaml apiVersion: v1 kind: ServiceAccount metadata: name: release-name-kong namespace: labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" --- # Source: infrastructure/charts/kong/templates/migrations-pre-upgrade.yaml --- apiVersion: v1 kind: ServiceAccount metadata: name: release-name-kong namespace: annotations: "helm.sh/hook": pre-upgrade "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" --- # Source: infrastructure/charts/kong/templates/custom-resource-definitions.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: kongconsumers.configuration.konghq.com labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" spec: group: configuration.konghq.com version: v1 scope: Namespaced names: kind: KongConsumer plural: kongconsumers shortNames: - kc additionalPrinterColumns: - name: Username type: string description: Username of a Kong Consumer JSONPath: .username - name: Age type: date description: Age JSONPath: .metadata.creationTimestamp validation: openAPIV3Schema: properties: username: type: string custom_id: type: string credentials: type: array items: type: string --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: kongcredentials.configuration.konghq.com labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" spec: group: configuration.konghq.com version: v1 scope: Namespaced names: kind: KongCredential plural: kongcredentials additionalPrinterColumns: - name: Credential-type type: string description: Type of credential JSONPath: .type - name: Age type: date description: Age JSONPath: .metadata.creationTimestamp - name: Consumer-Ref type: string description: Owner of the credential JSONPath: .consumerRef validation: openAPIV3Schema: required: - consumerRef - type properties: consumerRef: type: string type: type: string --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: kongplugins.configuration.konghq.com labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" spec: group: configuration.konghq.com version: v1 scope: Namespaced names: kind: KongPlugin plural: kongplugins shortNames: - kp additionalPrinterColumns: - name: Plugin-Type type: string description: Name of the plugin JSONPath: .plugin - name: Age type: date description: Age JSONPath: .metadata.creationTimestamp - name: Disabled type: boolean description: Indicates if the plugin is disabled JSONPath: .disabled priority: 1 - name: Config type: string description: Configuration of the plugin JSONPath: .config priority: 1 validation: openAPIV3Schema: required: - plugin properties: plugin: type: string disabled: type: boolean config: type: object run_on: type: string enum: - first - second - all protocols: type: array items: type: string enum: - http - https - tcp - tls - grpc - grpcs --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: kongingresses.configuration.konghq.com labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" spec: group: configuration.konghq.com version: v1 scope: Namespaced names: kind: KongIngress plural: kongingresses shortNames: - ki validation: openAPIV3Schema: properties: route: properties: methods: type: array items: type: string headers: type: object additionalProperties: type: array items: type: string regex_priority: type: integer strip_path: type: boolean preserve_host: type: boolean protocols: type: array items: type: string enum: - http - https - grpc - grpcs https_redirect_status_code: type: integer proxy: type: object properties: protocol: type: string enum: - http - https - grpc - grpcs path: type: string pattern: ^/.*$ retries: type: integer minimum: 0 connect_timeout: type: integer minimum: 0 read_timeout: type: integer minimum: 0 write_timeout: type: integer minimum: 0 upstream: type: object properties: algorithm: type: string enum: - "round-robin" - "consistent-hashing" - "least-connections" host_header: type: string hash_on: type: string hash_on_cookie: type: string hash_on_cookie_path: type: string hash_on_header: type: string hash_fallback_header: type: string hash_fallback: type: string slots: type: integer minimum: 10 healthchecks: type: object properties: active: type: object properties: concurrency: type: integer minimum: 1 timeout: type: integer minimum: 0 http_path: type: string pattern: ^/.*$ healthy: &healthy type: object properties: http_statuses: type: array items: type: integer interval: type: integer minimum: 0 successes: type: integer minimum: 0 unhealthy: &unhealthy type: object properties: http_failures: type: integer minimum: 0 http_statuses: type: array items: type: integer interval: type: integer minimum: 0 tcp_failures: type: integer minimum: 0 timeout: type: integer minimum: 0 passive: type: object properties: healthy: *healthy unhealthy: *unhealthy --- # Source: infrastructure/charts/kong/templates/controller-rbac-resources.yaml apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role metadata: name: release-name-kong namespace: labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" rules: - apiGroups: - "" resources: - configmaps - pods - secrets - namespaces verbs: - get - apiGroups: - "" resources: - configmaps resourceNames: # Defaults to "-" # Here: "-" # This has to be adapted if you change either parameter # when launching the nginx-ingress-controller. - "kong-ingress-controller-leader-kong-kong" verbs: - get - update - apiGroups: - "" resources: - configmaps verbs: - create - apiGroups: - "" resources: - endpoints verbs: - get --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: RoleBinding metadata: name: release-name-kong namespace: default labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: release-name-kong subjects: - kind: ServiceAccount name: release-name-kong namespace: default --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" name: release-name-kong rules: - apiGroups: - "" resources: - endpoints - nodes - pods - secrets verbs: - list - watch - apiGroups: - "" resources: - nodes verbs: - get - apiGroups: - "" resources: - services verbs: - get - list - watch - apiGroups: - "extensions" - "networking.k8s.io" resources: - ingresses verbs: - get - list - watch - apiGroups: - "" resources: - events verbs: - create - patch - apiGroups: - "extensions" - "networking.k8s.io" resources: - ingresses/status verbs: - update - apiGroups: - "configuration.konghq.com" resources: - kongplugins - kongcredentials - kongconsumers - kongingresses verbs: - get - list - watch --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: release-name-kong labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: release-name-kong subjects: - kind: ServiceAccount name: release-name-kong namespace: default --- # Source: infrastructure/charts/kong/templates/service-kong-proxy.yaml apiVersion: v1 kind: Service metadata: name: release-name-kong-proxy annotations: labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" spec: type: NodePort externalIPs: ports: - name: kong-proxy port: 80 targetPort: 32080 nodePort: 32080 protocol: TCP - name: kong-proxy-tls port: 443 targetPort: 32443 nodePort: 32443 protocol: TCP selector: app.kubernetes.io/name: kong app.kubernetes.io/component: app app.kubernetes.io/instance: "release-name" --- # Source: infrastructure/charts/kong/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: release-name-kong labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" app.kubernetes.io/component: app spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: kong app.kubernetes.io/component: app app.kubernetes.io/instance: "release-name" template: metadata: annotations: labels: app.kubernetes.io/name: kong helm.sh/chart: kong-0.36.6 app.kubernetes.io/instance: "release-name" app.kubernetes.io/managed-by: "Tiller" app.kubernetes.io/version: "1.4" app.kubernetes.io/component: app spec: serviceAccountName: release-name-kong containers: - name: ingress-controller args: - /kong-ingress-controller # Service from were we extract the IP address/es to use in Ingress status - --publish-service=default/release-name-kong-proxy # Set the ingress class - --ingress-class=kong - --election-id=kong-ingress-controller-leader-kong # the kong URL points to the kong admin api server - --kong-url=https://localhost:8444 - --admin-tls-skip-verify # TODO make this configurable env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace image: "kong-docker-kubernetes-ingress-controller.bintray.io/kong-ingress-controller:0.7.0" imagePullPolicy: IfNotPresent readinessProbe: failureThreshold: 3 httpGet: path: /healthz port: 10254 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 10254 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 resources: {} - name: "proxy" image: "kong:1.4" imagePullPolicy: IfNotPresent env: - name: KONG_LUA_PACKAGE_PATH value: "/opt/?.lua;;" - name: KONG_ADMIN_LISTEN value: "0.0.0.0:8444 ssl" - name: KONG_PROXY_LISTEN value: 0.0.0.0:32080,0.0.0.0:32443 ssl - name: KONG_NGINX_DAEMON value: "off" - name: KONG_NGINX_HTTP_INCLUDE value: /kong/servers.conf - name: KONG_PLUGINS value: bundled - name: KONG_ADMIN_ACCESS_LOG value: "/dev/stdout" - name: KONG_ADMIN_ERROR_LOG value: "/dev/stderr" - name: KONG_ADMIN_GUI_ACCESS_LOG value: "/dev/stdout" - name: KONG_ADMIN_GUI_ERROR_LOG value: "/dev/stderr" - name: KONG_DATABASE value: "off" - name: KONG_NGINX_WORKER_PROCESSES value: "1" - name: KONG_PORTAL_API_ACCESS_LOG value: "/dev/stdout" - name: KONG_PORTAL_API_ERROR_LOG value: "/dev/stderr" - name: KONG_PREFIX value: "/kong_prefix/" - name: KONG_PROXY_ACCESS_LOG value: "/dev/stdout" - name: KONG_PROXY_ERROR_LOG value: "/dev/stderr" lifecycle: preStop: exec: command: [ "/bin/sh", "-c", "kong quit" ] ports: - name: admin containerPort: 8444 protocol: TCP - name: proxy containerPort: 32080 protocol: TCP - name: proxy-tls containerPort: 32443 protocol: TCP - name: metrics containerPort: 9542 protocol: TCP volumeMounts: - name: release-name-kong-prefix-dir mountPath: /kong_prefix/ - name: release-name-kong-tmp mountPath: /tmp - name: custom-nginx-template-volume mountPath: /kong readinessProbe: failureThreshold: 3 httpGet: path: /status port: metrics scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 livenessProbe: failureThreshold: 3 httpGet: path: /status port: metrics scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 resources: {} securityContext: runAsUser: 1000 tolerations: [] volumes: - name: release-name-kong-prefix-dir emptyDir: {} - name: release-name-kong-tmp emptyDir: {} - name: custom-nginx-template-volume configMap: name: release-name-kong-default-custom-server-blocks --- # Source: infrastructure/charts/extsvcaux/templates/services-plt.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ --- kind: "Service" apiVersion: "v1" metadata: name: ric-entry namespace: ricaux spec: ports: - name: ric-entry-http-ingress-port protocol: "TCP" port: 80 - name: ric-entry-https-ingress-port protocol: "TCP" port: 443 --- kind: "Endpoints" apiVersion: "v1" metadata: # match with the selector-less service name: ric-entry namespace: ricaux subsets: - addresses: - ip: "10.0.0.1" ports: - port: 32080 name: ric-entry-http-ingress-port - port: 32443 name: ric-entry-https-ingress-port --- # Source: infrastructure/charts/danm-networks/templates/danm.yaml # Copyright (c) 2019 AT&T Intellectual Property. # # # # 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. # ################################################################################ --- # Source: infrastructure/charts/kong/templates/admission-webhook.yaml --- # Source: infrastructure/charts/kong/templates/config-dbless.yaml --- # Source: infrastructure/charts/kong/templates/ingress-admin.yaml --- # Source: infrastructure/charts/kong/templates/ingress-manager.yaml --- # Source: infrastructure/charts/kong/templates/ingress-portal-api.yaml --- # Source: infrastructure/charts/kong/templates/ingress-portal.yaml --- # Source: infrastructure/charts/kong/templates/ingress-proxy.yaml --- # Source: infrastructure/charts/kong/templates/migrations-post-upgrade.yaml --- # Source: infrastructure/charts/kong/templates/migrations.yaml --- # Source: infrastructure/charts/kong/templates/pdb.yaml --- # Source: infrastructure/charts/kong/templates/psp.yaml --- # Source: infrastructure/charts/kong/templates/service-kong-admin.yaml --- # Source: infrastructure/charts/kong/templates/service-kong-manager.yaml --- # Source: infrastructure/charts/kong/templates/service-kong-portal-api.yaml --- # Source: infrastructure/charts/kong/templates/service-kong-portal.yaml --- # Source: infrastructure/charts/kong/templates/servicemonitor.yaml *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/message-router Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading aux-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/message-router [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: message-router/charts/message-router-kafka/templates/poddisruptionbudget.yaml # Copyright © 2018 AT&T # # 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. apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: release-name-message-router-kafka-pdb labels: app: message-router-kafka chart: message-router-kafka-1.1.0 release: release-name heritage: Tiller spec: selector: matchLabels: app: message-router-kafka maxUnavailable: 1 --- # Source: message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml # Copyright © 2018 AT&T # # 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. apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: release-name-message-router-zookeeper-pdb labels: app: message-router-zookeeper chart: message-router-zookeeper-1.1.0 release: release-name heritage: Tiller spec: selector: matchLabels: app: message-router-zookeeper maxUnavailable: 1 --- # Source: message-router/templates/secrets.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Secret metadata: name: release-name-message-router-secret namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller data: mykey: X3NOT0xwaFB6clU3TDBMM29XdjBwWXdnVl9kZEdGMVhvQnNRRUlBcDM0amZQLWZHSkZQZkZZYU1wREVaM2d3SDU5ck53NnF5TVpIawprLTRpcmtsdlZjV2szNmxDM3R3TnZjMER1ZVJDVnJ3czFia3VoT0xDWGR4SEp4LVlHLTF4TThFSmZSbXpoNzlXUGxQa2JBZHlQbUZGCkFoNDRWMEdqQW5JblBPRlpBNk1IUDlyTng5QjlxRUNIUmZtdnpVMTN2SkNjZ1Rzcm1Pci1DRWlXZlJzbnpQanNJQ3hwcTlPYVZUX0QKem42ck5hcm9HbTFPaVpOQ3JDZ3ZSa0NVSFBPT0N3M2o5RzFHZWFJbW9aTll0b3piejl1NHNqMTNQVS1NeElJQWE2NGIxYk1NTWpwegpVcGM4bFZQSTRGbkpLZzZheE1tRUduNXpKNkpVcTltdE9WeVBqX18yR0V1RGdweDVINEF3b2RYWFZqRnNWZ1I4VUp3SV9CdlMySlZwCkpvUWswSjFScVhtQVhWYW1sc01BZnptbWJBUlhnbXJCZm51aHZlWm5oOXltRlZVLVlaZXVqZEFObmlYQXdCR0k3YzZoR19CWGtIN2kKRXlmNEZuNDFfU1Y3OFBza1A2cWdxSmFocjlyM2JxZGpOYktCenRJS0NPRVZyRV93M0lNNXIwMmwtaVN0a19OQlJrajZjcV83VkNwRwphZnhaMkN0Wk13dVpNaXlwT193T2diZHBDU0tOenNMLU5IMmI0YjA4T2xLaVdiMjYzZ3o2MzRLSm1WNVdFZkNsLTZlSC1KVUZiV09TCkp3UWZBY3RMTlQyWlFQbDJNeVpRTkJ6SkVXb0pSZ1M2azd0UFJPLXpxZVV0WVlIR0hWTUN4TXVNSEdRY29pbE5OSEVGZUJDR19mQmgKeUFLYjlnOUY4NkNieDl2b01MaXlUWDJUM3J3VkhpU0pGT3pmTnhHbWZONUpXT3RoSXVuX2M1aEVZMXRMUTE1Qm9temtEd2s3QkFqNwpWYlJDclZENDVCNnhybVNUTUJTV1ltTHlyNm1uUXhRcWVoOWNNYkQtMFpBbmNFM3JveFJuUnZQS2pGRmEyMDh5a1lVcDJWODNyX1BKCmZWNUk5WlBLU2prOUR3RnlyamtjUVFFWURoZEs2SUZxY2Q2bkV0aGpZVmttdW51MmZzWDBiSU9tOUdHZEliS0dxQm5wZGdCTzVoeVQKckJyOUhTbFpySGNHZHRpMVI4MjNja0RGMEVrY2w2a2lvRHI1TkxJcEx0Zzl6VUVEUm0zUXJiWDJtdjVaczhXMHBZbk9xZ2x4eTNsegpiSlpUTjdvUjdWYXNIVXRqbXAwUlQ5bkxaa1VzNVRaNk1IaGxJcTNac1E2d19ROVJ2MS1vZnhmd2ZDQzRFQnJXS2JXQUdDZjZCeTRLCkV3ODMyMS0yWW5vZGhtc0s1QnJUNHpRMURabG1Vdks4Qm1ZalplN3dUbGpLamdZY3NMVEJmWDRlTWhKN01JVzFrcG5sOEFiaUJmWGgKUXpONTZNa2k1MVE4UFNRV0htMFc5dG5RMHo2d0tkY2s2ekJKOEp5Tnpld1phaEZLdWVEVG4tOURPcUlEZnIzWUh2UUxMemVYeUo4ZQpoNEFnalctaHZsTHpSR3RrQ2tuakxJZ1hWYTNyTVR5Y3NlQXdiVy1tZ2RDcXFrdzNTZEVHOGZlQWN5bnRtdkU4ajJqYnRTRFN0UU1CCjlKZHZ5Tkx1UWRORzRweHB1c2d2VnNvMC04TlFGMFlWYTlWRndnOVU2SVBTeDVwOEZjVzY4T0FIdF9mRWdUNFp0aUg3bzlhdXI0bzkKb1lxVWgybEFMQ1ktX185UUxxMUtrTmpNS3MzM0p6OUU4TGJSZXJHOVBMY2xrVHJ4Q2pZQWVVV0JqQ3dTSTdPQjd4a3VhWURTamtqagphNDZOTHBkQk4xR05jc0ZGY1o3OUdGQUswX0RzeXhHTFg4VHE2cTBCdmhzOHdoRDh3bFN4cFRHeFlreXFOWC12Y2I3U0ROXzBXa0NFClhTZFpXa3FUSFhjWWJPdm9DT2JfZTZTRkF6dHVNZW51SFdZMHV0WDBnQmZ4X1g1bFBERnlvWVhFcnhGUUhpQTd0MjdrZXNoWE5hNlIKdWtRUlJTOGtNanJlMVU3NHNjLWZSTlhrWHBsNTdyRzRyZ3hhRVgwZUJlb3dhNTNLQXNWdlVBb1NhYzJhQ19uZnpYckR2b3lmOVhpMwpKcEVaTmhVRExwRkNFeWNWNEk3akdROXdvOXFOYW9zdmxzcjZrYkxETmRiXzF4ckdWZ2pUM3hFdlJOSk5QcXNsU0F1LXlELVVGaEMzCkFtQ2RZVW51Z3dfZUVGcVhDSFRBUmNSa2RQUHZsMlhzbUVLWTJJcUVlTzV0ejREeVhRRmFMLTVoRVZoNmxZRVUxRU9XSGszVUdJWGUKVmM1X1R0cDgycU5MbWxKUGJadmdtTlRKellUSERRXzI3S0JjcDdJVlZaZ1BEalZLZFdxUXZaMThLaHh2ZkYzSWRneTgyTEJabmlGVgpJYnR4bGxYaVBSeG9QUXJpU1hNblhqaDNYa3ZTREkycEZ4WGZFdkxSbjF0dmNGT3dQTkN6M1FmUEl6WWc4dVlYTjViUnQzWk9yUl9nClpoSWxyYzdITzBWYk5iZXFFVlBLTVotY2prcUdqNFZBdURLb1FjMGVRNlhfd0NvQUdPNzhuUHBMZUl2WlB4MVgzejVZb3FOQQ== type: Opaque --- # Source: message-router/templates/configmap.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: ConfigMap metadata: name: release-name-message-router-msgrtrapi-prop-configmap namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller data: MsgRtrApi.properties: "# LICENSE_START=======================================================\n# \ org.onap.dmaap\n# ================================================================================\n# \ Copyright © 2017 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# \ Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n# http://www.apache.org/licenses/LICENSE-2.0\n# \n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=========================================================\n#\n# \ ECOMP is a trademark and service mark of AT&T Intellectual Property.\n# \n###############################################################################\n###############################################################################\n##\n## Cambria API Server config\n##\n##\t- Default values are shown as commented settings.\n##\n\n###############################################################################\n##\n## HTTP service\n##\n##\t\t- 3904 is standard as of 7/29/14.\n#\n## Zookeeper Connection\n##\n##\tBoth Cambria and Kafka make use of Zookeeper.\n##\n#config.zk.servers=172.18.1.1\nconfig.zk.servers=message-router-zookeeper:2181\n#config.zk.root=/fe3c/cambria/config\n\n\n###############################################################################\n##\n## Kafka Connection\n##\n##\tItems below are passed through to Kafka's producer and consumer\n##\tconfigurations (after removing \"kafka.\")\n##\tif you want to change request.required.acks it can take this one value\n#kafka.metadata.broker.list=localhost:9092,localhost:9093\nkafka.metadata.broker.list=message-router-kafka:9092\n##kafka.request.required.acks=-1\n#kafka.client.zookeeper=${config.zk.servers}\nconsumer.timeout.ms=100\nzookeeper.connection.timeout.ms=6000\nzookeeper.session.timeout.ms=20000\nzookeeper.sync.time.ms=2000\nauto.commit.interval.ms=1000\nfetch.message.max.bytes =1000000\nauto.commit.enable=false\n\n#(backoff*retries > zksessiontimeout)\nkafka.rebalance.backoff.ms=10000\nkafka.rebalance.max.retries=6\n\n\n###############################################################################\n##\n##\tSecured Config\n##\n##\tSome data stored in the config system is sensitive -- API keys and secrets,\n##\tfor example. to protect it, we use an encryption layer for this section\n##\tof the config.\n##\n## The key is a base64 encode AES key. This must be created/configured for\n## each installation.\n#cambria.secureConfig.key=\n##\n## The initialization vector is a 16 byte value specific to the secured store.\n## This must be created/configured for each installation.\n#cambria.secureConfig.iv=\n\n## Southfield Sandbox\ncambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q==\ncambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw==\nauthentication.adminSecret=fe3cCompound\n#cambria.secureConfig.key[pc569h]=YT3XPyxEmKCTLI2NK+Sjbw==\n#cambria.secureConfig.iv[pc569h]=rMm2jhR3yVnU+u2V9Ugu3Q==\n\n\n###############################################################################\n##\n## Consumer Caching\n##\n##\tKafka expects live connections from the consumer to the broker, which\n##\tobviously doesn't work over connectionless HTTP requests. The Cambria\n##\tserver proxies HTTP requests into Kafka consumer sessions that are kept\n##\taround for later re-use. Not doing so is costly for setup per request,\n##\twhich would substantially impact a high volume consumer's performance.\n##\n##\tThis complicates Cambria server failover, because we often need server\n##\tA to close its connection before server B brings up the replacement. \n##\n\n## The consumer cache is normally enabled.\n#cambria.consumer.cache.enabled=true\n\n## Cached consumers are cleaned up after a period of disuse. The server inspects\n## consumers every sweepFreqSeconds and will clean up any connections that are\n## dormant for touchFreqMs.\n#cambria.consumer.cache.sweepFreqSeconds=15\ncambria.consumer.cache.touchFreqMs=120000\n##stickforallconsumerrequests=false\n## The cache is managed through ZK. The default value for the ZK connection\n## string is the same as config.zk.servers.\n#cambria.consumer.cache.zkConnect=${config.zk.servers}\n\n##\n## Shared cache information is associated with this node's name. The default\n## name is the hostname plus the HTTP service port this host runs on. (The\n## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(),\n## which is not always adequate.) You can set this value explicitly here.\n##\n#cambria.api.node.identifier=\n\n#cambria.rateLimit.maxEmptyPollsPerMinute=30\n#cambria.rateLimitActual.delay.ms=10\n\n###############################################################################\n##\n## Metrics Reporting\n##\n##\tThis server can report its metrics periodically on a topic.\n##\n#metrics.send.cambria.enabled=true\n#metrics.send.cambria.topic=cambria.apinode.metrics \ #msgrtr.apinode.metrics.dmaap \n#metrics.send.cambria.sendEverySeconds=60\n\ncambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache\nconsumer.timeout=17\ndefault.partitions=3\ndefault.replicas=3\n##############################################################################\n#100mb\nmaxcontentlength=10000\n\n\n##############################################################################\n#AAF Properties\nmsgRtr.namespace.aaf=org.onap.dmaap.mr.topic\nmsgRtr.topicfactory.aaf=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:\nenforced.topic.name.AAF=org.onap.dmaap.mr\nforceAAF=false\ntransidUEBtopicreqd=false\ndefaultNSforUEB=org.onap.dmaap.mr\n##############################################################################\n#Mirror Maker Agent\n\nmsgRtr.mirrormakeradmin.aaf=org.onap.dmaap.mr.mirrormaker|*|admin\nmsgRtr.mirrormakeruser.aaf=org.onap.dmaap.mr.mirrormaker|*|user\nmsgRtr.mirrormakeruser.aaf.create=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:\nmsgRtr.mirrormaker.timeout=15000\nmsgRtr.mirrormaker.topic=org.onap.dmaap.mr.mirrormakeragent\nmsgRtr.mirrormaker.consumergroup=mmagentserver\nmsgRtr.mirrormaker.consumerid=1\n\nkafka.max.poll.interval.ms=300000\nkafka.heartbeat.interval.ms=60000\nkafka.session.timeout.ms=240000\nkafka.max.poll.records=1000\n\n" --- apiVersion: v1 kind: ConfigMap metadata: name: release-name-message-router-cadi-prop-configmap namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller data: cadi.properties: | aaf_locate_url=https://aaf-locate:8095 aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1 aaf_env=DEV aaf_lur=org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm cadi_truststore=/appl/dmaapMR1/etc/truststoreONAPall.jks cadi_truststore_password=changeit cadi_keyfile=/appl/dmaapMR1/etc/keyfilenew cadi_alias=dmaapmr@mr.dmaap.onap.org cadi_keystore=/appl/dmaapMR1/etc/org.onap.dmaap.mr.p12 cadi_keystore_password=Messaging for All cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US cadi_loglevel=INFO cadi_protocols=TLSv1.1,TLSv1.2 cadi_latitude=37.78187 cadi_longitude=-122.26147 --- apiVersion: v1 kind: ConfigMap metadata: name: release-name-message-router-dbc-mrclusters namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller data: san-francisco.json: | { "dcaeLocationName": "san-francisco", "fqdn": "message-router", "topicProtocol": "http", "topicPort": "3904" } --- apiVersion: v1 kind: ConfigMap metadata: name: release-name-message-router-dbc-topics namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller data: PM_MAPPER.json: | { "topicName": "PM_MAPPER", "topicDescription": "The PM Mapper will be publishing perf3gpp VES events to this topic", "owner": "pm-mapper", "txenabled": false, "clients": [{ "dcaeLocationName": "san-francisco", "clientIdentity": "dcae@dcae.onap.org", "action": [ "pub", "view" ] }] } PNF_READY.json: | { "topicName": "PNF_READY", "topicDescription": "This topic will be used to publish the PNF_READY events generated by the PNF REgistration Handler service in the DCAE platform.", "owner": "PNFRegistrationHandler", "txenabled": false, "clients": [ { "dcaeLocationName": "san-francisco", "clientRole": "org.onap.dmaap.mr.PNF_READY.pub", "action": [ "pub", "view" ] } ] } PNF_REGISTRATION.json: | { "topicName": "PNF_REGISTRATION", "topicDescription": "the VES collector will be publishing pnfRegistration events in this topic", "owner": "VEScollector", "txenabled": false, "clients": [ { "dcaeLocationName": "san-francisco", "clientRole": "org.onap.dmaap.mr.PNF_REGISTRATION.sub", "action": [ "sub", "view" ] } ] } mirrormakeragent.json: "{\n \"topicName\": \"mirrormakeragent\",\n \"topicDescription\": \"the topic used to provision the MM agent whitelist\",\n \"replicationCase\": \"REPLICATION_NONE\",\n \ \"owner\": \"dmaap\",\n \"txenabled\": false,\n \"partitionCount\": \"1\",\n \ \"clients\": [\n {\n \"dcaeLocationName\": \"san-francisco\",\n \"clientIdentity\": \"dmaap-bc-mm-prov@dmaap-bc-mm-prov.onap.org\",\n \"action\": [\n \"pub\", \n \"sub\",\n\t\t\"view\"\n ]\n \n },\n\t{\n \"dcaeLocationName\": \"san-francisco\",\n \"clientIdentity\": \"dmaap-bc-topic-mgr@dmaap-bc-topic-mgr.onap.org\",\n \ \"action\": [\n \"pub\", \n \"sub\",\n\t\t\"view\"\n ]\n \n },\n\t{\n \"dcaeLocationName\": \"san-francisco\",\n \"clientIdentity\": \"demo@people.osaaf.org\",\n \"action\": [\n \"pub\", \n \"sub\",\n\t\t\"view\"\n \ ]\n \n }\n\t\n ]\n}\n\n" --- # Source: message-router/charts/message-router-kafka/templates/service-hs.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Service metadata: name: message-router-kafka namespace: default labels: app: message-router-kafka chart: message-router-kafka-1.1.0 release: release-name heritage: Tiller spec: ports: - port: 9092 name: message-router-kafka clusterIP: None selector: app: message-router-kafka release: release-name --- # Source: message-router/charts/message-router-kafka/templates/service.yaml # Copyright © 2019 AT&T # # 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. --- apiVersion: v1 kind: Service metadata: name: message-router-kafka-0 namespace: default labels: app: message-router-kafka chart: message-router-kafka-1.1.0 release: release-name heritage: Tiller spec: type: NodePort externalTrafficPolicy: Local selector: statefulset.kubernetes.io/pod-name: release-name-message-router-kafka-0 ports: - port: 9093 targetPort: 9093 nodePort: 30940 name: message-router-kafka-0 --- apiVersion: v1 kind: Service metadata: name: message-router-kafka-1 namespace: default labels: app: message-router-kafka chart: message-router-kafka-1.1.0 release: release-name heritage: Tiller spec: type: NodePort externalTrafficPolicy: Local selector: statefulset.kubernetes.io/pod-name: release-name-message-router-kafka-1 ports: - port: 9093 targetPort: 9093 nodePort: 30941 name: message-router-kafka-1 --- apiVersion: v1 kind: Service metadata: name: message-router-kafka-2 namespace: default labels: app: message-router-kafka chart: message-router-kafka-1.1.0 release: release-name heritage: Tiller spec: type: NodePort externalTrafficPolicy: Local selector: statefulset.kubernetes.io/pod-name: release-name-message-router-kafka-2 ports: - port: 9093 targetPort: 9093 nodePort: 30942 name: message-router-kafka-2 --- # Source: message-router/charts/message-router-zookeeper/templates/service.yaml # Copyright © 2018 Amdocs, AT&T, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Service metadata: name: message-router-zookeeper namespace: default labels: app: message-router-zookeeper chart: message-router-zookeeper-1.1.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - port: 2181 name: client - port: 2888 name: server - port: 3888 name: leader-election clusterIP: None selector: app: message-router-zookeeper release: release-name --- # Source: message-router/templates/service.yaml # Copyright © 2017 Amdocs, Bell Canada # Modifications Copyright © 2018 AT&T # # 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. apiVersion: v1 kind: Service metadata: name: release-name-message-router namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller annotations: msb.onap.org/service-info: '[ { "serviceName": "release-name-message-router", "version": "v1", "url": "/", "protocol": "REST", "port": "", "visualRange":"1" } ]' spec: type: NodePort ports: - port: 3904 nodePort: 30227 name: message-router-3904 - port: 3905 nodePort: 30226 name: message-router-3905 selector: app: message-router release: release-name --- # Source: message-router/charts/message-router-kafka/templates/statefulset.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-message-router-kafka namespace: default labels: app: message-router-kafka chart: message-router-kafka-1.1.0 release: release-name heritage: Tiller spec: serviceName: message-router-kafka replicas: 3 selector: matchLabels: app: message-router-kafka release: release-name podManagementPolicy: Parallel template: metadata: labels: app: message-router-kafka release: release-name spec: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: "app" operator: In values: - message-router-kafka topologyKey: "kubernetes.io/hostname" initContainers: - name: message-router-kafka-initcontainer image: "registry.hub.docker.com/oomk8s/ubuntu-init:2.0.0" imagePullPolicy: Always - command: - sh - -exec - | chown -R 1000:1000 /opt/kafka/data; image: "docker.io/busybox:1.30" imagePullPolicy: Always volumeMounts: - mountPath: /opt/kafka/data name: kafka-data name: message-router-kafka-permission-fixer containers: - name: message-router-kafka image: "nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.0" imagePullPolicy: Always command: - sh - -exc - | export KAFKA_BROKER_ID=${HOSTNAME##*-} && \ export ENDPOINT_PORT=$(( $KAFKA_BROKER_ID + 30490 )) && \ export KAFKA_ADVERTISED_LISTENERS=EXTERNAL_SASL_PLAINTEXT://$(HOST_IP):$(( $KAFKA_BROKER_ID + 30490 )),INTERNAL_SASL_PLAINTEXT://:9092 && \ exec start-kafka.sh resources: limits: cpu: 2000m memory: 4Gi requests: cpu: 100m memory: 1Gi ports: - containerPort: 9092 - containerPort: 9093 livenessProbe: tcpSocket: port: 9092 initialDelaySeconds: 60 periodSeconds: 10 readinessProbe: tcpSocket: port: 9092 initialDelaySeconds: 60 periodSeconds: 10 env: - name: HOST_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.hostIP - name: KAFKA_ZOOKEEPER_CONNECT value: "message-router-zookeeper:2181" - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP value: "INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT" - name: KAFKA_LISTENERS value: "EXTERNAL_SASL_PLAINTEXT://0.0.0.0:9093,INTERNAL_SASL_PLAINTEXT://0.0.0.0:9092" - name: KAFKA_INTER_BROKER_LISTENER_NAME value: "INTERNAL_SASL_PLAINTEXT" - name: KAFKA_SASL_ENABLED_MECHANISMS value: "PLAIN" - name: KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL value: "PLAIN" - name: KAFKA_AUTHORIZER_CLASS_NAME value: "org.onap.dmaap.kafkaAuthorize.KafkaCustomAuthorizer" - name: KAFKA_DELETE_TOPIC_ENABLE value: "true" - name: aaf_locate_url value: "https://aaf-locate:8095" - name: KAFKA_LOG_DIRS value: "/opt/kafka/data" - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR value: "3" - name: KAFKA_DEFAULT_REPLICATION_FACTOR value: "3" - name: KAFKA_NUM_PARTITIONS value: "3" - name: KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS value: "60000" volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /var/run/docker.sock name: docker-socket - mountPath: /opt/kafka/data name: kafka-data volumes: - name: localtime hostPath: path: /etc/localtime - name: docker-socket hostPath: path: /var/run/docker.sock - name: kafka-data emptyDir: {} imagePullSecrets: - name: "docker-reg-cred" --- # Source: message-router/charts/message-router-zookeeper/templates/statefulset.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-message-router-zookeeper namespace: default labels: app: message-router-zookeeper chart: message-router-zookeeper-1.1.0 release: release-name heritage: Tiller spec: serviceName: message-router-zookeeper replicas: 3 selector: matchLabels: app: message-router-zookeeper release: release-name updateStrategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 podManagementPolicy: Parallel template: metadata: labels: app: message-router-zookeeper release: release-name spec: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: "app" operator: In values: - message-router-zookeeper topologyKey: "kubernetes.io/hostname" initContainers: - name: message-router-zookeeper-permission-fixer command: - sh - -exec - > mkdir -p /tmp/zookeeper/apikeys/version-2 && chown -R 1000:1000 /tmp/zookeeper/apikeys; image: "docker.io/busybox:1.30" imagePullPolicy: Always volumeMounts: - mountPath: /tmp/zookeeper/apikeys name: zookeeper-data containers: - name: message-router-zookeeper image: "nexus3.onap.org:10001/onap/dmaap/zookeeper:5.0.0" imagePullPolicy: Always resources: limits: cpu: 2000m memory: 4Gi requests: cpu: 100m memory: 1Gi ports: - containerPort: 2181 name: client - containerPort: 2888 name: server - containerPort: 3888 name: leader-election livenessProbe: exec: command: - sh - -c - "zookeeper-ready.sh 2181" initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: exec: command: - sh - -c - "zookeeper-ready.sh 2181" initialDelaySeconds: 10 periodSeconds: 10 env: - name: ZK_REPLICAS value: "3" - name: ZK_INIT_LIMIT value: "5" - name: ZK_SYNC_LIMIT value: "2" volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /var/lib/zookeeper/data name: zookeeper-data volumes: - name: localtime hostPath: path: /etc/localtime - name: zookeeper-data emptyDir: {} imagePullSecrets: - name: "docker-reg-cred" --- # Source: message-router/templates/statefulset.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-message-router namespace: default labels: app: message-router chart: message-router-1.1.0 release: release-name heritage: Tiller spec: replicas: 1 selector: matchLabels: app: message-router release: release-name template: metadata: labels: app: message-router release: release-name spec: containers: - name: message-router image: "nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.13" imagePullPolicy: Always ports: - containerPort: 3904 - containerPort: 3905 livenessProbe: tcpSocket: port: 3904 initialDelaySeconds: 70 periodSeconds: 10 readinessProbe: tcpSocket: port: 3904 initialDelaySeconds: 70 periodSeconds: 10 env: - name: enableCadi value: "true" volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties subPath: MsgRtrApi.properties name: appprops - mountPath: /appl/dmaapMR1/etc/cadi.properties subPath: cadi.properties name: cadi - mountPath: /appl/dmaapMR1/etc/keyfile subPath: mykey name: mykey resources: limits: cpu: 2000m memory: 4Gi requests: cpu: 100m memory: 1Gi volumes: - name: localtime hostPath: path: /etc/localtime - name: appprops configMap: name: release-name-message-router-msgrtrapi-prop-configmap - name: cadi configMap: name: release-name-message-router-cadi-prop-configmap - name: mykey secret: secretName: release-name-message-router-secret imagePullSecrets: - name: "default-docker-registry-key" --- # Source: message-router/charts/message-router-kafka/templates/pv.yaml # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. --- # Source: message-router/charts/message-router-zookeeper/templates/pv.yaml # Copyright © 2018 Amdocs, Bell Canada, AT&T # # 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. *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../ric-aux/helm/ves Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading ric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../ric-aux/helm/ves [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: ves/templates/configmap.yaml ################################################################################ # Copyright (c) 2019,2020 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ --- apiVersion: v1 kind: ConfigMap metadata: name: configmap-ricaux-ves data: DmaapConfig.json: | { "channels": [ { "name": "ves-measurement", "class": "HpCambriaOutputStream", "stripHpId": "true", "type": "out", "cambria.topic": "unauthenticated.SEC_MEASUREMENT_OUTPUT", "cambria.hosts": "ricaux-message-router:3904" }, { "name": "ves-fault", "class": "HpCambriaOutputStream", "stripHpId": "true", "type": "out", "cambria.topic": "unauthenticated.SEC_FAULT_OUTPUT", "cambria.hosts": "ricaux-message-router:3904" }, { "name": "ves-heartbeat", "class": "HpCambriaOutputStream", "stripHpId": "true", "type": "out", "cambria.topic": "unauthenticated.SEC_FAULT_OUTPUT", "cambria.hosts": "ricaux-message-router:3904" }, { "name": "ves-other", "class": "HpCambriaOutputStream", "stripHpId": "true", "type": "out", "cambria.topic": "unauthenticated.SEC_OTHER_OUTPUT", "cambria.hosts": "ricaux-message-router:3904" }, { "name": "ves-notification", "class": "HpCambriaOutputStream", "stripHpId": "true", "type": "out", "cambria.topic": "unauthenticated.VES_NOTIFICATION_OUTPUT", "cambria.hosts": "ricaux-message-router:3904" }, { "name": "ves-pnfRegistration", "class": "HpCambriaOutputStream", "stripHpId": "true", "type": "out", "cambria.topic": "unauthenticated.VES_PNFREG_OUTPUT", "cambria.hosts": "ricaux-message-router:3904" } ] } --- apiVersion: v1 kind: ConfigMap metadata: name: configmap-ricaux-ves-properties data: collector.properties: "###############################################################################\n##\n## Collector Server config\n##\n##\t- Default values are shown as commented settings.\n## \ - Will injected as configmap to /opt/app/VESCollector/etc/collector.properties\n##\n###############################################################################\n##\n## HTTP(S) service\n##\n##\tNormally:\n##\n##\t\t- 8080 is http service\n##\t\t- https is disabled by default\n##\n##\t\t- At this time, the server always binds to 0.0.0.0\n##\n##\ncollector.service.port=8080\n\n## Authentication is only supported via secure port\n## When enabled - require valid keystore defined\ncollector.service.secure.port=8443\n\n# auth.method flags:\n#\n# noAuth - default option - no security (http)\n# certOnly - auth by certificate (https)\n# basicAuth - auth by basic auth username and password (https)\n# certBasicAuth - auth by certificate and basic auth username / password (https)\nauth.method=noAuth\n\n## Combination of userid,hashPassword encoded pwd list to be supported\n## userid and pwd comma separated; pipe delimitation between each pair\n## Password is generated by crypt-password library using BCrypt algorithm stored in dcaegen2/sdk package\n## or https://nexus.onap.org/#nexus-search;quick~crypt-password\nheader.authlist=sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6\n\n## The keystore must be setup per installation when secure port is configured\ncollector.keystore.file.location=etc/keystore\ncollector.keystore.passwordfile=etc/passwordfile\n\ncollector.cert.subject.matcher=etc/certSubjectMatcher.properties\n\n## The truststore must be setup per installation when mutual tls support is configured\ncollector.truststore.file.location=etc/truststore\ncollector.truststore.passwordfile=etc/trustpasswordfile\n\n## Processing\n##\n## If there's a problem that prevents the collector from processing alarms,\n## it's normally better to apply back pressure to the caller than to try to\n## buffer beyond a reasonable size limit. With a limit, the server won't crash\n## due to being out of memory, and the caller will get a 5xx reply saying the\n## server is in trouble.\ncollector.inputQueue.maxPending=8096\n\n## Schema Validation checkflag\n## default no validation checkflag (-1)\n## If enabled (1) - schemafile location must be specified\ncollector.schema.checkflag=1\ncollector.schema.file={\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.0.1.json\\\"}\n\n## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile \ncollector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|measurement=ves-measurement\ncollector.dmaapfile=./etc/DmaapConfig.json\n\n## Event transformation Flag - when set expects configurable transformation\n## defined under ./etc/eventTransform.json\n## Enabled by default; to disable set to 0\nevent.transform.flag=0\n\n# Describes at what frequency (measured in minutes) should application try to fetch config from CBS\ncollector.dynamic.config.update.frequency=5\n\n\n" --- # Source: ves/templates/ves-service.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: service-ricaux-ves-http labels: app: ricaux-ves chart: ves-1.1.1 release: release-name heritage: Tiller spec: ports: - name: http protocol: TCP port: 8080 targetPort: 8080 - name: https protocol: TCP port: 8443 targetPort: 8443 selector: app: ricaux-ves release: release-name type: ClusterIP --- # Source: ves/templates/ves-deployment.yaml ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: deployment-ricaux-ves generation: 1 labels: app: ricaux-ves chart: ves-1.1.1 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: ricaux-ves release: release-name template: metadata: labels: app: ricaux-ves release: release-name spec: hostname: ves volumes: - name: component-log emptyDir: {} - name: ves-config-mount configMap: name: configmap-ricaux-ves - name: ves-config-mount-properties configMap: name: configmap-ricaux-ves-properties imagePullSecrets: - name: onap-docker-registry-key containers: - name: container-ricaux-ves image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.4.4 imagePullPolicy: IfNotPresent ports: - containerPort: 8080 protocol: TCP - containerPort: 8443 protocol: TCP volumeMounts: - name: component-log mountPath: "/opt/app/VESCollector/logs/ecomp" - name: ves-config-mount mountPath: "/opt/app/VESCollector/etc/DmaapConfig.json" subPath: DmaapConfig.json - name: ves-config-mount-properties mountPath: "/opt/app/VESCollector/etc/collector.properties" subPath: collector.properties readinessProbe: httpGet: path: "/healthcheck" port: 8080 scheme: HTTP initialDelaySeconds: 5 timeoutSeconds: 1 periodSeconds: 15 successThreshold: 1 failureThreshold: 1 terminationMessagePath: "/dev/termination-log" terminationMessagePolicy: File restartPolicy: Always --- # Source: ves/templates/ingress-ves.yaml apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: ingress-ricaux-ves spec: rules: - http: paths: - path: /vescollector backend: serviceName: service-ricaux-ves-http servicePort: 8080 *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/controlpanel Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/controlpanel [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: controlpanel/templates/configmap.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: controlpanel-configmap namespace: nonrtric labels: app: nonrtric-controlpanel chart: controlpanel-2.0.0 release: release-name heritage: Tiller data: nginx.conf: |- events{} http { include /etc/nginx/mime.types; upstream backend { server kong-proxy.kong:80; } server { listen 8080; server_name localhost; root /usr/share/nginx/html; index index.html; location /a1-policy/ { proxy_pass http://backend; } location /data-producer/ { proxy_pass http://backend; } location /data-consumer/ { proxy_pass http://backend; } location / { try_files $uri $uri/ /index.html; } } } --- # Source: controlpanel/templates/service.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: controlpanel namespace: nonrtric labels: app: nonrtric-controlpanel chart: controlpanel-2.0.0 release: release-name heritage: Tiller spec: type: NodePort ports: - name: http port: 8080 targetPort: 8080 nodePort: 30091 protocol: TCP - name: https port: 8081 targetPort: 8082 nodePort: 30092 protocol: TCP selector: app: nonrtric-controlpanel release: release-name --- # Source: controlpanel/templates/deployment.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: controlpanel namespace: nonrtric generation: 1 labels: app: nonrtric-controlpanel chart: controlpanel-2.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-controlpanel release: release-name template: metadata: labels: app: nonrtric-controlpanel release: release-name spec: hostname: controlpanel containers: - name: container-controlpanel image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-controlpanel:2.5.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8080 protocol: TCP - containerPort: 8082 protocol: TCP volumeMounts: - name: configmap mountPath: /etc/nginx/nginx.conf subPath: nginx.conf readOnly: true readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 20 periodSeconds: 10 volumes: - name: configmap configMap: name: controlpanel-configmap --- # Source: controlpanel/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: controlpanel/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: controlpanel/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/rappcatalogueservice Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/rappcatalogueservice [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: rappcatalogueservice/templates/service.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: rappcatalogueservice namespace: nonrtric labels: app: nonrtric-rappcatalogueservice chart: rappcatalogueservice-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 9080 targetPort: 8680 protocol: TCP - name: https port: 9081 targetPort: 8633 protocol: TCP selector: app: nonrtric-rappcatalogueservice release: release-name type: ClusterIP --- # Source: rappcatalogueservice/templates/deployment.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: rappcatalogueservice namespace: nonrtric generation: 1 labels: app: nonrtric-rappcatalogueservice chart: rappcatalogueservice-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-rappcatalogueservice release: release-name template: metadata: labels: app: nonrtric-rappcatalogueservice release: release-name spec: hostname: rappcatalogueservice containers: - name: container-rappcatalogueservice image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue:1.2.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8680 protocol: TCP - containerPort: 8633 protocol: TCP readinessProbe: tcpSocket: port: 8680 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8680 initialDelaySeconds: 20 periodSeconds: 10 --- # Source: rappcatalogueservice/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: rappcatalogueservice/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: rappcatalogueservice/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/a1controller Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/a1controller [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: a1controller/templates/service.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: a1controller namespace: nonrtric labels: app: nonrtric-a1controller chart: a1controller-2.0.0 release: release-name heritage: Tiller spec: type: ClusterIP ports: - name: http port: 8282 targetPort: 8181 protocol: TCP - name: https port: 8383 targetPort: 8443 protocol: TCP selector: app: nonrtric-a1controller release: release-name --- apiVersion: v1 kind: Service metadata: name: dbhost namespace: nonrtric spec: ports: - port: 3306 targetPort: 3306 selector: app: db --- apiVersion: v1 kind: Service metadata: name: sdnctldb01 namespace: nonrtric spec: ports: - port: 3306 targetPort: 3306 selector: app: db --- # Source: a1controller/templates/deployment.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: a1controller namespace: nonrtric generation: 1 labels: app: nonrtric-a1controller chart: a1controller-2.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-a1controller release: release-name template: metadata: labels: app: nonrtric-a1controller release: release-name spec: hostname: a1controller containers: - name: container-a1controller image: nexus3.onap.org:10002/onap/sdnc-image:2.1.6 imagePullPolicy: IfNotPresent command: - /opt/onap/sdnc/bin/startODL.sh ports: - containerPort: 8181 protocol: TCP - containerPort: 8443 protocol: TCP env: - name: MYSQL_ROOT_PASSWORD value: 'itsASecret' - name: MYSQL_USER value: 'sdnctl' - name: MYSQL_PASSWORD value: 'gamma' - name: MYSQL_DATABASE value: 'sdnctl' - name: SDNC_CONFIG_DIR value: '/opt/onap/sdnc/data/properties' - name: SDNC_BIN value: '/opt/onap/sdnc/bin' - name: ODL_CERT_DIR value: '/tmp' - name: ODL_ADMIN_USERNAME value: admin - name: ODL_ADMIN_PASSWORD value: 'Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U' - name: ODL_USERNAME value: admin - name: ODL_PASSWORD value: 'Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U' - name: SDNC_DB_INIT value: 'true' - name: A1_TRUSTSTORE_PASSWORD value: 'a1adapter' - name: AAI_TRUSTSTORE_PASSWORD value: 'changeit' readinessProbe: tcpSocket: port: 8181 initialDelaySeconds: 60 periodSeconds: 10 livenessProbe: tcpSocket: port: 8181 initialDelaySeconds: 60 periodSeconds: 10 --- apiVersion: apps/v1 kind: Deployment metadata: name: db namespace: nonrtric labels: app: db spec: selector: matchLabels: app: db template: metadata: labels: app: db spec: containers: - name: sdnc-db-container image: nexus3.o-ran-sc.org:10001/mariadb:10.5 imagePullPolicy: IfNotPresent env: - name: MYSQL_ROOT_HOST value: '%' - name: MYSQL_ROOT_PASSWORD value: 'itsASecret' ports: - containerPort: 3306 --- # Source: a1controller/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: a1controller/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: a1controller/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/helmmanager Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/helmmanager [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: helmmanager/templates/serviceaccount.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ServiceAccount metadata: name: nonrtric-helm-manager-sa namespace: nonrtric labels: app: nonrtric-helmmanager chart: helmmanager-1.0.0 release: release-name heritage: Tiller annotations: --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: nonrtric-helm-manager-sa-clusterrolebinding namespace: nonrtric subjects: - kind: ServiceAccount name: nonrtric-helm-manager-sa namespace: nonrtric roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io --- # Source: helmmanager/templates/service.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: helmmanager namespace: nonrtric labels: app: nonrtric-helmmanager chart: helmmanager-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 8112 targetPort: 8083 protocol: TCP selector: app: nonrtric-helmmanager release: release-name type: ClusterIP --- # Source: helmmanager/templates/statefulset.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: StatefulSet apiVersion: apps/v1 metadata: name: helmmanager namespace: nonrtric generation: 1 labels: app: nonrtric-helmmanager chart: helmmanager-1.0.0 release: release-name heritage: Tiller annotations: spec: serviceName: helmmanager replicas: 1 selector: matchLabels: app: nonrtric-helmmanager release: release-name template: metadata: labels: app: nonrtric-helmmanager release: release-name spec: hostname: helmmanager containers: - name: container-helmmanager image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-helmmanager:1.3.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8083 protocol: TCP readinessProbe: tcpSocket: port: 8083 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8083 initialDelaySeconds: 20 periodSeconds: 10 volumeMounts: - name: helmmanager-vardata mountPath: "/var/helm-manager-service" volumeClaimTemplates: - metadata: name: helmmanager-vardata spec: accessModes: - ReadWriteOnce storageClassName: "standard" resources: requests: storage: "1Gi" --- # Source: helmmanager/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: helmmanager/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: helmmanager/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/orufhrecovery Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/orufhrecovery [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: orufhrecovery/templates/configmap.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: orufhrecovery-configmap-config namespace: nonrtric labels: app: nonrtric-orufhrecovery chart: orufhrecovery-1.0.0 release: release-name heritage: Tiller data: o-ru-to-o-du-map.csv: |- ERICSSON-O-RU-11220,HCL-O-DU-1122 ERICSSON-O-RU-11221,HCL-O-DU-1122 ERICSSON-O-RU-11222,HCL-O-DU-1122 ERICSSON-O-RU-11223,HCL-O-DU-1122 ERICSSON-O-RU-11223,HCL-O-DU-1122 ERICSSON-O-RU-11224,HCL-O-DU-1123 ERICSSON-O-RU-11225,HCL-O-DU-1123 ERICSSON-O-RU-11226,HCL-O-DU-1123 ERICSSON-O-RU-11227,HCL-O-DU-1124 ERICSSON-O-RU-11228,HCL-O-DU-1125 ERICSSON-O-RU-11229,HCL-O-DU-1125 --- # Source: orufhrecovery/templates/service.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: orufhrecovery namespace: nonrtric labels: app: nonrtric-orufhrecovery chart: orufhrecovery-1.0.0 release: release-name heritage: Tiller spec: ports: - name: web port: 80 protocol: TCP selector: app: nonrtric-orufhrecovery release: release-name type: ClusterIP --- # Source: orufhrecovery/templates/deployment.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: orufhrecovery namespace: nonrtric generation: 1 labels: app: nonrtric-orufhrecovery chart: orufhrecovery-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-orufhrecovery release: release-name template: metadata: labels: app: nonrtric-orufhrecovery release: release-name spec: hostname: orufhrecovery containers: - name: container-orufhrecovery image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-orufhrecovery-consumer:1.1.0 imagePullPolicy: IfNotPresent ports: - containerPort: 80 protocol: TCP env: - name: CONSUMER_HOST value: "http://mrproducer" - name: CONSUMER_PORT value: "8095" - name: CONSUMER_CERT_PATH value: "security/consumer.crt" - name: CONSUMER_KEY_PATH value: "security/consumer.key" - name: INFO_COORD_ADDR value: "http://ics:8083" - name: SDNR_ADDR value: "http://sdnr:8282" - name: SDNR_USER value: "admin" - name: SDNR_PASSWORD value: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" - name: ORU_TO_ODU_MAP_FILE value: "o-ru-to-o-du-map.csv" - name: LOG_LEVEL value: "Info" volumeMounts: - name: orufhrecovery-oru-config mountPath: "/app/o-ru-to-o-du-map.csv" subPath: "o-ru-to-o-du-map.csv" volumes: - name: orufhrecovery-oru-config configMap: name: orufhrecovery-configmap-config --- # Source: orufhrecovery/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: orufhrecovery/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: orufhrecovery/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/dmeparticipant Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/dmeparticipant [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: dmeparticipant/templates/secret.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # apiVersion: v1 kind: Secret metadata: name: dmeparticipant-security-secret type: Opaque data: username: cGFydGljaXBhbnRVc2VyCg== password: emIhWHp0RzM0 --- # Source: dmeparticipant/templates/configmap.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # apiVersion: v1 kind: ConfigMap metadata: name: dmeparticipant-configmap-config namespace: nonrtric labels: app: nonrtric-dmeparticipant chart: dmeparticipant-1.0.0 release: release-name heritage: Tiller data: application.yaml: | spring: autoconfigure: exclude: - org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration - org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration - org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration security: enable-csrf: false dme: baseUrl: http://informationservice:9082 participant: intermediaryParameters: reportingTimeIntervalMs: 120000 description: Participant Description participantId: 101c62b3-8918-41b9-a747-d21eb79c6c08 clampAutomationCompositionTopics: topicSources: - topic: POLICY-ACRUNTIME-PARTICIPANT servers: - ${topicServer:message-router.default} topicCommInfrastructure: dmaap fetchTimeout: 15000 topicSinks: - topic: POLICY-ACRUNTIME-PARTICIPANT servers: - ${topicServer:message-router.default} topicCommInfrastructure: dmaap participantSupportedElementTypes: - typeName: org.onap.policy.clamp.acm.DMEAutomationCompositionElement typeVersion: 1.0.1 management: endpoints: web: base-path: / exposure: include: health, metrics, prometheus server: port: 8080 servlet: context-path: /nonrtric/dmeparticipant --- # Source: dmeparticipant/templates/service.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # kind: Service apiVersion: v1 metadata: name: dmeparticipant namespace: nonrtric labels: app: nonrtric-dmeparticipant chart: dmeparticipant-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 8080 targetPort: 8080 protocol: TCP selector: app: nonrtric-dmeparticipant release: release-name type: ClusterIP --- # Source: dmeparticipant/templates/deployment.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # kind: Deployment apiVersion: apps/v1 metadata: name: dmeparticipant namespace: nonrtric generation: 1 labels: app: nonrtric-dmeparticipant chart: dmeparticipant-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-dmeparticipant release: release-name template: metadata: labels: app: nonrtric-dmeparticipant release: release-name spec: hostname: dmeparticipant containers: - name: container-dmeparticipant image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-participant-impl-dme:1.0.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8080 protocol: TCP readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 20 periodSeconds: 10 env: - name: SPRING_SECURITY_USER_NAME valueFrom: secretKeyRef: name: dmeparticipant-security-secret key: username - name: SPRING_SECURITY_USER_PASSWORD valueFrom: secretKeyRef: name: dmeparticipant-security-secret key: password volumeMounts: - name: dmeparticipant-dmeparticipant-config mountPath: /opt/app/participant/dme/config/ volumes: - name: dmeparticipant-dmeparticipant-config configMap: name: dmeparticipant-configmap-config --- # Source: dmeparticipant/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: dmeparticipant/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: dmeparticipant/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/rappmanager Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/rappmanager [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: rappmanager/templates/secret.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # apiVersion: v1 kind: Secret metadata: name: rappmanager-acm-secret type: Opaque data: username: cnVudGltZVVzZXI= password: emIhWHp0RzM0 --- # Source: rappmanager/templates/configmap.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # apiVersion: v1 kind: ConfigMap metadata: name: rappmanager-configmap-config namespace: nonrtric labels: app: nonrtric-rappmanager chart: rappmanager-1.0.0 release: release-name heritage: Tiller data: application.yaml: |- ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ rappmanager: csarlocation: /opt/app/rappmanager/csar acm: baseurl: http://policy-clamp-runtime-acm.default:6969/onap/policy/clamp/acm/v2/ maxRetries: 10 retryInterval: 2 #seconds sme: baseurl: http://capifcore:8090 providerBasePath: /api-provider-management/v1/ invokerBasePath: /api-invoker-management/v1/ publishApiBasePath: /published-apis/v1/ maxRetries: 3 retryInterval: 2 #seconds dme: baseurl: http://informationservice:9082 spring: jackson: default-property-inclusion: non_null logging: level: root: INFO com.oransc: DEBUG org.apache.http: DEBUG httpclient.wire: DEBUG org.springframework.web.client.RestTemplate: TRACE management: endpoints: web: exposure: include: "*" --- # Source: rappmanager/templates/service.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # kind: Service apiVersion: v1 metadata: name: rappmanager namespace: nonrtric labels: app: nonrtric-rappmanager chart: rappmanager-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 8080 targetPort: 8080 protocol: TCP selector: app: nonrtric-rappmanager release: release-name type: ClusterIP --- # Source: rappmanager/templates/statefulset.yaml # ============LICENSE_START=============================================== # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # ======================================================================== # 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. # ============LICENSE_END================================================= # kind: StatefulSet apiVersion: apps/v1 metadata: name: rappmanager namespace: nonrtric generation: 1 labels: app: nonrtric-rappmanager chart: rappmanager-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: serviceName: rappmanager replicas: 1 selector: matchLabels: app: nonrtric-rappmanager release: release-name template: metadata: labels: app: nonrtric-rappmanager release: release-name spec: hostname: rappmanager containers: - name: container-rappmanager image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappmanager:0.0.1 imagePullPolicy: IfNotPresent ports: - containerPort: 8080 protocol: TCP readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 20 periodSeconds: 10 env: - name: RAPPMANAGER_ACM_USERNAME valueFrom: secretKeyRef: name: rappmanager-acm-secret key: username - name: RAPPMANAGER_ACM_PASSWORD valueFrom: secretKeyRef: name: rappmanager-acm-secret key: password volumeMounts: - name: rappmanager-rappmanager-config mountPath: /opt/app/rappmanager/config volumes: - name: rappmanager-rappmanager-config configMap: name: rappmanager-configmap-config --- # Source: rappmanager/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: rappmanager/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: rappmanager/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: rappmanager/templates/ingress.yaml *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/ransliceassurance Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/ransliceassurance [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: ransliceassurance/templates/service.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: ransliceassurance namespace: nonrtric labels: app: nonrtric-ransliceassurance chart: ransliceassurance-1.0.0 release: release-name heritage: Tiller spec: ports: - name: web port: 80 protocol: TCP selector: app: nonrtric-ransliceassurance release: release-name type: ClusterIP --- # Source: ransliceassurance/templates/deployment.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: ransliceassurance namespace: nonrtric generation: 1 labels: app: nonrtric-ransliceassurance chart: ransliceassurance-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-ransliceassurance release: release-name template: metadata: labels: app: nonrtric-ransliceassurance release: release-name spec: hostname: ransliceassurance containers: - name: container-ransliceassurance image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-ransliceassurance:1.3.0 imagePullPolicy: IfNotPresent ports: - containerPort: 80 protocol: TCP env: - name: MR_HOST value: "http://onap-dmaap" - name: MR_PORT value: "3904" - name: SDNR_ADDRESS value: "http://sdnr:8181" - name: SDNR_USER value: "admin" - name: SDNR_PASSWORD value: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" - name: LOG_LEVEL value: "Info" - name: POLLTIME value: "10" - name: NODE_ID value: "o-du-1122" --- # Source: ransliceassurance/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: ransliceassurance/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: ransliceassurance/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/capifcore Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/capifcore [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: capifcore/templates/service.yaml ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: capifcore namespace: nonrtric labels: app: nonrtric-capifcore chart: capifcore-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 8090 targetPort: 8090 protocol: TCP selector: app: nonrtric-capifcore release: release-name type: ClusterIP --- # Source: capifcore/templates/deployment.yaml ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: capifcore namespace: nonrtric generation: 1 labels: app: nonrtric-capifcore chart: capifcore-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-capifcore release: release-name template: metadata: labels: app: nonrtric-capifcore release: release-name spec: hostname: capifcore containers: - name: container-capifcore image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-capifcore:1.2.0 imagePullPolicy: IfNotPresent args: [ "-chartMuseumUrl", "http://chartmuseum:8080", "-repoName", "capifcore" ] ports: - containerPort: 8090 protocol: TCP --- # Source: capifcore/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: capifcore/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: capifcore/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Skip Nonrtric Parent chart Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/rappcatalogueenhancedservice Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/rappcatalogueenhancedservice [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: rappcatalogueenhancedservice/templates/service.yaml ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: rappcatalogueenhancedservice namespace: nonrtric labels: app: nonrtric-rappcatalogueenhancedservice chart: rappcatalogueenhancedservice-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 9696 targetPort: 9696 protocol: TCP selector: app: nonrtric-rappcatalogueenhancedservice release: release-name type: ClusterIP --- # Source: rappcatalogueenhancedservice/templates/deployment.yaml ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ kind: Deployment apiVersion: apps/v1 metadata: name: rappcatalogueenhancedservice namespace: nonrtric generation: 1 labels: app: nonrtric-rappcatalogueenhancedservice chart: rappcatalogueenhancedservice-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 1 selector: matchLabels: app: nonrtric-rappcatalogueenhancedservice release: release-name template: metadata: labels: app: nonrtric-rappcatalogueenhancedservice release: release-name spec: hostname: rappcatalogueenhancedservice containers: - name: container-rappcatalogueenhancedservice image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue-enhanced:1.1.0 imagePullPolicy: IfNotPresent ports: - containerPort: 9696 protocol: TCP readinessProbe: tcpSocket: port: 9696 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 9696 initialDelaySeconds: 20 periodSeconds: 10 --- # Source: rappcatalogueenhancedservice/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: rappcatalogueenhancedservice/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: rappcatalogueenhancedservice/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/policymanagementservice Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/policymanagementservice [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: policymanagementservice/templates/configmap.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: policymanagementservice-configmap-config namespace: nonrtric labels: app: nonrtric-policymanagementservice chart: policymanagementservice-2.0.0 release: release-name heritage: Tiller data: application.yaml: |- ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ spring: profiles: active: prod main: allow-bean-definition-overriding: true aop: auto: false management: endpoints: web: exposure: # Enabling of springboot actuator features. See springboot documentation. include: "loggers,logfile,health,info,metrics,threaddump,heapdump" logging: # Configuration of logging level: ROOT: ERROR org.springframework: ERROR org.springframework.data: ERROR org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR org.onap.ccsdk.oran.a1policymanagementservice: INFO file: name: /var/log/policy-agent/application.log server: # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. # See springboot documentation. port : 8433 http-port: 8081 ssl: key-store-type: JKS key-store-password: policy_agent key-store: /opt/app/policy-agent/etc/cert/keystore.jks key-password: policy_agent key-alias: policy_agent app: # Location of the component configuration file. The file will only be used if the Consul database is not used; # configuration from the Consul will override the file. filepath: /var/policy-management-service/application_configuration.json webclient: # Configuration of the trust store used for the HTTP client (outgoing requests) # The file location and the password for the truststore is only relevant if trust-store-used == true # Note that the same keystore as for the server is used. trust-store-used: false trust-store-password: policy_agent trust-store: /opt/app/policy-agent/etc/cert/truststore.jks # Configuration of usage of HTTP Proxy for the southbound accesses. # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s http.proxy-host: http.proxy-port: 0 http.proxy-type: HTTP # path where the service can store data vardata-directory: /var/policy-management-service # the config-file-schema-path referres to a location in the jar file. If this property is empty or missing, # no schema validation will be executed. config-file-schema-path: /application_configuration_schema.json # A file containing an authorization token, which shall be inserted in each HTTP header (authorization). # If the file name is empty, no authorization token is sent. auth-token-file: --- apiVersion: v1 kind: ConfigMap metadata: name: policymanagementservice-configmap-data namespace: nonrtric labels: app: nonrtric-policymanagementservice chart: policymanagementservice-2.0.0 release: release-name heritage: Tiller data: application_configuration.json: |- { "config": { "controller": [ { "name": "controller1", "baseUrl": "https://a1controller:8383", "userName": "admin", "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" } ], "ric": [ { "name": "ric1", "baseUrl": "https://a1-sim-osc-0.a1-sim:8185", "controller": "controller1", "managedElementIds": [ "kista_1", "kista_2" ] }, { "name": "ric2", "baseUrl": "https://a1-sim-osc-1.a1-sim:8185", "controller": "controller1", "managedElementIds": [ "kista_1", "kista_2" ] }, { "name": "ric3", "baseUrl": "https://a1-sim-std-0.a1-sim:8185", "controller": "controller1", "managedElementIds": [ "kista_1", "kista_2" ] }, { "name": "ric4", "baseUrl": "https://a1-sim-std-1.a1-sim:8185", "controller": "controller1", "managedElementIds": [ "kista_1", "kista_2" ] }, { "name": "ric5", "baseUrl": "https://a1-sim-std2-0.a1-sim:8185", "controller": "controller1", "managedElementIds": [ "kista_1", "kista_2" ] }, { "name": "ric6", "baseUrl": "https://a1-sim-std2-1.a1-sim:8185", "controller": "controller1", "managedElementIds": [ "kista_1", "kista_2" ] } ] } } --- # Source: policymanagementservice/templates/service.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: policymanagementservice namespace: nonrtric labels: app: nonrtric-policymanagementservice chart: policymanagementservice-2.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 9080 targetPort: 8081 protocol: TCP - name: https port: 9081 targetPort: 8433 protocol: TCP selector: app: nonrtric-policymanagementservice release: release-name type: ClusterIP --- # Source: policymanagementservice/templates/statefulset.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: StatefulSet apiVersion: apps/v1 metadata: name: policymanagementservice namespace: nonrtric generation: 1 labels: app: nonrtric-policymanagementservice chart: policymanagementservice-2.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: serviceName: policymanagementservice replicas: 1 selector: matchLabels: app: nonrtric-policymanagementservice release: release-name template: metadata: labels: app: nonrtric-policymanagementservice release: release-name spec: hostname: policymanagementservice initContainers: - name: copy image: busybox:1.28 command: - /bin/sh - -c - FILE=/var/policy-management-service/application_configuration.json; if [ ! -f $FILE ]; then cp /etc/app/policy-management-service/initialdata/application_configuration.json $FILE; fi volumeMounts: - name: policymanagementservice-vardata mountPath: "/var/policy-management-service" - name: policymanagementservice-policy-data mountPath: /etc/app/policy-management-service/initialdata containers: - name: container-policymanagementservice image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-a1policymanagementservice:2.7.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8081 protocol: TCP - containerPort: 8433 protocol: TCP readinessProbe: tcpSocket: port: 8081 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: httpGet: path: /status port: 8081 initialDelaySeconds: 20 periodSeconds: 10 volumeMounts: - name: policymanagementservice-vardata mountPath: "/var/policy-management-service" - name: policymanagementservice-policy-config mountPath: /opt/app/policy-agent/config - name: policymanagementservice-policy-data mountPath: /etc/app/policy-management-service/initialdata volumes: - name: policymanagementservice-policy-config configMap: name: policymanagementservice-configmap-config - name: policymanagementservice-policy-data configMap: name: policymanagementservice-configmap-data volumeClaimTemplates: - metadata: name: policymanagementservice-vardata spec: accessModes: - ReadWriteOnce storageClassName: "standard" resources: requests: storage: "2Gi" --- # Source: policymanagementservice/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: policymanagementservice/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: policymanagementservice/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: policymanagementservice/templates/ingress.yaml *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/informationservice Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/informationservice [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: informationservice/templates/configmap.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: informationservice-configmap namespace: nonrtric labels: app: nonrtric-informationservice chart: informationservice-1.0.0 release: release-name heritage: Tiller data: application.yaml: |- ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ spring: profiles: active: prod main: allow-bean-definition-overriding: true aop: auto: false management: endpoints: web: exposure: include: "loggers,logfile,health,info,metrics,threaddump,heapdump" logging: level: ROOT: ERROR org.springframework: ERROR org.springframework.data: ERROR org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR org.oransc.information: INFO file: name: /var/log/information-coordinator-service/application.log server: port : 8434 http-port: 8083 ssl: key-store-type: JKS key-store-password: policy_agent key-store: /opt/app/information-coordinator-service/etc/cert/keystore.jks key-password: policy_agent key-alias: policy_agent app: filepath: /opt/app/information-coordinator-service/data/application_configuration.json webclient: trust-store-used: false trust-store-password: policy_agent trust-store: /opt/app/information-coordinator-service/etc/cert/truststore.jks # Configuration of usage of HTTP Proxy for the southbound accesses. # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s http.proxy-host: http.proxy-port: 0 vardata-directory: /var/information-coordinator-service --- # Source: informationservice/templates/service.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: informationservice namespace: nonrtric labels: app: nonrtric-informationservice chart: informationservice-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 9082 targetPort: 8083 protocol: TCP - name: https port: 9083 targetPort: 8434 protocol: TCP selector: app: nonrtric-informationservice release: release-name type: ClusterIP --- # Source: informationservice/templates/statefulset.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: StatefulSet apiVersion: apps/v1 metadata: name: informationservice namespace: nonrtric generation: 1 labels: app: nonrtric-informationservice chart: informationservice-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: serviceName: informationservice replicas: 1 selector: matchLabels: app: nonrtric-informationservice release: release-name template: metadata: labels: app: nonrtric-informationservice release: release-name spec: hostname: informationservice containers: - name: container-informationservice image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.6.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8083 protocol: TCP - containerPort: 8434 protocol: TCP readinessProbe: tcpSocket: port: 8083 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: httpGet: path: /status port: 8083 initialDelaySeconds: 20 periodSeconds: 10 volumeMounts: - name: informationservice-information-config mountPath: /opt/app/information-coordinator-service/config - name: informationservice-vardata mountPath: /var/information-coordinator-service volumes: - name: informationservice-information-config configMap: name: informationservice-configmap volumeClaimTemplates: - metadata: name: informationservice-vardata spec: accessModes: [ ReadWriteOnce ] storageClassName: "standard" resources: requests: storage: "2Gi" --- # Source: informationservice/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: informationservice/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: informationservice/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: informationservice/templates/ingress.yaml *************************************************************************************************************** Skip Nonrtric Parent chart Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/a1simulator Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/a1simulator [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: a1simulator/templates/service.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: a1-sim namespace: nonrtric labels: app: nonrtric-a1simulator chart: a1simulator-2.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 8085 targetPort: 8085 protocol: TCP - name: https port: 8185 targetPort: 8185 protocol: TCP selector: app: nonrtric-a1simulator release: release-name type: ClusterIP clusterIP: None --- # Source: a1simulator/templates/statefulset.yaml ################################################################################ # Copyright (c) 2020 Nordix Foundation. # # # # 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. # ################################################################################ kind: StatefulSet apiVersion: apps/v1 metadata: name: a1-sim-osc namespace: nonrtric generation: 1 labels: app: nonrtric-a1simulator chart: a1simulator-2.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 2 selector: matchLabels: app: nonrtric-a1simulator release: release-name serviceName: a1-sim template: metadata: labels: app: nonrtric-a1simulator release: release-name spec: hostname: a1simulator containers: - name: container-nonrtric-a1simulator image: nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.6.1 imagePullPolicy: IfNotPresent ports: - containerPort: 8085 protocol: TCP - containerPort: 8185 protocol: TCP readinessProbe: tcpSocket: port: 8085 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8085 initialDelaySeconds: 20 periodSeconds: 10 env: - name: A1_VERSION value: OSC_2.1.0 - name: ALLOW_HTTP value: "true" --- kind: StatefulSet apiVersion: apps/v1 metadata: name: a1-sim-std namespace: nonrtric generation: 1 labels: app: nonrtric-a1simulator chart: a1simulator-2.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 2 selector: matchLabels: app: nonrtric-a1simulator release: release-name serviceName: a1-sim template: metadata: labels: app: nonrtric-a1simulator release: release-name spec: hostname: a1simulator containers: - name: container-nonrtric-a1simulator image: nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.6.1 imagePullPolicy: IfNotPresent ports: - containerPort: 8085 protocol: TCP - containerPort: 8185 protocol: TCP readinessProbe: tcpSocket: port: 8085 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8085 initialDelaySeconds: 20 periodSeconds: 10 env: - name: A1_VERSION value: STD_1.1.3 - name: ALLOW_HTTP value: "true" --- kind: StatefulSet apiVersion: apps/v1 metadata: name: a1-sim-std2 namespace: nonrtric generation: 1 labels: app: nonrtric-a1simulator chart: a1simulator-2.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: replicas: 2 selector: matchLabels: app: nonrtric-a1simulator release: release-name serviceName: a1-sim template: metadata: labels: app: nonrtric-a1simulator release: release-name spec: hostname: a1simulator containers: - name: container-nonrtric-a1simulator image: nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.6.1 imagePullPolicy: IfNotPresent ports: - containerPort: 8085 protocol: TCP - containerPort: 8185 protocol: TCP readinessProbe: tcpSocket: port: 8085 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8085 initialDelaySeconds: 20 periodSeconds: 10 env: - name: A1_VERSION value: STD_2.0.0 - name: ALLOW_HTTP value: "true" --- # Source: a1simulator/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: a1simulator/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: a1simulator/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/dmaapmediatorservice Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/dmaapmediatorservice [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: dmaapmediatorservice/templates/configmap.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: dmaapmediatorservice-configmap-data namespace: nonrtric labels: app: nonrtric-dmaapmediatorservice chart: dmaapmediatorservice-1.0.0 release: release-name heritage: Tiller data: type_config.json: | { "types": [ { "id": "STD_Fault_Messages", "dmaapTopicUrl": "/events/unauthenticated.dmaapmed.json/dmaapmediatorproducer/STD_Fault_Messages?timeout=15000&limit=100" } ] } --- # Source: dmaapmediatorservice/templates/service.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: dmaapmediatorservice namespace: nonrtric labels: app: nonrtric-dmaapmediatorservice chart: dmaapmediatorservice-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 8085 targetPort: 8085 protocol: TCP - name: https port: 8185 targetPort: 8185 protocol: TCP selector: app: nonrtric-dmaapmediatorservice release: release-name type: ClusterIP --- # Source: dmaapmediatorservice/templates/statefulset.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: StatefulSet apiVersion: apps/v1 metadata: name: dmaapmediatorservice namespace: nonrtric generation: 1 labels: app: nonrtric-dmaapmediatorservice chart: dmaapmediatorservice-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: serviceName: dmaapmediatorservice replicas: 1 selector: matchLabels: app: nonrtric-dmaapmediatorservice release: release-name template: metadata: labels: app: nonrtric-dmaapmediatorservice release: release-name spec: hostname: dmaapmediatorservice containers: - name: container-dmaapmediatorservice image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapmediatorproducer:1.2.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8085 protocol: TCP - containerPort: 8185 protocol: TCP readinessProbe: tcpSocket: port: 8185 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8185 initialDelaySeconds: 20 periodSeconds: 10 volumeMounts: - name: dmaapmediatorservice-dmaapmediator-data mountPath: /configs/type_config.json subPath: type_config.json env: - name: INFO_PRODUCER_HOST value: https://dmaapmediatorservice - name: INFO_PRODUCER_PORT value: "8185" - name: INFO_COORD_ADDR value: https://informationservice:9083 - name: DMAAP_MR_ADDR value: https://message-router.onap:3905 - name: LOG_LEVEL value: Info volumes: - name: dmaapmediatorservice-dmaapmediator-data configMap: name: dmaapmediatorservice-configmap-data --- # Source: dmaapmediatorservice/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: dmaapmediatorservice/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: dmaapmediatorservice/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Update chart dependency for directory /tmp/it-dep/bin/../nonrtric/helm/dmaapadapterservice Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. Saving 1 charts Downloading nonrtric-common from repo http://127.0.0.1:8879/charts Deleting outdated charts *************************************************************************************************************** ==> Linting /tmp/it-dep/bin/../nonrtric/helm/dmaapadapterservice [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, no failures *************************************************************************************************************** *************************************************************************************************************** --- # Source: dmaapadapterservice/templates/configmap.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ apiVersion: v1 kind: ConfigMap metadata: name: dmaapadapterservice-configmap-config namespace: nonrtric labels: app: nonrtric-dmaapadapterservice chart: dmaapadapterservice-1.0.0 release: release-name heritage: Tiller data: application.yaml: |+ ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ spring: profiles: active: prod main: allow-bean-definition-overriding: true aop: auto: false management: endpoints: web: exposure: # Enabling of springboot actuator features. See springboot documentation. include: "loggers,logfile,health,info,metrics,threaddump,heapdump" springdoc: show-actuator: true logging: # Configuration of logging level: ROOT: ERROR org.springframework: ERROR org.springframework.data: ERROR org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR org.oran.dmaapadapter: DEBUG file: name: /var/log/dmaap-adapter-service/application.log server: # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. # See springboot documentation. port : 8435 http-port: 8084 ssl: key-store-type: JKS key-store-password: policy_agent key-store: /opt/app/dmaap-adapter-service/etc/cert/keystore.jks key-password: policy_agent key-alias: policy_agent app: webclient: # Configuration of the trust store used for the HTTP client (outgoing requests) # The file location and the password for the truststore is only relevant if trust-store-used == true # Note that the same keystore as for the server is used. trust-store-used: false trust-store-password: policy_agent trust-store: /opt/app/dmaap-adapter-service/etc/cert/truststore.jks # Configuration of usage of HTTP Proxy for the southbound accesses. # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s http.proxy-host: http.proxy-port: 0 ics-base-url: https://informationservice.nonrtric:9083 # Location of the component configuration file. The file will only be used if the Consul database is not used; # configuration from the Consul will override the file. configuration-filepath: /opt/app/dmaap-adapter-service/data/application_configuration.json dmaap-base-url: http://message-router.onap:3904 # The url used to adress this component. This is used as a callback url sent to other components. dmaap-adapter-base-url: https://dmaapadapterservice.nonrtric:9088 # KAFKA boostrap server. This is only needed if there are Information Types that uses a kafkaInputTopic kafka: bootstrap-servers: message-router-kafka.onap:9092 # If the file name is empty, no authorization token is used auth-token-file: pm-files-path: /tmp zip-output: false s3: endpointOverride: http://localhost:9000 accessKeyId: minio secretAccessKey: miniostorage locksBucket: ropfilelocks bucket: ropfiles --- apiVersion: v1 kind: ConfigMap metadata: name: dmaapadapterservice-configmap-data namespace: nonrtric labels: app: nonrtric-dmaapadapterservice chart: dmaapadapterservice-1.0.0 release: release-name heritage: Tiller data: application_configuration.json: | { "types": [ { "id": "ExampleInformationType", "dmaapTopicUrl": "/events/unauthenticated.dmaapadp.json/dmaapadapterproducer/msgs?timeout=15000&limit=100", "useHttpProxy": false }, { "id": "ExampleInformationTypeKafka", "kafkaInputTopic": "unauthenticated.dmaapadp_kafka.text", "useHttpProxy": false } ] } --- # Source: dmaapadapterservice/templates/service.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: Service apiVersion: v1 metadata: name: dmaapadapterservice namespace: nonrtric labels: app: nonrtric-dmaapadapterservice chart: dmaapadapterservice-1.0.0 release: release-name heritage: Tiller spec: ports: - name: http port: 9087 targetPort: 8084 protocol: TCP - name: https port: 9088 targetPort: 8435 protocol: TCP selector: app: nonrtric-dmaapadapterservice release: release-name type: ClusterIP --- # Source: dmaapadapterservice/templates/statefulset.yaml ################################################################################ # Copyright (c) 2021 Nordix Foundation. # # # # 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. # ################################################################################ kind: StatefulSet apiVersion: apps/v1 metadata: name: dmaapadapterservice namespace: nonrtric generation: 1 labels: app: nonrtric-dmaapadapterservice chart: dmaapadapterservice-1.0.0 release: release-name heritage: Tiller annotations: deployment.kubernetes.io/revision: '1' spec: serviceName: dmaapadapterservice replicas: 1 selector: matchLabels: app: nonrtric-dmaapadapterservice release: release-name template: metadata: labels: app: nonrtric-dmaapadapterservice release: release-name spec: hostname: dmaapadapterservice containers: - name: container-dmaapadapterservice image: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapadapter:1.3.0 imagePullPolicy: IfNotPresent ports: - containerPort: 8084 protocol: TCP - containerPort: 8435 protocol: TCP readinessProbe: tcpSocket: port: 8084 initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: tcpSocket: port: 8084 initialDelaySeconds: 20 periodSeconds: 10 volumeMounts: - name: dmaapadapterservice-dmaapadapter-config mountPath: /opt/app/dmaap-adapter-service/config - name: dmaapadapterservice-dmaapadapter-data mountPath: /opt/app/dmaap-adapter-service/data volumes: - name: dmaapadapterservice-dmaapadapter-config configMap: name: dmaapadapterservice-configmap-config - name: dmaapadapterservice-dmaapadapter-data configMap: name: dmaapadapterservice-configmap-data --- # Source: dmaapadapterservice/charts/nonrtric-common/templates/capifcore.tpl ################################################################################ # Copyright (c) 2022 Nordix Foundation. # # # # 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. # ################################################################################ --- # Source: dmaapadapterservice/charts/nonrtric-common/templates/dmeparticipant.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ --- # Source: dmaapadapterservice/charts/nonrtric-common/templates/rappmanager.tpl ################################################################################ # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. # # # # 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. # ################################################################################ *************************************************************************************************************** Removing intermediate container 7be4c099fbfc ---> d65031a1bb39 Successfully built d65031a1bb39 Successfully tagged nexus3.o-ran-sc.org:10004/o-ran-sc/it-dep-helm:latest ---> docker-build.sh ends [it-dep-helm-docker-verify-all] $ /bin/sh -xe /tmp/jenkins5084141268235807652.sh [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins6116404659315219923.sh $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 2141 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins10278802250270846409.sh ---> sysstat.sh [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins1783991041238854949.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/it-dep-helm-docker-verify-all + START_PACKAGES=/tmp/packages_start.txt + END_PACKAGES=/tmp/packages_end.txt + DIFF_PACKAGES=/tmp/packages_diff.txt + PACKAGES=/tmp/packages_start.txt + '[' /w/workspace/it-dep-helm-docker-verify-all ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + dpkg -l + grep '^ii' + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/it-dep-helm-docker-verify-all ']' + mkdir -p /w/workspace/it-dep-helm-docker-verify-all/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/it-dep-helm-docker-verify-all/archives/ [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins1827778207879848625.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/it-dep-helm-docker-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-XCa3 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-XCa3/bin to PATH INFO: Running in OpenStack, capturing instance metadata [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins14503070756221161099.sh provisioning config files... copy managed file [jenkins-log-archives-settings] to file:/w/workspace/it-dep-helm-docker-verify-all@tmp/config9618837498987738587tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[] Run condition [Regular expression match] preventing perform for step [Provide Configuration files] [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins14691210922104267937.sh ---> create-netrc.sh [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins17179417181586176325.sh ---> python-tools-install.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/it-dep-helm-docker-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-XCa3 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-XCa3/bin to PATH [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins14659860393234578923.sh ---> sudo-logs.sh Archiving 'sudo' log.. [it-dep-helm-docker-verify-all] $ /bin/bash /tmp/jenkins4482976362971952545.sh ---> job-cost.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/it-dep-helm-docker-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-XCa3 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. lftools 0.37.8 requires openstacksdk<1.5.0, but you have openstacksdk 2.0.0 which is incompatible. lf-activate-venv(): INFO: Adding /tmp/venv-XCa3/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v2-highcpu-4 INFO: Archiving Costs [it-dep-helm-docker-verify-all] $ /bin/bash -l /tmp/jenkins2002847583961015208.sh ---> logs-deploy.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/it-dep-helm-docker-verify-all/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-XCa3 from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. python-openstackclient 6.4.0 requires openstacksdk>=2.0.0, but you have openstacksdk 1.4.0 which is incompatible. lf-activate-venv(): INFO: Adding /tmp/venv-XCa3/bin to PATH INFO: Nexus URL https://nexus.o-ran-sc.org path production/vex-sjc-oran-jenkins-prod-1/it-dep-helm-docker-verify-all/624 INFO: archiving workspace using pattern(s): Archives upload complete. INFO: archiving logs to Nexus ---> uname -a: Linux prd-ubuntu1804-docker-4c-4g-1422 4.15.0-194-generic #205-Ubuntu SMP Fri Sep 16 19:49:27 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 23 Model: 49 Model name: AMD EPYC-Rome Processor Stepping: 0 CPU MHz: 2800.000 BogoMIPS: 5600.00 Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 512K L3 cache: 16384K NUMA node0 CPU(s): 0-3 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr arat npt nrip_save umip rdpid arch_capabilities ---> nproc: 4 ---> df -h: Filesystem Size Used Avail Use% Mounted on udev 2.0G 0 2.0G 0% /dev tmpfs 395M 688K 394M 1% /run /dev/vda1 20G 9.4G 9.8G 49% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/vda15 105M 4.4M 100M 5% /boot/efi tmpfs 395M 0 395M 0% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 3944 475 1052 0 2416 3199 Swap: 1023 0 1023 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: mtu 1450 qdisc fq_codel state UP group default qlen 1000 link/ether fa:16:3e:da:2a:25 brd ff:ff:ff:ff:ff:ff inet 10.32.7.67/23 brd 10.32.7.255 scope global dynamic ens3 valid_lft 85966sec preferred_lft 85966sec inet6 fe80::f816:3eff:feda:2a25/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:8d:f0:80:63 brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:8dff:fef0:8063/64 scope link valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 4.15.0-194-generic (prd-ubuntu1804-docker-4c-4g-1422) 12/19/23 _x86_64_ (4 CPU) 15:41:11 LINUX RESTART (4 CPU) 15:42:01 tps rtps wtps bread/s bwrtn/s 15:43:01 5.83 0.00 5.83 0.00 256.85 15:44:01 0.98 0.00 0.98 0.00 12.66 15:45:02 52.66 19.73 32.93 851.32 786.00 15:46:01 67.55 16.68 50.87 1027.62 6483.10 15:47:01 142.68 8.58 134.09 1568.67 27828.96 15:48:01 23.76 0.65 23.11 62.12 1115.15 Average: 48.86 7.58 41.28 583.71 6079.17 15:42:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 15:43:01 2073080 3456140 1965584 48.67 25112 1528272 791508 15.56 405872 1412264 16 15:44:01 2073144 3456280 1965520 48.67 25144 1528276 802768 15.78 404996 1412248 168 15:45:02 1925456 3385648 2113208 52.32 30724 1595944 823140 16.18 492308 1465084 36504 15:46:01 1520892 3310344 2517772 62.34 55476 1885160 884360 17.38 610016 1718456 198968 15:47:01 1116120 3315304 2922544 72.36 76604 2255576 1111520 21.85 739804 1950896 2608 15:48:01 1080992 3278928 2957672 73.23 78828 2254600 909816 17.88 789804 1943320 45552 Average: 1631614 3367107 2407050 59.60 48648 1841305 887185 17.44 573800 1650378 47303 15:42:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 15:43:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:43:01 ens3 0.05 0.03 0.00 0.01 0.00 0.00 0.00 0.00 15:43:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:44:01 lo 0.20 0.20 0.01 0.01 0.00 0.00 0.00 0.00 15:44:01 ens3 0.17 0.12 0.01 0.01 0.00 0.00 0.00 0.00 15:44:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:45:02 lo 0.13 0.13 0.02 0.02 0.00 0.00 0.00 0.00 15:45:02 ens3 126.10 82.50 236.30 35.17 0.00 0.00 0.00 0.00 15:45:02 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:46:01 lo 1.15 1.15 0.10 0.10 0.00 0.00 0.00 0.00 15:46:01 ens3 82.44 76.95 1229.98 8.80 0.00 0.00 0.00 0.00 15:46:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:47:01 lo 2.07 2.07 0.19 0.19 0.00 0.00 0.00 0.00 15:47:01 veth2e8e704 0.00 0.17 0.00 0.01 0.00 0.00 0.00 0.00 15:47:01 ens3 821.90 300.25 1441.99 41.11 0.00 0.00 0.00 0.00 15:47:01 docker0 234.44 731.29 12.22 989.28 0.00 0.00 0.00 0.00 15:48:01 lo 0.87 0.87 0.08 0.08 0.00 0.00 0.00 0.00 15:48:01 ens3 26.91 23.71 42.28 13.32 0.00 0.00 0.00 0.00 15:48:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 0.74 0.74 0.07 0.07 0.00 0.00 0.00 0.00 Average: ens3 176.52 80.60 489.69 16.42 0.00 0.00 0.00 0.00 Average: docker0 39.18 122.22 2.04 165.33 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.15.0-194-generic (prd-ubuntu1804-docker-4c-4g-1422) 12/19/23 _x86_64_ (4 CPU) 15:41:11 LINUX RESTART (4 CPU) 15:42:01 CPU %user %nice %system %iowait %steal %idle 15:43:01 all 0.01 0.00 0.01 0.18 0.01 99.79 15:43:01 0 0.02 0.00 0.02 0.00 0.00 99.97 15:43:01 1 0.00 0.00 0.02 0.65 0.00 99.33 15:43:01 2 0.00 0.00 0.00 0.05 0.00 99.95 15:43:01 3 0.00 0.00 0.00 0.00 0.03 99.97 15:44:01 all 0.04 0.00 0.01 0.01 0.01 99.92 15:44:01 0 0.03 0.00 0.02 0.00 0.02 99.93 15:44:01 1 0.02 0.00 0.00 0.02 0.00 99.97 15:44:01 2 0.07 0.00 0.02 0.03 0.00 99.88 15:44:01 3 0.05 0.00 0.02 0.00 0.03 99.90 15:45:02 all 4.74 0.00 0.44 1.42 0.02 93.38 15:45:02 0 3.56 0.00 0.30 0.27 0.00 95.87 15:45:02 1 8.09 0.00 0.73 0.42 0.02 90.74 15:45:02 2 3.80 0.00 0.12 0.50 0.03 95.55 15:45:02 3 3.47 0.00 0.60 4.54 0.03 91.36 15:46:01 all 19.15 0.00 1.24 2.27 0.05 77.30 15:46:01 0 39.24 0.00 1.92 0.36 0.05 58.44 15:46:01 1 19.38 0.00 1.31 1.26 0.05 78.01 15:46:01 2 6.40 0.00 0.89 7.31 0.05 85.34 15:46:01 3 11.74 0.00 0.88 0.12 0.05 87.22 15:47:01 all 12.89 0.00 3.34 3.56 0.05 80.17 15:47:01 0 13.79 0.00 3.58 1.11 0.05 81.47 15:47:01 1 7.41 0.00 3.12 5.69 0.05 83.73 15:47:01 2 5.83 0.00 2.41 3.62 0.03 88.10 15:47:01 3 24.49 0.00 4.23 3.81 0.05 67.42 15:48:01 all 13.54 0.00 1.01 0.70 0.04 84.72 15:48:01 0 4.72 0.00 0.77 0.13 0.03 94.34 15:48:01 1 22.43 0.00 1.35 2.28 0.05 73.88 15:48:01 2 18.13 0.00 0.97 0.12 0.05 80.73 15:48:01 3 8.81 0.00 0.95 0.25 0.03 89.95 Average: all 8.37 0.00 1.01 1.35 0.03 89.25 Average: 0 10.14 0.00 1.09 0.31 0.03 88.43 Average: 1 9.53 0.00 1.09 1.72 0.03 87.64 Average: 2 5.70 0.00 0.73 1.93 0.03 91.61 Average: 3 8.10 0.00 1.11 1.45 0.04 89.30