$ROOT_DIR/prepare-common-templates
-COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice"}
+COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice nonrtricgateway"}
echo "Packaging NONRTRIC components [$COMPONENTS]"
# Package common templates and serve it using Helm local repo
HELM_LOCAL_REPO=""
policymanagementservice:
imagePullPolicy: IfNotPresent
image:
- registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+ registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
name: nonrtric-policy-agent
- tag: 2.1.0
+ tag: 2.2.0
service:
allowHttp: true
httpName: http
internalPort1: 9080
targetPort1: 8081
- externalPort1: 30093
httpsName: https
internalPort2: 9081
targetPort2: 8433
- externalPort2: 30094
liveness:
initialDelaySeconds: 20
periodSeconds: 10
}
}
}
+
enrichmentservice:
enrichmentservice:
imagePullPolicy: IfNotPresent
httpName: http
internalPort1: 9082
targetPort1: 8083
- externalPort1: 30095
httpsName: https
internalPort2: 9083
targetPort2: 8434
- externalPort2: 30096
liveness:
initialDelaySeconds: 20
periodSeconds: 10
size: 2Gi
mountPath: /dockerdata-nfs
mountSubPath: nonrtric/enrichmentservice
+
rappcatalogueservice:
rappcatalogueservice:
imagePullPolicy: IfNotPresent
httpName: http
internalPort1: 9085
targetPort1: 8080
- externalPort1: 30097
httpsName: https
internalPort2: 9086
targetPort2: 8433
- externalPort2: 30098
liveness:
initialDelaySeconds: 20
periodSeconds: 10
readiness:
initialDelaySeconds: 20
periodSeconds: 10
+
+nonrtricgateway:
+ nonrtricgateway:
+ imagePullPolicy: IfNotPresent
+ image:
+ registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+ name: nonrtric-gateway
+ tag: 0.0.1
+ service:
+ httpName: http
+ internalPort1: 9090
+ targetPort1: 9090
+ externalPort1: 30093
+ liveness:
+ initialDelaySeconds: 20
+ periodSeconds: 10
+ readiness:
+ initialDelaySeconds: 20
+ periodSeconds: 10
\ No newline at end of file
NONRTRIC_NAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *nonrtric:/{print $2}')
RELEASE_PREFIX=$(echo "$COMMON_BLOCK" | awk '/^ *releasePrefix:/{print $2}')
PARENT_CHART=$(cat $OVERRIDEYAML | awk '/^ *component:/{print $2}')
-COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice nonrtric rappcatalogueservice"}
+COMPONENTS=${LIST_OF_COMPONENTS:-"controlpanel a1controller a1simulator policymanagementservice enrichmentservice nonrtric rappcatalogueservice nonrtricgateway"}
echo "Chart name- $PARENT_CHART"
if ! kubectl get ns ${NONRTRIC_NAMESPACE:-nonrtric}> /dev/null 2>&1; then
################################################################################
-COMPONENTS="controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice"
+COMPONENTS="controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice nonrtricgateway"
RECIPE_NAMESPACE=$(kubectl get cm --all-namespaces | grep nonrtric-recipe | awk '{print $1}')
kubectl get configmap -n $RECIPE_NAMESPACE nonrtric-recipe -o jsonpath='{.data.recipe}' > /tmp/recipe.yaml
- name: {{ index .Values.enrichmentservice.service.httpName }}
port: {{ .Values.enrichmentservice.service.internalPort1 }}
targetPort: {{ .Values.enrichmentservice.service.targetPort1 }}
- nodePort: {{ .Values.enrichmentservice.service.externalPort1 }}
protocol: TCP
{{- end }}
- name: {{ index .Values.enrichmentservice.service.httpsName }}
port: {{ .Values.enrichmentservice.service.internalPort2 }}
targetPort: {{ .Values.enrichmentservice.service.targetPort2 }}
- nodePort: {{ .Values.enrichmentservice.service.externalPort2 }}
protocol: TCP
selector:
app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.enrichmentservice" . }}
release: {{ .Release.Name }}
- type: NodePort
+ type: ClusterIP
httpName: http
internalPort1: 9082
targetPort1: 8083
- externalPort1: 30095
httpsName: https
internalPort2: 9083
targetPort2: 8434
- externalPort2: 30096
liveness:
initialDelaySeconds: 20
periodSeconds: 10
- name: rappcatalogueservice
version: ~1.0.0
repository: "@local"
+ - name: nonrtricgateway
+ version: ~1.0.0
+ repository: "@local"
--- /dev/null
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
--- /dev/null
+################################################################################
+# 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
+appVersion: "0.0.1"
+description: A Helm chart for Nonrtric Gateway
+name: nonrtricgateway
+version: 1.0.0
--- /dev/null
+################################################################################
+# 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. #
+################################################################################
+
+dependencies:
+ - name: nonrtric-common
+ version: ^2.0.0
+ repository: "@local"
--- /dev/null
+################################################################################
+# 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. #
+################################################################################
+
+server:
+ port: 9090
+spring:
+ cloud:
+ gateway:
+ httpclient:
+ ssl:
+ useInsecureTrustManager: true
+ wiretap: true
+ httpserver:
+ wiretap: true
+ routes:
+ - id: a1-policy
+ uri: https://policymanagementservice:9081
+ predicates:
+ - Path=/a1-policy/**
+ - id: ei-producer
+ uri: https://enrichmentservice:9083
+ predicates:
+ - Path=/ei-producer/**
+management:
+ endpoint:
+ gateway:
+ enabled: true
+ endpoints:
+ web:
+ exposure:
+ include: "gateway,loggers,logfile,health,info,metrics,threaddump,heapdump"
+logging:
+ level:
+ ROOT: ERROR
+ org.springframework: ERROR
+ org.springframework.cloud.gateway: INFO
+ reactor.netty: INFO
+ file:
+ name: /var/log/nonrtric-gateway/application.log
\ No newline at end of file
--- /dev/null
+################################################################################
+# 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: {{ include "common.name.nonrtricgateway" . }}-configmap
+ namespace: {{ include "common.namespace.nonrtric" . }}
+ labels:
+ app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.nonrtricgateway" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
--- /dev/null
+################################################################################
+# 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: {{ include "common.name.nonrtricgateway" . }}
+ namespace: {{ include "common.namespace.nonrtric" . }}
+ generation: 1
+ labels:
+ app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.nonrtricgateway" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ deployment.kubernetes.io/revision: '1'
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.nonrtricgateway" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.nonrtricgateway" . }}
+ release: {{ .Release.Name }}
+ spec:
+ hostname: {{ include "common.name.nonrtricgateway" . }}
+ containers:
+ - name: {{ include "common.container.nonrtricgateway" . }}
+ image: {{ .Values.nonrtricgateway.image.registry }}/{{ .Values.nonrtricgateway.image.name }}:{{ .Values.nonrtricgateway.image.tag }}
+ imagePullPolicy: {{ .Values.nonrtricgateway.imagePullPolicy }}
+ ports:
+ - containerPort: {{ .Values.nonrtricgateway.service.targetPort1 }}
+ protocol: TCP
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.nonrtricgateway.service.targetPort1 }}
+ initialDelaySeconds: {{ .Values.nonrtricgateway.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.nonrtricgateway.liveness.periodSeconds }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.nonrtricgateway.service.targetPort1 }}
+ initialDelaySeconds: {{ .Values.nonrtricgateway.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.nonrtricgateway.liveness.periodSeconds }}
+ volumeMounts:
+ - name: {{ include "common.name.nonrtricgateway" . }}-config
+ mountPath: /opt/app/nonrtric-gateway/config
+ volumes:
+ - name: {{ include "common.name.nonrtricgateway" . }}-config
+ configMap:
+ name: {{ include "common.name.nonrtricgateway" . }}-configmap
\ No newline at end of file
--- /dev/null
+################################################################################
+# 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: {{ include "common.name.nonrtricgateway" . }}
+ namespace: {{ include "common.namespace.nonrtric" . }}
+ labels:
+ app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.nonrtricgateway" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ - name: {{ index .Values.nonrtricgateway.service.httpName }}
+ port: {{ .Values.nonrtricgateway.service.internalPort1 }}
+ targetPort: {{ .Values.nonrtricgateway.service.targetPort1 }}
+ nodePort: {{ .Values.nonrtricgateway.service.externalPort1 }}
+ protocol: TCP
+ selector:
+ app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.nonrtricgateway" . }}
+ release: {{ .Release.Name }}
+ type: NodePort
--- /dev/null
+################################################################################
+# 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. #
+################################################################################
+
+# Default values for Gateway application.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+nonrtricgateway:
+ imagePullPolicy: IfNotPresent
+ image:
+ registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+ name: nonrtric-gateway
+ tag: 0.0.1
+ service:
+ httpName: http
+ internalPort1: 9090
+ targetPort1: 9090
+ externalPort1: 30093
+ liveness:
+ initialDelaySeconds: 20
+ periodSeconds: 10
+ readiness:
+ initialDelaySeconds: 20
+ periodSeconds: 10
\ No newline at end of file
- name: {{ index .Values.policymanagementservice.service.httpName }}
port: {{ .Values.policymanagementservice.service.internalPort1 }}
targetPort: {{ .Values.policymanagementservice.service.targetPort1 }}
- nodePort: {{ .Values.policymanagementservice.service.externalPort1 }}
protocol: TCP
{{- end }}
- name: {{ index .Values.policymanagementservice.service.httpsName }}
port: {{ .Values.policymanagementservice.service.internalPort2 }}
targetPort: {{ .Values.policymanagementservice.service.targetPort2 }}
- nodePort: {{ .Values.policymanagementservice.service.externalPort2 }}
protocol: TCP
selector:
app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.policymanagementservice" . }}
release: {{ .Release.Name }}
- type: NodePort
+ type: ClusterIP
policymanagementservice:
imagePullPolicy: IfNotPresent
image:
- registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+ registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
name: nonrtric-policy-agent
- tag: 2.1.0
+ tag: 2.2.0
service:
allowHttp: true
httpName: http
internalPort1: 9080
targetPort1: 8081
- externalPort1: 30093
httpsName: https
internalPort2: 9081
targetPort2: 8433
- externalPort2: 30094
liveness:
initialDelaySeconds: 20
periodSeconds: 10
- name: {{ index .Values.rappcatalogueservice.service.httpName }}
port: {{ .Values.rappcatalogueservice.service.internalPort1 }}
targetPort: {{ .Values.rappcatalogueservice.service.targetPort1 }}
- nodePort: {{ .Values.rappcatalogueservice.service.externalPort1 }}
protocol: TCP
{{- end }}
- name: {{ index .Values.rappcatalogueservice.service.httpsName }}
port: {{ .Values.rappcatalogueservice.service.internalPort2 }}
targetPort: {{ .Values.rappcatalogueservice.service.targetPort2 }}
- nodePort: {{ .Values.rappcatalogueservice.service.externalPort2 }}
protocol: TCP
selector:
app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.rappcatalogueservice" . }}
release: {{ .Release.Name }}
- type: NodePort
+ type: ClusterIP
httpName: http
internalPort1: 9080
targetPort1: 8080
- externalPort1: 30093
httpsName: https
internalPort2: 9081
targetPort2: 8433
- externalPort2: 30094
liveness:
initialDelaySeconds: 20
periodSeconds: 10
--- /dev/null
+################################################################################
+# 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. #
+################################################################################
+
+{{- define "common.name.nonrtricgateway" -}}
+ {{- printf "nonrtricgateway" -}}
+{{- end -}}
+
+{{- define "common.container.nonrtricgateway" -}}
+ {{- $name := ( include "common.name.nonrtricgateway" . ) -}}
+ {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}