# vim: tabstop=4 shiftwidth=4 softtabstop=4 # # Copyright (c) 2019 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # # All Rights Reserved. # """ System inventory Armada monitor manifest operator.""" from sysinv.common import constants from sysinv.helm import manifest_base as base from sysinv.helm.logstash import LogstashHelm from sysinv.helm.kibana import KibanaHelm from sysinv.helm.elasticsearch import ElasticsearchHelm from sysinv.helm.filebeat import FilebeatHelm from sysinv.helm.metricbeat import MetricbeatHelm from sysinv.helm.nginx_ingress import NginxIngressHelm from sysinv.helm.kube_state_metrics import KubeStateMetricsHelm class MonitorArmadaManifestOperator(base.ArmadaManifestOperator): APP = constants.HELM_APP_MONITOR ARMADA_MANIFEST = 'monitor-armada-manifest' CHART_GROUP_NGINX = 'nginx-ingress' CHART_GROUP_KIBANA = 'kibana' CHART_GROUP_ELASTICSEARCH = 'elasticsearch' CHART_GROUP_LOGSTASH = 'logstash' CHART_GROUP_FILEBEAT = 'filebeat' CHART_GROUP_METRICBEAT = 'metricbeat' CHART_GROUP_KUBESTATEMETRICS = 'kube-state-metrics' CHART_GROUPS_LUT = { NginxIngressHelm.CHART: CHART_GROUP_NGINX, KibanaHelm.CHART: CHART_GROUP_KIBANA, ElasticsearchHelm.CHART: CHART_GROUP_ELASTICSEARCH, LogstashHelm.CHART: CHART_GROUP_LOGSTASH, FilebeatHelm.CHART: CHART_GROUP_FILEBEAT, MetricbeatHelm.CHART: CHART_GROUP_METRICBEAT, KubeStateMetricsHelm.CHART: CHART_GROUP_KUBESTATEMETRICS } CHARTS_LUT = { NginxIngressHelm.CHART: 'nginx-ingress', KibanaHelm.CHART: 'kibana', ElasticsearchHelm.CHART: 'elasticsearch', LogstashHelm.CHART: 'logstash', FilebeatHelm.CHART: 'filebeat', MetricbeatHelm.CHART: 'metricbeat', KubeStateMetricsHelm.CHART: 'kube-state-metrics' } def platform_mode_manifest_updates(self, dbapi, mode): """ Update the application manifest based on the platform :param dbapi: DB api object :param mode: mode to control how to apply the application manifest """ pass