blob: 764e89c294f454b34a1240bbcfb9cf09cdc4d430 [file] [log] [blame]
elinuxhenrikcce95ff2021-09-05 17:27:02 +02001// -
2// ========================LICENSE_START=================================
3// O-RAN-SC
4// %%
5// Copyright (C) 2021: Nordix Foundation
6// %%
7// Licensed under the Apache License, Version 2.0 (the "License");
8// you may not use this file except in compliance with the License.
9// You may obtain a copy of the License at
10//
11// http://www.apache.org/licenses/LICENSE-2.0
12//
13// Unless required by applicable law or agreed to in writing, software
14// distributed under the License is distributed on an "AS IS" BASIS,
15// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16// See the License for the specific language governing permissions and
17// limitations under the License.
18// ========================LICENSE_END===================================
19//
20
21package config
22
23import (
24 "os"
25)
26
27type Config struct {
elinuxhenrikba96d842021-09-06 16:05:01 +020028 LogLevel string
29 InfoProducerSupervisionCallbackHost string
30 InfoProducerSupervisionCallbackPort string
31 InfoJobCallbackHost string
32 InfoJobCallbackPort string
33 InfoCoordinatorAddress string
elinuxhenrika77cd652021-09-06 10:56:21 +020034}
35
36type ProducerRegistrationInfo struct {
37 InfoProducerSupervisionCallbackUrl string `json:"info_producer_supervision_callback_url"`
38 SupportedInfoTypes []string `json:"supported_info_types"`
39 InfoJobCallbackUrl string `json:"info_job_callback_url"`
elinuxhenrikcce95ff2021-09-05 17:27:02 +020040}
41
42func New() *Config {
43 return &Config{
elinuxhenrikba96d842021-09-06 16:05:01 +020044 LogLevel: getEnv("LOG_LEVEL", "Info"),
45 InfoProducerSupervisionCallbackHost: getEnv("INFO_PRODUCER_SUPERVISION_CALLBACK_HOST", ""),
46 InfoProducerSupervisionCallbackPort: getEnv("INFO_PRODUCER_SUPERVISION_CALLBACK_PORT", "8085"),
47 InfoJobCallbackHost: getEnv("INFO_JOB_CALLBACK_HOST", ""),
48 InfoJobCallbackPort: getEnv("INFO_JOB_CALLBACK_PORT", "8086"),
49 InfoCoordinatorAddress: getEnv("INFO_COORD_ADDR", "http://enrichmentservice:8083"),
elinuxhenrikcce95ff2021-09-05 17:27:02 +020050 }
51}
52
53func getEnv(key string, defaultVal string) string {
54 if value, exists := os.LookupEnv(key); exists {
55 return value
56 }
57
58 return defaultVal
59}