Help us shape the future of Go! Take the 2026 Go Developer Survey

rorconfig

package
v1.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2025 License: Apache-2.0 Imports: 6 Imported by: 10

Documentation

Overview

Package rorconfig provides a centralized configuration management system for ROR applications. It supports loading configuration values from environment variables, default values, and custom secret providers.

Index

Constants

This section is empty.

Variables

View Source
var ConfigConsts = ConfigconstsMap{
	ConfigConst("ROLE"):                             {/* contains filtered or unexported fields */},
	ConfigConst("HTTP_HOST"):                        {/* contains filtered or unexported fields */},
	ConfigConst("HTTP_PORT"):                        {/* contains filtered or unexported fields */},
	ConfigConst("HTTP_HEALTH_HOST"):                 {/* contains filtered or unexported fields */},
	ConfigConst("HTTP_HEALTH_PORT"):                 {/* contains filtered or unexported fields */},
	ConfigConst("HTTP_TIMEOUT"):                     {/* contains filtered or unexported fields */},
	ConfigConst("HEALTH_ENDPOINT"):                  {/* contains filtered or unexported fields */},
	ConfigConst("API_KEY_SALT"):                     {/* contains filtered or unexported fields */},
	ConfigConst("API_KEY"):                          {/* contains filtered or unexported fields */},
	ConfigConst("API_KEY_SECRET"):                   {/* contains filtered or unexported fields */},
	ConfigConst("API_ENDPOINT"):                     {/* contains filtered or unexported fields */},
	ConfigConst("DEVELOPMENT"):                      {/* contains filtered or unexported fields */},
	ConfigConst("PORT"):                             {/* contains filtered or unexported fields */},
	ConfigConst("POD_NAMESPACE"):                    {/* contains filtered or unexported fields */},
	ConfigConst("CLUSTER_ID"):                       {/* contains filtered or unexported fields */},
	ConfigConst("ERROR_COUNT"):                      {/* contains filtered or unexported fields */},
	ConfigConst("HELSEGITLAB_BASE_URL"):             {/* contains filtered or unexported fields */},
	ConfigConst("ENVIRONMENT"):                      {/* contains filtered or unexported fields */},
	ConfigConst("LDAP_CONFIGS"):                     {/* contains filtered or unexported fields */},
	ConfigConst("GIT_REPO_URL"):                     {/* contains filtered or unexported fields */},
	ConfigConst("GIT_BRANCH"):                       {/* contains filtered or unexported fields */},
	ConfigConst("GIT_TOKEN"):                        {/* contains filtered or unexported fields */},
	ConfigConst("GIT_PATH"):                         {/* contains filtered or unexported fields */},
	ConfigConst("ROR_OPERATOR_NAMESPACE"):           {/* contains filtered or unexported fields */},
	ConfigConst("LDAP_CERTIFICATE_FOLDER"):          {/* contains filtered or unexported fields */},
	ConfigConst("OIDC_PROVIDER"):                    {/* contains filtered or unexported fields */},
	ConfigConst("OIDC_CLIENT_ID"):                   {/* contains filtered or unexported fields */},
	ConfigConst("OIDC_DEVICE_CLIENT_ID"):            {/* contains filtered or unexported fields */},
	ConfigConst("OIDC_SKIP_ISSUER_VERIFY"):          {/* contains filtered or unexported fields */},
	ConfigConst("VAULT_URL"):                        {/* contains filtered or unexported fields */},
	ConfigConst("MONGODB_HOST"):                     {/* contains filtered or unexported fields */},
	ConfigConst("MONGODB_PORT"):                     {/* contains filtered or unexported fields */},
	ConfigConst("MONGODB_DATABASE"):                 {/* contains filtered or unexported fields */},
	ConfigConst("MONGODB_URL"):                      {/* contains filtered or unexported fields */},
	ConfigConst("MONGO_DATABASE"):                   {/* contains filtered or unexported fields */},
	ConfigConst("RABBITMQ_HOST"):                    {/* contains filtered or unexported fields */},
	ConfigConst("RABBITMQ_PORT"):                    {/* contains filtered or unexported fields */},
	ConfigConst("RABBITMQ_BROADCAST_NAME"):          {/* contains filtered or unexported fields */},
	ConfigConst("RABBITMQ_CONNECTIONSTRING"):        {/* contains filtered or unexported fields */},
	ConfigConst("REDIS_HOST"):                       {/* contains filtered or unexported fields */},
	ConfigConst("REDIS_PORT"):                       {/* contains filtered or unexported fields */},
	ConfigConst("TRACER_ID"):                        {/* contains filtered or unexported fields */},
	ConfigConst("ENABLE_TRACING"):                   {/* contains filtered or unexported fields */},
	ConfigConst("OPENTELEMETRY_COLLECTOR_ENDPOINT"): {/* contains filtered or unexported fields */},
	ConfigConst("PROFILER_ENABLED"):                 {/* contains filtered or unexported fields */},
	ConfigConst("STARTUP_SLEEP_TIME"):               {/* contains filtered or unexported fields */},
	ConfigConst("GIN_USE_CORS"):                     {/* contains filtered or unexported fields */},
	ConfigConst("GIN_ALLOW_ORIGINS"):                {/* contains filtered or unexported fields */},
	ConfigConst("VERSION"):                          {/* contains filtered or unexported fields */},
	ConfigConst("COMMIT"):                           {/* contains filtered or unexported fields */},
	ConfigConst("DEX_HOST"):                         {/* contains filtered or unexported fields */},
	ConfigConst("DEX_PORT"):                         {/* contains filtered or unexported fields */},
	ConfigConst("DEX_GRPC_PORT"):                    {/* contains filtered or unexported fields */},
	ConfigConst("DEX_CERT_FILEPATH"):                {/* contains filtered or unexported fields */},
	ConfigConst("DEX_VAULT_PATH"):                   {/* contains filtered or unexported fields */},
	ConfigConst("DEX_TLS"):                          {/* contains filtered or unexported fields */},
	ConfigConst("SLACK_BOT_TOKEN"):                  {/* contains filtered or unexported fields */},
	ConfigConst("SLACK_APP_TOKEN"):                  {/* contains filtered or unexported fields */},
	ConfigConst("CONTAINER_REG_PREFIX"):             {/* contains filtered or unexported fields */},
	ConfigConst("CONTAINER_REG_IMAGE_PATH"):         {/* contains filtered or unexported fields */},
	ConfigConst("CONTAINER_REG_HELM_PATH"):          {/* contains filtered or unexported fields */},
	ConfigConst("OPERATOR_BACKOFF_LIMIT"):           {/* contains filtered or unexported fields */},
	ConfigConst("OPERATOR_DEADLINE_SECONDS"):        {/* contains filtered or unexported fields */},
	ConfigConst("OPERATOR_JOB_SERVICE_ACCOUNT"):     {/* contains filtered or unexported fields */},
	ConfigConst("OPERATOR_APPLOG_SECRET_NAME"):      {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_KUBECONFIG"):           {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_DELETE_KUBECONFIG"):    {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_KUBE_VSPHERE_PATH"):    {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_KUBECTL_PATH"):         {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_DATACENTER_URL"):       {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_USERNAME"):             {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_PASSWORD"):             {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_TOKEN_EXPIRY"):         {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_LOGIN_EVERY_MINUTE"):   {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_HEALTH_PORT"):          {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_TANZU_ACCESS"):         {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_DATACENTER"):           {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_PROVIDER"):             {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AGENT_REGION"):               {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AUTH_HEALTH_PORT"):           {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AUTH_KUBE_VSPHERE_PATH"):     {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AUTH_KUBECTL_PATH"):          {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AUTH_BASE_URL"):              {/* contains filtered or unexported fields */},
	ConfigConst("TANZU_AUTH_CONFIG_FOLDER_PATH"):    {/* contains filtered or unexported fields */},
	ConfigConst("MS_HTTP_PORT"):                     {/* contains filtered or unexported fields */},
	ConfigConst("MS_HTTP_BIND_PORT"):                {/* contains filtered or unexported fields */},
	ConfigConst("LOCAL_KUBERNETES_ROR_BASE_URL"):    {/* contains filtered or unexported fields */},
	ConfigConst("ENABLE_PPROF"):                     {/* contains filtered or unexported fields */},
}

