Skip to content

Commit f5e6bf0

Browse files
authored
add registerwithprefix function for thanos objstore configs (#2566)
Signed-off-by: Jacob Lisi <[email protected]>
1 parent 145685b commit f5e6bf0

File tree

4 files changed

+34
-14
lines changed

4 files changed

+34
-14
lines changed

pkg/storage/backend/azure/config.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,14 @@ type Config struct {
1717

1818
// RegisterFlags registers the flags for TSDB Azure storage
1919
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
20-
f.StringVar(&cfg.StorageAccountName, "experimental.tsdb.azure.account-name", "", "Azure storage account name")
21-
f.Var(&cfg.StorageAccountKey, "experimental.tsdb.azure.account-key", "Azure storage account key")
22-
f.StringVar(&cfg.ContainerName, "experimental.tsdb.azure.container-name", "", "Azure storage container name")
23-
f.StringVar(&cfg.Endpoint, "experimental.tsdb.azure.endpoint-suffix", "", "Azure storage endpoint suffix without schema. The account name will be prefixed to this value to create the FQDN")
24-
f.IntVar(&cfg.MaxRetries, "experimental.tsdb.azure.max-retries", 20, "Number of retries for recoverable errors")
20+
cfg.RegisterFlagsWithPrefix("experimental.tsdb.", f)
21+
}
22+
23+
// RegisterFlagsWithPrefix registers the flags for TSDB Azure storage
24+
func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet) {
25+
f.StringVar(&cfg.StorageAccountName, prefix+"azure.account-name", "", "Azure storage account name")
26+
f.Var(&cfg.StorageAccountKey, prefix+"azure.account-key", "Azure storage account key")
27+
f.StringVar(&cfg.ContainerName, prefix+"azure.container-name", "", "Azure storage container name")
28+
f.StringVar(&cfg.Endpoint, prefix+"azure.endpoint-suffix", "", "Azure storage endpoint suffix without schema. The account name will be prefixed to this value to create the FQDN")
29+
f.IntVar(&cfg.MaxRetries, prefix+"azure.max-retries", 20, "Number of retries for recoverable errors")
2530
}

pkg/storage/backend/filesystem/config.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,10 @@ type Config struct {
99

1010
// RegisterFlags registers the flags for TSDB filesystem storage
1111
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
12-
f.StringVar(&cfg.Directory, "experimental.tsdb.filesystem.dir", "", "Local filesystem storage directory.")
12+
cfg.RegisterFlagsWithPrefix("experimental.tsdb.", f)
13+
}
14+
15+
// RegisterFlagsWithPrefix registers the flags for TSDB filesystem storage with the provided prefix
16+
func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet) {
17+
f.StringVar(&cfg.Directory, prefix+"filesystem.dir", "", "Local filesystem storage directory.")
1318
}

pkg/storage/backend/gcs/config.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ type Config struct {
1414

1515
// RegisterFlags registers the flags for TSDB GCS storage
1616
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
17-
f.StringVar(&cfg.BucketName, "experimental.tsdb.gcs.bucket-name", "", "GCS bucket name")
18-
f.Var(&cfg.ServiceAccount, "experimental.tsdb.gcs.service-account", "JSON representing either a Google Developers Console client_credentials.json file or a Google Developers service account key file. If empty, fallback to Google default logic.")
17+
cfg.RegisterFlagsWithPrefix("experimental.tsdb.", f)
18+
}
19+
20+
// RegisterFlagsWithPrefix registers the flags for TSDB GCS storage with the provided prefix
21+
func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet) {
22+
f.StringVar(&cfg.BucketName, prefix+"gcs.bucket-name", "", "GCS bucket name")
23+
f.Var(&cfg.ServiceAccount, prefix+"gcs.service-account", "JSON representing either a Google Developers Console client_credentials.json file or a Google Developers service account key file. If empty, fallback to Google default logic.")
1924
}

pkg/storage/backend/s3/config.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,16 @@ type Config struct {
1515
Insecure bool `yaml:"insecure"`
1616
}
1717

18-
// RegisterFlags registers the flags for TSDB s3 storage
18+
// RegisterFlags registers the flags for TSDB s3 storage with the provided prefix
1919
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
20-
f.StringVar(&cfg.AccessKeyID, "experimental.tsdb.s3.access-key-id", "", "S3 access key ID")
21-
f.Var(&cfg.SecretAccessKey, "experimental.tsdb.s3.secret-access-key", "S3 secret access key")
22-
f.StringVar(&cfg.BucketName, "experimental.tsdb.s3.bucket-name", "", "S3 bucket name")
23-
f.StringVar(&cfg.Endpoint, "experimental.tsdb.s3.endpoint", "", "S3 endpoint without schema")
24-
f.BoolVar(&cfg.Insecure, "experimental.tsdb.s3.insecure", false, "If enabled, use http:// for the S3 endpoint instead of https://. This could be useful in local dev/test environments while using an S3-compatible backend storage, like Minio.")
20+
cfg.RegisterFlagsWithPrefix("experimental.tsdb.", f)
21+
}
22+
23+
// RegisterFlagsWithPrefix registers the flags for TSDB s3 storage with the provided prefix
24+
func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet) {
25+
f.StringVar(&cfg.AccessKeyID, prefix+"s3.access-key-id", "", "S3 access key ID")
26+
f.Var(&cfg.SecretAccessKey, prefix+"s3.secret-access-key", "S3 secret access key")
27+
f.StringVar(&cfg.BucketName, prefix+"s3.bucket-name", "", "S3 bucket name")
28+
f.StringVar(&cfg.Endpoint, prefix+"s3.endpoint", "", "S3 endpoint without schema")
29+
f.BoolVar(&cfg.Insecure, prefix+"s3.insecure", false, "If enabled, use http:// for the S3 endpoint instead of https://. This could be useful in local dev/test environments while using an S3-compatible backend storage, like Minio.")
2530
}

0 commit comments

Comments
 (0)