Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var LoadedConfig = &AppConfig{}
Functions ¶
Types ¶
type AppConfig ¶
type AppConfig struct { // Logging and Environment LoggerDebugOn bool `env:"LOGGER_DEBUG_ON"` //QUESTION: this is arbitrary so is it useful? Environment string `env:"ENVIRONMENT, default=DEV"` // Server Configs ServerProtocol string `env:"SERVER_PROTOCOL, default=http"` ServerHostname string `env:"SERVER_HOSTNAME, default=localhost"` ServerPort string `env:"SERVER_PORT, default=8080"` TusdHandlerBasePath string `env:"TUSD_HANDLER_BASE_PATH, default=/files/"` TusdHandlerInfoPath string `env:"TUSD_HANDLER_INFO_PATH, default=/info/"` EventMaxRetryCount int `env:"EVENT_MAX_RETRY_COUNT, default=3"` ExternalServerUrl string InternalServerUrl string InternalServerFileEndpointUrl string InternalServerInfoEndpointUrl string ExternalServerFileEndpointUrl string ExternalServerInfoEndpointUrl string Metrics MetricsConfig `env:", prefix=METRICS_"` // TUSD TusUploadPrefix string `env:"TUS_UPLOAD_PREFIX, default=tus-prefix"` // User Interface Configs UIPort string `env:"UI_PORT, default=8081"` UIServerExternalProtocol string `env:"UI_SERVER_EXTERNAL_PROTOCOL, default=http"` UIServerInternalProtocol string `env:"UI_SERVER_INTERNAL_PROTOCOL, default=http"` UIServerExternalHost string `env:"UI_SERVER_EXTERNAL_HOST, default=localhost:8080"` UIServerInternalHost string `env:"UI_SERVER_INTERNAL_HOST, default=localhost:8080"` // CsrfToken string `env:"CSRF_TOKEN, default=1qQBJumxRABFBLvaz5PSXBcXLE84viE42x4Aev359DvLSvzjbXSme3whhFkESatW"` CSRF *CSRFConfig `env:", prefix=CSRF_"` // TUS Upload file lock TusRedisLockURI string `env:"REDIS_CONNECTION_STRING"` // OAuth Configs OauthConfig *OauthConfig `env:", prefix=OAUTH_"` // process status health ProcessingStatusHealthURI string `env:"PROCESSING_STATUS_HEALTH_URI"` // Local File System Configs LocalFolderUploadsTus string `env:"LOCAL_FOLDER_UPLOADS_TUS, default=./uploads"` UploadConfigPath string `env:"UPLOAD_CONFIG_PATH, default=../upload-configs"` // Local File System Report Directory LocalReportsFolder string `env:"LOCAL_REPORTS_FOLDER, default=./uploads/reports"` LocalEventsFolder string `env:"LOCAL_EVENTS_FOLDER, default=./uploads/events"` // Azure Storage Configs AzureConnection *AzureStorageConfig `env:", prefix=AZURE_, noinit"` AzureUploadContainer string `env:"TUS_AZURE_CONTAINER_NAME"` AzureManifestConfigContainer string `env:"DEX_MANIFEST_CONFIG_CONTAINER_NAME"` // Azure Report Queue ReporterConnection *AzureQueueConfig `env:", prefix=REPORTER_, noinit"` // Azure Event Topics // Azure Event Publisher Topic PublisherConnection *AzureQueueConfig `env:", prefix=PUBLISHER_,noinit"` // Azure Event Subscriber Subscription SubscriberConnection *AzureQueueConfig `env:", prefix=SUBSCRIBER_,noinit"` SNSReporterConnection *SNSConfig `env:", prefix=SNS_REPORTER_,noinit"` SNSPublisherConnection *SNSConfig `env:", prefix=SNS_PUBLISHER_,noinit"` SQSSubscriberConnection *SQSConfig `env:", prefix=SQS_SUBSCRIBER_,noinit"` // S3 Storage Configs S3Connection *S3StorageConfig `env:", prefix=S3_, noinit"` S3ManifestConfigBucket string `env:"DEX_MANIFEST_CONFIG_BUCKET_NAME"` S3ManifestConfigFolder string `env:"DEX_S3_MANIFEST_CONFIG_FOLDER_NAME"` DeliveryConfigFile string `env:"DEX_DELIVERY_CONFIG_FILE, default=./configs/local/deliver.yml"` ListenerWorkers int `env:"LISTENER_WORKERS, default=5"` } // .AppConfig
func ParseConfig ¶
ParseConfig loads app configuration based on environment variables and returns AppConfig struct
type AzureContainerConfig ¶
type AzureContainerConfig struct { AzureStorageConfig ContainerName string }
type AzureQueueConfig ¶
type AzureStorageConfig ¶
type AzureStorageConfig struct { StorageName string `env:"STORAGE_ACCOUNT"` StorageKey string `env:"STORAGE_KEY"` TenantId string `env:"TENANT_ID"` ClientId string `env:"CLIENT_ID"` ClientSecret string `env:"CLIENT_SECRET"` ContainerEndpoint string `env:"ENDPOINT"` } // .AzureStorageConfig
func (*AzureStorageConfig) Check ¶
func (azc *AzureStorageConfig) Check() error
func (*AzureStorageConfig) Credentials ¶
func (ac *AzureStorageConfig) Credentials() storeaz.Credentials
type CSRFConfig ¶
type LocalStorageConfig ¶
type MetricsConfig ¶
type MissingConfigError ¶
type MissingConfigError struct {
ConfigName string
}
func (*MissingConfigError) Error ¶
func (e *MissingConfigError) Error() string
type OauthConfig ¶
type OauthConfig struct { AuthEnabled bool `env:"AUTH_ENABLED, default=false"` IntrospectionUrl string `env:"INTROSPECTION_URL"` IssuerUrl string `env:"ISSUER_URL"` RequiredScopes string `env:"REQUIRED_SCOPES"` SessionKey string `env:"SESSION_KEY"` SessionSecure bool `env:"SESSION_SECURE, default=true"` SessionDomain string `env:"SESSION_DOMAIN"` }
type S3StorageConfig ¶
Click to show internal directories.
Click to hide internal directories.