...existing code...

Functions

func AutomaticEnv

func AutomaticEnv()

AutomaticEnv loads configuration values from environment variables for all registered keys. This is called internally by InitConfig and typically doesn't need to be called directly.

func GetBool

func GetBool(key ConfigConst) bool

GetBool retrieves a configuration value as a boolean. Returns true if the value is "true" (case-insensitive), false otherwise.

func GetConfigs

func GetConfigs() configsMap

GetConfigs returns a copy of all currently loaded configuration values. This is primarily used for debugging and testing purposes.

func GetFloat32

func GetFloat32(key ConfigConst) float32

GetFloat32 retrieves a configuration value as a 32-bit floating point number. Returns the float32 value, or 0.0 if the value cannot be parsed as a float32.

func GetFloat64

func GetFloat64(key ConfigConst) float64

GetFloat64 retrieves a configuration value as a 64-bit floating point number. Returns the float64 value, or 0.0 if the value cannot be parsed as a float64.

func GetInt

func GetInt(key ConfigConst) int

GetInt retrieves a configuration value as an integer. Returns the integer value, or 0 if the value cannot be parsed as an integer.

func GetInt64

func GetInt64(key ConfigConst) int64

GetInt64 retrieves a configuration value as a 64-bit integer. Returns the int64 value, or 0 if the value cannot be parsed as an int64.

