Skip to content

Commit

Permalink
Update aws-sdk-go-v2
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey Novikov committed May 16, 2019
1 parent aaeda21 commit 2dd730b
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 25 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FROM amazonlinux:2

COPY secure-exec-linux-amd64 /usr/local/bin/secure-exec
COPY ./bin/exec-with-secrets-linux-amd64 /usr/local/bin/exec-with-secrets

CMD secure-exec
CMD exec-with-secrets
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module github.com/s12v/secure-exec
module github.com/s12v/exec-with-secrets

require github.com/aws/aws-sdk-go-v2 v0.7.0
require github.com/aws/aws-sdk-go-v2 v0.8.0
6 changes: 2 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
github.com/aws/aws-sdk-go-v2 v0.7.0 h1:a5xRI/tBmUFKuAA0SOyEY2P1YhQb+jVOEI9P/7KfrP0=
github.com/aws/aws-sdk-go-v2 v0.7.0/go.mod h1:17MaCZ9g0q5BIMxwzRQeiv8M3c8+W7iuBnlWAEprcxE=
github.com/aws/aws-sdk-go-v2 v0.8.0 h1:IyCzxvwRVe2ehXfi7YMsVxaVU6JvaH58ZO7uPFS3HlY=
github.com/aws/aws-sdk-go-v2 v0.8.0/go.mod h1:sa1GePZ/LfBGI4dSq30f6uR4Tthll8axxtEPvlpXZ8U=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/gucumber/gucumber v0.0.0-20180127021336-7d5c79e832a2/go.mod h1:YbdHRK9ViqwGMS0rtRY+1I6faHvVyyurKPIPwifihxI=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg=
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down
13 changes: 6 additions & 7 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,22 @@ package main

import (
"fmt"
"github.com/s12v/secure-exec/provider"
_ "github.com/s12v/secure-exec/provider/awskms"
_ "github.com/s12v/secure-exec/provider/awssecretsmanager"
_ "github.com/s12v/secure-exec/provider/awssecretsmanager"
_ "github.com/s12v/secure-exec/provider/awsssm"
"github.com/s12v/exec-with-secrets/provider"
_ "github.com/s12v/exec-with-secrets/provider/awskms"
_ "github.com/s12v/exec-with-secrets/provider/awssecretsmanager"
_ "github.com/s12v/exec-with-secrets/provider/awsssm"
"os"
"syscall"
)

func main() {
if len(os.Args) < 2 {
fmt.Println("Usage: secure-exec program [args]")
fmt.Println("Usage: exec-with-secrets program [args]")
os.Exit(0)
}

env := provider.Populate(os.Environ())
syscall.Exec(os.Args[1], os.Args[1:], env);
syscall.Exec(os.Args[1], os.Args[1:], env)

fmt.Printf("Unable to start %v", os.Args[1])
os.Exit(1)
Expand Down
10 changes: 6 additions & 4 deletions provider/awskms/awskms.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
package awskms

import (
"context"
"encoding/base64"
"errors"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws/external"
"github.com/aws/aws-sdk-go-v2/service/kms"
"github.com/s12v/secure-exec/provider"
"github.com/s12v/exec-with-secrets/provider"
"strings"
)

Expand All @@ -18,7 +19,7 @@ type KmsProvider struct {

const prefix = "{aws-kms}"

var decrypt func (awsKmsClient *kms.KMS, input *kms.DecryptInput) (*kms.DecryptOutput, error)
var decrypt func(awsKmsClient *kms.KMS, input *kms.DecryptInput) (*kms.DecryptOutput, error)

func init() {
cfg, err := external.LoadDefaultAWSConfig()
Expand All @@ -30,8 +31,9 @@ func init() {
provider.Register(&KmsProvider{kms.New(cfg)})
}

func awsDecrypt (awsKmsClient *kms.KMS, input *kms.DecryptInput) (*kms.DecryptOutput, error) {
if resp, err := awsKmsClient.DecryptRequest(input).Send(); err != nil {
func awsDecrypt(awsKmsClient *kms.KMS, input *kms.DecryptInput) (*kms.DecryptOutput, error) {
ctx := context.Background()
if resp, err := awsKmsClient.DecryptRequest(input).Send(ctx); err != nil {
return nil, errors.New(fmt.Sprintf("KMS error: %v", err))
} else {
return resp, nil
Expand Down
8 changes: 5 additions & 3 deletions provider/awssecretsmanager/awsecretsmanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
package awssecretsmanager

import (
"context"
"encoding/json"
"errors"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/aws/external"
"github.com/aws/aws-sdk-go-v2/service/secretsmanager"
"github.com/s12v/secure-exec/provider"
"github.com/s12v/exec-with-secrets/provider"
"regexp"
"strings"
)
Expand Down Expand Up @@ -39,7 +40,8 @@ func init() {
func awsFetch(
awsClient *secretsmanager.SecretsManager,
input *secretsmanager.GetSecretValueInput) (*secretsmanager.GetSecretValueOutput, error) {
if resp, err := awsClient.GetSecretValueRequest(input).Send(); err != nil {
ctx := context.Background()
if resp, err := awsClient.GetSecretValueRequest(input).Send(ctx); err != nil {
return nil, errors.New(fmt.Sprintf("AWS SecretsManager error: %v", err))
} else {
return resp, nil
Expand All @@ -60,7 +62,7 @@ func (p *SecretsManagerProvider) Decode(val string) (string, error) {
}

func (p *SecretsManagerProvider) decodeJson(val string, property string) (string, error) {
name := val[:len(val)-len(property) - 2]
name := val[:len(val)-len(property)-2]
jsobj, err := p.fetchString(name)
if err != nil {
return "", err
Expand Down
8 changes: 5 additions & 3 deletions provider/awsssm/awsssm.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
package awsssm

import (
"context"
"errors"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws/external"
"github.com/aws/aws-sdk-go-v2/service/ssm"
"github.com/s12v/secure-exec/provider"
"github.com/s12v/exec-with-secrets/provider"
"strings"
)

Expand All @@ -17,7 +18,7 @@ type SsmProvider struct {

const prefix = "{aws-ssm}"

var fetch func (awsSsmClient *ssm.SSM, input *ssm.GetParameterInput) (*ssm.GetParameterOutput, error)
var fetch func(awsSsmClient *ssm.SSM, input *ssm.GetParameterInput) (*ssm.GetParameterOutput, error)

func init() {
cfg, err := external.LoadDefaultAWSConfig()
Expand All @@ -30,7 +31,8 @@ func init() {
}

func awsFetch(awsSsmClient *ssm.SSM, input *ssm.GetParameterInput) (*ssm.GetParameterOutput, error) {
if resp, err := awsSsmClient.GetParameterRequest(input).Send(); err != nil {
ctx := context.Background()
if resp, err := awsSsmClient.GetParameterRequest(input).Send(ctx); err != nil {
return nil, errors.New(fmt.Sprintf("SSM error: %v", err))
} else {
return resp, nil
Expand Down

0 comments on commit 2dd730b

Please sign in to comment.