github.com/kubeshop/testkube@v1.17.23/pkg/logs/config/logs_config.go (about) 1 package config 2 3 import ( 4 "time" 5 6 "github.com/kelseyhightower/envconfig" 7 ) 8 9 type Config struct { 10 Debug bool `envconfig:"DEBUG" default:"false"` 11 12 // Debug variables 13 AttachDebugAdapter bool `envconfig:"ATTACH_DEBUG_ADAPTER" default:"false"` 14 TraceMessages bool `envconfig:"TRACE_MESSAGES" default:"false"` 15 16 TestkubeProAPIKey string `envconfig:"TESTKUBE_PRO_API_KEY" default:""` 17 TestkubeProURL string `envconfig:"TESTKUBE_PRO_URL" default:""` 18 TestkubeProTLSInsecure bool `envconfig:"TESTKUBE_PRO_TLS_INSECURE" default:"false"` 19 TestkubeProCertFile string `envconfig:"TESTKUBE_PRO_CERT_FILE" default:""` 20 TestkubeProKeyFile string `envconfig:"TESTKUBE_PRO_KEY_FILE" default:""` 21 TestkubeProCAFile string `envconfig:"TESTKUBE_PRO_CA_FILE" default:""` 22 TestkubeProWorkerCount int `envconfig:"TESTKUBE_PRO_WORKER_COUNT" default:"50"` 23 TestkubeProLogStreamWorkerCount int `envconfig:"TESTKUBE_PRO_LOG_STREAM_WORKER_COUNT" default:"25"` 24 TestkubeProSkipVerify bool `envconfig:"TESTKUBE_PRO_SKIP_VERIFY" default:"false"` 25 26 NatsURI string `envconfig:"NATS_URI" default:"nats://localhost:4222"` 27 NatsSecure bool `envconfig:"NATS_SECURE" default:"false"` 28 NatsSkipVerify bool `envconfig:"NATS_SKIP_VERIFY" default:"false"` 29 NatsCertFile string `envconfig:"NATS_CERT_FILE" default:""` 30 NatsKeyFile string `envconfig:"NATS_KEY_FILE" default:""` 31 NatsCAFile string `envconfig:"NATS_CA_FILE" default:""` 32 NatsConnectTimeout time.Duration `envconfig:"NATS_CONNECT_TIMEOUT" default:"5s"` 33 34 Namespace string `envconfig:"NAMESPACE" default:"testkube"` 35 ExecutionId string `envconfig:"ID" default:""` 36 Source string `envconfig:"Source" default:""` 37 HttpAddress string `envconfig:"HTTP_ADDRESS" default:":8080"` 38 GrpcAddress string `envconfig:"GRPC_ADDRESS" default:":9090"` 39 KVBucketName string `envconfig:"KV_BUCKET_NAME" default:"logsState"` 40 41 GrpcSecure bool `envconfig:"GRPC_SECURE" default:"false"` 42 GrpcClientAuth bool `envconfig:"GRPC_CLIENT_AUTH" default:"false"` 43 GrpcCertFile string `envconfig:"GRPC_CERT_FILE" default:""` 44 GrpcKeyFile string `envconfig:"GRPC_KEY_FILE" default:""` 45 GrpcClientCAFile string `envconfig:"GRPC_CLIENT_CA_FILE" default:""` 46 47 StorageEndpoint string `envconfig:"STORAGE_ENDPOINT" default:"localhost:9000"` 48 StorageBucket string `envconfig:"STORAGE_BUCKET" default:"testkube-logs"` 49 StorageExpiration int `envconfig:"STORAGE_EXPIRATION"` 50 StorageAccessKeyID string `envconfig:"STORAGE_ACCESSKEYID" default:""` 51 StorageSecretAccessKey string `envconfig:"STORAGE_SECRETACCESSKEY" default:""` 52 StorageRegion string `envconfig:"STORAGE_REGION" default:""` 53 StorageToken string `envconfig:"STORAGE_TOKEN" default:""` 54 StorageSSL bool `envconfig:"STORAGE_SSL" default:"false"` 55 StorageSkipVerify bool `envconfig:"STORAGE_SKIP_VERIFY" default:"false"` 56 StorageCertFile string `envconfig:"STORAGE_CERT_FILE" default:""` 57 StorageKeyFile string `envconfig:"STORAGE_KEY_FILE" default:""` 58 StorageCAFile string `envconfig:"STORAGE_CA_FILE" default:""` 59 StorageFilePath string `envconfig:"STORAGE_FILE_PATH" default:"/data"` 60 } 61 62 func Get() (*Config, error) { 63 var config = Config{} 64 err := envconfig.Process("config", &config) 65 66 return &config, err 67 }