func GetString

func GetString(key ConfigConst) string

GetString retrieves a configuration value as a string. Returns the string value of the configuration key, or empty string if not set.

func GetUint

func GetUint(key ConfigConst) uint

GetUint retrieves a configuration value as an unsigned integer. Returns the uint value, or 0 if the value cannot be parsed as a uint.

func GetUint32

func GetUint32(key ConfigConst) uint32

GetUint32 retrieves a configuration value as a 32-bit unsigned integer. Returns the uint32 value, or 0 if the value cannot be parsed as a uint32.

func GetUint64

func GetUint64(key ConfigConst) uint64

GetUint64 retrieves a configuration value as a 64-bit unsigned integer. Returns the uint64 value, or 0 if the value cannot be parsed as a uint64.

func InitConfig

func InitConfig()

InitConfig initializes the configuration system by automatically loading all recognized environment variables. This should be called once at application startup.

func IsSet

func IsSet(key ConfigConst) bool

IsSet checks if a configuration key has been set (either from environment variable, default value, or explicitly set value). Returns true if the key exists and has a value, false otherwise.

func Set

func Set(key ConfigConst, value any)

Set explicitly sets a configuration value for the given key. This will override any environment variable or default value.

func SetDefault

func SetDefault(key ConfigConst, defaultValue any)

SetDefault sets a default value for a configuration key. The default value will only be used if no environment variable or explicit value is set.

func SetWithProvider

func SetWithProvider(key ConfigConst, provider SecretProvider)

SetWithProvider sets a configuration value using a custom SecretProvider. The provider's GetSecret() method will be called to retrieve the actual value. This is useful for integrating with external secret management systems.

Types

type ConfigConst

