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  }