in ozhera-operator/ozhera-operator-service/src/main/java/org/apache/ozhera/operator/service/HeraBootstrapInitService.java [84:439]
public void init() {
try {
HeraSpec heraSpec = new HeraSpec();
HeraObjectMeta heraMeta = new HeraObjectMeta();
heraMeta.setName(HoConstant.HERA_CR_NAME);
heraMeta.setNamespace(HoConstant.HERA_NAMESPACE);
List<HeraResource> resourceList = new ArrayList<>();
heraSpec.setResourceList(resourceList);
HeraResource mysql = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/mysql/ozhera_mysql.yaml")
.resourceType(ResourceTypeEnum.MYSQL.getTypeName())
.resourceName("hera-mysql")
.remark("local pv, Make sure the disk directory has been created in advance.")
.build();
mysql.setDefaultYaml();
List<Map<String, String>> mysqlConnectionMapList = new ArrayList<>();
mysqlConnectionMapList.add(kvMap(HoConstant.KEY_DATASOURCE_URL, "mone-db-all:3306", "mysql address,host:port"));
mysqlConnectionMapList.add(kvMap(HoConstant.KEY_DATASOURCE_USERNAME, "root", "user name"));
mysqlConnectionMapList.add(kvMap(HoConstant.KEY_DATASOURCE_PASSWORD, "Mone_123456", "password"));
mysql.setConnectionMapList(mysqlConnectionMapList);
resourceList.add(mysql);
HeraResource redis = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/redis/ozhera_redis.yaml")
.resourceType(ResourceTypeEnum.REDIS.getTypeName())
.resourceName("hera-redis")
.remark("local redis.")
.build();
redis.setDefaultYaml();
List<Map<String, String>> redisConnectionMapList = new ArrayList<>();
redisConnectionMapList.add(kvMap(HoConstant.KEY_REDIS_URL, "redis-service:6379", "redis address, host:port"));
redisConnectionMapList.add(kvMap(HoConstant.KEY_REDIS_PASSWORD, "", "redis pwd, optional", "0"));
redis.setConnectionMapList(redisConnectionMapList);
resourceList.add(redis);
HeraResource es = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/es/ozhera_es.yaml")
.resourceType(ResourceTypeEnum.ES.getTypeName())
.resourceName("hera-es")
.remark("local es")
.build();
es.setDefaultYaml();
List<Map<String, String>> esConnectionMapList = new ArrayList<>();
esConnectionMapList.add(kvMap(HoConstant.KEY_ES_URL, "elasticsearch:9200", "es address, host:port"));
esConnectionMapList.add(kvMap(HoConstant.KEY_ES_USERNAME, "", "es user name, optional", "0"));
esConnectionMapList.add(kvMap(HoConstant.KEY_ES_PASSWORD, "", "es password, optional", "0"));
es.setConnectionMapList(esConnectionMapList);
resourceList.add(es);
HeraResource rocketMQ = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/rocketmq/ozhera_rocketmq.yaml")
.resourceType(ResourceTypeEnum.ROCKETMQ.getTypeName())
.resourceName("hera-rocketMQ")
.remark("local rocketMQ")
.build();
rocketMQ.setDefaultYaml();
List<Map<String, String>> rocketMQConnectionMapList = new ArrayList<>();
rocketMQConnectionMapList.add(kvMap(HoConstant.KEY_ROCKETMQ_NAMESERVER, "rocketmq-name-server-service:9876", "rocketMQ address,host:port"));
rocketMQConnectionMapList.add(kvMap(HoConstant.KEY_ROCKETMQ_AK, "", "rocketMQ accessKey,optional", "0"));
rocketMQConnectionMapList.add(kvMap(HoConstant.KEY_ROCKETMQ_SK, "", "rocketMQ secretKey,optional", "0"));
rocketMQ.setConnectionMapList(rocketMQConnectionMapList);
resourceList.add(rocketMQ);
HeraResource nacos = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/nacos/ozhera_nacos.yml")
.resourceType(ResourceTypeEnum.Nacos.getTypeName())
.resourceName("hera-nacos")
.remark("load nacos")
.defaultExtendConfigPath(new String[]{
"/ozhera_init/nacos/config/hera_app_config_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/hera_log_manager_open_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/hera_trace_config_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/log_stream_dataId_open_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/mi_tpc_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/mi_tpc_login_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/mimonitor_open_config_#_DEFAULT_GROUP.properties",
"/ozhera_init/nacos/config/prometheus_agent_open_config_#_DEFAULT_GROUP.properties"})
.build();
nacos.setDefaultYaml();
nacos.setDefaultExtendConfig();
List<Map<String, String>> connectionMapList = new ArrayList<>();
connectionMapList.add(kvMap(HoConstant.KEY_NACOS_ADDRESS, "nacos:80", "nacos address, host:ip"));
connectionMapList.add(kvMap(HoConstant.KEY_NACOS_USERNAME, "nacos", "nacos user name, optional", "0"));
connectionMapList.add(kvMap(HoConstant.KEY_NACOS_PASSWORD, "nacos", "nacos password, optional", "0"));
nacos.setConnectionMapList(connectionMapList);
resourceList.add(nacos);
HeraResource tpcLoginFe = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/tpc-login-fe/ozhera_tpc_login_fe.yml")
.resourceType(ResourceTypeEnum.HERA_FE.getTypeName())
.resourceName("hera-tpc-login-fe")
.remark("load tpc-login-fe")
.build();
tpcLoginFe.setDefaultYaml();
List<Map<String, String>> tpcLoginFeConnectionMapList = new ArrayList<>();
tpcLoginFe.setConnectionMapList(tpcLoginFeConnectionMapList);
resourceList.add(tpcLoginFe);
HeraResource grafana = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/grafana/ozhera_grafana.yaml")
.resourceType(ResourceTypeEnum.GRAFANA.getTypeName())
.resourceName("hera-grafana")
.remark("local pv, Make sure the disk directory has been created in advance.")
.build();
grafana.setDefaultYaml();
List<Map<String, String>> grafanaConnectionMapList = new ArrayList<>();
grafana.setConnectionMapList(grafanaConnectionMapList);
resourceList.add(grafana);
HeraResource prometheus = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/prometheus/ozhera_prometheus.yaml")
.resourceType(ResourceTypeEnum.PROMETHEUS.getTypeName())
.resourceName("hera-prometheus")
.remark("local pv, Make sure the disk directory has been created in advance.")
.build();
prometheus.setDefaultYaml();
List<Map<String, String>> prometheusConnectionMapList = new ArrayList<>();
prometheus.setConnectionMapList(prometheusConnectionMapList);
resourceList.add(prometheus);
HeraResource heraFe = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/hera-fe/ozhera_fe.yml")
.resourceType(ResourceTypeEnum.HERA_FE.getTypeName())
.resourceName("hera-fe")
.remark("load hera-fe")
.build();
heraFe.setDefaultYaml();
List<Map<String, String>> heraFeConnectionMapList = new ArrayList<>();
heraFe.setConnectionMapList(heraFeConnectionMapList);
resourceList.add(heraFe);
HeraResource alertManager = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/alertManager/ozhera_alertmanager.yaml")
.resourceType(ResourceTypeEnum.ALERT_MANAGER.getTypeName())
.resourceName("hera-alertmanager")
.remark("local pv, Make sure the disk directory has been created in advance.")
.build();
alertManager.setDefaultYaml();
resourceList.add(alertManager);
HeraResource tpcLogin = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/tpc-login/ozhera_tpc_login.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-tpc-login")
.remark("load tpc-login")
.build();
tpcLogin.setDefaultYaml();
resourceList.add(tpcLogin);
HeraResource traceEtlEs = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/trace-etl-es/ozhera_trace_etl_es.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("trace-etl-es")
.remark("load trace-etl-es")
.build();
traceEtlEs.setDefaultYaml();
resourceList.add(traceEtlEs);
HeraResource cadvisor = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/cadvisor/ozhera_cadvisor.yaml")
.resourceType(ResourceTypeEnum.CADVISOR.getTypeName())
.resourceName("hera-cadvisor")
.remark("local pv, Make sure the disk directory has been created in advance.")
.build();
cadvisor.setDefaultYaml();
List<Map<String, String>> cadvisorConnectionMapList = new ArrayList<>();
cadvisor.setConnectionMapList(cadvisorConnectionMapList);
resourceList.add(cadvisor);
HeraResource node_exporter = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/node-exporter/ozhera_node-exporter.yaml")
.resourceType(ResourceTypeEnum.NODE_EXPORTER.getTypeName())
.resourceName("hera-node-exporter")
.remark("local pv, Make sure the disk directory has been created in advance.")
.build();
node_exporter.setDefaultYaml();
List<Map<String, String>> node_exporterConnectionMapList = new ArrayList<>();
node_exporter.setConnectionMapList(node_exporterConnectionMapList);
resourceList.add(node_exporter);
HeraResource heraApp = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/hera-app/ozhera_app.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-app")
.remark("load hera-app")
.build();
heraApp.setDefaultYaml();
resourceList.add(heraApp);
HeraResource logManager = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/log-manager/ozhera_log_manager.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-log-manager")
.remark("load log-manager")
.build();
logManager.setDefaultYaml();
resourceList.add(logManager);
HeraResource logAgentServer = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/log-agent-server/ozhera_log_agent-server.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-log-agent-server")
.remark("load log-agent-server")
.build();
logAgentServer.setDefaultYaml();
resourceList.add(logAgentServer);
HeraResource logStream = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/log-stream/ozhera_log_stream.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-log-stream")
.remark("load log-stream")
.build();
logStream.setDefaultYaml();
resourceList.add(logStream);
HeraResource mimonitor = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/mimonitor/ozhera_mimonitor.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-mimonitor")
.remark("load mimonitor")
.build();
mimonitor.setDefaultYaml();
resourceList.add(mimonitor);
HeraResource tpc = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/tpc/ozhera_tpc.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-tpc")
.remark("load tpc")
.build();
tpc.setDefaultYaml();
resourceList.add(tpc);
HeraResource tpcFe = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/tpc-fe/ozhera_tpc_fe.yml")
.resourceType(ResourceTypeEnum.HERA_FE.getTypeName())
.resourceName("hera-tpc-fe")
.remark("load tpc-fe")
.build();
tpcFe.setDefaultYaml();
resourceList.add(tpcFe);
HeraResource traceEtlManager = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/trace-etl-manager/ozhera_trace_etl_manager.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-trace_etl_manager")
.remark("load trace-etl-manager")
.build();
traceEtlManager.setDefaultYaml();
resourceList.add(traceEtlManager);
HeraResource traceEtlServer = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/trace-etl-server/ozhera_trace_etl_server.yml")
.resourceType(ResourceTypeEnum.HERA_APP.getTypeName())
.resourceName("hera-trace-etl-server")
.remark("load trace-etl-server")
.build();
traceEtlServer.setDefaultYaml();
resourceList.add(traceEtlServer);
HeraResource heraWebhook = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/webhook/ozhera_webhook_server.yaml")
.resourceType(ResourceTypeEnum.HERA_WEBHOOK.getTypeName())
.resourceName("hera-webhook")
.remark("load hera-webhook")
.build();
heraWebhook.setDefaultYaml();
resourceList.add(heraWebhook);
HeraResource demoServer = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/demo/ozhera_demo_server.yml")
.resourceType(ResourceTypeEnum.OTHER.getTypeName())
.resourceName("hera-demo-server")
.remark("load hera-demo-server")
.build();
demoServer.setDefaultYaml();
resourceList.add(demoServer);
HeraResource demoClient = HeraResource.builder()
.needCreate(true)
.required(true)
.defaultYamlPath("/ozhera_init/demo/ozhera_demo_client.yml")
.resourceType(ResourceTypeEnum.OTHER.getTypeName())
.resourceName("hera-demo-client")
.remark("load hera-demo-client")
.build();
demoClient.setDefaultYaml();
resourceList.add(demoClient);
//todo other resource
heraOperatorDefine.setHeraSpec(heraSpec);
heraOperatorDefine.setHeraMeta(heraMeta);
log.warn("##heraOperatorDefine load success##");
} catch (Exception e) {
log.error("HeraOperatorController init error:", e);
throw new RuntimeException("HeraOperatorController init error");
}
}