type ConfigConst string
const (
	ROLE             ConfigConst = "ROLE"
	HTTP_HOST        ConfigConst = "HTTP_HOST"
	HTTP_PORT        ConfigConst = "HTTP_PORT"
	HTTP_HEALTH_HOST ConfigConst = "HTTP_HEALTH_HOST"
	HTTP_HEALTH_PORT ConfigConst = "HTTP_HEALTH_PORT"
	HTTP_TIMEOUT     ConfigConst = "HTTP_TIMEOUT"
	// Deprecated: use HTTP_HEALTH_HOST / HTTP_HEALTH_PORT instead
	HEALTH_ENDPOINT      ConfigConst = "HEALTH_ENDPOINT"
	API_KEY_SALT         ConfigConst = "API_KEY_SALT"
	API_KEY              ConfigConst = "API_KEY"
	API_KEY_SECRET       ConfigConst = "API_KEY_SECRET"
	API_ENDPOINT         ConfigConst = "ROR_URL"
	DEVELOPMENT          ConfigConst = "DEVELOPMENT"
	PORT                 ConfigConst = "PORT"
	POD_NAMESPACE        ConfigConst = "POD_NAMESPACE"
	CLUSTER_ID           ConfigConst = "CLUSTER_ID"
	ERROR_COUNT          ConfigConst = "ERROR_COUNT"
	HELSEGITLAB_BASE_URL ConfigConst = "HELSEGITLAB_BASE_URL"
	ENVIRONMENT          ConfigConst = "ENVIRONMENT"
	LDAP_CONFIGS         ConfigConst = "LDAP_CONFIGS"

	GIT_REPO_URL ConfigConst = "GIT_REPO_URL"
	GIT_BRANCH   ConfigConst = "GIT_BRANCH"
	GIT_TOKEN    ConfigConst = "GIT_TOKEN"
	GIT_PATH     ConfigConst = "GIT_PATH"

	ROR_OPERATOR_NAMESPACE ConfigConst = "ROR_OPERATOR_NAMESPACE"

	LDAP_CERTIFICATE_FOLDER ConfigConst = "LDAP_CERTIFICATE_FOLDER"

	OIDC_PROVIDER           ConfigConst = "OIDC_PROVIDER"
	OIDC_CLIENT_ID          ConfigConst = "OIDC_CLIENT_ID"
	OIDC_DEVICE_CLIENT_ID   ConfigConst = "OIDC_DEVICE_CLIENT_ID"
	OIDC_SKIP_ISSUER_VERIFY ConfigConst = "SKIP_OIDC_ISSUER_VERIFY"

	VAULT_URL ConfigConst = "VAULT_URL"

	MONGODB_HOST     ConfigConst = "MONGODB_HOST"
	MONGODB_PORT     ConfigConst = "MONGODB_PORT"
	MONGODB_DATABASE ConfigConst = "MONGODB_DATABASE"
	MONGODB_URL      ConfigConst = "MONGODB_URL"
	MONGO_DATABASE   ConfigConst = "MONGO_DATABASE"

	RABBITMQ_HOST             ConfigConst = "RABBITMQ_HOST"
	RABBITMQ_PORT             ConfigConst = "RABBITMQ_PORT"
	RABBITMQ_BROADCAST_NAME   ConfigConst = "RABBITMQ_BROADCAST_NAME"
	RABBITMQ_CONNECTIONSTRING ConfigConst = "RABBITMQ_CONNECTIONSTRING"

	REDIS_HOST ConfigConst = "REDIS_HOST"
	REDIS_PORT ConfigConst = "REDIS_PORT"

	TRACER_ID                        ConfigConst = "TRACER_ID"
	ENABLE_TRACING                   ConfigConst = "ENABLE_TRACING"
	OPENTELEMETRY_COLLECTOR_ENDPOINT ConfigConst = "OPENTELEMETRY_COLLECTOR_ENDPOINT"

	PROFILER_ENABLED   ConfigConst = "PROFILER_ENABLED"
	STARTUP_SLEEP_TIME ConfigConst = "STARTUP_SLEEP_TIME"

	GIN_USE_CORS      ConfigConst = "USE_CORS"
	GIN_ALLOW_ORIGINS ConfigConst = "ALLOW_ORIGINS"

	VERSION           ConfigConst = "VERSION"
	COMMIT            ConfigConst = "COMMIT"
	DEX_HOST          ConfigConst = "DEX_HOST"
	DEX_PORT          ConfigConst = "DEX_PORT"
	DEX_GRPC_PORT     ConfigConst = "DEX_GRPC_PORT"
	DEX_CERT_FILEPATH ConfigConst = "DEX_CERT_FILEPATH"
	DEX_VAULT_PATH    ConfigConst = "DEX_VAULT_PATH"
	DEX_TLS           ConfigConst = "DEX_TLS"

	SLACK_BOT_TOKEN ConfigConst = "SLACK_BOT_TOKEN" // #nosec G101 Jest the name of the variable holding the value
	SLACK_APP_TOKEN ConfigConst = "SLACK_APP_TOKEN" // #nosec G101 Jest the name of the variable holding the value

	CONTAINER_REG_PREFIX     ConfigConst = "CONTAINER_REG_PREFIX"
	CONTAINER_REG_IMAGE_PATH ConfigConst = "CONTAINER_REG_IMAGE_PATH"
	CONTAINER_REG_HELM_PATH  ConfigConst = "CONTAINER_REG_HELM_PATH"

	// Operator
	OPERATOR_BACKOFF_LIMIT       ConfigConst = "BACKOFF_LIMIT"
	OPERATOR_DEADLINE_SECONDS    ConfigConst = "DEADLINE_SECONDS"
	OPERATOR_JOB_SERVICE_ACCOUNT ConfigConst = "JOB_SERVICE_ACCOUNT"
	OPERATOR_APPLOG_SECRET_NAME  ConfigConst = "APPLOG_SECRET_NAME" // #nosec G101 Jest the name of the variable holding the value

	// Tanzu agent
	TANZU_AGENT_KUBECONFIG         ConfigConst = "KUBECONFIG"
	TANZU_AGENT_DELETE_KUBECONFIG  ConfigConst = "DELETE_KUBECONFIG"
	TANZU_AGENT_KUBE_VSPHERE_PATH  ConfigConst = "KUBE_VSPHERE_PATH"
	TANZU_AGENT_KUBECTL_PATH       ConfigConst = "KUBECTL_PATH"
	TANZU_AGENT_DATACENTER_URL     ConfigConst = "DATACENTER_URL"
	TANZU_AGENT_USERNAME           ConfigConst = "TANZU_USERNAME"
	TANZU_AGENT_PASSWORD           ConfigConst = "TANZU_PWD"    // #nosec G101 Jest the name of the variable holding the value
	TANZU_AGENT_TOKEN_EXPIRY       ConfigConst = "TOKEN_EXPIRY" // #nosec G101 Jest the name of the variable holding the value
	TANZU_AGENT_LOGIN_EVERY_MINUTE ConfigConst = "LOGIN_EVERY_MINUTE"
	TANZU_AGENT_HEALTH_PORT        ConfigConst = "HTTP_PORT"
	TANZU_AGENT_TANZU_ACCESS       ConfigConst = "TANZU_ACCESS"
	TANZU_AGENT_DATACENTER         ConfigConst = "DATACENTER"
	TANZU_AGENT_PROVIDER           ConfigConst = "PROVIDER"
	TANZU_AGENT_REGION             ConfigConst = "REGION"

	// Tanzu Auth
	TANZU_AUTH_HEALTH_PORT        ConfigConst = "HTTP_PORT"
	TANZU_AUTH_KUBE_VSPHERE_PATH  ConfigConst = "KUBE_VSPHERE_PATH"
	TANZU_AUTH_KUBECTL_PATH       ConfigConst = "KUBECTL_PATH"
	TANZU_AUTH_BASE_URL           ConfigConst = "TANZU_AUTH_BASE_URL"
	TANZU_AUTH_CONFIG_FOLDER_PATH ConfigConst = "TANZU_AUTH_CONFIG_FOLDER_PATH"

	// ms
	MS_HTTP_PORT      ConfigConst = "HTTP_PORT"
	MS_HTTP_BIND_PORT ConfigConst = "HTTP_BIND_PORT"

	LOCAL_KUBERNETES_ROR_BASE_URL ConfigConst = "LOCAL_KUBERNETES_ROR_BASE_URL"
	ENABLE_PPROF                  ConfigConst = "ENABLE_PPROF"
)

