environment:
RUNTIME_USER: runtimeUser
RUNTIME_PASSWORD: zb!XztG34
+ TIMEZONE: UTC
SQL_HOST: postgres
SQL_PORT: 5432
SQL_USER: policy_user
OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED: true
JAVA_TOOL_OPTIONS: >-
- -Dlogging.config="/opt/app/policy/clamp/etc/logback.xml"
-Dcom.sun.management.jmxremote.rmi.port=9090
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
- volumes:
- - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
healthcheck:
test: "curl --fail --silent http://localhost:6969/onap/policy/clamp/acm/actuator/health/readiness | grep UP || exit 1"
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
- entrypoint: java -jar /app/app.jar
policy-clamp-ac-http-ppnt-replica:
image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_PPNT_VERSION}
environment:
RUNTIME_USER: runtimeUser
RUNTIME_PASSWORD: zb!XztG34
+ TIMEZONE: UTC
SQL_HOST: postgres
SQL_PORT: 5432
SQL_USER: policy_user
OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED: true
JAVA_TOOL_OPTIONS: >-
- -Dlogging.config="/opt/app/policy/clamp/etc/logback.xml"
-Dcom.sun.management.jmxremote.rmi.port=9090
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.local.only=false
-Dotel.java.global-autoconfigure.enabled=true
SPRING_PROFILES_ACTIVE: ${CLAMP_PROFILE:-default}
- volumes:
- - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
healthcheck:
test: "curl --fail --silent http://localhost:6969/onap/policy/clamp/acm/actuator/health/readiness | grep UP || exit 1"
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
- entrypoint: java -jar /app/app.jar
policy-clamp-ac-http-ppnt:
image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_PPNT_VERSION}
+++ /dev/null
-<!--
- ============LICENSE_START=======================================================
- policy-clamp
- ================================================================================
- Copyright (C) 2021,2025 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.
- SPDX-License-Identifier: Apache-2.0
- ============LICENSE_END=========================================================
- -->
-
-<configuration scan="true" scanPeriod="30 seconds" debug="false">
-
- <property name="logDir" value="${POLICY_LOGS}" />
-
- <property name="errorLog" value="error" />
- <property name="debugLog" value="debug" />
- <property name="networkLog" value="acm-network" />
-
- <property name="metricLog" value="metric" />
- <property name="transactionLog" value="audit" />
-
- <property name="debugPattern"
- value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n" />
- <property name="errorPattern" value="${debugPattern}" />
- <property name="networkPattern"
- value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n" />
-
- <property
- name="mpPreamble"
- value="%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}" />
-
- <property
- name="mpTime"
- value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}" />
-
- <property
- name="mpLine1"
- value="%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}" />
-
- <property
- name="mpLine2"
- value="%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}" />
-
- <property
- name="mpLine3"
- value="%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}|%X{AlertSeverity}" />
-
- <property
- name="mpLine4"
- value="%X{TargetVirtualEntity}|%level|%thread| %msg%n" />
-
-
- <property name="metricPattern"
- value="{$mpPreamble}|{$mpTime}|{$mpLine1}|{$mpLine2}|{$mpLine3}|$mpLine4" />
-
- <property name="transactionPattern" value="${metricPattern}" />
-
- <appender name="ErrorOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${errorLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${errorLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <encoder>
- <pattern>${errorPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncErrorOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="ErrorOut" />
- </appender>
-
- <appender name="DebugOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${debugLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${debugLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${debugPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncDebugOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="DebugOut" />
- </appender>
-
- <appender name="NetworkOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${networkLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${networkLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${networkPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncNetworkOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="NetworkOut" />
- </appender>
-
- <appender name="MetricOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${metricLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${metricLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${metricPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncMetricOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="MetricOut" />
- </appender>
-
- <appender name="TransactionOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${transactionLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${transactionLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${transactionPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncTransactionOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="TransactionOut" />
- </appender>
-
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <Pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</Pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncStdOut" class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="STDOUT" />
- </appender>
-
- <logger name="network" level="OFF" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <logger name="acm-network" level="INFO" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <logger name="org.eclipse.jetty" level="ERROR" />
-
- <root level="INFO">
- <appender-ref ref="AsyncDebugOut" />
- <appender-ref ref="AsyncErrorOut" />
- <appender-ref ref="AsyncMetricOut" />
- <appender-ref ref="AsyncTransactionOut" />
- <appender-ref ref="AsyncStdOut" />
- </root>
-
-</configuration>
"acelement.elementId.name": "onap.policy.clamp.ac.starter",
"service.nodeport": 30800
}
- }
+ },
+ "deployTimeoutMs": "100000"
}
},
"709c62b3-8918-41b9-a747-d21eb79c6c22": {
"acelement.elementId.name": "onap.policy.clamp.ac.bridge",
"service.nodeport": 30801
}
- }
+ },
+ "deployTimeoutMs": "100000"
}
},
"709c62b3-8918-41b9-a747-d21eb79c6c23": {
"acelement.elementId.name": "onap.policy.clamp.ac.sink",
"service.nodeport": 30802
}
- }
+ },
+ "deployTimeoutMs": "100000"
}
},
"709c62b3-8918-41b9-a747-d21eb79c6c24": {
+++ /dev/null
-#!/usr/bin/env sh
-#
-# ============LICENSE_START=======================================================
-# Copyright (C) 2024,2026 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.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-#
-
-if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
- echo "overriding logback xml file"
- cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
-fi
-
-$JAVA_HOME/bin/java \
- -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
- -Dcom.sun.management.jmxremote.rmi.port=9090 \
- -Dcom.sun.management.jmxremote=true \
- -Dcom.sun.management.jmxremote.port=9090 \
- -Dcom.sun.management.jmxremote.ssl=false \
- -Dcom.sun.management.jmxremote.authenticate=false \
- -Dcom.sun.management.jmxremote.local.only=false \
- -Dotel.java.global-autoconfigure.enabled=true \
- -jar /app/app.jar
+++ /dev/null
-<!--
- ============LICENSE_START=======================================================
- 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.
- SPDX-License-Identifier: Apache-2.0
- ============LICENSE_END=========================================================
--->
-
-<configuration scan="true" scanPeriod="30 seconds" debug="false">
-
- <appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>/var/log/onap/policy/policy-clamp-runtime-acm/error.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>/var/log/onap/policy/policy-clamp-runtime-acm/error.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <encoder>
- <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncErrorOut" class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="ErrorOut" />
- </appender>
-
- <appender name="DebugOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>/var/log/onap/policy/policy-clamp-runtime-acm/debug.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>/var/log/onap/policy/policy-clamp-runtime-acm/debug.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncDebugOut" class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="DebugOut" />
- </appender>
-
- <appender name="NetworkOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>/var/log/onap/policy/policy-clamp-runtime-acm/network.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>/var/log/onap/policy/policy-clamp-runtime-acm/network.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncNetworkOut" class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="NetworkOut" />
- </appender>
-
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <Pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</Pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncStdOut" class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="STDOUT" />
- </appender>
-
- <logger name="network" level="INFO" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <root level="INFO">
- <appender-ref ref="AsyncDebugOut" />
- <appender-ref ref="AsyncErrorOut" />
- <appender-ref ref="AsyncStdOut" />
- </root>
-
-</configuration>
app: {{ .Chart.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
heritage: Helm
-{{- with .Files.Glob "resources/config/*store" }}
-binaryData:
-{{- range $path, $bytes := . }}
- {{ base $path }}: {{ $.Files.Get $path | b64enc | quote }}
-{{- end }}
-{{- end }}
-data:
-{{ tpl (.Files.Glob "resources/config/*.{json,xml,yaml,sh}").AsConfig . | indent 2 }}
app.kubernetes.io/managed-by: Helm
name: {{ .Chart.Name }}
spec:
- initContainers:
- - command:
- - /app/ready.py
- args:
- - --job-name
- - policy-pg-init
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.global.repository }}/{{ .Values.global.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: {{ .Chart.Name }}-readiness
- - command:
- - sh
- args:
- - -c
- - "cd /config-input && for PFILE in `ls -1`; do envsubst <${PFILE} >/config/${PFILE}; done"
- env:
- - name: SQL_USER
- valueFrom:
- secretKeyRef:
- name: {{ .Chart.Name }}-db-secret
- key: login
-
- - name: SQL_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Chart.Name }}-db-secret
- key: password
-
- volumeMounts:
- - mountPath: /config-input
- name: ac-runtime-config
- - mountPath: /config
- name: ac-runtime-config-processed
- image: docker.io/dibi/envsubst:1
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: {{ .Chart.Name }}-update-config
containers:
- name: {{ .Chart.Name }}
image: {{ .Values.global.repository }}/{{ .Values.global.image.runtimeacm }}
imagePullPolicy: {{ .Values.global.pullPolicy }}
- command: ["/opt/app/policy/clamp/bin/acm-runtime.sh"]
env:
- name: RUNTIME_USER
valueFrom:
secretKeyRef:
name: {{ .Chart.Name }}-runtime-secret
key: password
+ - name: TIMEZONE
+ value: UTC
- name: SQL_HOST
value: {{ .Values.db.service.name }}
- name: SQL_PORT
- mountPath: /etc/localtime
name: localtime
readOnly: true
- - mountPath: /opt/app/policy/clamp/etc/mounted
- name: ac-runtime-config-processed
- - mountPath: /opt/app/policy/clamp/bin/acm-runtime.sh
- name: ac-runtime-config
- subPath: acm-runtime.sh
resources:
{{ toYaml .Values.resources.small | indent 12 }}
{{- if .Values.nodeSelector }}
- name: localtime
hostPath:
path: /etc/localtime
- - name: ac-runtime-config
- configMap:
- name: {{ .Chart.Name }}-configmap
- defaultMode: 0755
- - name: ac-runtime-config-processed
- emptyDir:
- medium: Memory
imagePullSecrets:
- name: "default-docker-registry-key"