Documentation
¶
Overview ¶
Package config handles application configuration loading and validation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SaveDefaultConfig ¶
SaveDefaultConfig writes a default JSON configuration file to the given path.
Types ¶
type AWSConfig ¶
type AWSConfig struct { Region string `json:"region"` AccessKeyID string `json:"accessKeyId"` SecretAccessKey string `json:"secretAccessKey"` Endpoint string `json:"endpoint,omitempty"` DisableSSL bool `json:"disableSSL,omitempty"` }
AWSConfig contains settings for AWS S3 provider.
type AzureConfig ¶
type AzureConfig struct { AccountName string `json:"accountName"` AccountKey string `json:"accountKey"` EndpointURL string `json:"endpointUrl,omitempty"` }
AzureConfig contains settings for Azure Blob Storage provider.
type BucketMapping ¶
type BucketMapping struct { SourceProviderID string `json:"sourceProviderId"` SourceBucket string `json:"sourceBucket"` TargetProviderID string `json:"targetProviderId"` TargetBucket string `json:"targetBucket"` }
BucketMapping defines a source-to-target bucket mapping for synchronization.
type Config ¶
type Config struct { DatabasePath string `json:"databasePath"` Providers []ProviderConfig `json:"providers"` Mappings []BucketMapping `json:"mappings"` }
Config represents the application configuration including database path, storage providers, and bucket mappings.
func LoadConfig ¶
LoadConfig reads a JSON configuration file from the provided path, fills default values, and validates the resulting Config.
type GCSConfig ¶
type GCSConfig struct {
ProjectID string `json:"projectId"`
}
GCSConfig contains settings for Google Cloud Storage provider.
type MinIOConfig ¶
type MinIOConfig struct { Endpoint string `json:"endpoint"` AccessKey string `json:"accessKey"` SecretKey string `json:"secretKey"` UseSSL bool `json:"useSSL"` Region string `json:"region,omitempty"` }
MinIOConfig contains settings for MinIO (S3-compatible) provider.
type ProviderConfig ¶
type ProviderConfig struct { ID string `json:"id"` Type ProviderType `json:"type"` GCS *GCSConfig `json:"gcs,omitempty"` AWS *AWSConfig `json:"aws,omitempty"` Azure *AzureConfig `json:"azure,omitempty"` MinIO *MinIOConfig `json:"minio,omitempty"` }
ProviderConfig holds configuration for a specific storage provider.
type ProviderType ¶
type ProviderType string
const ( GCS ProviderType = "gcs" AWS ProviderType = "aws" AZURE ProviderType = "azure" MINIO ProviderType = "minio" )