Documentation
¶
Index ¶
- func ListenerEndpoint(ch *ChannelConfig) (port int, path string)
- func ValidateListenerEndpoints(channels []*ChannelConfig) []string
- type ACKConfig
- type AWSSecretsManagerConfig
- type AccessControlConfig
- type AlertConfig
- type AlertRefConfig
- type AlertTrigger
- type AttachmentsConfig
- type AuditConfig
- type AuthConfig
- type AutoResponseConfig
- type BatchConfig
- type ChannelAssignConfig
- type ChannelConfig
- type ChannelDestMapConfig
- type ChannelDestRef
- type ChannelDestination
- type ChannelListener
- type ChannelLogging
- type ChannelPruningConfig
- type ChannelStorageConfig
- type CloudWatchLogConfig
- type ClusterConfig
- type CodeTemplateLibraryConfig
- type Config
- type CoordinationConfig
- type DBDestConfig
- type DBDestMapConfig
- type DBListener
- type DICOMDestConfig
- type DICOMDestMapConfig
- type DICOMListener
- type DLQRefConfig
- type DashboardAuthConfig
- type DashboardConfig
- type DataTypesConfig
- type DatadogLogConfig
- type DeadLetterConfig
- type DeduplicationConfig
- type Destination
- type DirectDestConfig
- type DirectDestMapConfig
- type ElasticsearchLogConfig
- type EmailListener
- type EncryptionConfig
- type ErrorHandlingConfig
- type FHIRDestConfig
- type FHIRDestMapConfig
- type FHIRListener
- type FTPConfig
- type FileDestConfig
- type FileDestMapConfig
- type FileListener
- type FileLogConfig
- type GCPSecretManagerConfig
- type GlobalConfig
- type GlobalHooks
- type HTTPAuthConfig
- type HTTPDestConfig
- type HTTPListener
- type HealthConfig
- type IHEListener
- type JMSDestConfig
- type JMSDestMapConfig
- type KafkaConfig
- type KafkaDestConfig
- type KafkaListener
- type LDAPConfig
- type LifecycleConfig
- type ListenerConfig
- type Loader
- type LogTransportConfig
- type LoggingConfig
- type MessageStorageConfig
- type OIDCConfig
- type OTelConfig
- type ObservabilityConfig
- type PayloadLogging
- type PerformanceConfig
- type PipelineConfig
- type PrometheusConfig
- type PruningConfig
- type QueueConfig
- type RedisConfig
- type ResponseConfig
- type RetryConfig
- type RetryMapConfig
- type RoleConfig
- type RuntimeConfig
- type S3Config
- type SFTPDestMapConfig
- type SFTPListener
- type SMBConfig
- type SMTPDestConfig
- type SMTPDestMapConfig
- type SOAPListener
- type ScriptRef
- type SecretsConfig
- type StorageConfig
- type StoragePostgresConfig
- type StorageRetentionConfig
- type StorageS3Config
- type SumoLogicLogConfig
- type TCPDestConfig
- type TCPDestMapConfig
- type TCPListener
- type TLSConfig
- type TLSMapConfig
- type TenancyConfig
- type TracingConfig
- type VaultAuthConfig
- type VaultConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListenerEndpoint ¶
func ListenerEndpoint(ch *ChannelConfig) (port int, path string)
ListenerEndpoint extracts the port and path from a channel's listener config. Returns port=0 for non-HTTP listener types (tcp, file, etc.) which are skipped during duplicate detection.
func ValidateListenerEndpoints ¶
func ValidateListenerEndpoints(channels []*ChannelConfig) []string
ValidateListenerEndpoints checks that no two enabled channels share the same port+path combination. Returns a list of human-readable error strings (empty if no duplicates).
Types ¶
type AWSSecretsManagerConfig ¶
type AccessControlConfig ¶
type AccessControlConfig struct {
Enabled bool `mapstructure:"enabled"`
Provider string `mapstructure:"provider"`
LDAP *LDAPConfig `mapstructure:"ldap"`
OIDC *OIDCConfig `mapstructure:"oidc"`
}
type AlertConfig ¶
type AlertConfig struct {
Name string `mapstructure:"name"`
Trigger AlertTrigger `mapstructure:"trigger"`
Destinations []string `mapstructure:"destinations"`
}
type AlertRefConfig ¶
type AlertRefConfig struct {
Destination string `yaml:"destination,omitempty"`
}
type AlertTrigger ¶
type AttachmentsConfig ¶
type AttachmentsConfig struct {
Enabled bool `yaml:"enabled,omitempty"`
Store string `yaml:"store,omitempty"`
MaxSizeMB int `yaml:"max_size_mb,omitempty"`
InlineThresholdKB int `yaml:"inline_threshold_kb,omitempty"`
Directory string `yaml:"directory,omitempty"`
Bucket string `yaml:"bucket,omitempty"`
Region string `yaml:"region,omitempty"`
}
type AuditConfig ¶
type AuthConfig ¶
type AuthConfig struct {
Type string `yaml:"type"`
Username string `yaml:"username,omitempty"`
Password string `yaml:"password,omitempty"`
Token string `yaml:"token,omitempty"`
Key string `yaml:"key,omitempty"`
Header string `yaml:"header,omitempty"`
QueryParam string `yaml:"query_param,omitempty"`
TokenURL string `yaml:"token_url,omitempty"`
AuthURL string `yaml:"auth_url,omitempty"`
ClientID string `yaml:"client_id,omitempty"`
ClientSecret string `yaml:"client_secret,omitempty"`
Scopes []string `yaml:"scopes,omitempty"`
RedirectURI string `yaml:"redirect_uri,omitempty"`
CAFile string `yaml:"ca_file,omitempty"`
ClientCertFile string `yaml:"client_cert_file,omitempty"`
ClientKeyFile string `yaml:"client_key_file,omitempty"`
PrivateKeyFile string `yaml:"private_key_file,omitempty"`
Passphrase string `yaml:"passphrase,omitempty"`
Mechanism string `yaml:"mechanism,omitempty"`
Handler string `yaml:"handler,omitempty"`
AccessKeyID string `yaml:"access_key_id,omitempty"`
SecretAccessKey string `yaml:"secret_access_key,omitempty"`
Domain string `yaml:"domain,omitempty"`
}
type AutoResponseConfig ¶
type BatchConfig ¶
type BatchConfig struct {
Enabled bool `yaml:"enabled,omitempty"`
Type string `yaml:"type,omitempty"`
SplitOn string `yaml:"split_on,omitempty"`
CustomSplitter string `yaml:"custom_splitter,omitempty"`
MaxBatchSize int `yaml:"max_batch_size,omitempty"`
BatchTimeoutMs int `yaml:"batch_timeout_ms,omitempty"`
}
type ChannelAssignConfig ¶
type ChannelConfig ¶
type ChannelConfig struct {
ID string `yaml:"id"`
Enabled bool `yaml:"enabled"`
Tags []string `yaml:"tags,omitempty"`
Group string `yaml:"group,omitempty"`
Priority string `yaml:"priority,omitempty"`
DataTypes *DataTypesConfig `yaml:"data_types,omitempty"`
Listener ListenerConfig `yaml:"listener"`
Pipeline *PipelineConfig `yaml:"pipeline,omitempty"`
Validator *ScriptRef `yaml:"validator,omitempty"`
Transformer *ScriptRef `yaml:"transformer,omitempty"`
Destinations []ChannelDestination `yaml:"destinations,omitempty"`
Logging *ChannelLogging `yaml:"logging,omitempty"`
ErrorHandling *ErrorHandlingConfig `yaml:"error_handling,omitempty"`
Lifecycle *LifecycleConfig `yaml:"lifecycle,omitempty"`
MessageStorage *ChannelStorageConfig `yaml:"message_storage,omitempty"`
Batch *BatchConfig `yaml:"batch,omitempty"`
Attachments *AttachmentsConfig `yaml:"attachments,omitempty"`
Tracing *TracingConfig `yaml:"tracing,omitempty"`
Performance *PerformanceConfig `yaml:"performance,omitempty"`
Pruning *ChannelPruningConfig `yaml:"pruning,omitempty"`
DependsOn []string `yaml:"depends_on,omitempty"`
StartupOrder int `yaml:"startup_order,omitempty"`
CodeTemplates []string `yaml:"code_templates,omitempty"`
AutoResponse *AutoResponseConfig `yaml:"auto_response,omitempty"`
}
func LoadChannelConfig ¶
func LoadChannelConfig(channelDir string) (*ChannelConfig, error)
type ChannelDestMapConfig ¶
type ChannelDestMapConfig struct {
TargetChannelID string `mapstructure:"target_channel_id"`
}
type ChannelDestRef ¶
type ChannelDestRef struct {
TargetChannelID string `yaml:"target_channel_id"`
}
type ChannelDestination ¶
type ChannelDestination struct {
Name string `yaml:"name,omitempty"`
Ref string `yaml:"ref,omitempty"`
Type string `yaml:"type,omitempty"`
HTTP *HTTPDestConfig `yaml:"http,omitempty"`
Kafka *KafkaDestConfig `yaml:"kafka,omitempty"`
TCP *TCPDestConfig `yaml:"tcp,omitempty"`
File *FileDestConfig `yaml:"file,omitempty"`
Database *DBDestConfig `yaml:"database,omitempty"`
SMTP *SMTPDestConfig `yaml:"smtp,omitempty"`
ChannelDest *ChannelDestRef `yaml:"channel,omitempty"`
DICOM *DICOMDestConfig `yaml:"dicom,omitempty"`
JMS *JMSDestConfig `yaml:"jms,omitempty"`
FHIR *FHIRDestConfig `yaml:"fhir,omitempty"`
Direct *DirectDestConfig `yaml:"direct,omitempty"`
Filter string `yaml:"filter,omitempty"`
TransformerFile string `yaml:"transformer,omitempty"`
ResponseTransformer string `yaml:"response_transformer,omitempty"`
Queue *QueueConfig `yaml:"queue,omitempty"`
Retry *RetryConfig `yaml:"retry,omitempty"`
}
func (*ChannelDestination) UnmarshalYAML ¶
func (cd *ChannelDestination) UnmarshalYAML(value *yaml.Node) error
type ChannelListener ¶
type ChannelListener struct {
SourceChannelID string `yaml:"source_channel_id"`
}
type ChannelLogging ¶
type ChannelLogging struct {
Level string `yaml:"level,omitempty"`
Payloads *PayloadLogging `yaml:"payloads,omitempty"`
TruncateAt int `yaml:"truncate_at,omitempty"`
}
type ChannelPruningConfig ¶
type ChannelStorageConfig ¶
type CloudWatchLogConfig ¶
type ClusterConfig ¶
type ClusterConfig struct {
Enabled bool `mapstructure:"enabled"`
Mode string `mapstructure:"mode"`
Coordination *CoordinationConfig `mapstructure:"coordination"`
InstanceID string `mapstructure:"instance_id"`
HeartbeatInterval string `mapstructure:"heartbeat_interval"`
ChannelAssignment *ChannelAssignConfig `mapstructure:"channel_assignment"`
Deduplication *DeduplicationConfig `mapstructure:"deduplication"`
}
type Config ¶
type Config struct {
Runtime RuntimeConfig `mapstructure:"runtime"`
ChannelsDir string `mapstructure:"channels_dir"`
Destinations map[string]Destination `mapstructure:"destinations"`
Kafka KafkaConfig `mapstructure:"kafka"`
Secrets *SecretsConfig `mapstructure:"secrets"`
DeadLetter *DeadLetterConfig `mapstructure:"dead_letter"`
MessageStorage *MessageStorageConfig `mapstructure:"message_storage"`
Pruning *PruningConfig `mapstructure:"pruning"`
Observability *ObservabilityConfig `mapstructure:"observability"`
Logging *LoggingConfig `mapstructure:"logging"`
Alerts []AlertConfig `mapstructure:"alerts"`
AccessControl *AccessControlConfig `mapstructure:"access_control"`
Roles []RoleConfig `mapstructure:"roles"`
Audit *AuditConfig `mapstructure:"audit"`
Cluster *ClusterConfig `mapstructure:"cluster"`
Global *GlobalConfig `mapstructure:"global"`
Tenancy *TenancyConfig `mapstructure:"tenancy"`
Dashboard *DashboardConfig `mapstructure:"dashboard"`
CodeTemplates []CodeTemplateLibraryConfig `mapstructure:"code_templates"`
}
type CoordinationConfig ¶
type CoordinationConfig struct {
Type string `mapstructure:"type"`
Redis *RedisConfig `mapstructure:"redis"`
}
type DBDestConfig ¶
type DBDestMapConfig ¶
type DBListener ¶
type DICOMDestConfig ¶
type DICOMDestMapConfig ¶
type DICOMListener ¶
type DLQRefConfig ¶
type DLQRefConfig struct {
Destination string `yaml:"destination,omitempty"`
}
type DashboardAuthConfig ¶
type DashboardConfig ¶
type DashboardConfig struct {
Enabled bool `mapstructure:"enabled"`
Port int `mapstructure:"port"`
Auth *DashboardAuthConfig `mapstructure:"auth"`
}
type DataTypesConfig ¶
type DatadogLogConfig ¶
type DeadLetterConfig ¶
type DeduplicationConfig ¶
type Destination ¶
type Destination struct {
Type string `mapstructure:"type"`
Kafka *KafkaDestConfig `mapstructure:"kafka"`
HTTP *HTTPDestConfig `mapstructure:"http"`
TCP *TCPDestMapConfig `mapstructure:"tcp"`
File *FileDestMapConfig `mapstructure:"file"`
SFTP *SFTPDestMapConfig `mapstructure:"sftp"`
Database *DBDestMapConfig `mapstructure:"database"`
SMTP *SMTPDestMapConfig `mapstructure:"smtp"`
Channel *ChannelDestMapConfig `mapstructure:"channel"`
DICOM *DICOMDestMapConfig `mapstructure:"dicom"`
JMS *JMSDestMapConfig `mapstructure:"jms"`
FHIR *FHIRDestMapConfig `mapstructure:"fhir"`
Direct *DirectDestMapConfig `mapstructure:"direct"`
Retry *RetryMapConfig `mapstructure:"retry"`
}
type DirectDestConfig ¶
type DirectDestConfig struct {
To string `yaml:"to,omitempty"`
From string `yaml:"from,omitempty"`
SMTP *SMTPDestConfig `yaml:"smtp,omitempty"`
Certificate string `yaml:"certificate,omitempty"`
}
type DirectDestMapConfig ¶
type ElasticsearchLogConfig ¶
type EmailListener ¶
type EmailListener struct {
Protocol string `yaml:"protocol,omitempty"`
Host string `yaml:"host"`
Port int `yaml:"port,omitempty"`
PollInterval string `yaml:"poll_interval,omitempty"`
TLS *TLSConfig `yaml:"tls,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
Folder string `yaml:"folder,omitempty"`
Filter string `yaml:"filter,omitempty"`
ReadAttachments bool `yaml:"read_attachments,omitempty"`
DeleteAfterRead bool `yaml:"delete_after_read,omitempty"`
}
type EncryptionConfig ¶
type ErrorHandlingConfig ¶
type ErrorHandlingConfig struct {
OnError string `yaml:"on_error,omitempty"`
DLQ *DLQRefConfig `yaml:"dlq,omitempty"`
Alert *AlertRefConfig `yaml:"alert,omitempty"`
}
type FHIRDestConfig ¶
type FHIRDestConfig struct {
BaseURL string `yaml:"base_url,omitempty"`
Version string `yaml:"version,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
Operations []string `yaml:"operations,omitempty"`
Retry *RetryConfig `yaml:"retry,omitempty"`
}
type FHIRDestMapConfig ¶
type FHIRDestMapConfig struct {
BaseURL string `mapstructure:"base_url"`
Version string `mapstructure:"version"`
Operations []string `mapstructure:"operations"`
Auth *HTTPAuthConfig `mapstructure:"auth"`
TLS *TLSMapConfig `mapstructure:"tls"`
TimeoutMs int `mapstructure:"timeout_ms"`
}
type FHIRListener ¶
type FHIRListener struct {
Port int `yaml:"port"`
BasePath string `yaml:"base_path,omitempty"`
Version string `yaml:"version,omitempty"`
Resources []string `yaml:"resources,omitempty"`
SubscriptionType string `yaml:"subscription_type,omitempty"`
TLS *TLSConfig `yaml:"tls,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type FTPConfig ¶
type FTPConfig struct {
Host string `yaml:"host"`
Port int `yaml:"port,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type FileDestConfig ¶
type FileDestConfig struct {
Scheme string `yaml:"scheme,omitempty"`
Directory string `yaml:"directory,omitempty"`
FilenamePattern string `yaml:"filename_pattern,omitempty"`
SFTP *SFTPListener `yaml:"sftp,omitempty"`
}
type FileDestMapConfig ¶
type FileListener ¶
type FileListener struct {
Scheme string `yaml:"scheme,omitempty"`
Directory string `yaml:"directory,omitempty"`
FilePattern string `yaml:"file_pattern,omitempty"`
PollInterval string `yaml:"poll_interval,omitempty"`
MoveTo string `yaml:"move_to,omitempty"`
ErrorDir string `yaml:"error_dir,omitempty"`
SortBy string `yaml:"sort_by,omitempty"`
FTP *FTPConfig `yaml:"ftp,omitempty"`
S3 *S3Config `yaml:"s3,omitempty"`
SMB *SMBConfig `yaml:"smb,omitempty"`
}
type FileLogConfig ¶
type GCPSecretManagerConfig ¶
type GlobalConfig ¶
type GlobalConfig struct {
Hooks *GlobalHooks `mapstructure:"hooks"`
}
type GlobalHooks ¶
type HTTPAuthConfig ¶
type HTTPAuthConfig struct {
Type string `mapstructure:"type"`
Token string `mapstructure:"token"`
Username string `mapstructure:"username"`
Password string `mapstructure:"password"`
Key string `mapstructure:"key"`
Header string `mapstructure:"header"`
QueryParam string `mapstructure:"query_param"`
TokenURL string `mapstructure:"token_url"`
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
Scopes []string `mapstructure:"scopes"`
PrivateKeyFile string `mapstructure:"private_key_file"`
Passphrase string `mapstructure:"passphrase"`
}
type HTTPDestConfig ¶
type HTTPDestConfig struct {
URL string `mapstructure:"url"`
Method string `mapstructure:"method"`
Headers map[string]string `mapstructure:"headers"`
TimeoutMs int `mapstructure:"timeout_ms"`
Auth *HTTPAuthConfig `mapstructure:"auth"`
TLS *TLSMapConfig `mapstructure:"tls"`
}
type HTTPListener ¶
type HTTPListener struct {
Port int `yaml:"port"`
Path string `yaml:"path,omitempty"`
Methods []string `yaml:"methods,omitempty"`
TLS *TLSConfig `yaml:"tls,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type HealthConfig ¶
type IHEListener ¶
type IHEListener struct {
Profile string `yaml:"profile"`
Port int `yaml:"port"`
TLS *TLSConfig `yaml:"tls,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type JMSDestConfig ¶
type JMSDestConfig struct {
Provider string `yaml:"provider,omitempty"`
URL string `yaml:"url,omitempty"`
Queue string `yaml:"queue,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type JMSDestMapConfig ¶
type JMSDestMapConfig struct {
Provider string `mapstructure:"provider"`
URL string `mapstructure:"url"`
Queue string `mapstructure:"queue"`
Auth *HTTPAuthConfig `mapstructure:"auth"`
TimeoutMs int `mapstructure:"timeout_ms"`
}
type KafkaConfig ¶
type KafkaDestConfig ¶
type KafkaDestConfig struct {
Brokers []string `mapstructure:"brokers"`
Topic string `mapstructure:"topic"`
ClientID string `mapstructure:"client_id"`
Auth *HTTPAuthConfig `mapstructure:"auth"`
TLS *TLSMapConfig `mapstructure:"tls"`
}
type KafkaListener ¶
type LDAPConfig ¶
type LifecycleConfig ¶
type ListenerConfig ¶
type ListenerConfig struct {
Type string `yaml:"type"`
HTTP *HTTPListener `yaml:"http,omitempty"`
TCP *TCPListener `yaml:"tcp,omitempty"`
SFTP *SFTPListener `yaml:"sftp,omitempty"`
File *FileListener `yaml:"file,omitempty"`
Database *DBListener `yaml:"database,omitempty"`
Kafka *KafkaListener `yaml:"kafka,omitempty"`
Channel *ChannelListener `yaml:"channel,omitempty"`
Email *EmailListener `yaml:"email,omitempty"`
DICOM *DICOMListener `yaml:"dicom,omitempty"`
SOAP *SOAPListener `yaml:"soap,omitempty"`
FHIR *FHIRListener `yaml:"fhir,omitempty"`
IHE *IHEListener `yaml:"ihe,omitempty"`
}
type LogTransportConfig ¶
type LogTransportConfig struct {
Type string `mapstructure:"type"`
CloudWatch *CloudWatchLogConfig `mapstructure:"cloudwatch"`
Datadog *DatadogLogConfig `mapstructure:"datadog"`
SumoLogic *SumoLogicLogConfig `mapstructure:"sumologic"`
Elasticsearch *ElasticsearchLogConfig `mapstructure:"elasticsearch"`
File *FileLogConfig `mapstructure:"file"`
}
type LoggingConfig ¶
type LoggingConfig struct {
Transports []LogTransportConfig `mapstructure:"transports"`
}
type MessageStorageConfig ¶
type MessageStorageConfig struct {
Driver string `mapstructure:"driver"`
Mode string `mapstructure:"mode"`
Stages []string `mapstructure:"stages"`
Postgres *StoragePostgresConfig `mapstructure:"postgres"`
S3 *StorageS3Config `mapstructure:"s3"`
Retention *StorageRetentionConfig `mapstructure:"retention"`
}
type OIDCConfig ¶
type OTelConfig ¶
type OTelConfig struct {
Enabled bool `mapstructure:"enabled"`
Endpoint string `mapstructure:"endpoint"`
Protocol string `mapstructure:"protocol"`
Traces bool `mapstructure:"traces"`
Metrics bool `mapstructure:"metrics"`
ServiceName string `mapstructure:"service_name"`
ResourceAttributes map[string]string `mapstructure:"resource_attributes"`
}
type ObservabilityConfig ¶
type ObservabilityConfig struct {
OpenTelemetry *OTelConfig `mapstructure:"opentelemetry"`
Prometheus *PrometheusConfig `mapstructure:"prometheus"`
}
type PayloadLogging ¶
type PerformanceConfig ¶
type PipelineConfig ¶
type PrometheusConfig ¶
type PruningConfig ¶
type QueueConfig ¶
type RedisConfig ¶
type RedisConfig struct {
Address string `mapstructure:"address"`
Password string `mapstructure:"password"`
DB int `mapstructure:"db"`
PoolSize int `mapstructure:"pool_size"`
MinIdleConns int `mapstructure:"min_idle_conns"`
TLS *TLSMapConfig `mapstructure:"tls"`
KeyPrefix string `mapstructure:"key_prefix"`
}
type ResponseConfig ¶
type RetryConfig ¶
type RetryConfig struct {
MaxAttempts int `yaml:"max_attempts,omitempty"`
Backoff string `yaml:"backoff,omitempty"`
InitialDelayMs int `yaml:"initial_delay_ms,omitempty"`
MaxDelayMs int `yaml:"max_delay_ms,omitempty"`
Jitter bool `yaml:"jitter,omitempty"`
RetryOn []string `yaml:"retry_on,omitempty"`
NoRetryOn []string `yaml:"no_retry_on,omitempty"`
}
type RetryMapConfig ¶
type RetryMapConfig struct {
MaxAttempts int `mapstructure:"max_attempts"`
Backoff string `mapstructure:"backoff"`
InitialDelayMs int `mapstructure:"initial_delay_ms"`
MaxDelayMs int `mapstructure:"max_delay_ms"`
Jitter bool `mapstructure:"jitter"`
RetryOn []string `mapstructure:"retry_on"`
NoRetryOn []string `mapstructure:"no_retry_on"`
}
type RoleConfig ¶
type RuntimeConfig ¶
type RuntimeConfig struct {
Name string `mapstructure:"name"`
Profile string `mapstructure:"profile"`
LogLevel string `mapstructure:"log_level"`
Mode string `mapstructure:"mode"`
Storage StorageConfig `mapstructure:"storage"`
Encryption *EncryptionConfig `mapstructure:"encryption"`
Health *HealthConfig `mapstructure:"health"`
JSRuntime string `mapstructure:"js_runtime"`
WorkerPool int `mapstructure:"worker_pool"`
}
type S3Config ¶
type S3Config struct {
Bucket string `yaml:"bucket"`
Region string `yaml:"region,omitempty"`
Prefix string `yaml:"prefix,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type SFTPDestMapConfig ¶
type SFTPDestMapConfig struct {
Host string `mapstructure:"host"`
Port int `mapstructure:"port"`
Directory string `mapstructure:"directory"`
FilenamePattern string `mapstructure:"filename_pattern"`
Auth *HTTPAuthConfig `mapstructure:"auth"`
}
type SFTPListener ¶
type SFTPListener struct {
Host string `yaml:"host"`
Port int `yaml:"port,omitempty"`
PollInterval string `yaml:"poll_interval,omitempty"`
Directory string `yaml:"directory,omitempty"`
FilePattern string `yaml:"file_pattern,omitempty"`
MoveTo string `yaml:"move_to,omitempty"`
ErrorDir string `yaml:"error_dir,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
SortBy string `yaml:"sort_by,omitempty"`
}
type SMBConfig ¶
type SMBConfig struct {
Host string `yaml:"host"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type SMTPDestConfig ¶
type SMTPDestMapConfig ¶
type SMTPDestMapConfig struct {
Host string `mapstructure:"host"`
Port int `mapstructure:"port"`
From string `mapstructure:"from"`
To []string `mapstructure:"to"`
Subject string `mapstructure:"subject"`
Auth *HTTPAuthConfig `mapstructure:"auth"`
TLS *TLSMapConfig `mapstructure:"tls"`
}
type SOAPListener ¶
type SOAPListener struct {
Port int `yaml:"port"`
WSDLPath string `yaml:"wsdl_path,omitempty"`
ServiceName string `yaml:"service_name,omitempty"`
TLS *TLSConfig `yaml:"tls,omitempty"`
Auth *AuthConfig `yaml:"auth,omitempty"`
}
type SecretsConfig ¶
type SecretsConfig struct {
Provider string `mapstructure:"provider"`
Vault *VaultConfig `mapstructure:"vault"`
AWS *AWSSecretsManagerConfig `mapstructure:"aws"`
GCP *GCPSecretManagerConfig `mapstructure:"gcp"`
}
type StorageConfig ¶
type StoragePostgresConfig ¶
type StorageRetentionConfig ¶
type StorageS3Config ¶
type SumoLogicLogConfig ¶
type TCPDestConfig ¶
type TCPDestMapConfig ¶
type TCPListener ¶
type TCPListener struct {
Port int `yaml:"port"`
Mode string `yaml:"mode,omitempty"`
MaxConnections int `yaml:"max_connections,omitempty"`
TimeoutMs int `yaml:"timeout_ms,omitempty"`
TLS *TLSConfig `yaml:"tls,omitempty"`
ACK *ACKConfig `yaml:"ack,omitempty"`
Response *ResponseConfig `yaml:"response,omitempty"`
}
type TLSConfig ¶
type TLSConfig struct {
Enabled bool `yaml:"enabled,omitempty"`
CertFile string `yaml:"cert_file,omitempty"`
KeyFile string `yaml:"key_file,omitempty"`
CAFile string `yaml:"ca_file,omitempty"`
ClientCertFile string `yaml:"client_cert_file,omitempty"`
ClientKeyFile string `yaml:"client_key_file,omitempty"`
MinVersion string `yaml:"min_version,omitempty"`
ClientAuth string `yaml:"client_auth,omitempty"`
InsecureSkipVerify bool `yaml:"insecure_skip_verify,omitempty"`
}
type TLSMapConfig ¶
type TLSMapConfig struct {
Enabled bool `mapstructure:"enabled"`
CertFile string `mapstructure:"cert_file"`
KeyFile string `mapstructure:"key_file"`
CAFile string `mapstructure:"ca_file"`
ClientCertFile string `mapstructure:"client_cert_file"`
ClientKeyFile string `mapstructure:"client_key_file"`
MinVersion string `mapstructure:"min_version"`
InsecureSkipVerify bool `mapstructure:"insecure_skip_verify"`
}
type TenancyConfig ¶
type TracingConfig ¶
type VaultAuthConfig ¶
type VaultConfig ¶
type VaultConfig struct {
Address string `mapstructure:"address"`
Path string `mapstructure:"path"`
Auth *VaultAuthConfig `mapstructure:"auth"`
}
Click to show internal directories.
Click to hide internal directories.