mirror of
https://github.com/warmbly/warmbly.git
synced 2026-08-19 16:01:16 +00:00
58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
package config
|
|
|
|
import "context"
|
|
|
|
func (c *Config) LoadGeoDBPath(ctx context.Context) (string, error) {
|
|
return c.GetString(ctx, "GEODB_PATH", "geodb_path")
|
|
}
|
|
|
|
func (c *Config) LoadPrimaryDBEndpoint(ctx context.Context) (string, error) {
|
|
return c.GetSecret(ctx, "PRIMARY_DB", "postgres/primary")
|
|
}
|
|
|
|
func (c *Config) LoadPrimaryRedisEndpoint(ctx context.Context) (string, error) {
|
|
return c.GetSecret(ctx, "REDIS", "redis/primary")
|
|
}
|
|
|
|
func (c *Config) LoadKafkaClusterEndpoint(ctx context.Context) (string, error) {
|
|
return c.GetSecret(ctx, "KAFKA_CLUSTER", "kafka_cluster")
|
|
}
|
|
|
|
// Cassandra (NoSQL)
|
|
|
|
type AstraConfig struct {
|
|
AstraDBID string
|
|
AstraDBRegion string
|
|
AstraKeyspaceName string
|
|
AstraApplicationToken string
|
|
}
|
|
|
|
func (c *Config) LoadAstraConfig(ctx context.Context) (*AstraConfig, error) {
|
|
astraDBID, err := c.GetString(ctx, "ASTRA_DB_ID", "astra/db_id")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
astraDBRegion, err := c.GetString(ctx, "ASTRA_DB_REGION", "astra/db_region")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
astraDBKeyspaceName, err := c.GetString(ctx, "ASTRA_KEYSPACE_NAME", "astra/keyspace_name")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
applicationToken, err := c.GetSecret(ctx, "ASTRA_APPLICATION_TOKEN", "astra/application_token")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &AstraConfig{
|
|
AstraDBID: astraDBID,
|
|
AstraDBRegion: astraDBRegion,
|
|
AstraKeyspaceName: astraDBKeyspaceName,
|
|
AstraApplicationToken: applicationToken,
|
|
}, nil
|
|
}
|