in client/client.go [31:60]
func New(ctx context.Context, logger zerolog.Logger, s *Spec) (Client, error) {
// Loads credentials from the default credential chain.
// Locally, set the AWS_PROFILE environment variable, or run `make serve`.
// See https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials.
cfg, err := config.LoadDefaultConfig(
ctx,
config.WithRegion("eu-west-1"),
)
if err != nil {
log.Fatalf("unable to load AWS config, %v", err)
}
s3Client := s3.NewFromConfig(cfg)
s3Store := store.NewS3(s3Client, s.AmigoBucketName, "packagelists")
dynamoDbClient := dynamodb.NewFromConfig(cfg)
bakesTable := store.NewDynamoDb(dynamoDbClient, s.AmigoBakesTableName)
recipesTable := store.NewDynamoDb(dynamoDbClient, s.AmigoRecipesTableName)
baseImagesTable := store.NewDynamoDb(dynamoDbClient, s.AmigoBaseImagesTableName)
return Client{
logger: logger,
Spec: *s,
S3Store: s3Store,
BakesTable: bakesTable,
RecipesTable: recipesTable,
BaseImagesTable: baseImagesTable,
}, nil
}