From ee63c4df3e7c331436af8794e43fea535aadbcc6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 21:23:28 +0000 Subject: [PATCH 01/56] Bump google.golang.org/grpc from 1.47.0 to 1.53.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.53.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.47.0...v1.53.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 30 ++++----- go.sum | 194 ++++++++++----------------------------------------------- 2 files changed, 49 insertions(+), 175 deletions(-) diff --git a/go.mod b/go.mod index e8d4fe9..653bfdf 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,13 @@ module github.com/h0n9/cloud-secrets-manager go 1.18 require ( - cloud.google.com/go/secretmanager v1.5.0 + cloud.google.com/go/secretmanager v1.9.0 github.com/aws/aws-sdk-go-v2/config v1.15.9 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.9 github.com/rs/zerolog v1.26.1 github.com/spf13/cobra v1.4.0 - github.com/stretchr/testify v1.7.4 - google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad + github.com/stretchr/testify v1.8.1 + google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f k8s.io/api v0.24.2 k8s.io/apimachinery v0.24.2 k8s.io/client-go v0.24.2 @@ -17,9 +17,9 @@ require ( ) require ( - cloud.google.com/go v0.102.0 // indirect - cloud.google.com/go/compute v1.7.0 // indirect - cloud.google.com/go/iam v0.3.0 // indirect + cloud.google.com/go/compute v1.15.1 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v0.8.0 // indirect github.com/aws/aws-sdk-go-v2 v1.16.4 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.12.4 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.5 // indirect @@ -31,7 +31,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sts v1.16.6 // indirect github.com/aws/smithy-go v1.11.2 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful/v3 v3.8.0 // indirect github.com/evanphx/json-patch v5.6.0+incompatible // indirect @@ -45,11 +45,11 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.8 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.1.0 // indirect - github.com/googleapis/gax-go/v2 v2.4.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect + github.com/googleapis/gax-go/v2 v2.7.0 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -66,21 +66,21 @@ require ( github.com/prometheus/common v0.35.0 // indirect github.com/prometheus/procfs v0.7.3 // indirect github.com/spf13/pflag v1.0.5 // indirect - go.opencensus.io v0.23.0 // indirect + go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.19.1 // indirect golang.org/x/net v0.7.0 // indirect - golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb // indirect + golang.org/x/oauth2 v0.4.0 // indirect golang.org/x/sys v0.5.0 // indirect golang.org/x/term v0.5.0 // indirect golang.org/x/text v0.7.0 // indirect golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/api v0.85.0 // indirect + google.golang.org/api v0.103.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/grpc v1.47.0 // indirect - google.golang.org/protobuf v1.28.0 // indirect + google.golang.org/grpc v1.53.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index c7768c3..9a06fb5 100644 --- a/go.sum +++ b/go.sum @@ -18,47 +18,34 @@ cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmW cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0 h1:DAq3r8y4mDgyB/ZPJ9v/5VJNqjgJAxTn6ZYLlUywOu8= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.107.0 h1:qkj22L7bgkl6vIeZDlOY2po43Mx/TIa2Wsa7VR+PEww= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.15.1 h1:7UGq3QknM33pw5xATlpzeoomNxsacIVvTqTTvbfajmE= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/secretmanager v1.5.0 h1:XdbW+Fx5amsRzjHeFbDAQI2v2VUkSl3BWEgkQD6z8hY= -cloud.google.com/go/secretmanager v1.5.0/go.mod h1:5C9kM+RwSpkURNovKySkNvGQLUaOgyoR5W0RUx2SyHQ= +cloud.google.com/go/secretmanager v1.9.0 h1:xE6uXljAC1kCR8iadt9+/blg1fvSbmenlsDN4fT9gqw= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= @@ -127,8 +114,9 @@ github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6 github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -136,12 +124,7 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= @@ -175,8 +158,6 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= @@ -246,7 +227,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -265,7 +245,6 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= @@ -285,10 +264,9 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -296,7 +274,6 @@ github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -308,25 +285,16 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.1.0 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -525,6 +493,7 @@ github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -532,8 +501,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.4 h1:wZRexSlwd7ZXfKINDLsO4r7WBt3gTKONc6K/VesHvHM= -github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -566,8 +536,9 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= @@ -685,7 +656,6 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -693,11 +663,6 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -712,15 +677,10 @@ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb h1:8tDJ3aechhddbdPAxpycgXHJRMLpk/Ab+aa4OgdN5/g= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.4.0 h1:NF0gk8LVPg1Ml7SSbGyySuoxdsXitj7TvgvuRxIMc/M= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -732,7 +692,6 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -789,32 +748,16 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -894,10 +837,7 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= @@ -905,9 +845,6 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= @@ -931,26 +868,8 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.85.0 h1:8rJoHuRxx+vCmZtAO/3k1dRLvYNVyTJtZ5oaFZvhgvc= -google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1001,48 +920,12 @@ google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad h1:kqrS+lhvaMHCxul6sKQvKJ8nAAhlVItmZV822hYFH/U= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1063,19 +946,10 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1089,8 +963,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From a99cb9247bf30d6d437d2d08c98370b575ab4388 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:28:37 +0000 Subject: [PATCH 02/56] Bump google.golang.org/grpc from 1.53.0 to 1.56.3 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.56.3. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.53.0...v1.56.3) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 30 ++++++++++++++-------------- go.sum | 63 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/go.mod b/go.mod index 653bfdf..b865340 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,13 @@ module github.com/h0n9/cloud-secrets-manager go 1.18 require ( - cloud.google.com/go/secretmanager v1.9.0 + cloud.google.com/go/secretmanager v1.10.0 github.com/aws/aws-sdk-go-v2/config v1.15.9 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.9 github.com/rs/zerolog v1.26.1 github.com/spf13/cobra v1.4.0 github.com/stretchr/testify v1.8.1 - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 k8s.io/api v0.24.2 k8s.io/apimachinery v0.24.2 k8s.io/client-go v0.24.2 @@ -17,9 +17,9 @@ require ( ) require ( - cloud.google.com/go/compute v1.15.1 // indirect + cloud.google.com/go/compute v1.19.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.8.0 // indirect + cloud.google.com/go/iam v0.13.0 // indirect github.com/aws/aws-sdk-go-v2 v1.16.4 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.12.4 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.5 // indirect @@ -43,13 +43,13 @@ require ( github.com/go-openapi/swag v0.21.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/gnostic v0.6.9 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.7.1 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -70,17 +70,17 @@ require ( go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.19.1 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/oauth2 v0.4.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/term v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect + golang.org/x/net v0.9.0 // indirect + golang.org/x/oauth2 v0.7.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/term v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/api v0.103.0 // indirect + google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/grpc v1.53.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/grpc v1.56.3 // indirect + google.golang.org/protobuf v1.30.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 9a06fb5..af79657 100644 --- a/go.sum +++ b/go.sum @@ -18,29 +18,29 @@ cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmW cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.107.0 h1:qkj22L7bgkl6vIeZDlOY2po43Mx/TIa2Wsa7VR+PEww= +cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.15.1 h1:7UGq3QknM33pw5xATlpzeoomNxsacIVvTqTTvbfajmE= -cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/secretmanager v1.9.0 h1:xE6uXljAC1kCR8iadt9+/blg1fvSbmenlsDN4fT9gqw= -cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0 h1:pu03bha7ukxF8otyPKTFdDz+rr9sE3YauS5PliDXK60= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -243,8 +243,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= @@ -289,12 +290,12 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= -github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -663,8 +664,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -679,8 +680,8 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.4.0 h1:NF0gk8LVPg1Ml7SSbGyySuoxdsXitj7TvgvuRxIMc/M= -golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -758,12 +759,12 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -773,8 +774,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -868,8 +869,8 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ= -google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -924,8 +925,8 @@ google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaE google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -948,8 +949,8 @@ google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= +google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -963,8 +964,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 10cab90510229a32795823633ff7072523c1b369 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 13:04:41 +0000 Subject: [PATCH 03/56] Bump golang.org/x/net from 0.7.0 to 0.17.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.17.0. - [Commits](https://github.com/golang/net/compare/v0.7.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index b865340..67a6b6b 100644 --- a/go.mod +++ b/go.mod @@ -70,11 +70,11 @@ require ( go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.19.1 // indirect - golang.org/x/net v0.9.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.7.0 // indirect - golang.org/x/term v0.7.0 // indirect - golang.org/x/text v0.9.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect google.golang.org/api v0.114.0 // indirect diff --git a/go.sum b/go.sum index af79657..fbf68a8 100644 --- a/go.sum +++ b/go.sum @@ -664,8 +664,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -759,12 +759,12 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -774,8 +774,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 83f1b5f093506a1a155e4af5f54720afbd515a51 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 08:39:20 +0900 Subject: [PATCH 04/56] Modify RootCmd commands' order --- cli/root.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/root.go b/cli/root.go index 90f495a..c929b31 100644 --- a/cli/root.go +++ b/cli/root.go @@ -23,9 +23,9 @@ func init() { RootCmd.AddCommand( controller.Cmd, injector.Cmd, + cert.Cmd, newLineCmd, cliTemplate.Cmd, - cert.Cmd, newLineCmd, VersionCmd, ) From 0f77bbffc4c2a269222fb773651bca880b3705f8 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 09:18:17 +0900 Subject: [PATCH 05/56] Add secrets package and edit command --- cli/secrets/secrets.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 cli/secrets/secrets.go diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go new file mode 100644 index 0000000..947c507 --- /dev/null +++ b/cli/secrets/secrets.go @@ -0,0 +1,37 @@ +package secrets + +import "github.com/spf13/cobra" + +var Cmd = &cobra.Command{ + Use: "secrets", + Short: "CLI for managing secrets", +} + +var ( + providerName string + secretID string +) + +var editCmd = &cobra.Command{ + Use: "edit", + Short: "edit a secret", + RunE: func(cmd *cobra.Command, args []string) error { + return nil + }, +} + +func init() { + editCmd.Flags().StringVar( + &providerName, + "provider", + "aws", + "cloud provider name", + ) + editCmd.Flags().StringVar( + &secretID, + "secret-id", + "", + "secret id", + ) + Cmd.AddCommand(editCmd) +} From 5f1d50fcf0d1c691335c7afa5b6ac3b877e3914b Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 09:18:22 +0900 Subject: [PATCH 06/56] Add cliSecrets package to root.go --- cli/root.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cli/root.go b/cli/root.go index c929b31..0f59051 100644 --- a/cli/root.go +++ b/cli/root.go @@ -9,6 +9,7 @@ import ( "github.com/h0n9/cloud-secrets-manager/cli/cert" "github.com/h0n9/cloud-secrets-manager/cli/controller" "github.com/h0n9/cloud-secrets-manager/cli/injector" + cliSecrets "github.com/h0n9/cloud-secrets-manager/cli/secrets" cliTemplate "github.com/h0n9/cloud-secrets-manager/cli/template" ) @@ -25,6 +26,7 @@ func init() { injector.Cmd, cert.Cmd, newLineCmd, + cliSecrets.Cmd, cliTemplate.Cmd, newLineCmd, VersionCmd, From 80e0107bc5e4ca0842e48223611ef9d83566af92 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 09:24:55 +0900 Subject: [PATCH 07/56] Add SetSecretValue method to SecretProvider interface --- provider/provider.go | 1 + 1 file changed, 1 insertion(+) diff --git a/provider/provider.go b/provider/provider.go index 70f52d5..72542de 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -3,4 +3,5 @@ package provider type SecretProvider interface { Close() error GetSecretValue(string) (string, error) + SetSecretValue(string) error } From 2866a0b2cf39831236137023c629136cd8e0c54e Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 09:25:02 +0900 Subject: [PATCH 08/56] Add SetSecretValue method to AWS and GCP providers --- provider/aws.go | 4 ++++ provider/gcp.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/provider/aws.go b/provider/aws.go index 99720a7..44f847c 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -38,3 +38,7 @@ func (provider *AWS) GetSecretValue(secretID string) (string, error) { } return *resp.SecretString, nil } + +func (provider *AWS) SetSecretValue(secretID string) error { + return nil +} diff --git a/provider/gcp.go b/provider/gcp.go index fbef682..7c17f59 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -38,3 +38,7 @@ func (provider *GCP) GetSecretValue(secretID string) (string, error) { } return string(resp.GetPayload().GetData()), nil } + +func (provider *GCP) SetSecretValue(secretID string) error { + return nil +} From a628e7faadc2baf5857bb31b4d937ec1718d59c0 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 10:04:04 +0900 Subject: [PATCH 09/56] Refactor secrets package and add secret editing functionality --- cli/secrets/secrets.go | 88 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 2 deletions(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index 947c507..0c74a33 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -1,6 +1,24 @@ package secrets -import "github.com/spf13/cobra" +import ( + "context" + "crypto/sha1" + "fmt" + "os" + "os/exec" + "path" + "strings" + + "github.com/spf13/cobra" + + "github.com/h0n9/cloud-secrets-manager/provider" + "github.com/h0n9/cloud-secrets-manager/util" +) + +const ( + DefaultProviderName = "aws" + DefaultEditor = "vim" +) var Cmd = &cobra.Command{ Use: "secrets", @@ -16,6 +34,72 @@ var editCmd = &cobra.Command{ Use: "edit", Short: "edit a secret", RunE: func(cmd *cobra.Command, args []string) error { + // check secretID + if secretID == "" { + return fmt.Errorf("failed to read 'secret-id' flag") + } + + // define variables + var ( + err error + secretProvider provider.SecretProvider + ) + + // init ctx + ctx := context.Background() + + // init secret provider + switch strings.ToLower(providerName) { + case "aws": + secretProvider, err = provider.NewAWS(ctx) + case "gcp": + secretProvider, err = provider.NewGCP(ctx) + default: + return fmt.Errorf("failed to figure out secret provider") + } + if err != nil { + return err + } + defer secretProvider.Close() + + // get secret value + secretValue, err := secretProvider.GetSecretValue(secretID) + if err != nil { + return err + } + + // write secret value to tmp file + UserCacheDir, err := os.UserCacheDir() + if err != nil { + return err + } + hash := sha1.Sum([]byte(secretID)) + tmpFilePath := path.Join(UserCacheDir, fmt.Sprintf("%x", hash)) + err = os.WriteFile(tmpFilePath, []byte(secretValue), 0644) + if err != nil { + return err + } + + // open tmp file with editor(e.g. vim) + editor := util.GetEnv("EDITOR", "vim") + execCmd := exec.Command(editor, tmpFilePath) + execCmd.Stdin = os.Stdin + execCmd.Stdout = os.Stdout + err = execCmd.Run() + if err != nil { + return err + } + + // TODO: update secret value + + // TODO: set secret value to provider + + // remove tmp file + err = os.Remove(tmpFilePath) + if err != nil { + return err + } + return nil }, } @@ -24,7 +108,7 @@ func init() { editCmd.Flags().StringVar( &providerName, "provider", - "aws", + DefaultProviderName, "cloud provider name", ) editCmd.Flags().StringVar( From 24e6d00ea9b774fe45f8a548742f4895e777c724 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 10:04:26 +0900 Subject: [PATCH 10/56] Update editor variable to use DefaultEditor constant --- cli/secrets/secrets.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index 0c74a33..ea4b800 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -81,7 +81,7 @@ var editCmd = &cobra.Command{ } // open tmp file with editor(e.g. vim) - editor := util.GetEnv("EDITOR", "vim") + editor := util.GetEnv("EDITOR", DefaultEditor) execCmd := exec.Command(editor, tmpFilePath) execCmd.Stdin = os.Stdin execCmd.Stdout = os.Stdout From 0060eedfb192d50945670c6d3b786523a13554c8 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:11:05 +0900 Subject: [PATCH 11/56] Update secret value conversion from YAML to JSON --- cli/secrets/secrets.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index ea4b800..ca8eb88 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -90,7 +90,24 @@ var editCmd = &cobra.Command{ return err } - // TODO: update secret value + // read tmp file + data, err = os.ReadFile(tmpFilePath) + if err != nil { + return err + } + + // unmarsal data to mm + mm := map[string]interface{}{} + err = yaml.Unmarshal(data, &mm) + if err != nil { + return err + } + + // marshal mm to json + data, err = json.Marshal(mm) + if err != nil { + return err + } // TODO: set secret value to provider From e8444c6b9c38767304204dff5ea2834549e80bb0 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:11:16 +0900 Subject: [PATCH 12/56] Update secret value in secrets.go --- cli/secrets/secrets.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index ca8eb88..aaf5057 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -109,6 +109,9 @@ var editCmd = &cobra.Command{ return err } + // update secret value + secretValue = string(data) + // TODO: set secret value to provider // remove tmp file From 5e5138b6905ffea385cd20501cb0cae5df8af3f7 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:13:23 +0900 Subject: [PATCH 13/56] Update SetSecretValue param in SecretProvider interface --- provider/provider.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/provider.go b/provider/provider.go index 72542de..ec1ed7c 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -3,5 +3,5 @@ package provider type SecretProvider interface { Close() error GetSecretValue(string) (string, error) - SetSecretValue(string) error + SetSecretValue(string, string) error } From 26527fff75d935934c4f529dded1cff561afda8a Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:13:36 +0900 Subject: [PATCH 14/56] Update SetSecretValue method param in AWS and GCP providers --- provider/aws.go | 2 +- provider/gcp.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/aws.go b/provider/aws.go index 44f847c..95c1c15 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -39,6 +39,6 @@ func (provider *AWS) GetSecretValue(secretID string) (string, error) { return *resp.SecretString, nil } -func (provider *AWS) SetSecretValue(secretID string) error { +func (provider *AWS) SetSecretValue(secretID, secretValue string) error { return nil } diff --git a/provider/gcp.go b/provider/gcp.go index 7c17f59..62f88ad 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -39,6 +39,6 @@ func (provider *GCP) GetSecretValue(secretID string) (string, error) { return string(resp.GetPayload().GetData()), nil } -func (provider *GCP) SetSecretValue(secretID string) error { +func (provider *GCP) SetSecretValue(secretID, secretValue string) error { return nil } From ac1e659b17eb5f0f0b391dc14676a2c6a1052b8d Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:27:30 +0900 Subject: [PATCH 15/56] Add SetSecretValue method to AWS provider --- provider/aws.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/provider/aws.go b/provider/aws.go index 95c1c15..5704099 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -40,5 +40,13 @@ func (provider *AWS) GetSecretValue(secretID string) (string, error) { } func (provider *AWS) SetSecretValue(secretID, secretValue string) error { + req := &secretsmanager.PutSecretValueInput{ + SecretId: aws.String(secretID), + SecretString: aws.String(secretValue), + } + _, err := provider.client.PutSecretValue(provider.ctx, req) + if err != nil { + return err + } return nil } From c863786c0cac0c512e4e6f062def8f5f45772519 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:27:48 +0900 Subject: [PATCH 16/56] Set secret value to provider in secrets.go --- cli/secrets/secrets.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index aaf5057..70c320f 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -112,7 +112,11 @@ var editCmd = &cobra.Command{ // update secret value secretValue = string(data) - // TODO: set secret value to provider + // set secret value to provider + err = secretProvider.SetSecretValue(secretID, secretValue) + if err != nil { + return err + } // remove tmp file err = os.Remove(tmpFilePath) From bcd79984c87ed792bd65ea08db48c8aef8a00fa2 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:33:26 +0900 Subject: [PATCH 17/56] Add support for unmarshaling secret value to YAML format --- cli/secrets/secrets.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index 70c320f..6f26ad5 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -3,6 +3,7 @@ package secrets import ( "context" "crypto/sha1" + "encoding/json" "fmt" "os" "os/exec" @@ -10,6 +11,7 @@ import ( "strings" "github.com/spf13/cobra" + "gopkg.in/yaml.v3" "github.com/h0n9/cloud-secrets-manager/provider" "github.com/h0n9/cloud-secrets-manager/util" @@ -68,14 +70,27 @@ var editCmd = &cobra.Command{ return err } - // write secret value to tmp file + // unmarshal secret value to struct + m := map[string]interface{}{} + err = json.Unmarshal([]byte(secretValue), &m) + if err != nil { + return err + } + + // marshal m to yaml + data, err := yaml.Marshal(m) + if err != nil { + return err + } + + // write data to tmp file UserCacheDir, err := os.UserCacheDir() if err != nil { return err } hash := sha1.Sum([]byte(secretID)) tmpFilePath := path.Join(UserCacheDir, fmt.Sprintf("%x", hash)) - err = os.WriteFile(tmpFilePath, []byte(secretValue), 0644) + err = os.WriteFile(tmpFilePath, data, 0644) if err != nil { return err } From 968c259fc50a311ead20f0a3a00e2aa16763192c Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 13 Mar 2024 11:33:58 +0900 Subject: [PATCH 18/56] Add AWS SDK import and update GetSecretValue method --- provider/aws.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/provider/aws.go b/provider/aws.go index 5704099..df8c026 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -3,6 +3,7 @@ package provider import ( "context" + "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/secretsmanager" ) @@ -31,7 +32,7 @@ func (provider *AWS) Close() error { } func (provider *AWS) GetSecretValue(secretID string) (string, error) { - req := &secretsmanager.GetSecretValueInput{SecretId: &secretID} + req := &secretsmanager.GetSecretValueInput{SecretId: aws.String(secretID)} resp, err := provider.client.GetSecretValue(provider.ctx, req) if err != nil { return "", err From 80cb16f3cb714d9d0b4b313964f1afa8aa20eddb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 22:47:08 +0000 Subject: [PATCH 19/56] Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 Bumps google.golang.org/protobuf from 1.30.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 67a6b6b..9626320 100644 --- a/go.mod +++ b/go.mod @@ -80,7 +80,7 @@ require ( google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/grpc v1.56.3 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index fbf68a8..f7d920b 100644 --- a/go.sum +++ b/go.sum @@ -964,8 +964,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 0ae16dd6594e938d49eade92f0226079c5f08d7b Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 29 Mar 2024 09:58:09 +0900 Subject: [PATCH 20/56] Update dependencies in go.mod file --- go.mod | 4 ++-- go.sum | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 67a6b6b..6640874 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.18 require ( cloud.google.com/go/secretmanager v1.10.0 + github.com/aws/aws-sdk-go-v2 v1.16.4 github.com/aws/aws-sdk-go-v2/config v1.15.9 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.9 github.com/rs/zerolog v1.26.1 @@ -14,13 +15,13 @@ require ( k8s.io/apimachinery v0.24.2 k8s.io/client-go v0.24.2 sigs.k8s.io/controller-runtime v0.12.1 + sigs.k8s.io/yaml v1.4.0 ) require ( cloud.google.com/go/compute v1.19.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v0.13.0 // indirect - github.com/aws/aws-sdk-go-v2 v1.16.4 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.12.4 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.5 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.11 // indirect @@ -91,5 +92,4 @@ require ( k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index fbf68a8..ab662b9 100644 --- a/go.sum +++ b/go.sum @@ -1044,5 +1044,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= From a60b9847cd667a7ea6eb6f01478b72dfe2ee2a7c Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 29 Mar 2024 09:58:27 +0900 Subject: [PATCH 21/56] Convert JSON to YAML and YAML to JSON in secrets.go --- cli/secrets/secrets.go | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index 6f26ad5..ff34fee 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -3,7 +3,6 @@ package secrets import ( "context" "crypto/sha1" - "encoding/json" "fmt" "os" "os/exec" @@ -11,7 +10,7 @@ import ( "strings" "github.com/spf13/cobra" - "gopkg.in/yaml.v3" + "sigs.k8s.io/yaml" "github.com/h0n9/cloud-secrets-manager/provider" "github.com/h0n9/cloud-secrets-manager/util" @@ -70,15 +69,8 @@ var editCmd = &cobra.Command{ return err } - // unmarshal secret value to struct - m := map[string]interface{}{} - err = json.Unmarshal([]byte(secretValue), &m) - if err != nil { - return err - } - - // marshal m to yaml - data, err := yaml.Marshal(m) + // convert json to yaml + data, err := yaml.JSONToYAML([]byte(secretValue)) if err != nil { return err } @@ -111,15 +103,8 @@ var editCmd = &cobra.Command{ return err } - // unmarsal data to mm - mm := map[string]interface{}{} - err = yaml.Unmarshal(data, &mm) - if err != nil { - return err - } - - // marshal mm to json - data, err = json.Marshal(mm) + // convert yaml to json + data, err = yaml.YAMLToJSON(data) if err != nil { return err } From a40537bf2b52563701dfb747b0bf07fc1c784d47 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 08:53:53 +0900 Subject: [PATCH 22/56] Update secrets.go to check if tmp file is updated before reading it --- cli/secrets/secrets.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index ff34fee..88f6175 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -87,6 +87,12 @@ var editCmd = &cobra.Command{ return err } + // get initial stat of tmp file + initialStat, err := os.Stat(tmpFilePath) + if err != nil { + return err + } + // open tmp file with editor(e.g. vim) editor := util.GetEnv("EDITOR", DefaultEditor) execCmd := exec.Command(editor, tmpFilePath) @@ -97,6 +103,19 @@ var editCmd = &cobra.Command{ return err } + // get updated stat of tmp file + updatedStat, err := os.Stat(tmpFilePath) + if err != nil { + return err + } + + // check if tmp file is updated. if not, return nil + if initialStat.ModTime().Equal(updatedStat.ModTime()) && + initialStat.Size() == updatedStat.Size() { + fmt.Println("found nothing to update") + return nil + } + // read tmp file data, err = os.ReadFile(tmpFilePath) if err != nil { From 07f666f424e14f936e36b69b798fd2b19aff00d9 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 08:57:18 +0900 Subject: [PATCH 23/56] Move os.Remove() into defer statement --- cli/secrets/secrets.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index 88f6175..d6e3d30 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -86,6 +86,7 @@ var editCmd = &cobra.Command{ if err != nil { return err } + defer os.Remove(tmpFilePath) // get initial stat of tmp file initialStat, err := os.Stat(tmpFilePath) @@ -137,12 +138,6 @@ var editCmd = &cobra.Command{ return err } - // remove tmp file - err = os.Remove(tmpFilePath) - if err != nil { - return err - } - return nil }, } From 379fb22db99c20cd664c66364ad3e693427b9469 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 11:02:01 +0900 Subject: [PATCH 24/56] Add ListSecrets method to SecretProvider interface --- provider/provider.go | 1 + 1 file changed, 1 insertion(+) diff --git a/provider/provider.go b/provider/provider.go index ec1ed7c..b8907e3 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -2,6 +2,7 @@ package provider type SecretProvider interface { Close() error + ListSecrets() ([]string, error) GetSecretValue(string) (string, error) SetSecretValue(string, string) error } From da4676293c76471be8fc669c611bc90360362630 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 11:02:41 +0900 Subject: [PATCH 25/56] Add ListSecrets method to AWS provider --- provider/aws.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/provider/aws.go b/provider/aws.go index df8c026..1b4e59e 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -31,6 +31,19 @@ func (provider *AWS) Close() error { return nil } +func (provider *AWS) ListSecrets() ([]string, error) { + req := &secretsmanager.ListSecretsInput{} + resp, err := provider.client.ListSecrets(provider.ctx, req) + if err != nil { + return nil, err + } + var secrets []string + for _, secret := range resp.SecretList { + secrets = append(secrets, *secret.Name) + } + return secrets, nil +} + func (provider *AWS) GetSecretValue(secretID string) (string, error) { req := &secretsmanager.GetSecretValueInput{SecretId: aws.String(secretID)} resp, err := provider.client.GetSecretValue(provider.ctx, req) From fd45a7140160fb55cc082c289f308d21f3ee7f88 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 12:20:57 +0900 Subject: [PATCH 26/56] Add ListSecrets method to GCP provider --- provider/gcp.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/provider/gcp.go b/provider/gcp.go index 62f88ad..f2872aa 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -28,6 +28,20 @@ func (provider *GCP) Close() error { return provider.client.Close() } +func (provider *GCP) ListSecrets() ([]string, error) { + req := &secretmanagerpb.ListSecretsRequest{} + var secrets []string + secretsIterator := provider.client.ListSecrets(provider.ctx, req) + for { + resp, err := secretsIterator.Next() + if err != nil { + break + } + secrets = append(secrets, resp.GetName()) + } + return secrets, nil +} + // The secretID in the format `projects/*/secrets/*/versions/*`. // `projects/*/secrets/*/versions/latest`: recently created func (provider *GCP) GetSecretValue(secretID string) (string, error) { From d3201b624bd95066246a03f46ebeda9500e69109 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 12:24:13 +0900 Subject: [PATCH 27/56] Update GCP import in provider/gcp.go --- provider/gcp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/gcp.go b/provider/gcp.go index f2872aa..e46d7a7 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -4,7 +4,7 @@ import ( "context" secretmanager "cloud.google.com/go/secretmanager/apiv1" - secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1" + "cloud.google.com/go/secretmanager/apiv1/secretmanagerpb" ) type GCP struct { From 89ad4ab92487468dc92b1e6cb9e4c0ce13c6862f Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 13:35:02 +0900 Subject: [PATCH 28/56] Extract editCmd out of secrets.go --- cli/secrets/edit.go | 148 +++++++++++++++++++++++++++++++++++++++++ cli/secrets/secrets.go | 140 -------------------------------------- 2 files changed, 148 insertions(+), 140 deletions(-) create mode 100644 cli/secrets/edit.go diff --git a/cli/secrets/edit.go b/cli/secrets/edit.go new file mode 100644 index 0000000..6c6227b --- /dev/null +++ b/cli/secrets/edit.go @@ -0,0 +1,148 @@ +package secrets + +import ( + "context" + "crypto/sha1" + "fmt" + "os" + "os/exec" + "path" + "strings" + + "github.com/spf13/cobra" + "sigs.k8s.io/yaml" + + "github.com/h0n9/cloud-secrets-manager/provider" + "github.com/h0n9/cloud-secrets-manager/util" +) + +var ( + providerName string + secretID string +) + +var editCmd = &cobra.Command{ + Use: "edit", + Short: "edit a secret", + RunE: func(cmd *cobra.Command, args []string) error { + // check secretID + if secretID == "" { + return fmt.Errorf("failed to read 'secret-id' flag") + } + + // define variables + var ( + err error + secretProvider provider.SecretProvider + ) + + // init ctx + ctx := context.Background() + + // init secret provider + switch strings.ToLower(providerName) { + case "aws": + secretProvider, err = provider.NewAWS(ctx) + case "gcp": + secretProvider, err = provider.NewGCP(ctx) + default: + return fmt.Errorf("failed to figure out secret provider") + } + if err != nil { + return err + } + defer secretProvider.Close() + + // get secret value + secretValue, err := secretProvider.GetSecretValue(secretID) + if err != nil { + return err + } + + // convert json to yaml + data, err := yaml.JSONToYAML([]byte(secretValue)) + if err != nil { + return err + } + + // write data to tmp file + UserCacheDir, err := os.UserCacheDir() + if err != nil { + return err + } + hash := sha1.Sum([]byte(secretID)) + tmpFilePath := path.Join(UserCacheDir, fmt.Sprintf("%x", hash)) + err = os.WriteFile(tmpFilePath, data, 0644) + if err != nil { + return err + } + defer os.Remove(tmpFilePath) + + // get initial stat of tmp file + initialStat, err := os.Stat(tmpFilePath) + if err != nil { + return err + } + + // open tmp file with editor(e.g. vim) + editor := util.GetEnv("EDITOR", DefaultEditor) + execCmd := exec.Command(editor, tmpFilePath) + execCmd.Stdin = os.Stdin + execCmd.Stdout = os.Stdout + err = execCmd.Run() + if err != nil { + return err + } + + // get updated stat of tmp file + updatedStat, err := os.Stat(tmpFilePath) + if err != nil { + return err + } + + // check if tmp file is updated. if not, return nil + if initialStat.ModTime().Equal(updatedStat.ModTime()) && + initialStat.Size() == updatedStat.Size() { + fmt.Println("found nothing to update") + return nil + } + + // read tmp file + data, err = os.ReadFile(tmpFilePath) + if err != nil { + return err + } + + // convert yaml to json + data, err = yaml.YAMLToJSON(data) + if err != nil { + return err + } + + // update secret value + secretValue = string(data) + + // set secret value to provider + err = secretProvider.SetSecretValue(secretID, secretValue) + if err != nil { + return err + } + + return nil + }, +} + +func init() { + editCmd.Flags().StringVar( + &providerName, + "provider", + DefaultProviderName, + "cloud provider name", + ) + editCmd.Flags().StringVar( + &secretID, + "secret-id", + "", + "secret id", + ) +} diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index d6e3d30..0044ada 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -1,19 +1,7 @@ package secrets import ( - "context" - "crypto/sha1" - "fmt" - "os" - "os/exec" - "path" - "strings" - "github.com/spf13/cobra" - "sigs.k8s.io/yaml" - - "github.com/h0n9/cloud-secrets-manager/provider" - "github.com/h0n9/cloud-secrets-manager/util" ) const ( @@ -26,134 +14,6 @@ var Cmd = &cobra.Command{ Short: "CLI for managing secrets", } -var ( - providerName string - secretID string -) - -var editCmd = &cobra.Command{ - Use: "edit", - Short: "edit a secret", - RunE: func(cmd *cobra.Command, args []string) error { - // check secretID - if secretID == "" { - return fmt.Errorf("failed to read 'secret-id' flag") - } - - // define variables - var ( - err error - secretProvider provider.SecretProvider - ) - - // init ctx - ctx := context.Background() - - // init secret provider - switch strings.ToLower(providerName) { - case "aws": - secretProvider, err = provider.NewAWS(ctx) - case "gcp": - secretProvider, err = provider.NewGCP(ctx) - default: - return fmt.Errorf("failed to figure out secret provider") - } - if err != nil { - return err - } - defer secretProvider.Close() - - // get secret value - secretValue, err := secretProvider.GetSecretValue(secretID) - if err != nil { - return err - } - - // convert json to yaml - data, err := yaml.JSONToYAML([]byte(secretValue)) - if err != nil { - return err - } - - // write data to tmp file - UserCacheDir, err := os.UserCacheDir() - if err != nil { - return err - } - hash := sha1.Sum([]byte(secretID)) - tmpFilePath := path.Join(UserCacheDir, fmt.Sprintf("%x", hash)) - err = os.WriteFile(tmpFilePath, data, 0644) - if err != nil { - return err - } - defer os.Remove(tmpFilePath) - - // get initial stat of tmp file - initialStat, err := os.Stat(tmpFilePath) - if err != nil { - return err - } - - // open tmp file with editor(e.g. vim) - editor := util.GetEnv("EDITOR", DefaultEditor) - execCmd := exec.Command(editor, tmpFilePath) - execCmd.Stdin = os.Stdin - execCmd.Stdout = os.Stdout - err = execCmd.Run() - if err != nil { - return err - } - - // get updated stat of tmp file - updatedStat, err := os.Stat(tmpFilePath) - if err != nil { - return err - } - - // check if tmp file is updated. if not, return nil - if initialStat.ModTime().Equal(updatedStat.ModTime()) && - initialStat.Size() == updatedStat.Size() { - fmt.Println("found nothing to update") - return nil - } - - // read tmp file - data, err = os.ReadFile(tmpFilePath) - if err != nil { - return err - } - - // convert yaml to json - data, err = yaml.YAMLToJSON(data) - if err != nil { - return err - } - - // update secret value - secretValue = string(data) - - // set secret value to provider - err = secretProvider.SetSecretValue(secretID, secretValue) - if err != nil { - return err - } - - return nil - }, -} - func init() { - editCmd.Flags().StringVar( - &providerName, - "provider", - DefaultProviderName, - "cloud provider name", - ) - editCmd.Flags().StringVar( - &secretID, - "secret-id", - "", - "secret id", - ) Cmd.AddCommand(editCmd) } From 80e4f20c8c16d96ff93d7e7fdf5231008def1753 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 16:51:56 +0900 Subject: [PATCH 29/56] Refactor ListSecrets method in AWS provider to handle pagination --- provider/aws.go | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/provider/aws.go b/provider/aws.go index 1b4e59e..4c78e9e 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -33,14 +33,29 @@ func (provider *AWS) Close() error { func (provider *AWS) ListSecrets() ([]string, error) { req := &secretsmanager.ListSecretsInput{} - resp, err := provider.client.ListSecrets(provider.ctx, req) - if err != nil { - return nil, err - } var secrets []string - for _, secret := range resp.SecretList { - secrets = append(secrets, *secret.Name) + + for { + // list secrets + resp, err := provider.client.ListSecrets(provider.ctx, req) + if err != nil { + return nil, err + } + + // append secret names + for _, secret := range resp.SecretList { + secrets = append(secrets, *secret.Name) + } + + // break if no more secrets + if resp.NextToken == nil { + break + } + + // set next token + req.NextToken = resp.NextToken } + return secrets, nil } From c1457c2eeebdf9a28d24554ffb8abdbdd39623b9 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 16:52:37 +0900 Subject: [PATCH 30/56] Add list command to CLI for listing secrets --- cli/secrets/list.go | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 cli/secrets/list.go diff --git a/cli/secrets/list.go b/cli/secrets/list.go new file mode 100644 index 0000000..ffd127c --- /dev/null +++ b/cli/secrets/list.go @@ -0,0 +1,62 @@ +package secrets + +import ( + "context" + "fmt" + "strings" + + "github.com/spf13/cobra" + + "github.com/h0n9/cloud-secrets-manager/provider" +) + +var listCmd = &cobra.Command{ + Use: "list", + Short: "list secrets", + RunE: func(cmd *cobra.Command, args []string) error { + // define variables + var ( + err error + secretProvider provider.SecretProvider + ) + + // init ctx + ctx := context.Background() + + // init secret provider + switch strings.ToLower(providerName) { + case "aws": + secretProvider, err = provider.NewAWS(ctx) + case "gcp": + secretProvider, err = provider.NewGCP(ctx) + default: + return fmt.Errorf("failed to figure out secret provider") + } + if err != nil { + return err + } + defer secretProvider.Close() + + // list secrets + secrets, err := secretProvider.ListSecrets() + if err != nil { + return err + } + + // print secrets + for _, secret := range secrets { + fmt.Println(secret) + } + + return nil + }, +} + +func init() { + listCmd.Flags().StringVar( + &providerName, + "provider", + DefaultProviderName, + "cloud provider name", + ) +} From 8407bc89bb006200fb098f9ad3496f5aa4f5ea19 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Wed, 17 Apr 2024 16:52:50 +0900 Subject: [PATCH 31/56] Refactor editCmd out of secrets.go --- cli/secrets/edit.go | 3 +-- cli/secrets/secrets.go | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cli/secrets/edit.go b/cli/secrets/edit.go index 6c6227b..d044f2a 100644 --- a/cli/secrets/edit.go +++ b/cli/secrets/edit.go @@ -17,8 +17,7 @@ import ( ) var ( - providerName string - secretID string + secretID string ) var editCmd = &cobra.Command{ diff --git a/cli/secrets/secrets.go b/cli/secrets/secrets.go index 0044ada..b2713f6 100644 --- a/cli/secrets/secrets.go +++ b/cli/secrets/secrets.go @@ -9,11 +9,16 @@ const ( DefaultEditor = "vim" ) +var ( + providerName string +) + var Cmd = &cobra.Command{ Use: "secrets", Short: "CLI for managing secrets", } func init() { + Cmd.AddCommand(listCmd) Cmd.AddCommand(editCmd) } From b6224c419022f1237dbe4188540309cc52b70ea9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 12:26:25 +0000 Subject: [PATCH 32/56] Bump golang.org/x/net from 0.17.0 to 0.23.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.17.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 67a6b6b..89b53a5 100644 --- a/go.mod +++ b/go.mod @@ -70,11 +70,11 @@ require ( go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.19.1 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/term v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect google.golang.org/api v0.114.0 // indirect diff --git a/go.sum b/go.sum index fbf68a8..e0e0d51 100644 --- a/go.sum +++ b/go.sum @@ -664,8 +664,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -759,12 +759,12 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -774,8 +774,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 081e992b88bb3fe0f98b58193a6a812dd1729b70 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:25:11 +0900 Subject: [PATCH 33/56] Move google.golang.org/genproto to indirect --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 6640874..fd73e96 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,6 @@ require ( github.com/rs/zerolog v1.26.1 github.com/spf13/cobra v1.4.0 github.com/stretchr/testify v1.8.1 - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 k8s.io/api v0.24.2 k8s.io/apimachinery v0.24.2 k8s.io/client-go v0.24.2 @@ -80,6 +79,7 @@ require ( gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/grpc v1.56.3 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect From 8103e05a237e4fc967f0157653350e21016aff3b Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:32:47 +0900 Subject: [PATCH 34/56] Add int param to limit the number of secrets to ListSecrets() --- provider/provider.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/provider.go b/provider/provider.go index b8907e3..d23c798 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -2,7 +2,7 @@ package provider type SecretProvider interface { Close() error - ListSecrets() ([]string, error) + ListSecrets(int) ([]string, error) GetSecretValue(string) (string, error) SetSecretValue(string, string) error } From 0d47a7bcbdb73f8dd1d81d4a4d8039db3312b107 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:34:06 +0900 Subject: [PATCH 35/56] Refactor ListSecrets method in AWS provider to handle pagination and limit the number of secrets --- provider/aws.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/aws.go b/provider/aws.go index 4c78e9e..d2e2cf0 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -31,7 +31,7 @@ func (provider *AWS) Close() error { return nil } -func (provider *AWS) ListSecrets() ([]string, error) { +func (provider *AWS) ListSecrets(limit int) ([]string, error) { req := &secretsmanager.ListSecretsInput{} var secrets []string @@ -47,8 +47,8 @@ func (provider *AWS) ListSecrets() ([]string, error) { secrets = append(secrets, *secret.Name) } - // break if no more secrets - if resp.NextToken == nil { + // break if no more secrets or reached the limit + if resp.NextToken == nil || len(secrets) >= limit { break } From 0b31bc4be8ff2d1e1be13a3c09e89ec395029720 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:34:12 +0900 Subject: [PATCH 36/56] Refactor ListSecrets method in GCP provider to handle pagination and limit the number of secrets --- provider/gcp.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/provider/gcp.go b/provider/gcp.go index e46d7a7..e8e6e61 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -28,15 +28,23 @@ func (provider *GCP) Close() error { return provider.client.Close() } -func (provider *GCP) ListSecrets() ([]string, error) { +func (provider *GCP) ListSecrets(limit int) ([]string, error) { req := &secretmanagerpb.ListSecretsRequest{} var secrets []string secretsIterator := provider.client.ListSecrets(provider.ctx, req) for { + // get next secret resp, err := secretsIterator.Next() if err != nil { break } + + // break if reached the limit + if len(secrets) >= limit { + break + } + + // append secret name secrets = append(secrets, resp.GetName()) } return secrets, nil From f7d5ca917e06fc721cec9325442cec08676174e9 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:38:06 +0900 Subject: [PATCH 37/56] Add limit flag to list command for CLI --- cli/secrets/list.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/cli/secrets/list.go b/cli/secrets/list.go index ffd127c..cadc24f 100644 --- a/cli/secrets/list.go +++ b/cli/secrets/list.go @@ -10,6 +10,14 @@ import ( "github.com/h0n9/cloud-secrets-manager/provider" ) +const ( + DefaultListSecretsLimit = 100 +) + +var ( + listSecretsLimit int +) + var listCmd = &cobra.Command{ Use: "list", Short: "list secrets", @@ -38,7 +46,7 @@ var listCmd = &cobra.Command{ defer secretProvider.Close() // list secrets - secrets, err := secretProvider.ListSecrets() + secrets, err := secretProvider.ListSecrets(listSecretsLimit) if err != nil { return err } @@ -59,4 +67,10 @@ func init() { DefaultProviderName, "cloud provider name", ) + listCmd.Flags().IntVar( + &listSecretsLimit, + "limit", + DefaultListSecretsLimit, + "limit the number of secrets to list", + ) } From 59a4870aab56292758da250cfa97c87299861975 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:45:11 +0900 Subject: [PATCH 38/56] Refactor ListSecrets method in AWS provider to limit the number of secrets returned --- provider/aws.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/aws.go b/provider/aws.go index d2e2cf0..c3295ea 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -56,7 +56,7 @@ func (provider *AWS) ListSecrets(limit int) ([]string, error) { req.NextToken = resp.NextToken } - return secrets, nil + return secrets[:limit], nil } func (provider *AWS) GetSecretValue(secretID string) (string, error) { From b5a2a9cc16189fa1824c22bee3217d3f884cf9d0 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 08:58:15 +0900 Subject: [PATCH 39/56] feat: Refactor ListSecrets method in GCP provider to handle pagination and limit the number of secrets --- provider/gcp.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/provider/gcp.go b/provider/gcp.go index e8e6e61..79c7fff 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -31,6 +31,7 @@ func (provider *GCP) Close() error { func (provider *GCP) ListSecrets(limit int) ([]string, error) { req := &secretmanagerpb.ListSecretsRequest{} var secrets []string + secretsIterator := provider.client.ListSecrets(provider.ctx, req) for { // get next secret @@ -39,15 +40,16 @@ func (provider *GCP) ListSecrets(limit int) ([]string, error) { break } + // append secret name + secrets = append(secrets, resp.GetName()) + // break if reached the limit if len(secrets) >= limit { break } - - // append secret name - secrets = append(secrets, resp.GetName()) } - return secrets, nil + + return secrets[:limit], nil } // The secretID in the format `projects/*/secrets/*/versions/*`. From 844ed2a5ea3445e7ed16112f79cd547047710077 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:00:04 +0900 Subject: [PATCH 40/56] Update default limit of secrets to 10 --- cli/secrets/list.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/secrets/list.go b/cli/secrets/list.go index cadc24f..77ddf0a 100644 --- a/cli/secrets/list.go +++ b/cli/secrets/list.go @@ -11,7 +11,7 @@ import ( ) const ( - DefaultListSecretsLimit = 100 + DefaultListSecretsLimit = 10 ) var ( From a6c9f645c2799484def797855ffede8c3cf1715c Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:02:26 +0900 Subject: [PATCH 41/56] Refactor SecretProvider interface to use consistent parameter names --- provider/provider.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/provider.go b/provider/provider.go index d23c798..e53d0bd 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -2,7 +2,7 @@ package provider type SecretProvider interface { Close() error - ListSecrets(int) ([]string, error) - GetSecretValue(string) (string, error) - SetSecretValue(string, string) error + ListSecrets(limit int) ([]string, error) + GetSecretValue(secretID string) (string, error) + SetSecretValue(secretID string, secretValue string) error } From 17735da1b231e69a8fd179b0df37bbe8e68b548b Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:06:15 +0900 Subject: [PATCH 42/56] Truncate secrets if exceeded the limit --- provider/aws.go | 7 ++++++- provider/gcp.go | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/provider/aws.go b/provider/aws.go index c3295ea..ea40c5a 100644 --- a/provider/aws.go +++ b/provider/aws.go @@ -56,7 +56,12 @@ func (provider *AWS) ListSecrets(limit int) ([]string, error) { req.NextToken = resp.NextToken } - return secrets[:limit], nil + // truncate secrets if exceeded the limit + if len(secrets) > limit { + secrets = secrets[:limit] + } + + return secrets, nil } func (provider *AWS) GetSecretValue(secretID string) (string, error) { diff --git a/provider/gcp.go b/provider/gcp.go index 79c7fff..bc583cb 100644 --- a/provider/gcp.go +++ b/provider/gcp.go @@ -49,7 +49,12 @@ func (provider *GCP) ListSecrets(limit int) ([]string, error) { } } - return secrets[:limit], nil + // truncate secrets if exceeded the limit + if len(secrets) > limit { + secrets = secrets[:limit] + } + + return secrets, nil } // The secretID in the format `projects/*/secrets/*/versions/*`. From fd3f56971426db04298b428b3c9cf0be7f51a3a6 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:09:33 +0900 Subject: [PATCH 43/56] Refactor list command to handle secret limit constraints --- cli/secrets/list.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cli/secrets/list.go b/cli/secrets/list.go index 77ddf0a..1bce310 100644 --- a/cli/secrets/list.go +++ b/cli/secrets/list.go @@ -28,6 +28,11 @@ var listCmd = &cobra.Command{ secretProvider provider.SecretProvider ) + // check constraints + if listSecretsLimit <= 0 { + return fmt.Errorf("'--limit' flag value must be greater than 0") + } + // init ctx ctx := context.Background() From 918c92b15b39feebb45e848c27e04eea108cf9ac Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:28:24 +0900 Subject: [PATCH 44/56] Add CLI feature to introduction --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index ba0b43b..66e31e1 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,9 @@ to inject secrets strored on Cloud-based secrets managers into Kubernetes Pods, functioning as [HashiCorp Vault's Agent Sidecar Injector](https://www.vaultproject.io/docs/platform/k8s/injector). +Also, it provides a convenient CLI tool with features like `list` and `edit` to +make secret management easier than using the Cloud Console. + ## Cloud Providers ### Currently Supported From 2ba6927bec480ec4ce66333d1919d0e2a69cde1f Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:28:41 +0900 Subject: [PATCH 45/56] docs: Add table of contents to README.md --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 66e31e1..99bff4d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,21 @@ Injector](https://www.vaultproject.io/docs/platform/k8s/injector). Also, it provides a convenient CLI tool with features like `list` and `edit` to make secret management easier than using the Cloud Console. +## Contents +- [Cloud Providers](#cloud-providers) + - [Currently Supported](#currently-supported) + - [TO-BE Supported](#to-be-supported) +- [Concept](#concept) + - [Constitution](#constitution) + - [Step-by-step](#step-by-step) +- [Installation](#installation) + - [Prerequisites](#prerequisites) + - [Using Helm chart](#using-helm-chart) +- [Usage](#usage) + - [Annotations](#annotations) + - [Providers](#providers) + + ## Cloud Providers ### Currently Supported From 73f756101fa1ebd3e49920f8b3f510451283c869 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:32:53 +0900 Subject: [PATCH 46/56] Refactor table of contents in README.md for clarity --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 99bff4d..d815f9e 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ Also, it provides a convenient CLI tool with features like `list` and `edit` to make secret management easier than using the Cloud Console. ## Contents -- [Cloud Providers](#cloud-providers) - - [Currently Supported](#currently-supported) - - [TO-BE Supported](#to-be-supported) +- [Supported Cloud Providers](#cloud-providers) + - [Current](#current) + - [Planned](#planned) - [Concept](#concept) - [Constitution](#constitution) - [Step-by-step](#step-by-step) @@ -22,14 +22,13 @@ make secret management easier than using the Cloud Console. - [Annotations](#annotations) - [Providers](#providers) +## Supported Cloud Providers -## Cloud Providers - -### Currently Supported +### Current - AWS(Amazon Web Services): [Secrets Manager](https://aws.amazon.com/secrets-manager/) - GCP(Google Cloud Platform): [Secret Manager](https://cloud.google.com/secret-manager) `(BETA)` -### TO-BE Supported +### Planned - Azure: [Key Vault](https://azure.microsoft.com/services/key-vault/#getting-started) - Hashicorp: [Vault](https://www.vaultproject.io) From a5acb4462f05679482f056ccfba7016d451c6c7d Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:40:27 +0900 Subject: [PATCH 47/56] docs: Add CLI tool section --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index d815f9e..5024e23 100644 --- a/README.md +++ b/README.md @@ -123,3 +123,32 @@ following explanation. - [AWS(Amazon Web Services)](docs/aws.md) - [GCP(Google Cloud Platform)](docs/gcp.md) + +### CLI Tool + +#### List Secrets + +```bash +$ cloud-secrets-manager secrets list --provider aws --limit 3 +dev/hello-world +dev/very-precious-secret +dev/another-secret +``` +The `--limit` option is available to limit the number of secrets to be listed. + +#### Edit Secret + +```bash +$ cloud-secrets-manager secrets edit --provider aws --secret-id dev/very-precious-secret +``` + +A text editor will be opened with the secret value. After editing, save and +close the editor to update the secret value. If you want to cancel the editing, +just close the editor without saving. + +If you want to use a specific editor, set the `EDITOR` environment variable. + +```bash +$ export EDITOR=nano +$ cloud-secrets-manager secrets edit --provider aws --secret-id dev/very-precious-secret +``` From f3e0125f259e8d9f85bf820ac9717782a05d8575 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 09:41:35 +0900 Subject: [PATCH 48/56] docs: Add CLI tool section and update README.md table of contents --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5024e23..708e1c9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ functioning as [HashiCorp Vault's Agent Sidecar Injector](https://www.vaultproject.io/docs/platform/k8s/injector). Also, it provides a convenient CLI tool with features like `list` and `edit` to -make secret management easier than using the Cloud Console. +make secret management easier than using the Cloud Console. If you want to jump +into the CLI tool, please refer to the [CLI Tool](#cli-tool) section right away. ## Contents - [Supported Cloud Providers](#cloud-providers) @@ -21,6 +22,7 @@ make secret management easier than using the Cloud Console. - [Usage](#usage) - [Annotations](#annotations) - [Providers](#providers) + - [CLI Tool](#cli-tool) ## Supported Cloud Providers From 62421475d8fe5557fac36cf40aad904183b651fd Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 10:11:40 +0900 Subject: [PATCH 49/56] docs: Add CLI tool installation instructions to README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 708e1c9..19699e4 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,15 @@ following explanation. ### CLI Tool +#### Installation + +As Cloud Secrets Manager is available as a Docker image, there is no need to +install the CLI tool. Just run the Docker container as follows: + +```bash +$ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:latest +``` + #### List Secrets ```bash From d21b87eac1a4751e7e6781765248dc29e0461632 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 10:12:49 +0900 Subject: [PATCH 50/56] docs: Update README.md with CLI tool installation instructions and version tag example --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 19699e4..43eaa68 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,12 @@ install the CLI tool. Just run the Docker container as follows: $ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:latest ``` +You can change the tag to a specific version if you want like following: + +```bash +$ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:v0.4 +``` + #### List Secrets ```bash From 7c4b78679a02b50ce5cf57e8329c39571c0e4935 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 10:13:44 +0900 Subject: [PATCH 51/56] chore: Update CLI tool command in README.md for secrets management --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 43eaa68..9c40c78 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ $ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:v0.4 #### List Secrets ```bash -$ cloud-secrets-manager secrets list --provider aws --limit 3 +$ docker run --rm -it ghcr.io/h0n9/cloud-secrets-manager:latest secrets list --provider aws --limit 3 dev/hello-world dev/very-precious-secret dev/another-secret @@ -156,7 +156,7 @@ The `--limit` option is available to limit the number of secrets to be listed. #### Edit Secret ```bash -$ cloud-secrets-manager secrets edit --provider aws --secret-id dev/very-precious-secret +$ docker run --rm -it ghcr.io/h0n9/cloud-secrets-manager:latest secrets edit --provider aws --secret-id dev/very-precious-secret ``` A text editor will be opened with the secret value. After editing, save and @@ -167,5 +167,5 @@ If you want to use a specific editor, set the `EDITOR` environment variable. ```bash $ export EDITOR=nano -$ cloud-secrets-manager secrets edit --provider aws --secret-id dev/very-precious-secret +$ docker run --rm -it ghcr.io/h0n9/cloud-secrets-manager:latest secrets edit --provider aws --secret-id dev/very-precious-secret ``` From ee46bc6842d585a2563a64aca4650af89fb714d4 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 14:24:01 +0900 Subject: [PATCH 52/56] chore: Update Docker image tags in CI workflow --- .github/workflows/ci.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 08e2085..d97c8f6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,7 +12,6 @@ on: env: img-registry: ghcr.io/h0n9 img-repository: cloud-secrets-manager - img-tag: latest img-push: "false" jobs: build-push: @@ -33,18 +32,18 @@ jobs: if: ${{ github.ref_name == 'develop' }} shell: bash run: | - echo "img-tag=dev-${GITHUB_SHA::6}" >> $GITHUB_ENV + echo "img-tags=${{ env.img-registry }}/${{ env.img-repository }}:dev-${GITHUB_SHA::6}" >> $GITHUB_ENV echo "img-push=true" >> $GITHUB_ENV - name: "Set env vars (tag)" if: ${{ startsWith(github.ref_name, 'v') }} shell: bash run: | - echo "img-tag=${GITHUB_REF_NAME}" >> $GITHUB_ENV + echo "img-tags=${{ env.img-registry }}/${{ env.img-repository }}:${GITHUB_REF_NAME},${{ env.img-registry }}/${{ env.img-repository }}:latest" >> $GITHUB_ENV echo "img-push=true" >> $GITHUB_ENV - name: Build Docker image uses: docker/build-push-action@v2 with: push: ${{ env.img-push }} - tags: ${{ env.img-registry }}/${{ env.img-repository }}:${{ env.img-tag }} + tags: ${{ env.img-tags }} cache-from: type=gha,scope=cloud-secrets-manager cache-to: type=gha,mode=max,scope=cloud-secrets-manager From be1bfc24ae79b251203855c3c26a480678dfee3c Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 14:25:27 +0900 Subject: [PATCH 53/56] chore: Update Docker image tags in CI workflow --- .github/workflows/ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d97c8f6..79dc4b5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,6 +12,7 @@ on: env: img-registry: ghcr.io/h0n9 img-repository: cloud-secrets-manager + img-tags: ghcr.io/h0n9/cloud-secrets-manager:tmp img-push: "false" jobs: build-push: From 63abfa35a0155064e3e49f7983be423873134bd6 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 14:26:39 +0900 Subject: [PATCH 54/56] chore: Update Docker image tags and platforms in CI workflow --- .github/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 79dc4b5..1b79473 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,6 +14,7 @@ env: img-repository: cloud-secrets-manager img-tags: ghcr.io/h0n9/cloud-secrets-manager:tmp img-push: "false" + img-platforms: linux/amd64 jobs: build-push: runs-on: ubuntu-22.04 @@ -41,9 +42,11 @@ jobs: run: | echo "img-tags=${{ env.img-registry }}/${{ env.img-repository }}:${GITHUB_REF_NAME},${{ env.img-registry }}/${{ env.img-repository }}:latest" >> $GITHUB_ENV echo "img-push=true" >> $GITHUB_ENV + echo "img-platforms=linux/amd64,linux/arm64" >> $GITHUB_ENV - name: Build Docker image uses: docker/build-push-action@v2 with: + platforms: ${{ env.img-platforms }} push: ${{ env.img-push }} tags: ${{ env.img-tags }} cache-from: type=gha,scope=cloud-secrets-manager From ff71f610152f8475f2ba9557725e98b0608131a4 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 14:43:24 +0900 Subject: [PATCH 55/56] chore: Update Docker image tags in CI workflow --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c40c78..32689d3 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ $ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:latest You can change the tag to a specific version if you want like following: ```bash -$ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:v0.4 +$ dokcer pull ghcr.io/h0n9/cloud-secrets-manager:v0.5 ``` #### List Secrets From ff3b92a8a97a2cb65e78877e22d7fa1b1bb50a48 Mon Sep 17 00:00:00 2001 From: h0n9 Date: Fri, 3 May 2024 15:01:31 +0900 Subject: [PATCH 56/56] chore: Update version to v0.5 in manager.go --- manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.go b/manager.go index 020050b..fa1b24b 100644 --- a/manager.go +++ b/manager.go @@ -2,7 +2,7 @@ package manager const ( Name = "cloud-secrets-manager" - Version = "v0.4" + Version = "v0.5" AnnotationPrefix = "cloud-secrets-manager.h0n9.postie.chat" InjectorVolumeMountPath = "/tmp/cloud-secrets-injector/secrets" )