From 18e5a8552f3eb593d1610962926adbb779cc403b Mon Sep 17 00:00:00 2001 From: Gaston Ponti Date: Wed, 5 Feb 2025 13:04:14 -0300 Subject: [PATCH] feat: public s3 config option (#277) --- README.md | 2 +- store/precomputed_key/s3/cli.go | 2 +- store/precomputed_key/s3/s3.go | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 22d95a2c..2f70ea64 100644 --- a/README.md +++ b/README.md @@ -285,7 +285,7 @@ To quickly set up monitoring dashboard, add eigenda-proxy metrics endpoint to a | `--metrics.enabled` | `false` | `$EIGENDA_PROXY_METRICS_ENABLED` | Enable the metrics server. | | `--metrics.port` | `7300` | `$EIGENDA_PROXY_METRICS_PORT` | Metrics listening port. | | `--port` | `3100` | `$EIGENDA_PROXY_PORT` | Server listening port. | -| `--s3.credential-type` | | `$EIGENDA_PROXY_S3_CREDENTIAL_TYPE` | Static or iam. | +| `--s3.credential-type` | | `$EIGENDA_PROXY_S3_CREDENTIAL_TYPE` | Static, iam or public. | | `--s3.access-key-id` | | `$EIGENDA_PROXY_S3_ACCESS_KEY_ID` | Access key id for S3 storage. | | `--s3.access-key-id` | | `$EIGENDA_PROXY_S3_ACCESS_KEY_ID` | Access key id for S3 storage. | | `--s3.access-key-secret` | | `$EIGENDA_PROXY_S3_ACCESS_KEY_SECRET` | Access key secret for S3 storage. | diff --git a/store/precomputed_key/s3/cli.go b/store/precomputed_key/s3/cli.go index 49a11241..37ef0789 100644 --- a/store/precomputed_key/s3/cli.go +++ b/store/precomputed_key/s3/cli.go @@ -42,7 +42,7 @@ func CLIFlags(envPrefix, category string) []cli.Flag { }, &cli.StringFlag{ Name: CredentialTypeFlagName, - Usage: "the way to authenticate to S3, options are [iam, static]", + Usage: "the way to authenticate to S3, options are [iam, static, public]", EnvVars: withEnvPrefix(envPrefix, "CREDENTIAL_TYPE"), Category: category, }, diff --git a/store/precomputed_key/s3/s3.go b/store/precomputed_key/s3/s3.go index fc468192..dc23517e 100644 --- a/store/precomputed_key/s3/s3.go +++ b/store/precomputed_key/s3/s3.go @@ -21,6 +21,7 @@ import ( const ( CredentialTypeStatic CredentialType = "static" CredentialTypeIAM CredentialType = "iam" + CredentialTypePublic CredentialType = "public" CredentialTypeUnknown CredentialType = "unknown" ) @@ -30,6 +31,8 @@ func StringToCredentialType(s string) CredentialType { return CredentialTypeStatic case "iam": return CredentialTypeIAM + case "public": + return CredentialTypePublic default: return CredentialTypeUnknown } @@ -138,5 +141,8 @@ func creds(cfg Config) *credentials.Credentials { if cfg.CredentialType == CredentialTypeIAM { return credentials.NewIAM("") } + if cfg.CredentialType == CredentialTypePublic { + return nil + } return credentials.NewStaticV4(cfg.AccessKeyID, cfg.AccessKeySecret, "") }