62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
# 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
|