diff --git a/doc/source/chart/openstack_charts.rst b/doc/source/chart/openstack_charts.rst index 45b94cd918..174fe55f70 100644 --- a/doc/source/chart/openstack_charts.rst +++ b/doc/source/chart/openstack_charts.rst @@ -22,7 +22,6 @@ OpenStack charts options manila masakari mistral - monasca neutron nova octavia diff --git a/horizon/values.yaml b/horizon/values.yaml index 9bfbc0ab3f..9622abb109 100644 --- a/horizon/values.yaml +++ b/horizon/values.yaml @@ -193,13 +193,6 @@ conf: # REMOVE_PANEL = True ## https://docs.openstack.org/horizon/latest/configuration/pluggable_panels.html#id2 local_settings_d: {} - ## For example, _50_monasca_ui_settings.py - # _50_monasca_ui_settings: | - # from django.conf import settings - # # Grafana button titles/file names (global across all projects): - # GRAFANA_LINKS = [] - # DASHBOARDS = getattr(settings, 'GRAFANA_LINKS', GRAFANA_LINKS) - local_settings: config: # Use "True" and "False" as Titlecase strings with quotes, boolean diff --git a/monasca/.helmignore b/monasca/.helmignore deleted file mode 100644 index b54c347b85..0000000000 --- a/monasca/.helmignore +++ /dev/null @@ -1 +0,0 @@ -values_overrides diff --git a/monasca/Chart.yaml b/monasca/Chart.yaml deleted file mode 100644 index 62beb9c30b..0000000000 --- a/monasca/Chart.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# 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: v2 -appVersion: v1.0.0 -description: OpenStack-Helm Monasca API -name: monasca -version: 2025.2.0 -home: https://docs.openstack.org/monasca/latest/ -icon: https://www.openstack.org/themes/openstack/images/project-mascots/Monasca/OpenStack_Project_Monasca_vertical.png -sources: - - https://opendev.org/openstack/monasca - - https://opendev.org/openstack/openstack-helm -maintainers: - - name: OpenStack-Helm Authors - -dependencies: - - name: helm-toolkit - repository: "file://../helm-toolkit" - version: ">= 0.1.0" -... diff --git a/monasca/templates/bin/_bootstrap.sh.tpl b/monasca/templates/bin/_bootstrap.sh.tpl deleted file mode 100644 index 6452d0a073..0000000000 --- a/monasca/templates/bin/_bootstrap.sh.tpl +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex -{{ .Values.bootstrap.script | default "echo 'Not Enabled'" }} diff --git a/monasca/templates/bin/_db-sync.sh.tpl b/monasca/templates/bin/_db-sync.sh.tpl deleted file mode 100644 index 510713f4da..0000000000 --- a/monasca/templates/bin/_db-sync.sh.tpl +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex - -monasca_db upgrade - -echo 'Finished DB migrations' diff --git a/monasca/templates/bin/_influxdb-init.sh.tpl b/monasca/templates/bin/_influxdb-init.sh.tpl deleted file mode 100644 index 2e81b2e8bf..0000000000 --- a/monasca/templates/bin/_influxdb-init.sh.tpl +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex -OPTIONS="-w "%{http_code}" --output /dev/stderr --silent -X POST -u ${INFLUXDB_USER}:${INFLUXDB_PASSWORD}" - -status_code=$(curl ${OPTIONS} ${INFLUXDB_URL}query --data-urlencode "q=CREATE DATABASE monasca") -if [ $status_code -lt 200 ] || ([ $status_code -gt 299 ] && [ $status_code -ne 409 ]) -then - exit 1 -fi - -status_code=$(curl ${OPTIONS} ${INFLUXDB_URL}query --data-urlencode "q=CREATE RETENTION POLICY persister_all ON monasca DURATION 90d REPLICATION 1 DEFAULT") -if [ $status_code -lt 200 ] || ([ $status_code -gt 299 ] && [ $status_code -ne 409 ]) -then - exit 1 -fi - -status_code=$(curl ${OPTIONS} ${INFLUXDB_URL}query --data-urlencode "q=CREATE USER \"${INFLUXDB_API_USER}\" WITH PASSWORD '${INFLUXDB_API_PASSWORD}'") -if [ $status_code -lt 200 ] || ([ $status_code -gt 299 ] && [ $status_code -ne 409 ]) -then - exit 1 -fi - -status_code=$(curl ${OPTIONS} ${INFLUXDB_URL}query --data-urlencode "q=GRANT ALL TO \"${INFLUXDB_API_USER}\"") -if [ $status_code -lt 200 ] || ([ $status_code -gt 299 ] && [ $status_code -ne 409 ]) -then - exit 1 -fi - -status_code=$(curl ${OPTIONS} ${INFLUXDB_URL}query --data-urlencode "q=CREATE USER \"${INFLUXDB_PERSISTER_USER}\" WITH PASSWORD '${INFLUXDB_PERSISTER_PASSWORD}'") -if [ $status_code -lt 200 ] || ([ $status_code -gt 299 ] && [ $status_code -ne 409 ]) -then - exit 1 -fi - -status_code=$(curl ${OPTIONS} ${INFLUXDB_URL}query --data-urlencode "q=GRANT ALL ON monasca TO \"${INFLUXDB_PERSISTER_USER}\"") -if [ $status_code -lt 200 ] || ([ $status_code -gt 299 ] && [ $status_code -ne 409 ]) -then - exit 1 -fi \ No newline at end of file diff --git a/monasca/templates/bin/_monasca-agent-init.sh.tpl b/monasca/templates/bin/_monasca-agent-init.sh.tpl deleted file mode 100644 index f8815dcd1b..0000000000 --- a/monasca/templates/bin/_monasca-agent-init.sh.tpl +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex -# Start our service. -echo "Start script: starting container" -mkdir -p /etc/monasca/agent -cp /tmp/agent.yaml /etc/monasca/agent/agent.yaml -sudo chmod 600 /etc/monasca/agent/agent.yaml -ls -al /etc/monasca/agent/agent.yaml -sed -i "s/%FORWARDER_IP%/$MY_POD_IP/g" /etc/monasca/agent/agent.yaml -sed -i "s/%AGENT_HOSTNAME%/$(hostname --fqdn)/g" /etc/monasca/agent/agent.yaml diff --git a/monasca/templates/bin/_monasca-api.sh.tpl b/monasca/templates/bin/_monasca-api.sh.tpl deleted file mode 100644 index 3bba6a283f..0000000000 --- a/monasca/templates/bin/_monasca-api.sh.tpl +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex - -COMMAND="${@:-start}" - -function start () { - - for MONASCA_WSGI_SCRIPT in monasca-api-wsgi; do - cp -a $(type -p ${MONASCA_WSGI_SCRIPT}) /var/www/cgi-bin/monasca/ - done - - {{- if .Values.conf.software.apache2.a2enmod }} - {{- range .Values.conf.software.apache2.a2enmod }} - a2enmod {{ . }} - {{- end }} - {{- end }} - - {{- if .Values.conf.software.apache2.a2dismod }} - {{- range .Values.conf.software.apache2.a2dismod }} - a2dismod {{ . }} - {{- end }} - {{- end }} - - if [ -f /etc/apache2/envvars ]; then - # Loading Apache2 ENV variables - source /etc/apache2/envvars - fi - - if [ -f /var/run/apache2/apache2.pid ]; then - # Remove the stale pid for debian/ubuntu images - rm -f /var/run/apache2/apache2.pid - fi - - # Start Apache2 - exec {{ .Values.conf.software.apache2.binary }} {{ .Values.conf.software.apache2.start_parameters }} -} - -function stop () { - if [ -f /etc/apache2/envvars ]; then - # Loading Apache2 ENV variables - source /etc/apache2/envvars - fi - {{ .Values.conf.software.apache2.binary }} -k graceful-stop -} - -$COMMAND diff --git a/monasca/templates/bin/_monasca-collector.sh.tpl b/monasca/templates/bin/_monasca-collector.sh.tpl deleted file mode 100644 index 4c7ae5c5d5..0000000000 --- a/monasca/templates/bin/_monasca-collector.sh.tpl +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex -# Start our service. -{{- $envAll := . }} - -echo "Copying manual configurations for plugins..." -mkdir -p /etc/monasca/agent/conf.d/ -cp /tmp/conf.d/*.yaml /etc/monasca/agent/conf.d/ - -echo "Configuring automatically for plugins without explicit configuration using monasca-setup..." - -{{- range $k, $v := .Values.conf.agent_plugins }} -{{- if $v.auto_detect }} -{{- $local := dict "first" true }} -username=$(id -un "{{ $envAll.Values.pod.security_context.agent.container.monasca_collector.runAsUser }}") -monasca-setup --install_plugins_only -d {{ $k }} --user $username \ --a "{{- range $kk, $vv := $v.config -}}{{- if not $local.first -}}{{- " " -}}{{- end -}}{{ printf "%s=%s" $kk $vv }}{{- $_ := set $local "first" false -}}{{- end -}}" || echo "Auto-detection failed for {{ $k }}" -{{- end }} -{{- end }} - -echo "Starting monasca-collector..." -exec monasca-collector foreground diff --git a/monasca/templates/bin/_monasca-forwarder.sh.tpl b/monasca/templates/bin/_monasca-forwarder.sh.tpl deleted file mode 100644 index 058839c062..0000000000 --- a/monasca/templates/bin/_monasca-forwarder.sh.tpl +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex -# Start our service. -echo "Start script: starting container" - -exec monasca-forwarder diff --git a/monasca/templates/bin/_monasca-notification.sh.tpl b/monasca/templates/bin/_monasca-notification.sh.tpl deleted file mode 100644 index dd934f99b4..0000000000 --- a/monasca/templates/bin/_monasca-notification.sh.tpl +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex - -exec monasca-notification \ - --config-file /etc/monasca/notification-config.conf diff --git a/monasca/templates/bin/_monasca-persister.sh.tpl b/monasca/templates/bin/_monasca-persister.sh.tpl deleted file mode 100644 index 1f965e27a8..0000000000 --- a/monasca/templates/bin/_monasca-persister.sh.tpl +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex - -exec monasca-persister \ - --config-file /etc/monasca/monasca-persister.conf diff --git a/monasca/templates/bin/_monasca-statsd.sh.tpl b/monasca/templates/bin/_monasca-statsd.sh.tpl deleted file mode 100644 index cb667864a4..0000000000 --- a/monasca/templates/bin/_monasca-statsd.sh.tpl +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -{{/* -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. -*/}} - -set -ex -# Start our service. -echo "Start script: starting container" -exec monasca-statsd diff --git a/monasca/templates/bin/_monasca-thresh.sh.tpl b/monasca/templates/bin/_monasca-thresh.sh.tpl deleted file mode 100644 index 100e2698b1..0000000000 --- a/monasca/templates/bin/_monasca-thresh.sh.tpl +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash -# shellcheck shell=dash - -if [ -n "$DEBUG" ]; then - set -x -fi - -function parse_db_url { - # extract the protocol - DATABASE_URL=$1 - proto="`echo $DATABASE_URL | grep '://' | sed -e's,^\(.*://\).*,\1,g'`" - url=`echo $DATABASE_URL | sed -e s,$proto,,g` - userpass="`echo $url | grep @ | cut -d@ -f1`" - pass=`echo $userpass | grep : | cut -d: -f2` - if [ -n "$pass" ]; then - user=`echo $userpass | grep : | cut -d: -f1` - else - user=$userpass - fi - hostport=`echo $url | sed -e s,$userpass@,,g | cut -d/ -f1` - port=`echo $hostport | grep : | cut -d: -f2` - if [ -n "$port" ]; then - host=`echo $hostport | grep : | cut -d: -f1` - else - host=$hostport - fi - path="`echo $url | grep / | cut -d/ -f2-`" - - echo $host $port $user $pass $path -} - -CONFIG_TEMPLATES="/templates" -CONFIG_DEST="/etc/monasca" -LOG_TEMPLATES="/logging" -LOG_DEST="/storm/log4j2" -APACHE_STORM_DIR="/apache-storm-1.2.3" - -ZOOKEEPER_WAIT=${ZOOKEEPER_WAIT:-"true"} -ZOOKEEPER_WAIT_TIMEOUT=${ZOOKEEPER_WAIT_TIMEOUT:-"3"} -ZOOKEEPER_WAIT_DELAY=${ZOOKEEPER_WAIT_DELAY:-"10"} -ZOOKEEPER_WAIT_RETRIES=${ZOOKEEPER_WAIT_RETRIES:-"20"} - -SUPERVISOR_STACK_SIZE=${SUPERVISOR_STACK_SIZE:-"1024k"} -WORKER_STACK_SIZE=${WORKER_STACK_SIZE:-"1024k"} -NIMBUS_STACK_SIZE=${NIMBUS_STACK_SIZE:-"1024k"} -UI_STACK_SIZE=${UI_STACK_SIZE:-"1024k"} - -TOPOLOGY_NAME="thresh-cluster" - -MYSQL_WAIT_RETRIES=${MYSQL_WAIT_RETRIES:-"24"} -MYSQL_WAIT_DELAY=${MYSQL_WAIT_DELAY:-"5"} - -KAFKA_WAIT_RETRIES=${KAFKA_WAIT_RETRIES:-"24"} -KAFKA_WAIT_DELAY=${KAFKA_WAIT_DELAY:-"5"} - -THRESH_STACK_SIZE=${THRESH_STACK_SIZE:-"1024k"} - -first_zk={{ first (index .Values.conf.storm "storm.zookeeper.servers") }} -STORM_ZOOKEEPER_PORT={{ index .Values.conf.storm "storm.zookeeper.port" }} - -# render the config -db_connection={{ tuple "oslo_db" "internal" "monasca" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" }} - -read MYSQL_HOST MYSQL_PORT MYSQL_USER MYSQL_PASSWORD MYSQL_DB < <(parse_db_url $db_connection) -export MYSQL_HOST -export MYSQL_PORT -export MYSQL_USER -export MYSQL_PASSWORD -export MYSQL_DB - -cp /tmp/thresh-config.yml /etc/monasca/thresh-config.yml -sed -i "s/%THRESH_DB_USER%/$MYSQL_USER/g" /etc/monasca/thresh-config.yml -sed -i "s/%THRESH_DB_PASSWORD%/$MYSQL_PASSWORD/g" /etc/monasca/thresh-config.yml -sed -i "s/%THRESH_DB_URL%/$MYSQL_HOST:$MYSQL_PORT\/$MYSQL_DB/g" /etc/monasca/thresh-config.yml - -# wait for zookeeper to become available -if [ "$ZOOKEEPER_WAIT" = "true" ]; then - success="false" - for i in $(seq "$ZOOKEEPER_WAIT_RETRIES"); do - if ok=$(echo ruok | nc "$first_zk" "$STORM_ZOOKEEPER_PORT" -w "$ZOOKEEPER_WAIT_TIMEOUT") && [ "$ok" = "imok" ]; then - success="true" - break - else - echo "Connect attempt $i of $ZOOKEEPER_WAIT_RETRIES failed, retrying..." - sleep "$ZOOKEEPER_WAIT_DELAY" - fi - done - - if [ "$success" != "true" ]; then - echo "Could not connect to $first_zk after $i attempts, exiting..." - sleep 1 - exit 1 - fi -fi - -if [ -z "$STORM_LOCAL_HOSTNAME" ]; then - # see also: http://stackoverflow.com/a/21336679 - ip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $NF}') - echo "Using autodetected IP as advertised hostname: $ip" - export STORM_LOCAL_HOSTNAME=$ip -fi - -if [ -z "$SUPERVISOR_CHILDOPTS" ]; then - SUPERVISOR_CHILDOPTS="-XX:MaxRAM=$(python /memory.py "$SUPERVISOR_MAX_MB") -XX:+UseSerialGC -Xss$SUPERVISOR_STACK_SIZE" - export SUPERVISOR_CHILDOPTS -fi - -if [ -z "$WORKER_CHILDOPTS" ]; then - WORKER_CHILDOPTS="-XX:MaxRAM=$(python /memory.py "$WORKER_MAX_MB") -Xss$WORKER_STACK_SIZE" - WORKER_CHILDOPTS="$WORKER_CHILDOPTS -XX:+UseConcMarkSweepGC" - if [ "$WORKER_REMOTE_JMX" = "true" ]; then - WORKER_CHILDOPTS="$WORKER_CHILDOPTS -Dcom.sun.management.jmxremote" - fi - - export WORKER_CHILDOPTS -fi - -if [ -z "$NIMBUS_CHILDOPTS" ]; then - NIMBUS_CHILDOPTS="-XX:MaxRAM=$(python /memory.py "$NIMBUS_MAX_MB") -XX:+UseSerialGC -Xss$NIMBUS_STACK_SIZE" - export NIMBUS_CHILDOPTS -fi - -if [ -z "$UI_CHILDOPTS" ]; then - UI_CHILDOPTS="-XX:MaxRAM=$(python /memory.py "$UI_MAX_MB") -XX:+UseSerialGC -Xss$UI_STACK_SIZE" - export UI_CHILDOPTS -fi - -if [ "$WORKER_LOGS_TO_STDOUT" = "true" ]; then - for PORT in $(echo "$SUPERVISOR_SLOTS_PORTS" | sed -e "s/,/ /"); do - LOGDIR="/storm/logs/workers-artifacts/thresh/$PORT" - mkdir -p "$LOGDIR" - WORKER_LOG="$LOGDIR/worker.log" - RECREATE="true" - if [ -e "$WORKER_LOG" ]; then - if [ -L "$WORKER_LOG" ]; then - RECREATE="false" - else - rm -f "$WORKER_LOG" - fi - fi - if [ $RECREATE = "true" ]; then - ln -s /proc/1/fd/1 "$WORKER_LOG" - fi - done -fi - -export KAFKA_URI={{ .Values.conf.thresh_config.kafkaProducerConfig.metadataBrokerList }} - -# Test services we need before starting our service. -echo "Start script: waiting for needed services" -python3 /kafka_wait_for_topics.py -python3 /mysql_check.py - - -echo "Waiting for storm to become available..." -success="false" -for i in $(seq "$STORM_WAIT_RETRIES"); do - if timeout "$STORM_WAIT_TIMEOUT" storm list; then - echo "Storm is available, continuing..." - success="true" - break - else - echo "Connection attempt $i of $STORM_WAIT_RETRIES failed" - sleep "$STORM_WAIT_DELAY" - fi -done - -if [ "$success" != "true" ]; then - echo "Unable to connect to Storm! Exiting..." - sleep 1 - exit 1 -fi - -topologies=$(storm list | awk '/-----/,0{if (!/-----/)print $1}') -found="false" -for topology in $topologies; do - if [ "$topology" = "$TOPOLOGY_NAME" ]; then - found="true" - echo "Found existing storm topology with name: $topology" - break - fi -done - -if [ "$found" = "true" ]; then - echo "Storm topology already exists, will not submit again" - # TODO handle upgrades -else - echo "Using Thresh Config file /etc/monasca/thresh-config.yml. Contents:" - grep -vi password /etc/monasca/thresh-config.yml - echo "Submitting storm topology..." - storm jar /monasca-thresh.jar \ - monasca.thresh.ThresholdingEngine \ - /etc/monasca/thresh-config.yml \ - "$TOPOLOGY_NAME" -fi diff --git a/monasca/templates/configmap-bin.yaml b/monasca/templates/configmap-bin.yaml deleted file mode 100644 index 7733edfbac..0000000000 --- a/monasca/templates/configmap-bin.yaml +++ /dev/null @@ -1,64 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.configmap_bin }} -{{- $envAll := . }} -{{- $rallyTests := .Values.conf.rally_tests }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: monasca-bin -data: -{{- if .Values.images.local_registry.active }} - image-repo-sync.sh: | -{{- include "helm-toolkit.scripts.image_repo_sync" . | indent 4 }} -{{- end }} -{{- if .Values.bootstrap.enabled }} - bootstrap.sh: | -{{ tuple "bin/_bootstrap.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} -{{- end }} - rally-test.sh: | -{{ tuple $rallyTests | include "helm-toolkit.scripts.rally_test" | indent 4 }} - db-init.py: | -{{- include "helm-toolkit.scripts.db_init" . | indent 4 }} - db-sync.sh: | -{{ tuple "bin/_db-sync.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - db-drop.py: | -{{- include "helm-toolkit.scripts.db_drop" . | indent 4 }} - ks-service.sh: | -{{- include "helm-toolkit.scripts.keystone_service" . | indent 4 }} - ks-endpoints.sh: | -{{- include "helm-toolkit.scripts.keystone_endpoints" . | indent 4 }} - ks-user.sh: | -{{- include "helm-toolkit.scripts.keystone_user" . | indent 4 }} - monasca-api.sh: | -{{ tuple "bin/_monasca-api.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-notification.sh: | -{{ tuple "bin/_monasca-notification.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-persister.sh: | -{{ tuple "bin/_monasca-persister.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-thresh.sh: | -{{ tuple "bin/_monasca-thresh.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-collector.sh: | -{{ tuple "bin/_monasca-collector.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-forwarder.sh: | -{{ tuple "bin/_monasca-forwarder.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-statsd.sh: | -{{ tuple "bin/_monasca-statsd.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - monasca-agent-init.sh: | -{{ tuple "bin/_monasca-agent-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} - influxdb-init.sh: | -{{ tuple "bin/_influxdb-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} -{{- end }} diff --git a/monasca/templates/configmap-etc.yaml b/monasca/templates/configmap-etc.yaml deleted file mode 100644 index 8de8af616d..0000000000 --- a/monasca/templates/configmap-etc.yaml +++ /dev/null @@ -1,151 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.configmap_etc }} -{{- $envAll := . }} - -{{- if empty .Values.conf.monasca_api.keystone_authtoken.auth_uri -}} -{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.monasca_api.keystone_authtoken "auth_uri" -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.auth_url -}} -{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.monasca_api.keystone_authtoken "auth_url" -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.region_name -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "region_name" .Values.endpoints.identity.auth.monasca.region_name -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.project_name -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "project_name" .Values.endpoints.identity.auth.monasca.project_name -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.project_domain_name -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "project_domain_name" .Values.endpoints.identity.auth.monasca.project_domain_name -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.user_domain_name -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "user_domain_name" .Values.endpoints.identity.auth.monasca.user_domain_name -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.username -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "username" .Values.endpoints.identity.auth.monasca.username -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.password -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "password" .Values.endpoints.identity.auth.monasca.password -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.memcached_servers -}} -{{- $_ := tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.monasca_api.keystone_authtoken "memcached_servers" -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.keystone_authtoken.memcache_secret_key -}} -{{- $_ := set .Values.conf.monasca_api.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) -}} -{{- end -}} - -{{- if empty .Values.conf.monasca_api.database.connection -}} -{{- $_ := tuple "oslo_db" "internal" "monasca" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.monasca_api.database "connection" -}} -{{- end -}} - -{{- if empty .Values.conf.notification_config.keystone.auth_url -}} -{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.notification_config.keystone "auth_url" -}} -{{- end -}} -{{- if empty .Values.conf.notification_config.mysql.host -}} -{{- $_ := tuple "oslo_db" "internal" . | include "helm-toolkit.endpoints.endpoint_host_lookup" | set .Values.conf.notification_config.mysql "host" -}} -{{- end -}} -{{- if empty .Values.conf.notification_config.mysql.user -}} -{{- $_ := set .Values.conf.notification_config.mysql "user" .Values.endpoints.oslo_db.auth.monasca.username -}} -{{- end -}} -{{- if empty .Values.conf.notification_config.mysql.passwd -}} -{{- $_ := set .Values.conf.notification_config.mysql "passwd" .Values.endpoints.oslo_db.auth.monasca.password -}} -{{- end -}} -{{- if empty .Values.conf.notification_config.mysql.db -}} -{{- $_ := set .Values.conf.notification_config.mysql "db" (trimPrefix "/" .Values.endpoints.oslo_db.path) -}} -{{- end -}} - -{{- if and (empty .Values.conf.logging.handler_fluent) (has "fluent" .Values.conf.logging.handlers.keys) -}} -{{- $fluentd_host := tuple "fluentd" "internal" $envAll | include "helm-toolkit.endpoints.hostname_namespaced_endpoint_lookup" }} -{{- $fluentd_port := tuple "fluentd" "internal" "service" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- $fluent_args := printf "('%s.%s', '%s', %s)" .Release.Namespace .Release.Name $fluentd_host $fluentd_port }} -{{- $handler_fluent := dict "class" "fluent.handler.FluentHandler" "formatter" "fluent" "args" $fluent_args -}} -{{- $_ := set .Values.conf.logging "handler_fluent" $handler_fluent -}} -{{- end -}} -{{- if and (empty .Values.conf.logging.formatter_fluent) (has "fluent" .Values.conf.logging.formatters.keys) -}} -{{- $formatter_fluent := dict "class" "oslo_log.formatters.FluentFormatter" -}} -{{- $_ := set .Values.conf.logging "formatter_fluent" $formatter_fluent -}} -{{- end -}} - -{{- if empty .Values.conf.agent.Api.keystone_url -}} -{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.agent.Api "keystone_url" -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.region_name -}} -{{- $_ := set .Values.conf.agent.Api "region_name" .Values.endpoints.identity.auth.monasca_agent.region_name -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.project_name -}} -{{- $_ := set .Values.conf.agent.Api "project_name" .Values.endpoints.identity.auth.monasca_agent.project_name -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.project_domain_name -}} -{{- $_ := set .Values.conf.agent.Api "project_domain_name" .Values.endpoints.identity.auth.monasca_agent.project_domain_name -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.user_domain_name -}} -{{- $_ := set .Values.conf.agent.Api "user_domain_name" .Values.endpoints.identity.auth.monasca_agent.user_domain_name -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.username -}} -{{- $_ := set .Values.conf.agent.Api "username" .Values.endpoints.identity.auth.monasca_agent.username -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.password -}} -{{- $_ := set .Values.conf.agent.Api "password" .Values.endpoints.identity.auth.monasca_agent.password -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.service_type -}} -{{- $_ := set .Values.conf.agent.Api "service_type" .Values.endpoints.identity.auth.monasca_agent.interface -}} -{{- end -}} -{{- if empty .Values.conf.agent.Api.url -}} -{{- $_ := tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.agent.Api "url" -}} -{{- end -}} - -{{- if empty .Values.conf.persister_config.influxdb.ip_address -}} -{{- $_ := tuple "metrics_db" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" | set .Values.conf.persister_config.influxdb "ip_address" -}} -{{- end -}} -{{- if empty .Values.conf.persister_config.influxdb.port -}} -{{- $_ := tuple "metrics_db" "internal" "influxdb" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.persister_config.influxdb "port" -}} -{{- end -}} -{{- if empty .Values.conf.persister_config.influxdb.user -}} -{{- $_ := set .Values.conf.persister_config.influxdb "user" .Values.endpoints.metrics_db.auth.monasca_persister.username -}} -{{- end -}} -{{- if empty .Values.conf.persister_config.influxdb.password -}} -{{- $_ := set .Values.conf.persister_config.influxdb "password" .Values.endpoints.metrics_db.auth.monasca_persister.password -}} -{{- end -}} - -{{- if empty .Values.conf.monasca_api.influxdb.ip_address -}} -{{- $_ := tuple "metrics_db" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" | set .Values.conf.monasca_api.influxdb "ip_address" -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.influxdb.port -}} -{{- $_ := tuple "metrics_db" "internal" "influxdb" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.monasca_api.influxdb "port" -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.influxdb.user -}} -{{- $_ := set .Values.conf.monasca_api.influxdb "user" .Values.endpoints.metrics_db.auth.monasca_api.username -}} -{{- end -}} -{{- if empty .Values.conf.monasca_api.influxdb.password -}} -{{- $_ := set .Values.conf.monasca_api.influxdb "password" .Values.endpoints.metrics_db.auth.monasca_api.password -}} -{{- end -}} ---- - -apiVersion: v1 -kind: Secret -metadata: - name: monasca-etc -type: Opaque -data: - monasca-api.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.monasca_api | b64enc }} - api-config.ini: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.monasca_api_paste | b64enc }} - api-logging.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.logging | b64enc }} - notification-config.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.notification_config | b64enc }} - thresh-config.yml: {{ toYaml .Values.conf.thresh_config | b64enc }} - monasca-persister.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.persister_config | b64enc }} - storm.yaml: {{ toYaml .Values.conf.storm | b64enc }} - agent.yaml: {{ toYaml .Values.conf.agent | b64enc }} -{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" .Values.conf.wsgi_monasca_api "key" "wsgi-monasca.conf" "format" "Secret" ) | indent 2 }} -{{- end }} \ No newline at end of file diff --git a/monasca/templates/configmap-plugins-check.yaml b/monasca/templates/configmap-plugins-check.yaml deleted file mode 100644 index 5fb6c87fc5..0000000000 --- a/monasca/templates/configmap-plugins-check.yaml +++ /dev/null @@ -1,31 +0,0 @@ -{{/* -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. -*/}} - - -{{- if or .Values.manifests.deployment_agent .Values.manifests.daemonset_agent }} -{{- $envAll := . }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: monasca-agent-check-scripts -data: -{{- range $k, $v := .Values.conf.check_scripts }} -{{- if $v }} - {{- $fileName := printf "%s.py" $k }} - {{ $fileName }}: | -{{ $v | indent 4 }} -{{- end }} -{{- end }} -{{- end }} diff --git a/monasca/templates/configmap-plugins-detection.yaml b/monasca/templates/configmap-plugins-detection.yaml deleted file mode 100644 index 31401d2ab1..0000000000 --- a/monasca/templates/configmap-plugins-detection.yaml +++ /dev/null @@ -1,31 +0,0 @@ -{{/* -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. -*/}} - - -{{- if or .Values.manifests.deployment_agent .Values.manifests.daemonset_agent }} -{{- $envAll := . }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: monasca-agent-detection-scripts -data: -{{- range $k, $v := .Values.conf.detection_scripts }} -{{- if $v }} - {{- $fileName := printf "%s.py" $k }} - {{ $fileName }}: | -{{ $v | indent 4 }} -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/monasca/templates/configmap-plugins-etc.yaml b/monasca/templates/configmap-plugins-etc.yaml deleted file mode 100644 index 166742f170..0000000000 --- a/monasca/templates/configmap-plugins-etc.yaml +++ /dev/null @@ -1,54 +0,0 @@ -{{/* -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. -*/}} - -{{- if or .Values.manifests.deployment_agent .Values.manifests.daemonset_agent }} -{{- $envAll := . }} - -{{- if hasKey .Values.conf.agent_plugins.libvirt.config "init_config" -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.auth_url -}} -{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.agent_plugins.libvirt.config.init_config "auth_url" -}} -{{- end -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.region_name -}} -{{- $_ := set .Values.conf.agent_plugins.libvirt.config.init_config "region_name" .Values.endpoints.identity.auth.monasca.region_name -}} -{{- end -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.project_name -}} -{{- $_ := set .Values.conf.agent_plugins.libvirt.config.init_config "project_name" .Values.endpoints.identity.auth.monasca.project_name -}} -{{- end -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.project_domain_name -}} -{{- $_ := set .Values.conf.agent_plugins.libvirt.config.init_config "project_domain_name" .Values.endpoints.identity.auth.monasca.project_domain_name -}} -{{- end -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.user_domain_name -}} -{{- $_ := set .Values.conf.agent_plugins.libvirt.config.init_config "user_domain_name" .Values.endpoints.identity.auth.monasca.user_domain_name -}} -{{- end -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.username -}} -{{- $_ := set .Values.conf.agent_plugins.libvirt.config.init_config "username" .Values.endpoints.identity.auth.monasca.username -}} -{{- end -}} -{{- if empty .Values.conf.agent_plugins.libvirt.config.init_config.password -}} -{{- $_ := set .Values.conf.agent_plugins.libvirt.config.init_config "password" .Values.endpoints.identity.auth.monasca.password -}} -{{- end -}} -{{- end -}} ---- -apiVersion: v1 -kind: Secret -metadata: - name: monasca-agent-plugin-config -type: Opaque -data: -{{- range $k, $v := .Values.conf.agent_plugins }} -{{- if not $v.auto_detect }} - {{- $fileName := printf "%s.yaml" $k }} - {{ $fileName }}: {{ toYaml $v.config | b64enc }} -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/monasca/templates/daemonset-agent.yaml b/monasca/templates/daemonset-agent.yaml deleted file mode 100644 index bc00c7db61..0000000000 --- a/monasca/templates/daemonset-agent.yaml +++ /dev/null @@ -1,223 +0,0 @@ -{{/* -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 "monasca StatsdLivenessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "statsd" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaStatsdReadinessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "statsd" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaForwarderLivenessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "forwarder" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaForwarderReadinessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "forwarder" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- if .Values.manifests.daemonset_agent }} -{{- $envAll := . }} - -{{- $mounts_monasca_agent_init := .Values.pod.mounts.monasca_agent.init_container }} -{{- $mounts_monasca_collector := .Values.pod.mounts.monasca_agent.monasca_collector }} -{{- $mounts_monasca_forwarder := .Values.pod.mounts.monasca_agent.monasca_forwarder }} -{{- $mounts_monasca_statsd := .Values.pod.mounts.monasca_agent.monasca_statsd }} - -{{- $serviceAccountName := "monasca-agent" }} -{{ tuple $envAll "agent" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: monasca-agent - annotations: - {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} - labels: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -spec: - selector: - matchLabels: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }} -{{ tuple $envAll "agent" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} - template: - metadata: - labels: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} - configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} -{{ tuple "monasca_agent" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }} -{{ dict "envAll" $envAll "podName" "monasca-agent" "containerNames" (list "monasca-agent" "init" ) | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} -{{ dict "envAll" $envAll "application" "agent" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - affinity: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }} - nodeSelector: - {{ .Values.labels.agent.node_selector_key }}: {{ .Values.labels.agent.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - hostNetwork: true - dnsPolicy: {{ .Values.pod.dns_policy }} - initContainers: -{{ tuple $envAll "agent" $mounts_monasca_agent_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - - name: monasca-agent-init -{{ tuple $envAll "monasca_collector" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.agent_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "agent_init" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-agent-init.sh - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: monasca-bin - mountPath: /tmp/monasca-agent-init.sh - subPath: monasca-agent-init.sh - readOnly: true - - name: monasca-etc - mountPath: /tmp/agent.yaml - subPath: agent.yaml - readOnly: true - - name: etcmonasca - mountPath: /etc/monasca - containers: - - name: monasca-collector -{{ tuple $envAll "monasca_collector" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.collector | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "monasca_collector" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-collector.sh - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: plugin-config - mountPath: /tmp/conf.d - readOnly: true - - name: plugin-check-scripts - mountPath: /usr/lib/monasca/agent/custom_checks.d/ - readOnly: true - - name: plugin-detection-scripts - mountPath: /usr/lib/monasca/agent/custom_detect.d/ - readOnly: true - - name: monasca-bin - mountPath: /tmp/monasca-collector.sh - subPath: monasca-collector.sh - readOnly: true - - name: run - mountPath: /run - - name: dev - mountPath: /dev -{{ if $mounts_monasca_collector.volumeMounts }}{{ toYaml $mounts_monasca_collector.volumeMounts | indent 12 }}{{ end }} - - name: monasca-forwarder -{{ tuple $envAll "monasca_forwarder" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.forwarder | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "monasca_forwarder" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-forwarder.sh - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - ports: - - name: m-forwarder - containerPort: {{ tuple "monitoring" "internal" "forwarder" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{ dict "envAll" $envAll "component" "forwarder" "container" "default" "type" "liveness" "probeTemplate" (include "monascaForwarderLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} -{{ dict "envAll" $envAll "component" "forwarder" "container" "default" "type" "readiness" "probeTemplate" (include "monascaForwarderReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-forwarder.sh - subPath: monasca-forwarder.sh - readOnly: true -{{ if $mounts_monasca_forwarder.volumeMounts }}{{ toYaml $mounts_monasca_forwarder.volumeMounts | indent 12 }}{{ end }} - - name: monasca-statsd -{{ tuple $envAll "monasca_statsd" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.statsd | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "monasca_statsd" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-statsd.sh - ports: - - name: m-statsd - containerPort: {{ tuple "monitoring" "internal" "statsd" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{ dict "envAll" $envAll "component" "statsd" "container" "default" "type" "liveness" "probeTemplate" (include "monascaStatsdLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} -{{ dict "envAll" $envAll "component" "statsd" "container" "default" "type" "readiness" "probeTemplate" (include "monascaStatsdReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-statsd.sh - subPath: monasca-statsd.sh - readOnly: true -{{ if $mounts_monasca_statsd.volumeMounts }}{{ toYaml $mounts_monasca_statsd.volumeMounts | indent 12 }}{{ end }} -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.monitoring.statsd.internal "path" "/etc/monasca/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} - volumes: - - name: pod-tmp - emptyDir: {} - - name: etcmonasca - emptyDir: {} - - name: dev - hostPath: - path: /dev - - name: run - hostPath: - path: /run - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 - - name: plugin-check-scripts - configMap: - name: monasca-agent-check-scripts - defaultMode: 0555 - - name: plugin-detection-scripts - configMap: - name: monasca-agent-detection-scripts - defaultMode: 0555 - - name: monasca-etc - secret: - secretName: monasca-etc - defaultMode: 0444 - - name: plugin-config - secret: - secretName: monasca-agent-plugin-config - defaultMode: 0444 -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.monitoring.statsd.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }} -{{ if $mounts_monasca_collector.volumes }}{{ toYaml $mounts_monasca_collector.volumes | indent 8 }}{{ end }} -{{ if $mounts_monasca_forwarder.volumes }}{{ toYaml $mounts_monasca_forwarder.volumes | indent 8 }}{{ end }} -{{ if $mounts_monasca_statsd.volumes }}{{ toYaml $mounts_monasca_statsd.volumes | indent 8 }}{{ end }} -{{- end }} diff --git a/monasca/templates/deployment-agent.yaml b/monasca/templates/deployment-agent.yaml deleted file mode 100644 index 4d65e422c9..0000000000 --- a/monasca/templates/deployment-agent.yaml +++ /dev/null @@ -1,224 +0,0 @@ -{{/* -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 "monascaStatsdLivenessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "statsd" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaStatsdReadinessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "statsd" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaForwarderLivenessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "forwarder" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaForwarderReadinessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "forwarder" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- if .Values.manifests.deployment_agent }} -{{- $envAll := . }} - -{{- $mounts_monasca_agent_init := .Values.pod.mounts.monasca_agent.init_container }} -{{- $mounts_monasca_collector := .Values.pod.mounts.monasca_agent.monasca_collector }} -{{- $mounts_monasca_forwarder := .Values.pod.mounts.monasca_agent.monasca_forwarder }} -{{- $mounts_monasca_statsd := .Values.pod.mounts.monasca_agent.monasca_statsd }} - -{{- $serviceAccountName := "monasca-agent" }} -{{ tuple $envAll "agent" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: monasca-agent - annotations: - {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} - labels: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -spec: - replicas: {{ .Values.pod.replicas.agent }} - selector: - matchLabels: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }} -{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }} - template: - metadata: - labels: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} - configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} -{{ tuple "monasca_agent" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }} -{{ dict "envAll" $envAll "podName" "monasca-agent" "containerNames" (list "monasca-agent" "init" ) | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} -{{ dict "envAll" $envAll "application" "agent" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - affinity: -{{ tuple $envAll "monasca" "agent" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }} - nodeSelector: - {{ .Values.labels.agent.node_selector_key }}: {{ .Values.labels.agent.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - hostNetwork: true - dnsPolicy: {{ .Values.pod.dns_policy }} - initContainers: -{{ tuple $envAll "agent" $mounts_monasca_agent_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - - name: monasca-agent-init -{{ tuple $envAll "monasca_collector" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.agent_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "agent_init" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-agent-init.sh - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: monasca-bin - mountPath: /tmp/monasca-agent-init.sh - subPath: monasca-agent-init.sh - readOnly: true - - name: monasca-etc - mountPath: /tmp/agent.yaml - subPath: agent.yaml - readOnly: true - - name: etcmonasca - mountPath: /etc/monasca - containers: - - name: monasca-collector -{{ tuple $envAll "monasca_collector" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.collector | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "monasca_collector" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-collector.sh - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: plugin-config - mountPath: /tmp/conf.d - readOnly: true - - name: plugin-check-scripts - mountPath: /usr/lib/monasca/agent/custom_checks.d/ - readOnly: true - - name: plugin-detection-scripts - mountPath: /usr/lib/monasca/agent/custom_detect.d/ - readOnly: true - - name: monasca-bin - mountPath: /tmp/monasca-collector.sh - subPath: monasca-collector.sh - readOnly: true - - name: run - mountPath: /run - - name: dev - mountPath: /dev -{{ if $mounts_monasca_collector.volumeMounts }}{{ toYaml $mounts_monasca_collector.volumeMounts | indent 12 }}{{ end }} - - name: monasca-forwarder -{{ tuple $envAll "monasca_forwarder" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.forwarder | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "monasca_forwarder" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-forwarder.sh - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - ports: - - name: m-forwarder - containerPort: {{ tuple "monitoring" "internal" "forwarder" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{ dict "envAll" $envAll "component" "forwarder" "container" "default" "type" "liveness" "probeTemplate" (include "monascaForwarderLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} -{{ dict "envAll" $envAll "component" "forwarder" "container" "default" "type" "readiness" "probeTemplate" (include "monascaForwarderReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-forwarder.sh - subPath: monasca-forwarder.sh - readOnly: true -{{ if $mounts_monasca_forwarder.volumeMounts }}{{ toYaml $mounts_monasca_forwarder.volumeMounts | indent 12 }}{{ end }} - - name: monasca-statsd -{{ tuple $envAll "monasca_statsd" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.statsd | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "agent" "container" "monasca_statsd" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-statsd.sh - ports: - - name: m-statsd - containerPort: {{ tuple "monitoring" "internal" "statsd" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{ dict "envAll" $envAll "component" "statsd" "container" "default" "type" "liveness" "probeTemplate" (include "monascaStatsdLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} -{{ dict "envAll" $envAll "component" "statsd" "container" "default" "type" "readiness" "probeTemplate" (include "monascaStatsdReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-statsd.sh - subPath: monasca-statsd.sh - readOnly: true -{{ if $mounts_monasca_statsd.volumeMounts }}{{ toYaml $mounts_monasca_statsd.volumeMounts | indent 12 }}{{ end }} -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.monitoring.statsd.internal "path" "/etc/monasca/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} - volumes: - - name: pod-tmp - emptyDir: {} - - name: etcmonasca - emptyDir: {} - - name: dev - hostPath: - path: /dev - - name: run - hostPath: - path: /run - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 - - name: plugin-check-scripts - configMap: - name: monasca-agent-check-scripts - defaultMode: 0555 - - name: plugin-detection-scripts - configMap: - name: monasca-agent-detection-scripts - defaultMode: 0555 - - name: monasca-etc - secret: - secretName: monasca-etc - defaultMode: 0444 - - name: plugin-config - secret: - secretName: monasca-agent-plugin-config - defaultMode: 0444 -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.monitoring.statsd.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }} -{{ if $mounts_monasca_collector.volumes }}{{ toYaml $mounts_monasca_collector.volumes | indent 8 }}{{ end }} -{{ if $mounts_monasca_forwarder.volumes }}{{ toYaml $mounts_monasca_forwarder.volumes | indent 8 }}{{ end }} -{{ if $mounts_monasca_statsd.volumes }}{{ toYaml $mounts_monasca_statsd.volumes | indent 8 }}{{ end }} -{{- end }} diff --git a/monasca/templates/deployment-api.yaml b/monasca/templates/deployment-api.yaml deleted file mode 100644 index bee0c85be3..0000000000 --- a/monasca/templates/deployment-api.yaml +++ /dev/null @@ -1,150 +0,0 @@ -{{/* -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 "monascaApiLivenessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- define "monascaApiReadinessProbeTemplate" }} -tcpSocket: - port: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- if .Values.manifests.deployment_api }} -{{- $envAll := . }} - -{{- $mounts_monasca_api := .Values.pod.mounts.monasca_api.monasca_api }} -{{- $mounts_monasca_api_init := .Values.pod.mounts.monasca_api.init_container }} - -{{- $serviceAccountName := "monasca-api" }} -{{ tuple $envAll "api" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: monasca-api - annotations: - {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} - labels: -{{ tuple $envAll "monasca" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -spec: - replicas: {{ .Values.pod.replicas.api }} - selector: - matchLabels: -{{ tuple $envAll "monasca" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }} -{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }} - template: - metadata: - labels: -{{ tuple $envAll "monasca" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} - configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} -{{ tuple "monasca_api" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }} -{{ dict "envAll" $envAll "podName" "monasca-api" "containerNames" (list "monasca-api" "init" ) | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} -{{ dict "envAll" $envAll "application" "api" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - affinity: -{{ tuple $envAll "monasca" "api" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }} - nodeSelector: - {{ .Values.labels.api.node_selector_key }}: {{ .Values.labels.api.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - initContainers: -{{ tuple $envAll "api" $mounts_monasca_api_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - containers: - - name: monasca-api -{{ tuple $envAll "monasca_api" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.api | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "api" "container" "monasca-api" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-api.sh - - start - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - lifecycle: - preStop: - exec: - command: - - /tmp/monasca-api.sh - - stop - ports: - - name: m-api - containerPort: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{ dict "envAll" $envAll "component" "api" "container" "default" "type" "liveness" "probeTemplate" (include "monascaApiLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} -{{ dict "envAll" $envAll "component" "api" "container" "default" "type" "readiness" "probeTemplate" (include "monascaApiReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }} - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-api.sh - subPath: monasca-api.sh - readOnly: true - - name: logs-apache - mountPath: /var/log/apache2 - - name: run-apache - mountPath: /var/run/apache2 - - name: wsgi-monasca - mountPath: /var/www/cgi-bin/monasca - - name: monasca-etc - mountPath: /etc/monasca/monasca-api.conf - subPath: monasca-api.conf - readOnly: true - - name: monasca-etc - mountPath: /etc/monasca/api-config.ini - subPath: api-config.ini - readOnly: true - - name: monasca-etc - mountPath: {{ .Values.conf.software.apache2.conf_dir }}/wsgi-monasca.conf - subPath: wsgi-monasca.conf - readOnly: true - {{- if .Values.conf.monasca_api.DEFAULT.log_config_append }} - - name: monasca-etc - mountPath: {{ .Values.conf.monasca_api.DEFAULT.log_config_append }} - subPath: {{ base .Values.conf.monasca_api.DEFAULT.log_config_append }} - readOnly: true - {{- end }} -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.monitoring.api.internal "path" "/etc/monasca/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_db.auth.admin.secret.tls.internal "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} -{{ if $mounts_monasca_api.volumeMounts }}{{ toYaml $mounts_monasca_api.volumeMounts | indent 12 }}{{ end }} - volumes: - - name: pod-tmp - emptyDir: {} - - name: etcmonasca - emptyDir: {} - - name: wsgi-monasca - emptyDir: {} - - name: logs-apache - emptyDir: {} - - name: run-apache - emptyDir: {} - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 - - name: monasca-etc - secret: - secretName: monasca-etc - defaultMode: 0444 -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_db.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }} -{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.monitoring.api.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }} -{{ if $mounts_monasca_api.volumes }}{{ toYaml $mounts_monasca_api.volumes | indent 8 }}{{ end }} -{{- end }} diff --git a/monasca/templates/deployment-notification.yaml b/monasca/templates/deployment-notification.yaml deleted file mode 100644 index 2eb2d16ab4..0000000000 --- a/monasca/templates/deployment-notification.yaml +++ /dev/null @@ -1,93 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.deployment_notification }} -{{- $envAll := . }} - -{{- $mounts_monasca_notification := .Values.pod.mounts.monasca_notification.monasca_notification }} -{{- $mounts_monasca_notification_init := .Values.pod.mounts.monasca_notification.init_container }} - -{{- $serviceAccountName := "monasca-notification" }} -{{ tuple $envAll "notification" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: monasca-notification - annotations: - {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} - labels: -{{ tuple $envAll "monasca" "notification" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -spec: - replicas: {{ .Values.pod.replicas.notification }} - selector: - matchLabels: -{{ tuple $envAll "monasca" "notification" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }} -{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }} - template: - metadata: - labels: -{{ tuple $envAll "monasca" "notification" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} - configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} -{{ tuple "monasca_notification" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }} -{{ dict "envAll" $envAll "podName" "monasca-notification" "containerNames" (list "monasca-notification" "init" ) | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} -{{ dict "envAll" $envAll "application" "notification" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - affinity: -{{ tuple $envAll "monasca" "notification" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }} - nodeSelector: - {{ .Values.labels.notification.node_selector_key }}: {{ .Values.labels.notification.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - initContainers: -{{ tuple $envAll "notification" $mounts_monasca_notification_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - containers: - - name: monasca-notification -{{ tuple $envAll "monasca_notification" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.notification | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "monasca" "container" "notification" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-notification.sh - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-notification.sh - subPath: monasca-notification.sh - readOnly: true - - name: monasca-etc - mountPath: /etc/monasca/notification-config.conf - subPath: notification-config.conf - readOnly: true -{{ if $mounts_monasca_notification.volumeMounts }}{{ toYaml $mounts_monasca_notification.volumeMounts | indent 12 }}{{ end }} - volumes: - - name: pod-tmp - emptyDir: {} - - name: etcmonasca - emptyDir: {} - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 - - name: monasca-etc - secret: - secretName: monasca-etc - defaultMode: 0444 -{{ if $mounts_monasca_notification.volumes }}{{ toYaml $mounts_monasca_notification.volumes | indent 8 }}{{ end }} -{{- end }} diff --git a/monasca/templates/deployment-persister.yaml b/monasca/templates/deployment-persister.yaml deleted file mode 100644 index 9f8af572b6..0000000000 --- a/monasca/templates/deployment-persister.yaml +++ /dev/null @@ -1,93 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.deployment_persister }} -{{- $envAll := . }} - -{{- $mounts_monasca_persister := .Values.pod.mounts.monasca_persister.monasca_persister }} -{{- $mounts_monasca_persister_init := .Values.pod.mounts.monasca_persister.init_container }} - -{{- $serviceAccountName := "monasca-persister" }} -{{ tuple $envAll "persister" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: monasca-persister - annotations: - {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} - labels: -{{ tuple $envAll "monasca" "persister" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -spec: - replicas: {{ .Values.pod.replicas.persister }} - selector: - matchLabels: -{{ tuple $envAll "monasca" "persister" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }} -{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }} - template: - metadata: - labels: -{{ tuple $envAll "monasca" "persister" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} - configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} -{{ tuple "monasca_persister" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }} -{{ dict "envAll" $envAll "podName" "monasca-persister" "containerNames" (list "monasca-persister" "init" ) | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} -{{ dict "envAll" $envAll "application" "persister" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - affinity: -{{ tuple $envAll "monasca" "persister" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }} - nodeSelector: - {{ .Values.labels.persister.node_selector_key }}: {{ .Values.labels.persister.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - initContainers: -{{ tuple $envAll "persister" $mounts_monasca_persister_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - containers: - - name: monasca-persister -{{ tuple $envAll "monasca_persister" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.persister | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "monasca" "container" "persister" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - command: - - /tmp/monasca-persister.sh - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-persister.sh - subPath: monasca-persister.sh - readOnly: true - - name: monasca-etc - mountPath: /etc/monasca/monasca-persister.conf - subPath: monasca-persister.conf - readOnly: true -{{ if $mounts_monasca_persister.volumeMounts }}{{ toYaml $mounts_monasca_persister.volumeMounts | indent 12 }}{{ end }} - volumes: - - name: pod-tmp - emptyDir: {} - - name: etcmonasca - emptyDir: {} - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 - - name: monasca-etc - secret: - secretName: monasca-etc - defaultMode: 0444 -{{ if $mounts_monasca_persister.volumes }}{{ toYaml $mounts_monasca_persister.volumes | indent 8 }}{{ end }} -{{- end }} diff --git a/monasca/templates/ingress-api.yaml b/monasca/templates/ingress-api.yaml deleted file mode 100644 index e6c484c331..0000000000 --- a/monasca/templates/ingress-api.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -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. -*/}} - -{{- if and .Values.manifests.ingress_api .Values.network.api.ingress.public }} -{{- $envAll := . }} -{{- $ingressOpts := dict "envAll" $envAll "backendService" "api" "backendServiceType" "monitoring" "backendPort" "api" -}} -{{- $secretName := $envAll.Values.secrets.tls.monitoring.api.internal -}} -{{- if and .Values.manifests.certificates $secretName -}} -{{- $_ := set $ingressOpts "certIssuer" .Values.endpoints.monitoring.host_fqdn_override.default.tls.issuerRef.name -}} -{{- end -}} -{{ $ingressOpts | include "helm-toolkit.manifests.ingress" }} -{{- end }} diff --git a/monasca/templates/job-bootstrap.yaml b/monasca/templates/job-bootstrap.yaml deleted file mode 100644 index fdec1ac64e..0000000000 --- a/monasca/templates/job-bootstrap.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -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 "metadata.annotations.job.bootstrap" }} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "5" -{{- end }} - -{{- if and .Values.manifests.job_bootstrap .Values.bootstrap.enabled }} -{{- $bootstrapJob := dict "envAll" . "serviceName" "monasca" "keystoneUser" .Values.bootstrap.ks_user "logConfigFile" .Values.conf.monasca_api.DEFAULT.log_config_append "jobAnnotations" (include "metadata.annotations.job.bootstrap" . | fromYaml) -}} -{{ $bootstrapJob | include "helm-toolkit.manifests.job_bootstrap" }} -{{- end }} diff --git a/monasca/templates/job-db-drop.yaml b/monasca/templates/job-db-drop.yaml deleted file mode 100644 index 4cc7f006bf..0000000000 --- a/monasca/templates/job-db-drop.yaml +++ /dev/null @@ -1,22 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.job_db_drop }} -{{- $dbToDrop := dict "inputType" "secret" "adminSecret" .Values.secrets.oslo_db.admin "userSecret" .Values.secrets.oslo_db.monasca -}} -{{- $dbDropJob := dict "envAll" . "serviceName" "monasca" "dbToDrop" $dbToDrop -}} -{{- if .Values.manifests.certificates -}} -{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}} -{{- end -}} -{{ $dbDropJob | include "helm-toolkit.manifests.job_db_drop_mysql" }} -{{- end }} diff --git a/monasca/templates/job-db-init.yaml b/monasca/templates/job-db-init.yaml deleted file mode 100644 index 2bcc2dcf9e..0000000000 --- a/monasca/templates/job-db-init.yaml +++ /dev/null @@ -1,29 +0,0 @@ -{{/* -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 "metadata.annotations.job.db_init" }} -{{- if .Values.helm3_hook -}} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "-5" -{{- end -}} -{{- end -}} - -{{- if .Values.manifests.job_db_init }} -{{- $dbToInit := dict "inputType" "secret" "adminSecret" .Values.secrets.oslo_db.admin "userSecret" .Values.secrets.oslo_db.monasca -}} -{{- $dbInitJob := dict "envAll" . "serviceName" "monasca" "dbToInit" $dbToInit "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) -}} -{{- if .Values.manifests.certificates -}} -{{- $_ := set $dbInitJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}} -{{- end -}} -{{ $dbInitJob | include "helm-toolkit.manifests.job_db_init_mysql" }} -{{- end }} diff --git a/monasca/templates/job-db-sync.yaml b/monasca/templates/job-db-sync.yaml deleted file mode 100644 index cd1bc9057a..0000000000 --- a/monasca/templates/job-db-sync.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{/* -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 "metadata.annotations.job.db_sync" }} -{{- if .Values.helm3_hook -}} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "-4" -{{- end -}} -{{- end }} - -{{- if .Values.manifests.job_db_sync }} -{{- $dbToSync := dict "configFile" "/etc/monasca/monasca-api.conf" "logConfigFile" "/etc/monasca/api-logging.conf" "image" ( index .Values.images.tags "monasca_db_sync" ) }} -{{- $dbSyncJob := dict "envAll" . "dbToSync" $dbToSync "serviceName" "monasca" "podVolMounts" .Values.pod.mounts.monasca_db_sync.monasca_db_sync.volumeMounts "podVols" .Values.pod.mounts.monasca_db_sync.monasca_db_sync.volumes "jobAnnotations" (include "metadata.annotations.job.db_sync" . | fromYaml) -}} -{{ $dbSyncJob | include "helm-toolkit.manifests.job_db_sync" }} -{{- end }} \ No newline at end of file diff --git a/monasca/templates/job-image-repo-sync.yaml b/monasca/templates/job-image-repo-sync.yaml deleted file mode 100644 index 5b16b2833d..0000000000 --- a/monasca/templates/job-image-repo-sync.yaml +++ /dev/null @@ -1,22 +0,0 @@ -{{/* -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 "metadata.annotations.job.repo_sync" }} -helm.sh/hook: post-install,post-upgrade -{{- end }} - -{{- if and .Values.manifests.job_image_repo_sync .Values.images.local_registry.active }} -{{- $imageRepoSyncJob := dict "envAll" . "serviceName" "monasca" "jobAnnotations" (include "metadata.annotations.job.repo_sync" . | fromYaml) -}} -{{ $imageRepoSyncJob | include "helm-toolkit.manifests.job_image_repo_sync" }} -{{- end }} diff --git a/monasca/templates/job-influxdb-init.yaml b/monasca/templates/job-influxdb-init.yaml deleted file mode 100644 index c68e9595f4..0000000000 --- a/monasca/templates/job-influxdb-init.yaml +++ /dev/null @@ -1,103 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.job_influxdb_init }} -{{- $envAll := . }} - -{{- $serviceAccountName := "monasca-influxdb-init" }} -{{ tuple $envAll "influxdb_init" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} -{{- $secretName := index $envAll.Values.secrets "metrics_db" }} -{{- $influxdbUrl := tuple "metrics_db" "internal" "influxdb" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" }} ---- -apiVersion: batch/v1 -kind: Job -metadata: - annotations: - "helm.sh/hook-delete-policy": hook-succeeded - helm.sh/hook: post-install,post-upgrade - helm.sh/hook-weight: "-5" - name: monasca-influxdb-init -spec: - backoffLimit: 1000 - template: - metadata: - labels: -{{ tuple $envAll "monasca" "influxdb-init" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} -{{ dict "envAll" $envAll "application" "monasca" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - nodeSelector: - {{ .Values.labels.job.node_selector_key }}: {{ .Values.labels.job.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - restartPolicy: OnFailure - initContainers: -{{ tuple $envAll "influxdb_init" list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - containers: - - name: influxdb-init -{{ tuple $envAll "influxdb_init" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.jobs.influxdb_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "monasca" "container" "influxdb_init" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - env: - - name: INFLUXDB_URL - value: {{ $influxdbUrl }} - - name: INFLUXDB_USER - valueFrom: - secretKeyRef: - name: {{ $secretName }} - key: influxdb-admin-user - - name: INFLUXDB_PASSWORD - valueFrom: - secretKeyRef: - name: {{ $secretName }} - key: influxdb-admin-password - - name: INFLUXDB_API_USER - valueFrom: - secretKeyRef: - name: {{ $secretName }} - key: influxdb-api-user - - name: INFLUXDB_API_PASSWORD - valueFrom: - secretKeyRef: - name: {{ $secretName }} - key: influxdb-api-password - - name: INFLUXDB_PERSISTER_USER - valueFrom: - secretKeyRef: - name: {{ $secretName }} - key: influxdb-persister-user - - name: INFLUXDB_PERSISTER_PASSWORD - valueFrom: - secretKeyRef: - name: {{ $secretName }} - key: influxdb-persister-password - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: monasca-bin - mountPath: /tmp/influxdb-init.sh - subPath: influxdb-init.sh - readOnly: true - command: - - /bin/sh - - /tmp/influxdb-init.sh - volumes: - - name: pod-tmp - emptyDir: {} - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 -{{- end }} \ No newline at end of file diff --git a/monasca/templates/job-ks-api-endpoints.yaml b/monasca/templates/job-ks-api-endpoints.yaml deleted file mode 100644 index 886dbfcfdc..0000000000 --- a/monasca/templates/job-ks-api-endpoints.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -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 "metadata.annotations.job.ks_endpoints" }} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "-2" -{{- end }} - -{{- if .Values.manifests.job_ks_endpoints }} -{{- $ksServiceJob := dict "envAll" . "serviceName" "monasca" "serviceTypes" ( tuple "monitoring" "logs" "logs-search" ) "jobAnnotations" (include "metadata.annotations.job.ks_endpoints" . | fromYaml) -}} -{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }} -{{- end }} diff --git a/monasca/templates/job-ks-api-service.yaml b/monasca/templates/job-ks-api-service.yaml deleted file mode 100644 index b942a2e634..0000000000 --- a/monasca/templates/job-ks-api-service.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -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 "metadata.annotations.job.ks_service" }} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "-3" -{{- end }} - -{{- if .Values.manifests.job_ks_service }} -{{- $ksServiceJob := dict "envAll" . "serviceName" "monasca" "serviceTypes" ( tuple "monitoring" "logs" "logs-search" ) "jobAnnotations" (include "metadata.annotations.job.ks_service" . | fromYaml) -}} -{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }} -{{- end }} diff --git a/monasca/templates/job-ks-user.yaml b/monasca/templates/job-ks-user.yaml deleted file mode 100644 index 3415d3151d..0000000000 --- a/monasca/templates/job-ks-user.yaml +++ /dev/null @@ -1,27 +0,0 @@ -{{/* -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 "metadata.annotations.job.ks_user" }} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "-1" -{{- end }} - -{{- if .Values.manifests.job_ks_user }} -{{- $ksUserJob := dict "envAll" . "serviceName" "monasca" "jobAnnotations" (include "metadata.annotations.job.ks_user" . | fromYaml) -}} -{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }} -{{- $ksUserJob := dict "envAll" . "serviceName" "monasca_agent" "configMapBin" "monasca-bin" "jobAnnotations" (include "metadata.annotations.job.ks_user" . | fromYaml) -}} -{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }} -{{- $ksUserJob := dict "envAll" . "serviceName" "monasca_read_only_user" "configMapBin" "monasca-bin" "jobAnnotations" (include "metadata.annotations.job.ks_user" . | fromYaml) -}} -{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }} -{{- end }} diff --git a/monasca/templates/job-rabbit-init.yaml b/monasca/templates/job-rabbit-init.yaml deleted file mode 100644 index c839ca842f..0000000000 --- a/monasca/templates/job-rabbit-init.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{/* -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 "metadata.annotations.job.rabbit_init" }} -helm.sh/hook: post-install,post-upgrade -helm.sh/hook-weight: "-4" -{{- end }} - -{{- if .Values.manifests.job_rabbit_init }} -{{- $rmqUserJob := dict "envAll" . "serviceName" "monasca" "jobAnnotations" (include "metadata.annotations.job.rabbit_init" . | fromYaml) -}} -{{ $rmqUserJob | include "helm-toolkit.manifests.job_rabbit_init" }} -{{- end }} diff --git a/monasca/templates/job-thresh-upload.yaml b/monasca/templates/job-thresh-upload.yaml deleted file mode 100644 index de39c074b0..0000000000 --- a/monasca/templates/job-thresh-upload.yaml +++ /dev/null @@ -1,93 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.job_thresh }} -{{- $envAll := . }} - -{{- $mounts_monasca_thresh := .Values.pod.mounts.monasca_thresh.monasca_thresh }} -{{- $mounts_monasca_thresh_init := .Values.pod.mounts.monasca_thresh.init_container }} - -{{- $serviceAccountName := "monasca-thresh" }} -{{ tuple $envAll "thresh" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: batch/v1 -kind: Job -metadata: - name: monasca-thresh-upload - annotations: - helm.sh/hook: post-install,post-upgrade - helm.sh/hook-weight: "1" - "helm.sh/hook-delete-policy": hook-succeeded -spec: - template: - metadata: - labels: -{{ tuple $envAll "monasca" "thresh" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} - configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} - configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} -{{ dict "envAll" $envAll "podName" "monasca-thresh" "containerNames" (list "monasca-thresh" "init" ) | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: - serviceAccountName: {{ $serviceAccountName }} - restartPolicy: Never -{{ dict "envAll" $envAll "application" "thresh" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - nodeSelector: - {{ .Values.labels.thresh.node_selector_key }}: {{ .Values.labels.thresh.node_selector_value }} - terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.monasca.timeout | default "30" }} - initContainers: -{{ tuple $envAll "thresh" $mounts_monasca_thresh_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - containers: - - name: monasca-thresh -{{ tuple $envAll "monasca_thresh" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.thresh | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "thresh" "container" "monasca-thresh" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - env: - - name: DEBUG - value: "true" - command: - - /tmp/monasca-thresh.sh - volumeMounts: - - name: pod-tmp - mountPath: /tmp - - name: etcmonasca - mountPath: /etc/monasca - - name: monasca-bin - mountPath: /tmp/monasca-thresh.sh - subPath: monasca-thresh.sh - readOnly: true - - name: monasca-etc - mountPath: /tmp/thresh-config.yml - subPath: thresh-config.yml - readOnly: true - - name: monasca-etc - mountPath: /conf/storm.yaml - subPath: storm.yaml - readOnly: true -{{ if $mounts_monasca_thresh.volumeMounts }}{{ toYaml $mounts_monasca_thresh.volumeMounts | indent 12 }}{{ end }} - volumes: - - name: pod-tmp - emptyDir: {} - - name: etcmonasca - emptyDir: {} - - name: monasca-bin - configMap: - name: monasca-bin - defaultMode: 0555 - - name: monasca-etc - secret: - secretName: monasca-etc - defaultMode: 0444 -{{ if $mounts_monasca_thresh.volumes }}{{ toYaml $mounts_monasca_thresh.volumes | indent 8 }}{{ end }} -{{- end }} diff --git a/monasca/templates/network_policy.yaml b/monasca/templates/network_policy.yaml deleted file mode 100644 index 7b083da1b8..0000000000 --- a/monasca/templates/network_policy.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# 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. - -{{- if .Values.manifests.network_policy -}} -{{- $netpol_opts := dict "envAll" . "name" "application" "label" "monasca" -}} -{{ $netpol_opts | include "helm-toolkit.manifests.kubernetes_network_policy" }} -{{- end -}} diff --git a/monasca/templates/secret-db.yaml b/monasca/templates/secret-db.yaml deleted file mode 100644 index 459d22c889..0000000000 --- a/monasca/templates/secret-db.yaml +++ /dev/null @@ -1,35 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.secret_db }} -{{- $envAll := . }} -{{- range $key1, $userClass := tuple "admin" "monasca" }} -{{- $secretName := index $envAll.Values.secrets.oslo_db $userClass }} -{{- $connection := tuple "oslo_db" "internal" $userClass "mysql" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ $secretName }} - annotations: -{{ tuple "oslo_db" $userClass $envAll | include "helm-toolkit.snippets.custom_secret_annotations" | indent 4 }} -type: Opaque -data: -{{- if $envAll.Values.manifests.certificates }} - DB_CONNECTION: {{ (printf "%s?charset=utf8&ssl_ca=/etc/mysql/certs/ca.crt&ssl_key=/etc/mysql/certs/tls.key&ssl_cert=/etc/mysql/certs/tls.crt&ssl_verify_cert" $connection ) | b64enc -}} -{{- else }} - DB_CONNECTION: {{ $connection | b64enc -}} -{{- end }} -{{- end }} -{{- end }} diff --git a/monasca/templates/secret-influxdb-secret.yaml b/monasca/templates/secret-influxdb-secret.yaml deleted file mode 100644 index 27bfb8c9bf..0000000000 --- a/monasca/templates/secret-influxdb-secret.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.secret_influxdb }} -{{- $envAll := . }} -{{- $secretName := index $envAll.Values.secrets "metrics_db" }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ $secretName }} - annotations: -{{ tuple "metrics_db" "influxdb" $envAll | include "helm-toolkit.snippets.custom_secret_annotations" | indent 4 }} -type: Opaque -data: - influxdb-admin-user: {{ .Values.endpoints.metrics_db.auth.admin.username | b64enc }} - influxdb-admin-password: {{ .Values.endpoints.metrics_db.auth.admin.password | b64enc }} - influxdb-api-user: {{ .Values.endpoints.metrics_db.auth.monasca_api.username | b64enc }} - influxdb-api-password: {{ .Values.endpoints.metrics_db.auth.monasca_api.password | b64enc }} - influxdb-persister-user: {{ .Values.endpoints.metrics_db.auth.monasca_persister.username | b64enc }} - influxdb-persister-password: {{ .Values.endpoints.metrics_db.auth.monasca_persister.password | b64enc }} -{{- end }} \ No newline at end of file diff --git a/monasca/templates/secret-ingress-tls.yaml b/monasca/templates/secret-ingress-tls.yaml deleted file mode 100644 index 6b323abb83..0000000000 --- a/monasca/templates/secret-ingress-tls.yaml +++ /dev/null @@ -1,17 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.secret_ingress_tls }} -{{- include "helm-toolkit.manifests.secret_ingress_tls" ( dict "envAll" . "backendService" "monitoring" "backendServiceType" "monitoring" ) }} -{{- end }} diff --git a/monasca/templates/secret-keystone.yaml b/monasca/templates/secret-keystone.yaml deleted file mode 100644 index 9e63634dd7..0000000000 --- a/monasca/templates/secret-keystone.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.secret_keystone }} -{{- $envAll := . }} -{{- range $key1, $userClass := tuple "admin" "monasca" "monasca_agent" "monasca_read_only_user" }} -{{- $secretName := index $envAll.Values.secrets.identity $userClass }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ $secretName }} - annotations: -{{ tuple "identity" $userClass $envAll | include "helm-toolkit.snippets.custom_secret_annotations" | indent 4 }} -type: Opaque -data: -{{- tuple $userClass "internal" $envAll | include "helm-toolkit.snippets.keystone_secret_openrc" | indent 2 -}} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/monasca/templates/service-ingress.yaml b/monasca/templates/service-ingress.yaml deleted file mode 100644 index 4bc5a40e10..0000000000 --- a/monasca/templates/service-ingress.yaml +++ /dev/null @@ -1,18 +0,0 @@ -{{/* -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. -*/}} - -{{- if and .Values.manifests.service_ingress .Values.network.api.ingress.public }} -{{- $serviceIngressOpts := dict "envAll" . "backendServiceType" "monitoring" -}} -{{ $serviceIngressOpts | include "helm-toolkit.manifests.service_ingress" }} -{{- end }} diff --git a/monasca/templates/service.yaml b/monasca/templates/service.yaml deleted file mode 100644 index 89a95749b6..0000000000 --- a/monasca/templates/service.yaml +++ /dev/null @@ -1,44 +0,0 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.service }} -{{- $envAll := . }} ---- -apiVersion: v1 -kind: Service -metadata: - name: {{ tuple "monitoring" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }} -spec: - ports: - {{ if .Values.network.node_port.enabled }} - - name: web - protocol: TCP - nodePort: {{ .Values.network.node_port.port }} - port: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - targetPort: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - {{ else }} - - name: web - protocol: TCP - port: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - targetPort: {{ tuple "monitoring" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - {{ end }} - selector: -{{ tuple $envAll "monasca" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} - {{ if .Values.network.node_port.enabled }} - type: NodePort - {{ if .Values.network.external_policy_local }} - externalTrafficPolicy: Local - {{ end }} - {{ end }} -{{- end }} diff --git a/monasca/values.yaml b/monasca/values.yaml deleted file mode 100644 index ea6cb7b33a..0000000000 --- a/monasca/values.yaml +++ /dev/null @@ -1,1140 +0,0 @@ -# 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 monasca-api. -# This is a YAML-formatted file. -# Declare name/value pairs to be passed into your templates. -# name: value - ---- -images: - tags: - ks_user: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble - ks_service: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble - ks_endpoints: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble - influxdb_init: radial/busyboxplus:curl - db_init: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble - monasca_db_sync: docker.io/openstackhelm/monasca:stein-ubuntu_bionic - db_drop: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble - monasca_api: docker.io/openstackhelm/monasca_api:stein-ubuntu_bionic - monasca_collector: docker.io/openstackhelm/monasca_agent:stein-ubuntu_bionic - monasca_forwarder: docker.io/openstackhelm/monasca_forwarder:stein-ubuntu_bionic - monasca_statsd: docker.io/openstackhelm/monasca_statsd:stein-ubuntu_bionic - monasca_notification: docker.io/openstackhelm/monasca_notification:stein-ubuntu_bionic - monasca_persister: docker.io/openstackhelm/monasca_persister:stein-ubuntu_bionic - monasca_thresh: docker.io/openstackhelm/monasca_thresh:stein-ubuntu_bionic - test: docker.io/openstackhelm/osh-selenium:latest-ubuntu_focal - dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_jammy - image_repo_sync: docker.io/docker:17.07.0 - pull_policy: "IfNotPresent" - local_registry: - active: false - exclude: - - dep_check - - image_repo_sync - -release_group: null - -labels: - agent: - node_selector_key: openstack-compute-node - node_selector_value: enabled - api: - node_selector_key: openstack-control-plane - node_selector_value: enabled - notification: - node_selector_key: openstack-control-plane - node_selector_value: enabled - persister: - node_selector_key: openstack-control-plane - node_selector_value: enabled - thresh: - node_selector_key: openstack-control-plane - node_selector_value: enabled - job: - node_selector_key: openstack-control-plane - node_selector_value: enabled -network: - api: - ingress: - public: true - classes: - namespace: "ingress-openstack" - cluster: "ingress-cluster" - annotations: - nginx.ingress.kubernetes.io/rewrite-target: / - haproxy.org/path-rewrite: / - external_policy_local: false - node_port: - enabled: false - port: 31000 - -conf: - agent: - Api: - amplifier: 0 - backlog_send_rate: 1000 - ca_file: null - insecure: false - max_batch_size: 0 - max_buffer_size: 1000 - max_measurement_buffer_size: -1 - service_type: monitoring - Logging: - disable_file_logging: false - collector_log_file: /var/log/monasca/agent/collector.log - forwarder_log_file: /var/log/monasca/agent/forwarder.log - statsd_log_file: /var/log/monasca/agent/statsd.log - enable_logrotate: true - log_level: WARN - log_to_event_viewer: false - log_to_syslog: false - syslog_host: None - syslog_port: None - Main: - check_freq: 15 - autorestart: false - collector_restart_interval: 24 - dimensions: - service: monitoring - # %AGENT_HOSTNAME% is replaced with the correct value in the init container. - hostname: "%AGENT_HOSTNAME%" - # %FORWARDER_IP% is replaced with the correct value in the init container. - forwarder_url: "http://%FORWARDER_IP%:17123" - num_collector_threads: 1 - pool_full_max_retries: 4 - sub_collection_warn: 6 - non_local_traffic: true - Statsd: - monasca_statsd_interval: 20 - monasca_statsd_port: 8125 - # monasca_statsd_forward_host: None - # monasca_statsd_forward_port: 8125 - agent_plugins: - # Plugin config has 2 fields; - # auto_detect: specify if it is auto configured by monasca-setup or not - # config: plugin specific configurations. - # when auto_detect is false, it is rendered as config yaml file - # when auto_detect is true, it is used as args in monasca-setup - libvirt: - auto_detect: false - config: - init_config: {} - # auto_detect: true - # config: - # nova_refresh: - # vm_probation: - # Custom check plugins. Refer values_overrides/nvidia.yaml. - check_scripts: {} - # Custom detection plugins. Refer values_overrides/nvidia.yaml. - detection_scripts: {} - monasca_api: - DEFAULT: - enable_logs_api: true - region: RegionOne - log_config_append: /etc/monasca/api-logging.conf - messaging: - driver: monasca_api.common.messaging.kafka_publisher:KafkaPublisher - kafka: - logs_topics: log - uri: 127.0.0.1:9092 - repositories: - metrics_driver: monasca_api.common.repositories.influxdb.metrics_repository:MetricsRepository - cassandra: - contact_points: 127.0.0.1 - influxdb: - db_per_tenant: false - database_name: monasca - database: - max_retries: -1 - keystone_authtoken: - auth_type: password - auth_version: v3 - memcache_security_strategy: ENCRYPT - security: - default_authorized_roles: monasca-user - agent_authorized_roles: monasca-agent - read_only_authorized_roles: monasca-read-only-user - delegate_authorized_roles: monasca-agent - monasca_api_paste: - DEFAULT: - name: monasca_api - pipeline:main: - pipeline: request_id auth api - app:api: - paste.app_factory: monasca_api.api.server:launch - filter:auth: - paste.filter_factory: monasca_api.healthcheck.keystone_protocol:filter_factory - filter:request_id: - paste.filter_factory: oslo_middleware.request_id:RequestId.factory - server:main: - use: egg:gunicorn#main - host: 0.0.0.0 - port: 8070 - workers: 8 - worker-connections: 2000 - worker-class: eventlet - timeout: 30 - backlog: 2048 - keepalive: 2 - proc_name: monasca-api - loglevel: DEBUG - logging: - loggers: - keys: - - root - - sqlalchemy - - kafka - - kafkalib - handlers: - keys: - - stdout - - stderr - - "null" - formatters: - keys: - - context - - default - logger_root: - level: INFO - handlers: 'stdout' - logger_sqlalchemy: - qualname: sqlalchemy.engine - level: DEBUG - handlers: 'stdout' - propagate: 0 - logger_kafka: - qualname: kafka - level: DEBUG - handlers: 'stdout' - propagate: 0 - logger_kafkalib: - qualname: monasca_common.kafka_lib - level: INFO - handlers: 'stdout' - propagate: 0 - handler_null: - class: logging.NullHandler - formatter: default - args: () - handler_stdout: - class: StreamHandler - args: (sys.stdout,) - formatter: context - handler_stderr: - class: StreamHandler - args: (sys.stderr,) - formatter: context - formatter_context: - class: oslo_log.formatters.ContextFormatter - datefmt: "%Y-%m-%d %H:%M:%S" - formatter_default: - format: "%(message)s" - datefmt: "%Y-%m-%d %H:%M:%S" - - wsgi_monasca_api: | - {{- $portInt := tuple "monitoring" "internal" "api" $ | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - - Listen 0.0.0.0:{{ $portInt }} - - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined - LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy - - SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded - CustomLog /dev/stdout combined env=!forwarded - CustomLog /dev/stdout proxy env=forwarded - - - WSGIDaemonProcess monasca-api processes=1 threads=1 user=monasca-api group=monasca-api display-name=%{GROUP} - WSGIProcessGroup monasca-api - WSGIScriptAlias / /var/www/cgi-bin/monasca/monasca-api-wsgi - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - ErrorLogFormat "%{cu}t %M" - ErrorLog /dev/stdout - - SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded - CustomLog /dev/stdout combined env=!forwarded - CustomLog /dev/stdout proxy env=forwarded - - thresh_config: - metricSpoutThreads: 2 - metricSpoutTasks: 2 - - statsdConfig: - host: "127.0.0.1" - port: 8125 - prefix: monasca.storm. - dimensions: !!map - service: monitoring - component: storm - - metricSpoutConfig: - kafkaConsumerConfiguration: - # See http://kafka.apache.org/documentation.html#api for semantics and defaults. - topic: "metrics" - numThreads: 1 - groupId: "thresh-metric" - zookeeperConnect: "127.0.0.1:2181" - consumerId: 1 - socketTimeoutMs: 30000 - socketReceiveBufferBytes: 65536 - fetchMessageMaxBytes: 1048576 - autoCommitEnable: true - autoCommitIntervalMs: 60000 - queuedMaxMessageChunks: 10 - rebalanceMaxRetries: 4 - fetchMinBytes: 1 - fetchWaitMaxMs: 100 - rebalanceBackoffMs: 2000 - refreshLeaderBackoffMs: 200 - autoOffsetReset: largest - consumerTimeoutMs: -1 - clientId: 1 - zookeeperSessionTimeoutMs: 60000 - zookeeperConnectionTimeoutMs: 60000 - zookeeperSyncTimeMs: 2000 - - eventSpoutConfig: - kafkaConsumerConfiguration: - # See http://kafka.apache.org/documentation.html#api for semantics and defaults. - topic: "events" - numThreads: 1 - groupId: "thresh-event" - zookeeperConnect: "127.0.0.1:2181" - consumerId: 1 - socketTimeoutMs: 30000 - socketReceiveBufferBytes: 65536 - fetchMessageMaxBytes: 1048576 - autoCommitEnable: true - autoCommitIntervalMs: 60000 - queuedMaxMessageChunks: 10 - rebalanceMaxRetries: 4 - fetchMinBytes: 1 - fetchWaitMaxMs: 100 - rebalanceBackoffMs: 2000 - refreshLeaderBackoffMs: 200 - autoOffsetReset: largest - consumerTimeoutMs: -1 - clientId: 1 - zookeeperSessionTimeoutMs: 60000 - zookeeperConnectionTimeoutMs: 60000 - zookeeperSyncTimeMs: 2000 - - kafkaProducerConfig: - # See http://kafka.apache.org/documentation.html#api for semantics and defaults. - topic: "alarm-state-transitions" - metadataBrokerList: "kafka:9092" - serializerClass: kafka.serializer.StringEncoder - partitionerClass: "" - requestRequiredAcks: 1 - requestTimeoutMs: 10000 - producerType: sync - keySerializerClass: "" - compressionCodec: none - compressedTopics: "" - messageSendMaxRetries: 3 - retryBackoffMs: 100 - topicMetadataRefreshIntervalMs: 600000 - queueBufferingMaxMs: 5000 - queueBufferingMaxMessages: 10000 - queueEnqueueTimeoutMs: -1 - batchNumMessages: 200 - sendBufferBytes: 102400 - clientId: Threshold_Engine - - sporadicMetricNamespaces: - - foo - - database: - driverClass: org.mariadb.jdbc.Driver - url: "jdbc:mariadb://%THRESH_DB_URL%" - user: "%THRESH_DB_USER%" - password: "%THRESH_DB_PASSWORD%" - properties: - ssl: false - # the maximum amount of time to wait on an empty pool before throwing an exception - maxWaitForConnection: 1s - - # the SQL query to run when validating a connection's liveness - validationQuery: "/* mysql Health Check */ SELECT 1" - - # the minimum number of connections to keep open - minSize: 8 - - # the maximum number of connections to keep open - maxSize: 41 - - notification_config: - kafka: - url: kafka:9092 - database: - repo_driver: monasca_notification.common.repositories.mysql.mysql_repo:MysqlRepo - email_notifier: - grafana_url: grafana:3000 - # from_addr: string - # server: email_server - # port: email_port - # timeout: 5 # min value is 1 - # user: email_user - # password: email_password - jira_notifier: {} - # timeout: 5 # min value is 1 - # user: - # password: - # custom_formatter: - # proxy: - pagerduty_notifier: {} - # timeout: - # url: - slack_notifier: {} - # timeout: - # insecure: - # ca_certs: - # proxy: - # message_template: - webhook_notifier: {} - # timeout: 5 - keystone: {} - # auth_url: 199.204.45.231/identity/v3 - notification_types: - enabled: - - email - - pagerduty - - webhook - - jira - - slack - mysql: {} - zookeeper: - url: ["127.0.0.1:2181"] - persister_config: - DEFAULT: - debug: "True" - default_log_levels: "monasca_common.kafka_lib.client=INFO" - logging_exception_prefix: "ERROR %(name)s %(instance)s" - logging_default_format_string: "%(color)s%(levelname)s %(name)s [-%(color)s] %(instance)s%(color)s%(message)s" - logging_context_format_string": "%(color)s%(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(project_name)s %(user_name)s%(color)s] %(instance)s%(color)s%(message)s" - logging_debug_format_suffix: "{{(pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d}}" - use_syslog: "False" - influxdb: - database_name: monasca - db_per_tenant: false - kafka: - num_processors: 1 - kafka_alarm_history: - batch_size: 1 - topic: alarm-state-transitions - group_id: 1_alarm-state-transitions - uri: kafka:9092 - kafka_events: {} - kafka_metrics: - batch_size: 30 - topic: metrics - group_id: 1_metrics - uri: kafka:9092 - repositories: - alarm_state_history_driver: monasca_persister.repositories.influxdb.alarm_state_history_repository:AlarmStateHistInfluxdbRepository - metrics_driver: monasca_persister.repositories.influxdb.metrics_repository:MetricInfluxdbRepository - zookeeper: - uri: zookeeper:2181 - storm: - java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib" - storm.local.dir: "/var/storm" - storm.zookeeper.servers: - - "127.0.0.1" - storm.zookeeper.port: 2181 - storm.zookeeper.retry.interval: 5000 - storm.zookeeper.retry.times: 60 - storm.zookeeper.root: /storm - storm.zookeeper.session.timeout: 3000 - supervisor.slots.ports: - - 6701 - - 6702 - supervisor.childopts: -Xmx256m - worker.childopts: -Xmx1280m -XX:+UseConcMarkSweepGC -Dcom.sun.management.jmxremote - nimbus.seeds: ["127.0.0.1"] - nimbus.thrift.port: 6627 - nimbus.childopts: -Xmx256m - ui.host: localhost - ui.port: 8089 - ui.childopts: -Xmx768m - logviewer.port: 8090 - logviewer.childopts: -Xmx128m - transactional.zookeeper.servers: - - "127.0.0.1" - transactional.zookeeper.port: 2181 - transactional.zookeeper.root: /storm-transactional - topology.acker.executors: 1 - topology.debug: False - - software: - apache2: - binary: apache2 - start_parameters: -DFOREGROUND - conf_dir: /etc/apache2/conf-enabled - site_dir: /etc/apache2/sites-enable - mods_dir: /etc/apache2/mods-available - a2enmod: null - a2dismod: null -pod: - probes: - rpc_timeout: 60 - rpc_retries: 2 - api: - default: - liveness: - enabled: true - params: - initialDelaySeconds: 120 - periodSeconds: 90 - timeoutSeconds: 70 - readiness: - enabled: true - params: - initialDelaySeconds: 80 - periodSeconds: 90 - timeoutSeconds: 70 - forwarder: - default: - liveness: - enabled: true - params: - initialDelaySeconds: 120 - periodSeconds: 90 - timeoutSeconds: 70 - readiness: - enabled: true - params: - initialDelaySeconds: 80 - periodSeconds: 90 - timeoutSeconds: 70 - statsd: - default: {} - - security_context: - agent: - pod: - runAsUser: 42424 - container: - agent_init: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - monasca_collector: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - monasca_forwarder: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - monasca_statsd: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - api: - pod: - runAsUser: 42424 - container: - monasca-api: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - notification: - pod: - runAsUser: 42424 - container: - monasca-notification: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - persister: - pod: - runAsUser: 42424 - container: - monasca-persister: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - thresh: - pod: - runAsUser: 42424 - container: - monasca-thresh: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - db_sync: - pod: - runAsUser: 42424 - container: - monasca_db_sync: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - influxdb_init: - pod: - runAsUser: 42424 - container: - influxdb_init: - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - runAsUser: 0 - test: - pod: - runAsUser: 42424 - container: - monasca_test: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - affinity: - anti: - type: - default: preferredDuringSchedulingIgnoredDuringExecution - topologyKey: - default: kubernetes.io/hostname - weight: - default: 10 - dns_policy: "ClusterFirstWithHostNet" - mounts: - monasca_agent: - init_container: null - monasca_collector: - volumeMounts: - - name: varliblibvirt - mountPath: /var/lib/libvirt - readOnly: true - - mountPath: /lib/modules - name: libmodules - readOnly: true - - name: varlibnova - mountPath: /var/lib/nova - volumes: - - name: libmodules - hostPath: - path: /lib/modules - - name: varliblibvirt - hostPath: - path: /var/lib/libvirt - - name: varlibnova - hostPath: - path: /var/lib/nova - monasca_forwarder: - volumeMounts: - volumes: - monasca_statsd: - volumeMounts: - volumes: - monasca_db_init: - init_container: null - monasca_db_init: - volumeMounts: - volumes: - monasca_db_sync: - init_container: null - monasca_db_sync: - volumeMounts: - volumes: - monasca_api: - init_container: null - monasca_api: - volumeMounts: - volumes: - monasca_notification: - init_container: null - monasca_notification: - volumeMounts: - volumes: - monasca_persister: - init_container: null - monasca_persister: - volumeMounts: - volumes: - monasca_thresh: - init_container: null - monasca_thresh: - volumeMounts: - volumes: - monasca_tests: - init_container: null - monasca_tests: - volumeMounts: - volumes: - replicas: - agent: 1 - api: 1 - notification: 1 - persister: 1 - thresh: 1 - lifecycle: - upgrades: - deployments: - revision_history: 3 - pod_replacement_strategy: RollingUpdate - rolling_update: - max_unavailable: 1 - max_surge: 3 - daemonsets: - pod_replacement_strategy: RollingUpdate - agent: - enabled: true - min_ready_seconds: 0 - max_unavailable: 1 - disruption_budget: - monasca: - min_available: 0 - termination_grace_period: - monasca: - timeout: 30 - resources: - enabled: false - agent_init: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - api: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" - collector: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - forwarder: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - statsd: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - notification: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - persister: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - thresh: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - jobs: - db_init: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" - db_sync: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" - db_drop: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" - image_repo_sync: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" - influxdb_init: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" - tests: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "1024Mi" - cpu: "2000m" -bootstrap: - enabled: false - ks_user: monasca - script: null -# Names of secrets used by bootstrap and environmental checks -secrets: - identity: - admin: monasca-keystone-admin - monasca: monasca-keystone-user - monasca_agent: monasca-keystone-agent - monasca_read_only_user: monasca-keystone-ro - test: monasca-keystone-test - metrics_db: monasca-influxdb - oslo_db: - admin: monasca-db-admin - monasca: monasca-db-user - oslo_messaging: - admin: monasca-rabbitmq-admin - monasca: monasca-rabbitmq-user - tls: - monitoring: - api: - public: monasca-tls-public - internal: monasca-tls-api - statsd: - public: monasca-statsd-tls-public - internal: monasca-tls-statsd - events_api: - api: - public: monasca-events-tls-public - internal: monasca-events-tls-proxy - - -# typically overridden by environmental -# values, but should include all endpoints -# required by this chart -endpoints: - cluster_domain_suffix: cluster.local - monitoring: - name: monasca - hosts: - default: monasca-api - public: monasca-api - host_fqdn_override: - default: null - path: - default: /v2.0 - scheme: - default: 'http' - port: - api: - default: 8070 - public: 80 - statsd: - default: 8125 - public: 8125 - forwarder: - default: 17123 - public: 17123 - logs_search: - name: monasca - hosts: - default: kibana - public: kibana - host_fqdn_override: - default: null - path: - default: / - scheme: - default: 'http' - port: - api: - default: 5601 - public: 80 - logs: - name: monasca - hosts: - default: monasca-api - public: monasca-api - host_fqdn_override: - default: null - path: - default: /v2.0 - scheme: - default: 'http' - port: - api: - default: 8070 - public: 80 - local_image_registry: - name: docker-registry - namespace: docker-registry - hosts: - default: localhost - internal: docker-registry - node: localhost - host_fqdn_override: - default: null - port: - registry: - node: 5000 - identity: - name: keystone - auth: - admin: - region_name: RegionOne - username: admin - password: password - project_name: admin - user_domain_name: default - project_domain_name: default - monasca: - role: - - admin - - monasca-user - region_name: RegionOne - username: monasca - password: password - project_name: admin - user_domain_name: default - project_domain_name: default - monasca_agent: - role: monasca-agent - region_name: RegionOne - username: monasca-agent - password: password - project_name: service - user_domain_name: service - project_domain_name: service - interface: private - monasca_read_only_user: - role: monasca-read-only-user - region_name: RegionOne - username: monasca-read-only-user - password: password - project_name: service - user_domain_name: service - project_domain_name: service - hosts: - default: keystone - internal: keystone-api - host_fqdn_override: - default: null - path: - default: /v3 - scheme: - default: http - port: - api: - default: 80 - internal: 5000 - oslo_cache: - auth: - # NOTE(portdirect): this is used to define the value for keystone - # authtoken cache encryption key, if not set it will be populated - # automatically with a random value, but to take advantage of - # this feature all services should be set to use the same key, - # and memcache service. - memcache_secret_key: null - hosts: - default: memcached - host_fqdn_override: - default: null - port: - memcache: - default: 11211 - oslo_db: - auth: - admin: - username: root - password: password - secret: - tls: - internal: mariadb-tls-direct - monasca: - username: monasca - password: password - hosts: - default: mariadb - host_fqdn_override: - default: null - path: /monasca - scheme: mysql+pymysql - port: - mysql: - default: 3306 - metrics_db: - auth: - admin: - username: admin - password: password - monasca_api: - username: monasca-api - password: password - monasca_persister: - username: monasca-persister - password: password - hosts: - default: influxdb - host_fqdn_override: - default: null - path: / - scheme: http - port: - influxdb: - default: 8086 - # NOTE(tp6510): these endpoints allow for things like DNS lookups and ingress - # They are using to enable the Egress K8s network policy. - kube_dns: - namespace: kube-system - name: kubernetes-dns - hosts: - default: kube-dns - host_fqdn_override: - default: null - path: - default: null - scheme: http - port: - dns: - default: 53 - protocol: UDP - ingress: - namespace: null - name: ingress - hosts: - default: ingress - port: - ingress: - default: 80 - -network_policy: - monasca: - ingress: - - {} - egress: - - {} - -dependencies: - dynamic: - common: - local_image_registry: - jobs: - - image-repo-sync - services: - - endpoint: node - service: local_image_registry - static: - agent: - services: - - endpoint: internal - service: monitoring - api: - jobs: - - monasca-db-sync - - monasca-ks-service - - monasca-ks-user - - monasca-ks-endpoints - services: - - endpoint: internal - service: oslo_db - - endpoint: internal - service: identity - notification: - jobs: - - monasca-db-sync - services: - - endpoint: internal - service: oslo_db - # - kafka - persister: - jobs: - - monasca-influxdb-init - services: - - endpoint: internal - service: metrics_db - thresh: - services: - - endpoint: internal - service: oslo_db - # - storm - ks_endpoints: - jobs: - - monasca-ks-service - services: - - endpoint: internal - service: identity - ks_service: - services: - - endpoint: internal - service: identity - ks_user: - services: - - endpoint: internal - service: identity - db_drop: - services: - - endpoint: internal - service: oslo_db - db_init: - services: - - endpoint: internal - service: oslo_db - db_sync: - jobs: - - monasca-db-init - services: - - endpoint: internal - service: oslo_db - influxdb_init: - services: - - endpoint: internal - service: metrics_db - -manifests: - certificates: false - configmap_bin: true - configmap_etc: true - daemonset_agent: true - deployment_agent: false - deployment_api: true - deployment_notification: true - deployment_persister: true - ingress_api: true - job_db_init: true - job_db_sync: true - job_db_drop: false - job_influxdb_init: true - job_thresh: true - job_image_repo_sync: true - job_rabbit_init: false - job_ks_endpoints: true - job_ks_service: true - job_ks_user: true - network_policy: false - secret_db: true - secret_ingress_tls: true - secret_influxdb: true - secret_keystone: true - service_ingress: true - service: true -... diff --git a/releasenotes/notes/monasca.yaml b/releasenotes/notes/monasca.yaml deleted file mode 100644 index 113ce102f5..0000000000 --- a/releasenotes/notes/monasca.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -monasca: - - 0.1.0 Initial Chart - - 0.1.1 Update osh-selenium image used by default - - 0.1.2 Enable custom annotations for Openstack pods - - 0.1.3 Enable custom annotations for Openstack secrets - - 0.1.4 Update images used by default - - 0.1.5 Use quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal by default - - 0.1.6 Update Chart.yaml apiVersion to v2 - - 2024.2.0 Update version to align with the Openstack release cycle -... diff --git a/values_overrides/monasca/annotations.yaml b/values_overrides/monasca/annotations.yaml deleted file mode 100644 index fc49ae5fc0..0000000000 --- a/values_overrides/monasca/annotations.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -annotations: - pod: - default: - custom.tld/key: "value" - custom.tld/key2: "value2" - monasca_api: - another.tld/foo: "bar" - secret: - default: - custom.tld/key: "value" - custom.tld/key2: "value2" - identity: - admin: - another.tld/foo: "bar" - tls: - monitoring_api_public: - custom.tld/key: "value" - metrics_db: - influxdb: - custom.tld/key: "value" -... diff --git a/values_overrides/monasca/libvirt.yaml b/values_overrides/monasca/libvirt.yaml deleted file mode 100644 index 15222aaa2b..0000000000 --- a/values_overrides/monasca/libvirt.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -conf: - agent_plugins: - libvirt: - auto_detect: false - config: - init_config: - alive_only: false - cache_dir: /dev/shm - customer_metadata: - - scale_group - disk_collection_period: 0 - endpoint_type: internalURL - host_aggregate_re: None - libvirt_type: kvm - max_ping_concurrency: 8 - metadata: - - scale_group - network_use_bits: false - nova_refresh: 14400 - ping_check: sudo -n /sbin/ip exec NAMESPACE /usr/bin/fping -n -c1 -t250 -q - vm_cpu_check_enable: true - vm_disks_check_enable: true - vm_extended_disks_check_enable: false - vm_network_check_enable: true - vm_ping_check_enable: true - vm_probation: 300 - vnic_collection_period: 0 - instances: - - {} -... diff --git a/values_overrides/monasca/nvidia.yaml b/values_overrides/monasca/nvidia.yaml deleted file mode 100644 index def27286bb..0000000000 --- a/values_overrides/monasca/nvidia.yaml +++ /dev/null @@ -1,316 +0,0 @@ ---- -conf: - check_scripts: - nvidia_vgpu: | - # Copyright (c) 2018 StackHPC Ltd. - # - # 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. - - import logging - - import monasca_agent.collector.checks as checks - from py3nvml import py3nvml as pynvml - - - log = logging.getLogger(__name__) - - _METRIC_NAME_PREFIX = "nvidia" - - - class Nvidia(checks.AgentCheck): - def __init__(self, name, init_config, agent_config): - super(Nvidia, self).__init__(name, init_config, agent_config) - - def handle_not_supported(f): - def wrapper(*args, **kw): - try: - return f(*args, **kw) - except pynvml.NVMLError as err: - if err == pynvml.NVMLError(pynvml.NVML_ERROR_NOT_SUPPORTED): - log.info('Not supported: {}'.format(f.__name__)) - return {} - else: - raise - return wrapper - - @staticmethod - @handle_not_supported - def _get_driver_version(): - return {'driver_version': pynvml.nvmlSystemGetDriverVersion()} - - @staticmethod - @handle_not_supported - def _get_fan_speed_percent(gpu): - return {'fan_speed_percent': pynvml.nvmlDeviceGetFanSpeed(gpu)} - - @staticmethod - @handle_not_supported - def _get_device_name(gpu): - return {'name': pynvml.nvmlDeviceGetName(gpu)} - - @staticmethod - @handle_not_supported - def _get_device_serial(gpu): - return {'serial': pynvml.nvmlDeviceGetSerial(gpu)} - - @staticmethod - @handle_not_supported - def _get_device_uuid(gpu): - return {'uuid': pynvml.nvmlDeviceGetUUID(gpu)} - - @staticmethod - @handle_not_supported - def _get_device_vbios_version(gpu): - return {'vbios_version': pynvml.nvmlDeviceGetVbiosVersion(gpu)} - - @staticmethod - @handle_not_supported - def _get_info_rom_image_version(gpu): - return {'info_rom_image_version': - pynvml.nvmlDeviceGetInforomImageVersion(gpu)} - - @staticmethod - @handle_not_supported - def _get_device_power_state(gpu): - power_state = "P{}".format(pynvml.nvmlDeviceGetPowerState(gpu)) - return {'power_state': power_state} - - @staticmethod - @handle_not_supported - def _get_framebuffer_memory_stats(gpu): - mem_info = pynvml.nvmlDeviceGetMemoryInfo(gpu) - return { - 'memory_fb_total_bytes': mem_info.total, - 'memory_fb_used_bytes': mem_info.used, - 'memory_fb_free_bytes': (mem_info.total - mem_info.used) - } - - @staticmethod - @handle_not_supported - def _get_bar1_memory_stats(gpu): - mem_info = pynvml.nvmlDeviceGetBAR1MemoryInfo(gpu) - return { - 'memory_bar1_total_bytes': mem_info.bar1Total, - 'memory_bar1_used_bytes': mem_info.bar1Used, - 'memory_bar1_free_bytes': (mem_info.bar1Total - mem_info.bar1Used) - } - - @staticmethod - @handle_not_supported - def _get_utilisation_stats(gpu): - util = pynvml.nvmlDeviceGetUtilizationRates(gpu) - return { - 'utilisation_gpu_percent': util.gpu, - 'utilisation_memory_percent': util.memory - } - - @staticmethod - @handle_not_supported - def _get_device_temperature(gpu): - return {'temperature_deg_c': - pynvml.nvmlDeviceGetTemperature( - gpu, pynvml.NVML_TEMPERATURE_GPU)} - - @staticmethod - @handle_not_supported - def _get_device_shutdown_temp(gpu): - return {'temperature_shutdown_deg_c': - pynvml.nvmlDeviceGetTemperatureThreshold( - gpu, pynvml.NVML_TEMPERATURE_THRESHOLD_SHUTDOWN)} - - @staticmethod - @handle_not_supported - def _get_device_slowdown_temp(gpu): - return {'temperature_slowdown_deg_c': - pynvml.nvmlDeviceGetTemperatureThreshold( - gpu, pynvml.NVML_TEMPERATURE_THRESHOLD_SLOWDOWN)} - - @staticmethod - @handle_not_supported - def _get_power_usage_watts(gpu): - return {'power_watts': (pynvml.nvmlDeviceGetPowerUsage(gpu) / 1000.0)} - - @staticmethod - @handle_not_supported - def _get_power_limit_watts(gpu): - return {'power_limit_watts': ( - pynvml.nvmlDeviceGetPowerManagementLimit(gpu) / 1000.0)} - - @staticmethod - @handle_not_supported - def _get_clock_info(gpu): - return { - 'clock_freq_gpu_mhz': - pynvml.nvmlDeviceGetClockInfo(gpu, pynvml.NVML_CLOCK_GRAPHICS), - 'clock_freq_sm_mhz': - pynvml.nvmlDeviceGetClockInfo(gpu, pynvml.NVML_CLOCK_SM), - 'clock_freq_memory_mhz': - pynvml.nvmlDeviceGetClockInfo(gpu, pynvml.NVML_CLOCK_MEM), - 'clock_freq_video_mhz': - pynvml.nvmlDeviceGetClockInfo(gpu, pynvml.NVML_CLOCK_VIDEO) - } - - @staticmethod - @handle_not_supported - def _get_clock_max_info(gpu): - return { - 'clock_max_freq_gpu_mhz': - pynvml.nvmlDeviceGetMaxClockInfo( - gpu, pynvml.NVML_CLOCK_GRAPHICS), - 'clock_max_freq_sm_mhz': - pynvml.nvmlDeviceGetMaxClockInfo(gpu, pynvml.NVML_CLOCK_SM), - 'clock_max_freq_memory_mhz': - pynvml.nvmlDeviceGetMaxClockInfo(gpu, pynvml.NVML_CLOCK_MEM), - 'clock_max_freq_video_mhz': - pynvml.nvmlDeviceGetMaxClockInfo(gpu, pynvml.NVML_CLOCK_VIDEO) - } - - @staticmethod - def _get_gpu_info(): - pynvml.nvmlInit() - deviceCount = pynvml.nvmlDeviceGetCount() - all_info = [] - for i in range(0, deviceCount): - gpu = pynvml.nvmlDeviceGetHandleByIndex(i) - - dimensions = {} - dimensions.update(Nvidia._get_driver_version()) - dimensions.update(Nvidia._get_device_uuid(gpu)) - dimensions.update(Nvidia._get_info_rom_image_version(gpu)) - dimensions.update(Nvidia._get_device_power_state(gpu)) - dimensions.update(Nvidia._get_device_vbios_version(gpu)) - - measurements = {} - measurements.update(Nvidia._get_fan_speed_percent(gpu)) - measurements.update(Nvidia._get_framebuffer_memory_stats(gpu)) - measurements.update(Nvidia._get_bar1_memory_stats(gpu)) - measurements.update(Nvidia._get_utilisation_stats(gpu)) - measurements.update(Nvidia._get_device_temperature(gpu)) - measurements.update(Nvidia._get_device_shutdown_temp(gpu)) - measurements.update(Nvidia._get_device_slowdown_temp(gpu)) - measurements.update(Nvidia._get_power_usage_watts(gpu)) - measurements.update(Nvidia._get_power_limit_watts(gpu)) - measurements.update(Nvidia._get_clock_info(gpu)) - measurements.update(Nvidia._get_clock_max_info(gpu)) - - gpu_name = "{}_{}".format( - Nvidia._get_device_name(gpu).get('name'), - Nvidia._get_device_serial(gpu).get('serial')) - gpu_info = { - 'name': gpu_name, - 'dimensions': dimensions, - 'measurements': measurements - } - all_info.append(gpu_info) - pynvml.nvmlShutdown() - return all_info - - def check(self, instance): - for gpu_metrics in Nvidia._get_gpu_info(): - for measurement, value in gpu_metrics['measurements'].items(): - metric_name = '{0}.{1}'.format( - _METRIC_NAME_PREFIX, measurement) - self.gauge(metric_name, - value, - device_name=gpu_metrics.get('name'), - dimensions=gpu_metrics.get('dimensions'), - value_meta=None) - log.debug('Collected info for GPU {}'.format( - gpu_metrics.get('name'))) - - detection_scripts: - nvidia_vgpu: | - # Copyright (`c) 2018 StackHPC Ltd. - # - # 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. - - import logging - import subprocess - - import monasca_setup.agent_config - import monasca_setup.detection - - LOG = logging.getLogger(__name__) - - - class NvidiaDetect(monasca_setup.detection.Plugin): - """Detects and configures nVidia plugin.""" - - def _detect(self): - self.available = False - if b'nvidia' not in subprocess.check_output( - ["lshw", "-C", "display"]).lower(): - LOG.info('No nVidia hardware detected.') - return - self.available = True - - def build_config(self): - config = monasca_setup.agent_config.Plugins() - config['nvidia'] = { - 'init_config': None, - 'instances': [{'name': 'nvidia_stats'}]} - return config - - agent_plugins: - nvidia_vgpu: - auto_detect: true - config: - cache_dir: /dev/shm - nova_refresh: "14400" -pod: - security_context: - agent: - container: - monasca_collector: - runAsUser: 0 - privileged: true - allowPrivilegeEscalation: true - - mounts: - monasca_agent: - monasca_collector: - volumeMounts: - - name: varliblibvirt - mountPath: /var/lib/libvirt - readOnly: true - - mountPath: /lib/modules - name: libmodules - readOnly: true - - name: varlibnova - mountPath: /var/lib/nova - - name: hostproc - mountPath: /proc - volumes: - - name: libmodules - hostPath: - path: /lib/modules - - name: varliblibvirt - hostPath: - path: /var/lib/libvirt - - name: varlibnova - hostPath: - path: /var/lib/nova - - name: hostproc - hostPath: - path: /proc -...