From dcfb10810ec558888f6d36092bc12819d8886bab Mon Sep 17 00:00:00 2001 From: static-moonlight <107991124+static-moonlight@users.noreply.github.com> Date: Thu, 29 Feb 2024 23:48:06 +0100 Subject: [PATCH] Add additional environment variables for configuration properties - New environment variables for all parameters which didn't have any - All new environment variables have the prefix `VGW_` - Already existing environment variables have been left unchanged --- cmd/versitygw/main.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/cmd/versitygw/main.go b/cmd/versitygw/main.go index 7bf6f64a..19b298c7 100644 --- a/cmd/versitygw/main.go +++ b/cmd/versitygw/main.go @@ -123,6 +123,7 @@ func initFlags() []cli.Flag { &cli.StringFlag{ Name: "port", Usage: "gateway listen address : or :", + EnvVars: []string{"VGW_PORT"}, Value: ":7070", Destination: &port, Aliases: []string{"p"}, @@ -144,6 +145,7 @@ func initFlags() []cli.Flag { &cli.StringFlag{ Name: "region", Usage: "s3 region string", + EnvVars: []string{"VGW_REGION"}, Value: "us-east-1", Destination: ®ion, Aliases: []string{"r"}, @@ -151,37 +153,44 @@ func initFlags() []cli.Flag { &cli.StringFlag{ Name: "cert", Usage: "TLS cert file", + EnvVars: []string{"VGW_CERT"}, Destination: &certFile, }, &cli.StringFlag{ Name: "key", Usage: "TLS key file", + EnvVars: []string{"VGW_KEY"}, Destination: &keyFile, }, &cli.StringFlag{ Name: "admin-port", Usage: "gateway admin server listen address : or :", + EnvVars: []string{"VGW_ADMIN_PORT"}, Destination: &admPort, Aliases: []string{"ap"}, }, &cli.StringFlag{ Name: "admin-cert", Usage: "TLS cert file for admin server", + EnvVars: []string{"VGW_ADMIN_CERT"}, Destination: &admCertFile, }, &cli.StringFlag{ Name: "admin-cert-key", Usage: "TLS key file for admin server", + EnvVars: []string{"VGW_ADMIN_CERT_KEY"}, Destination: &admKeyFile, }, &cli.BoolFlag{ Name: "debug", Usage: "enable debug output", + EnvVars: []string{"VGW_DEBUG"}, Destination: &debug, }, &cli.BoolFlag{ Name: "quiet", Usage: "silence stdout request logging output", + EnvVars: []string{"VGW_QUIET"}, Destination: &quiet, Aliases: []string{"q"}, }, @@ -200,128 +209,152 @@ func initFlags() []cli.Flag { &cli.StringFlag{ Name: "event-kafka-url", Usage: "kafka server url to send the bucket notifications.", + EnvVars: []string{"VGW_EVENT_KAFKA_URL"}, Destination: &kafkaURL, Aliases: []string{"eku"}, }, &cli.StringFlag{ Name: "event-kafka-topic", Usage: "kafka server pub-sub topic to send the bucket notifications to", + EnvVars: []string{"VGW_EVENT_KAFKA_TOPIC"}, Destination: &kafkaTopic, Aliases: []string{"ekt"}, }, &cli.StringFlag{ Name: "event-kafka-key", Usage: "kafka server put-sub topic key to send the bucket notifications to", + EnvVars: []string{"VGW_EVENT_KAFKA_KEY"}, Destination: &kafkaKey, Aliases: []string{"ekk"}, }, &cli.StringFlag{ Name: "event-nats-url", Usage: "nats server url to send the bucket notifications", + EnvVars: []string{"VGW_EVENT_NATS_URL"}, Destination: &natsURL, Aliases: []string{"enu"}, }, &cli.StringFlag{ Name: "event-nats-topic", Usage: "nats server pub-sub topic to send the bucket notifications to", + EnvVars: []string{"VGW_EVENT_NATS_TOPIC"}, Destination: &natsTopic, Aliases: []string{"ent"}, }, &cli.StringFlag{ Name: "iam-dir", Usage: "if defined, run internal iam service within this directory", + EnvVars: []string{"VGW_IAM_DIR"}, Destination: &iamDir, }, &cli.StringFlag{ Name: "iam-ldap-url", Usage: "ldap server url to store iam data", + EnvVars: []string{"VGW_IAM_LDAP_URL"}, Destination: &ldapURL, }, &cli.StringFlag{ Name: "iam-ldap-bind-dn", Usage: "ldap server binding dn, example: 'cn=admin,dc=example,dc=com'", + EnvVars: []string{"VGW_IAM_LDAP_BIND_DN"}, Destination: &ldapBindDN, }, &cli.StringFlag{ Name: "iam-ldap-bind-pass", Usage: "ldap server user password", + EnvVars: []string{"VGW_IAM_LDAP_BIND_PASS"}, Destination: &ldapPassword, }, &cli.StringFlag{ Name: "iam-ldap-query-base", Usage: "ldap server destination query, example: 'ou=iam,dc=example,dc=com'", + EnvVars: []string{"VGW_IAM_LDAP_QUERY_BASE"}, Destination: &ldapQueryBase, }, &cli.StringFlag{ Name: "iam-ldap-object-classes", Usage: "ldap server object classes used to store the data. provide it as comma separated string, example: 'top,person'", + EnvVars: []string{"VGW_IAM_LDAP_OBJECT_CLASSES"}, Destination: &ldapObjClasses, }, &cli.StringFlag{ Name: "iam-ldap-access-atr", Usage: "ldap server user access key id attribute name", + EnvVars: []string{"VGW_IAM_LDAP_ACCESS_ATR"}, Destination: &ldapAccessAtr, }, &cli.StringFlag{ Name: "iam-ldap-secret-atr", Usage: "ldap server user secret access key attribute name", + EnvVars: []string{"VGW_IAM_LDAP_SECRET_ATR"}, Destination: &ldapSecAtr, }, &cli.StringFlag{ Name: "iam-ldap-role-atr", Usage: "ldap server user role attribute name", + EnvVars: []string{"VGW_IAM_LDAP_ROLE_ATR"}, Destination: &ldapRoleAtr, }, &cli.StringFlag{ Name: "s3-iam-access", Usage: "s3 IAM access key", + EnvVars: []string{"VGW_S3_IAM_ACCESS_KEY"}, Destination: &s3IamAccess, }, &cli.StringFlag{ Name: "s3-iam-secret", Usage: "s3 IAM secret key", + EnvVars: []string{"VGW_S3_IAM_SECRET_KEY"}, Destination: &s3IamSecret, }, &cli.StringFlag{ Name: "s3-iam-region", Usage: "s3 IAM region", + EnvVars: []string{"VGW_S3_IAM_REGION"}, Destination: &s3IamRegion, Value: "us-east-1", }, &cli.StringFlag{ Name: "s3-iam-bucket", Usage: "s3 IAM bucket", + EnvVars: []string{"VGW_S3_IAM_BUCKET"}, Destination: &s3IamBucket, }, &cli.StringFlag{ Name: "s3-iam-endpoint", Usage: "s3 IAM endpoint", + EnvVars: []string{"VGW_S3_IAM_ENDPOINT"}, Destination: &s3IamEndpoint, }, &cli.BoolFlag{ Name: "s3-iam-noverify", Usage: "s3 IAM disable ssl verification", + EnvVars: []string{"VGW_S3_IAM_NO_VERIFY"}, Destination: &s3IamSslNoVerify, }, &cli.BoolFlag{ Name: "s3-iam-debug", Usage: "s3 IAM debug output", + EnvVars: []string{"VGW_S3_IAM_DEBUG"}, Destination: &s3IamDebug, }, &cli.BoolFlag{ Name: "iam-cache-disable", Usage: "disable local iam cache", + EnvVars: []string{"VGW_IAM_CACHE_DISABLE"}, Destination: &iamCacheDisable, }, &cli.IntFlag{ Name: "iam-cache-ttl", Usage: "local iam cache entry ttl (seconds)", + EnvVars: []string{"VGW_IAM_CACHE_TTL"}, Value: 120, Destination: &iamCacheTTL, }, &cli.IntFlag{ Name: "iam-cache-prune", Usage: "local iam cache cleanup interval (seconds)", + EnvVars: []string{"VGW_IAM_CACHE_PRUNE"}, Value: 3600, Destination: &iamCachePrune, }, @@ -329,6 +362,7 @@ func initFlags() []cli.Flag { Name: "health", Usage: `health check endpoint path. Health endpoint will be configured on GET http method: GET NOTICE: the path has to be specified with '/'. e.g /health`, + EnvVars: []string{"VGW_HEALTH"}, Destination: &healthPath, }, }