Files
de61635b81 refactor: move all packages under pkg/ for v5 (#559)
* refactor: move all packages under pkg/ for v5

Move all 13 top-level Go packages into pkg/ for a cleaner repository
structure. All internal import paths updated from
github.com/formancehq/go-libs/v5/<pkg> to
github.com/formancehq/go-libs/v5/pkg/<pkg>.

Also includes cleanup:
- Fix .golangci.yml stale v4 CircuitBreaker path
- Replace deprecated str.Contains with stdlib slices.Contains
- Update TODO(v4) markers to TODO
- Delete stale coverage.txt
- Fix pgtesting timeout not being propagated to docker pool
- Update docs/ARCHITECTURE.md to reflect new structure

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: remove compatibility aliases, unused params, and stub files

- Remove unused type aliases (Authenticator, KeySet) from authnfx
- Remove unused `debug` parameter from S3ModuleFromFlags
- Delete comment-only stub files in messaging/publish/circuit/

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: rename cli.go to flags.go for consistency

Standardize naming across all packages: cli.go -> flags.go
since these files all serve the same purpose (flag definitions).

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: rename

* chore(deps): update all dependencies

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: resolve package name mismatches in generated mocks

Generated mock files had stale package names from before the pkg/ move,
causing import cycles and build failures with --build-tags it.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
2026-03-20 09:17:12 +00:00

53 lines
1.6 KiB
Go

package iam
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/spf13/pflag"
)
const (
AWSRegionFlag = "aws-region"
AWSAccessKeyIDFlag = "aws-access-key-id"
AWSSecretAccessKeyFlag = "aws-secret-access-key"
AWSSessionTokenFlag = "aws-session-token"
AWSProfileFlag = "aws-profile"
AWSRoleArnFlag = "aws-role-arn"
)
func AddFlags(flags *pflag.FlagSet) {
flags.String(AWSRegionFlag, "", "Specify AWS region")
flags.String(AWSAccessKeyIDFlag, "", "AWS access key id")
flags.String(AWSSecretAccessKeyFlag, "", "AWS secret access key")
flags.String(AWSSessionTokenFlag, "", "AWS session token")
flags.String(AWSProfileFlag, "", "AWS profile")
flags.String(AWSRoleArnFlag, "", "AWS Role ARN")
}
func LoadOptionFromFlags(flags *pflag.FlagSet) func(opts *config.LoadOptions) error {
return func(opts *config.LoadOptions) error {
awsRegion, _ := flags.GetString(AWSRegionFlag)
awsAccessKeyID, _ := flags.GetString(AWSAccessKeyIDFlag)
awsSecretAccessKey, _ := flags.GetString(AWSSecretAccessKeyFlag)
awsSessionToken, _ := flags.GetString(AWSSessionTokenFlag)
awsProfile, _ := flags.GetString(AWSProfileFlag)
if awsAccessKeyID != "" {
opts.Credentials = aws.CredentialsProviderFunc(func(ctx context.Context) (aws.Credentials, error) {
return aws.Credentials{
AccessKeyID: awsAccessKeyID,
SecretAccessKey: awsSecretAccessKey,
SessionToken: awsSessionToken,
Source: "flags",
}, nil
})
}
opts.Region = awsRegion
opts.SharedConfigProfile = awsProfile
return nil
}
}