From 311fbad1b70db12a88800b74ab546e33c8164cf6 Mon Sep 17 00:00:00 2001 From: Simar Date: Wed, 19 Jun 2024 00:06:00 -0600 Subject: [PATCH] chore(deps): Update trivy pkg to latest --- .../google/iam/no_default_network_test.go | 54 +++------ ...default_service_account_assignment_test.go | 81 +++++--------- ...evel_service_account_impersonation_test.go | 53 ++++----- .../no_privileged_service_accounts_test.go | 54 +++------ ...default_service_account_assignment_test.go | 59 ++++------ ...evel_service_account_impersonation_test.go | 45 +++----- .../iam/no_user_granted_permissions_test.go | 75 +++++-------- go.mod | 50 ++++----- go.sum | 105 ++++++++---------- 9 files changed, 218 insertions(+), 358 deletions(-) diff --git a/checks/cloud/google/iam/no_default_network_test.go b/checks/cloud/google/iam/no_default_network_test.go index d26581e8..094da5a9 100644 --- a/checks/cloud/google/iam/no_default_network_test.go +++ b/checks/cloud/google/iam/no_default_network_test.go @@ -22,15 +22,10 @@ func TestCheckNoDefaultNetwork(t *testing.T) { { name: "Project automatic network creation enabled", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { - Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ - { - Metadata: trivyTypes.NewTestMetadata(), - AutoCreateNetwork: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + AutoCreateNetwork: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), }, }, }, @@ -39,32 +34,14 @@ func TestCheckNoDefaultNetwork(t *testing.T) { { name: "Project automatic network creation enabled #2", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { - Metadata: trivyTypes.NewTestMetadata(), - - Folders: []iam.Folder{ - { - Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ - { - Metadata: trivyTypes.NewTestMetadata(), - AutoCreateNetwork: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - }, - }, - Folders: []iam.Folder{ - { - Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ - { - Metadata: trivyTypes.NewTestMetadata(), - AutoCreateNetwork: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), - }, - }, - }, - }, - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + AutoCreateNetwork: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + }, + { + Metadata: trivyTypes.NewTestMetadata(), + AutoCreateNetwork: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), }, }, }, @@ -73,15 +50,10 @@ func TestCheckNoDefaultNetwork(t *testing.T) { { name: "Project automatic network creation disabled", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { - Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ - { - Metadata: trivyTypes.NewTestMetadata(), - AutoCreateNetwork: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + AutoCreateNetwork: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), }, }, }, diff --git a/checks/cloud/google/iam/no_folder_level_default_service_account_assignment_test.go b/checks/cloud/google/iam/no_folder_level_default_service_account_assignment_test.go index 95249a39..8203f548 100644 --- a/checks/cloud/google/iam/no_folder_level_default_service_account_assignment_test.go +++ b/checks/cloud/google/iam/no_folder_level_default_service_account_assignment_test.go @@ -22,20 +22,14 @@ func TestCheckNoFolderLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default service account enabled", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - - Folders: []iam.Folder{ + Members: []iam.Member{ { - Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - DefaultServiceAccount: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), - Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + DefaultServiceAccount: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), + Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), }, }, }, @@ -46,19 +40,14 @@ func TestCheckNoFolderLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default service account disabled but default account data provided", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Members: []iam.Member{ { - Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Member: trivyTypes.String("123-compute@developer.gserviceaccount.com", trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Member: trivyTypes.String("123-compute@developer.gserviceaccount.com", trivyTypes.NewTestMetadata()), }, }, }, @@ -69,21 +58,15 @@ func TestCheckNoFolderLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default service account disabled but default account data provided #2", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - - Folders: []iam.Folder{ + Bindings: []iam.Binding{ { - Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Members: []trivyTypes.StringValue{ - trivyTypes.String("123-compute@developer.gserviceaccount.com", trivyTypes.NewTestMetadata())}, - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Members: []trivyTypes.StringValue{ + trivyTypes.String("123-compute@developer.gserviceaccount.com", trivyTypes.NewTestMetadata())}, }, }, }, @@ -94,28 +77,22 @@ func TestCheckNoFolderLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default service account disabled and proper account data provided", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - - Folders: []iam.Folder{ + Members: []iam.Member{ { - Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), - }, - }, - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Members: []trivyTypes.StringValue{ - trivyTypes.String("proper@account.com", trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), + }, + }, + Bindings: []iam.Binding{ + { + Metadata: trivyTypes.NewTestMetadata(), + IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Members: []trivyTypes.StringValue{ + trivyTypes.String("proper@account.com", trivyTypes.NewTestMetadata()), }, }, }, diff --git a/checks/cloud/google/iam/no_folder_level_service_account_impersonation_test.go b/checks/cloud/google/iam/no_folder_level_service_account_impersonation_test.go index acfd1c53..e6511f92 100644 --- a/checks/cloud/google/iam/no_folder_level_service_account_impersonation_test.go +++ b/checks/cloud/google/iam/no_folder_level_service_account_impersonation_test.go @@ -22,18 +22,13 @@ func TestCheckNoFolderLevelServiceAccountImpersonation(t *testing.T) { { name: "Member role set to service account user", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Members: []iam.Member{ { Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/iam.serviceAccountUser", trivyTypes.NewTestMetadata()), - }, - }, + Role: trivyTypes.String("roles/iam.serviceAccountUser", trivyTypes.NewTestMetadata()), }, }, }, @@ -42,21 +37,16 @@ func TestCheckNoFolderLevelServiceAccountImpersonation(t *testing.T) { expected: true, }, { - name: "Member role set to service account token creator", + name: "Binding role set to service account token creator", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Bindings: []iam.Binding{ { - Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Role: trivyTypes.String("roles/iam.serviceAccountTokenCreator", trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Role: trivyTypes.String("roles/iam.serviceAccountTokenCreator", trivyTypes.NewTestMetadata()), }, }, }, @@ -67,25 +57,20 @@ func TestCheckNoFolderLevelServiceAccountImpersonation(t *testing.T) { { name: "Member role set to something particular", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Members: []iam.Member{ { Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/nothingInParticular", trivyTypes.NewTestMetadata()), - }, - }, - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Role: trivyTypes.String("roles/nothingInParticular", trivyTypes.NewTestMetadata()), - }, - }, + Role: trivyTypes.String("roles/nothingInParticular", trivyTypes.NewTestMetadata()), + }, + }, + Bindings: []iam.Binding{ + { + Metadata: trivyTypes.NewTestMetadata(), + IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Role: trivyTypes.String("roles/nothingInParticular", trivyTypes.NewTestMetadata()), }, }, }, diff --git a/checks/cloud/google/iam/no_privileged_service_accounts_test.go b/checks/cloud/google/iam/no_privileged_service_accounts_test.go index bda7066b..257ebf07 100644 --- a/checks/cloud/google/iam/no_privileged_service_accounts_test.go +++ b/checks/cloud/google/iam/no_privileged_service_accounts_test.go @@ -40,25 +40,15 @@ func TestCheckNoPrivilegedServiceAccounts(t *testing.T) { { name: "Service account granted editor role", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Bindings: []iam.Binding{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ - { - Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/editor", trivyTypes.NewTestMetadata()), - Members: []trivyTypes.StringValue{ - trivyTypes.String("serviceAccount:${google_service_account.test.email}", trivyTypes.NewTestMetadata()), - }, - }, - }, - }, + Role: trivyTypes.String("roles/editor", trivyTypes.NewTestMetadata()), + Members: []trivyTypes.StringValue{ + trivyTypes.String("serviceAccount:${google_service_account.test.email}", trivyTypes.NewTestMetadata()), }, }, }, @@ -70,32 +60,22 @@ func TestCheckNoPrivilegedServiceAccounts(t *testing.T) { { name: "No service account with excessive privileges", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Members: []iam.Member{ + { + Metadata: trivyTypes.NewTestMetadata(), + Role: trivyTypes.String("roles/owner", trivyTypes.NewTestMetadata()), + Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), + }, + }, + Bindings: []iam.Binding{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ - { - Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/owner", trivyTypes.NewTestMetadata()), - Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), - }, - }, - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/logging.logWriter", trivyTypes.NewTestMetadata()), - Members: []trivyTypes.StringValue{ - trivyTypes.String("serviceAccount:${google_service_account.test.email}", trivyTypes.NewTestMetadata()), - }, - }, - }, - }, + Role: trivyTypes.String("roles/logging.logWriter", trivyTypes.NewTestMetadata()), + Members: []trivyTypes.StringValue{ + trivyTypes.String("serviceAccount:${google_service_account.test.email}", trivyTypes.NewTestMetadata()), }, }, }, diff --git a/checks/cloud/google/iam/no_project_level_default_service_account_assignment_test.go b/checks/cloud/google/iam/no_project_level_default_service_account_assignment_test.go index 6ba83d01..10de40a3 100644 --- a/checks/cloud/google/iam/no_project_level_default_service_account_assignment_test.go +++ b/checks/cloud/google/iam/no_project_level_default_service_account_assignment_test.go @@ -22,19 +22,14 @@ func TestCheckNoProjectLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default service account disabled but default account used", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Members: []iam.Member{ { - Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Member: trivyTypes.String("123-compute@developer.gserviceaccount.com", trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Member: trivyTypes.String("123-compute@developer.gserviceaccount.com", trivyTypes.NewTestMetadata()), }, }, }, @@ -45,18 +40,13 @@ func TestCheckNoProjectLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default account enabled", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Bindings: []iam.Binding{ { - Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - IncludesDefaultServiceAccount: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + IncludesDefaultServiceAccount: trivyTypes.Bool(true, trivyTypes.NewTestMetadata()), }, }, }, @@ -67,27 +57,22 @@ func TestCheckNoProjectLevelDefaultServiceAccountAssignment(t *testing.T) { { name: "Default accounts disabled and proper accounts provided", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Members: []iam.Member{ { - Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), - }, - }, - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), - Members: []trivyTypes.StringValue{ - trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), - }, - }, + Metadata: trivyTypes.NewTestMetadata(), + DefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Member: trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), + }, + }, + Bindings: []iam.Binding{ + { + Metadata: trivyTypes.NewTestMetadata(), + IncludesDefaultServiceAccount: trivyTypes.Bool(false, trivyTypes.NewTestMetadata()), + Members: []trivyTypes.StringValue{ + trivyTypes.String("proper@email.com", trivyTypes.NewTestMetadata()), }, }, }, diff --git a/checks/cloud/google/iam/no_project_level_service_account_impersonation_test.go b/checks/cloud/google/iam/no_project_level_service_account_impersonation_test.go index 746b0a33..9ad8f329 100644 --- a/checks/cloud/google/iam/no_project_level_service_account_impersonation_test.go +++ b/checks/cloud/google/iam/no_project_level_service_account_impersonation_test.go @@ -22,18 +22,13 @@ func TestCheckNoProjectLevelServiceAccountImpersonation(t *testing.T) { { name: "Project member role set to service account user", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Members: []iam.Member{ { Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/iam.serviceAccountUser", trivyTypes.NewTestMetadata()), - }, - }, + Role: trivyTypes.String("roles/iam.serviceAccountUser", trivyTypes.NewTestMetadata()), }, }, }, @@ -44,18 +39,13 @@ func TestCheckNoProjectLevelServiceAccountImpersonation(t *testing.T) { { name: "Project member role set to service account token creator", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Bindings: []iam.Binding{ { Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/iam.serviceAccountTokenCreator", trivyTypes.NewTestMetadata()), - }, - }, + Role: trivyTypes.String("roles/iam.serviceAccountTokenCreator", trivyTypes.NewTestMetadata()), }, }, }, @@ -66,24 +56,19 @@ func TestCheckNoProjectLevelServiceAccountImpersonation(t *testing.T) { { name: "Project members set to custom roles", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Members: []iam.Member{ { Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/specific-role", trivyTypes.NewTestMetadata()), - }, - }, - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Role: trivyTypes.String("roles/specific-role", trivyTypes.NewTestMetadata()), - }, - }, + Role: trivyTypes.String("roles/specific-role", trivyTypes.NewTestMetadata()), + }, + }, + Bindings: []iam.Binding{ + { + Metadata: trivyTypes.NewTestMetadata(), + Role: trivyTypes.String("roles/specific-role", trivyTypes.NewTestMetadata()), }, }, }, diff --git a/checks/cloud/google/iam/no_user_granted_permissions_test.go b/checks/cloud/google/iam/no_user_granted_permissions_test.go index 28eb24cb..84f78fc2 100644 --- a/checks/cloud/google/iam/no_user_granted_permissions_test.go +++ b/checks/cloud/google/iam/no_user_granted_permissions_test.go @@ -22,28 +22,23 @@ func TestCheckNoUserGrantedPermissions(t *testing.T) { { name: "Permissions granted to users", input: iam.IAM{ - Organizations: []iam.Organization{ + Projects: []iam.Project{ { Metadata: trivyTypes.NewTestMetadata(), - Projects: []iam.Project{ + Members: []iam.Member{ { Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Member: trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), - Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), - }, - }, - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Members: []trivyTypes.StringValue{ - trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), - }, - Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), - }, + Member: trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), + Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), + }, + }, + Bindings: []iam.Binding{ + { + Metadata: trivyTypes.NewTestMetadata(), + Members: []trivyTypes.StringValue{ + trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), }, + Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), }, }, }, @@ -72,19 +67,14 @@ func TestCheckNoUserGrantedPermissions(t *testing.T) { { name: "Permissions granted to users #3", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Members: []iam.Member{ { Metadata: trivyTypes.NewTestMetadata(), - Members: []iam.Member{ - { - Metadata: trivyTypes.NewTestMetadata(), - Member: trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), - Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), - }, - }, + Member: trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), + Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), }, }, }, @@ -95,21 +85,16 @@ func TestCheckNoUserGrantedPermissions(t *testing.T) { { name: "Permissions granted to users #4", input: iam.IAM{ - Organizations: []iam.Organization{ + Folders: []iam.Folder{ { Metadata: trivyTypes.NewTestMetadata(), - Folders: []iam.Folder{ + Bindings: []iam.Binding{ { Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Members: []trivyTypes.StringValue{ - trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), - }, - Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), - }, + Members: []trivyTypes.StringValue{ + trivyTypes.String("user:test@example.com", trivyTypes.NewTestMetadata()), }, + Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), }, }, }, @@ -139,18 +124,18 @@ func TestCheckNoUserGrantedPermissions(t *testing.T) { Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), }, }, - Folders: []iam.Folder{ + }, + }, + Folders: []iam.Folder{ + { + Metadata: trivyTypes.NewTestMetadata(), + Bindings: []iam.Binding{ { Metadata: trivyTypes.NewTestMetadata(), - Bindings: []iam.Binding{ - { - Metadata: trivyTypes.NewTestMetadata(), - Members: []trivyTypes.StringValue{ - trivyTypes.String("group:test@example.com", trivyTypes.NewTestMetadata()), - }, - Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), - }, + Members: []trivyTypes.StringValue{ + trivyTypes.String("group:test@example.com", trivyTypes.NewTestMetadata()), }, + Role: trivyTypes.String("some-role", trivyTypes.NewTestMetadata()), }, }, }, diff --git a/go.mod b/go.mod index 9e4bd63c..6adb0bdb 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.2 require ( - github.com/aquasecurity/trivy v0.51.2-0.20240527214045-349caf96bc3d + github.com/aquasecurity/trivy v0.52.1-0.20240619045823-eb6d0d9779db github.com/docker/docker v26.1.3+incompatible github.com/liamg/iamgo v0.0.9 github.com/liamg/memoryfs v1.6.0 @@ -13,14 +13,14 @@ require ( github.com/owenrumney/squealer v1.2.2 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.31.0 + gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 mvdan.cc/sh/v3 v3.8.0 ) require ( cloud.google.com/go v0.112.1 // indirect - cloud.google.com/go/compute v1.25.1 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.39.1 // indirect dario.cat/mergo v1.0.0 // indirect @@ -35,15 +35,15 @@ require ( github.com/alecthomas/chroma v0.10.0 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect - github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492 // indirect + github.com/aquasecurity/go-version v0.0.0-20240603093900-cf8a8d29271d // indirect github.com/aws/aws-sdk-go v1.53.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 // indirect - github.com/cenkalti/backoff/v4 v4.2.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/cloudflare/circl v1.3.7 // indirect @@ -83,12 +83,12 @@ require ( github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.12.3 // indirect github.com/gorilla/mux v1.8.1 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-getter v1.7.4 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl/v2 v2.20.1 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -117,7 +117,7 @@ require ( github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect - github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/peterh/liner v1.2.2 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/errors v0.9.1 // indirect @@ -142,7 +142,7 @@ require ( github.com/spf13/cast v1.6.0 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.18.2 // indirect + github.com/spf13/viper v1.19.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect github.com/tklauser/go-sysconf v0.3.13 // indirect @@ -157,37 +157,35 @@ require ( github.com/zclconf/go-cty-yaml v1.0.3 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect + go.opentelemetry.io/otel v1.27.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect - go.opentelemetry.io/otel/sdk v1.24.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect - go.opentelemetry.io/proto/otlp v1.1.0 // indirect + go.opentelemetry.io/otel/metric v1.27.0 // indirect + go.opentelemetry.io/otel/sdk v1.27.0 // indirect + go.opentelemetry.io/otel/trace v1.27.0 // indirect + go.opentelemetry.io/proto/otlp v1.2.0 // indirect go.uber.org/automaxprocs v1.5.3 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.19.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/api v0.172.0 // indirect - google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/grpc v1.64.0 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/utils v0.0.0-20231127182322-b307cd553661 // indirect oras.land/oras-go/v2 v2.3.1 // indirect sigs.k8s.io/yaml v1.4.0 // indirect diff --git a/go.sum b/go.sum index e180a7df..d48654f3 100644 --- a/go.sum +++ b/go.sum @@ -68,10 +68,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= -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/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= @@ -216,10 +214,10 @@ github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4t github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= -github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492 h1:rcEG5HI490FF0a7zuvxOxen52ddygCfNVjP0XOCMl+M= -github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492/go.mod h1:9Beu8XsUNNfzml7WBf3QmyPToP1wm1Gj/Vc5UJKqTzU= -github.com/aquasecurity/trivy v0.51.2-0.20240527214045-349caf96bc3d h1:bZ0GSDma9vT0wwfU5XZoauM9ma1jvYkoeDllnCsQ1PU= -github.com/aquasecurity/trivy v0.51.2-0.20240527214045-349caf96bc3d/go.mod h1:IdxA0M9/6MpT+GvwEtGDnU1O7hZ+M1kWbDoNJQL0BCw= +github.com/aquasecurity/go-version v0.0.0-20240603093900-cf8a8d29271d h1:4zour5Sh9chOg+IqIinIcJ3qtr3cIf8FdFY6aArlXBw= +github.com/aquasecurity/go-version v0.0.0-20240603093900-cf8a8d29271d/go.mod h1:1cPOp4BaQZ1G2F5fnw4dFz6pkOyXJI9KTuak8ghIl3U= +github.com/aquasecurity/trivy v0.52.1-0.20240619045823-eb6d0d9779db h1:YmLi+1oP7N5sdnwJJOl+699SnQWp30RChdx5wFeKFU8= +github.com/aquasecurity/trivy v0.52.1-0.20240619045823-eb6d0d9779db/go.mod h1:n6nge/wMfmdNfWxKnSFMDoOYStcYDrZDGrbkP2KASIk= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= @@ -228,8 +226,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.53.0 h1:MMo1x1ggPPxDfHMXJnQudTbGXYlD4UigUAud1DJxPVo= github.com/aws/aws-sdk-go v1.53.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2 h1:gYSJhNiOF6J9xaYxu2NFNstoiNELwt0T9w29FxSfN+Y= -github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2/go.mod h1:739CllldowZiPPsDFcJHNF4FXrVxaSGVnZ9Ez9Iz9hc= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 h1:UAxBuh0/8sFJk1qOkvOKewP5sWeWaTPDknbQz0ZkDm0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1/go.mod h1:hWjsYGjVuqCgfoveVcVFPXIWgz0aByzwaxKlN1StKcM= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -240,8 +238,8 @@ github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwN github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 h1:3uZCA/BLTIu+DqCfguByNMJa2HVHpXvjfy0Dy7g6fuA= github.com/bytecodealliance/wasmtime-go/v3 v3.0.2/go.mod h1:RnUjnIXxEJcL6BgCvNyzCCRzZcxCgsZCi+RNlvYor5Q= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -283,7 +281,6 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0= github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= @@ -482,8 +479,8 @@ github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.4 h1:3yQjWuxICvSpYwqSayAdKRFcvBl1y/vogCxczWSmix0= @@ -492,8 +489,9 @@ github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhE github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -594,8 +592,8 @@ github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2sz github.com/owenrumney/squealer v1.2.2 h1:zsnZSwkWi8Y2lgwmg77b565vlHQovlvBrSBzmAs3oiE= github.com/owenrumney/squealer v1.2.2/go.mod h1:pDCW33bWJ2kDOuz7+2BSXDgY38qusVX0MtjPCSFtdSo= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= -github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/peterh/liner v1.2.2 h1:aJ4AOodmL+JxOZZEL2u9iJf8omNRpqHc/EbrK+3mAXw= github.com/peterh/liner v1.2.2/go.mod h1:xFwJyiKIXJZUKItq5dGHZSTBRAuG/CpeNpWLyiNRNwI= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= @@ -628,7 +626,6 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= @@ -644,7 +641,6 @@ github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFt github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= @@ -669,11 +665,12 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= -github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stretchr/objx v0.1.0/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/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= @@ -703,7 +700,6 @@ github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljT github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= @@ -738,25 +734,25 @@ 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/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 h1:9l89oX4ba9kHbBol3Xin3leYJ+252h0zszDtBwyKe2A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0/go.mod h1:XLZfZboOJWHNKUv7eH0inh0E9VV6eWDFB/9yJyTLPp0= +go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= +go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 h1:digkEZCJWobwBqMwC0cwCq8/wkkRy/OowZg5OArWZrM= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0/go.mod h1:/OpE/y70qVkndM0TrxT4KBoN3RsFZP0QaofcfYrj76I= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= -go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= +go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= +go.opentelemetry.io/otel/sdk v1.27.0 h1:mlk+/Y1gLPLn84U4tI8d3GNJmGT/eXe3ZuOXN9kTWmI= +go.opentelemetry.io/otel/sdk v1.27.0/go.mod h1:Ha9vbLwJE6W86YstIywK2xFfPjbWlCuwPtMkKdz/Y4A= +go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= +go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= -go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= +go.opentelemetry.io/proto/otlp v1.2.0 h1:pVeZGk7nXDC9O2hncA6nHldxEjm6LByfA2aN8IOkz94= +go.opentelemetry.io/proto/otlp v1.2.0/go.mod h1:gGpR8txAl5M03pDhMC79G6SdqNV26naRm/KDsgaHD8A= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -771,8 +767,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -861,8 +857,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= 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= @@ -888,8 +884,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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= @@ -982,13 +978,13 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.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.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= 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= @@ -998,10 +994,9 @@ 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.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= 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= @@ -1061,8 +1056,8 @@ 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.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= -golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 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= @@ -1130,8 +1125,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1235,10 +1228,10 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 h1:ImUcDPHjTrAqNhlOkSocDLfG9rrNHH7w7uoKWPaWZ8s= google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7/go.mod h1:/3XmxOjePkvmKrHuBy4zNFw7IzxJXtAgdpXi8Ll990U= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5 h1:P8OJ/WCl/Xo4E4zoe4/bifHpSmmKwARqyqE4nW6J2GQ= +google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5/go.mod h1:RGnPtTG7r4i8sPlNyDeikXF99hMM+hN6QMm4ooG9g2g= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 h1:AgADTJarZTBqgjiUzRgfaBchgYB3/WFTC80GPwsMcRI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= 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=