type ConfigConstData

type ConfigConstData struct {
	// contains filtered or unexported fields
}

type ConfigData

type ConfigData string

func (ConfigData) Bool

func (cd ConfigData) Bool() bool

func (ConfigData) Float32

func (cd ConfigData) Float32() float32

func (ConfigData) Float64

func (cd ConfigData) Float64() float64

func (ConfigData) Int

func (cd ConfigData) Int() int

func (ConfigData) Int64

func (cd ConfigData) Int64() int64

func (ConfigData) String

func (cd ConfigData) String() string

func (ConfigData) Uint

func (cd ConfigData) Uint() uint

func (ConfigData) Uint32

func (cd ConfigData) Uint32() uint32

func (ConfigData) Uint64

func (cd ConfigData) Uint64() uint64

type ConfigconstsMap added in v1.5.2

type ConfigconstsMap map[ConfigConst]ConfigConstData

func (*ConfigconstsMap) Add added in v1.5.2

func (cc *ConfigconstsMap) Add(key ConfigConst, data ConfigConstData)

func (*ConfigconstsMap) GetDescription added in v1.5.2

func (cc *ConfigconstsMap) GetDescription(key ConfigConst) string

func (*ConfigconstsMap) GetEnvVariable added in v1.5.2

func (cc *ConfigconstsMap) GetEnvVariable(key ConfigConst) string

func (*ConfigconstsMap) IsDeprecated added in v1.5.2

func (cc *ConfigconstsMap) IsDeprecated(key ConfigConst) bool

func (*ConfigconstsMap) IsSet added in v1.5.2

func (cc *ConfigconstsMap) IsSet(key ConfigConst) bool

type SecretProvider

type SecretProvider interface {
	// GetSecret retrieves a secret value from the provider
	GetSecret() string
}

SecretProvider is an interface for custom secret retrieval mechanisms. Implementations can provide secrets from various sources like Vault, Kubernetes secrets, etc.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL