diff --git a/api/gen/v1alpha/openapi.json b/api/gen/v1alpha/openapi.json deleted file mode 100644 index 9f748bf..0000000 --- a/api/gen/v1alpha/openapi.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "openapi" : "3.0.1", - "info" : { - "title" : "v1alpha/core.proto", - "version" : "version not set" - }, - "servers" : [ { - "url" : "/" - } ], - "tags" : [ { - "name" : "CheckPermission" - }, { - "name" : "LicenseService" - }, { - "name" : "ImportService" - }, { - "name" : "HealthCheckService" - } ], - "paths" : { - "/v1alpha/check" : { - "post" : { - "tags" : [ "CheckPermission" ], - "operationId" : "CheckPermission_CheckPermission", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaCheckPermissionRequest" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaCheckPermissionResponse" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - }, - "x-codegen-request-body-name" : "body" - } - }, - "/v1alpha/healthcheck" : { - "get" : { - "tags" : [ "HealthCheckService" ], - "operationId" : "HealthCheckService_HealthCheck", - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaEmpty" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - } - } - }, - "/v1alpha/orgs/{orgId}/entitlements/{serviceId}" : { - "post" : { - "tags" : [ "LicenseService" ], - "operationId" : "LicenseService_EntitleOrg", - "parameters" : [ { - "name" : "orgId", - "in" : "path", - "description" : "the ID of an org to entitle", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "serviceId", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EntitleOrgRequest" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaEntitleOrgResponse" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - }, - "x-codegen-request-body-name" : "body" - } - }, - "/v1alpha/orgs/{orgId}/import" : { - "post" : { - "tags" : [ "ImportService" ], - "operationId" : "ImportService_ImportOrg", - "parameters" : [ { - "name" : "orgId", - "in" : "path", - "description" : "the ID of an org to import", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "title" : "ImportOrgRequest to trigger an import for an orgs users into spicedb", - "type" : "object" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaImportOrgResponse" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - }, - "x-codegen-request-body-name" : "body" - } - }, - "/v1alpha/orgs/{orgId}/licenses/{serviceId}" : { - "get" : { - "tags" : [ "LicenseService" ], - "operationId" : "LicenseService_GetLicense", - "parameters" : [ { - "name" : "orgId", - "in" : "path", - "description" : "The id of an license-able organization.", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "serviceId", - "in" : "path", - "description" : "A \"serviceId\" is an arbitrary identifier for a service with limited access that may be granted to an organization.", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaGetLicenseResponse" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - } - }, - "post" : { - "tags" : [ "LicenseService" ], - "operationId" : "LicenseService_ModifySeats", - "parameters" : [ { - "name" : "orgId", - "in" : "path", - "description" : "The id of an license-able organization.", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "serviceId", - "in" : "path", - "description" : "A \"serviceId\" is an arbitrary identifier for a service with limited access that may be granted to an organization.", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/licenses_serviceId_body" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaModifySeatsResponse" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - }, - "x-codegen-request-body-name" : "body" - } - }, - "/v1alpha/orgs/{orgId}/licenses/{serviceId}/seats" : { - "get" : { - "tags" : [ "LicenseService" ], - "operationId" : "LicenseService_GetSeats", - "parameters" : [ { - "name" : "orgId", - "in" : "path", - "description" : "The id of an license-able organization.", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "serviceId", - "in" : "path", - "description" : "A \"serviceId\" is an arbitrary identifier for a service with limited access that may be granted to an organization.", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "includeUsers", - "in" : "query", - "description" : "true: include enriched user representation. false: do not include (only IDs). Default: true.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "boolean" - } - }, { - "name" : "filter", - "in" : "query", - "description" : "filter, either assigned or assignable users returned. Default: assigned.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string", - "default" : "assigned", - "enum" : [ "assigned", "assignable" ] - } - } ], - "responses" : { - "200" : { - "description" : "A successful response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/v1alphaGetSeatsResponse" - } - } - } - }, - "default" : { - "description" : "An unexpected error response.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/rpcStatus" - } - } - } - } - } - } - } - }, - "components" : { - "schemas" : { - "protobufAny" : { - "type" : "object", - "properties" : { - "@type" : { - "type" : "string" - } - }, - "additionalProperties" : { - "type" : "object" - } - }, - "rpcStatus" : { - "type" : "object", - "properties" : { - "code" : { - "type" : "integer", - "format" : "int32" - }, - "message" : { - "type" : "string" - }, - "details" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/protobufAny" - } - } - } - }, - "v1alphaCheckPermissionRequest" : { - "type" : "object", - "properties" : { - "subject" : { - "type" : "string" - }, - "operation" : { - "type" : "string" - }, - "resourcetype" : { - "type" : "string" - }, - "resourceid" : { - "type" : "string" - } - } - }, - "v1alphaCheckPermissionResponse" : { - "type" : "object", - "properties" : { - "result" : { - "type" : "boolean" - }, - "description" : { - "type" : "string" - } - } - }, - "v1alphaEmpty" : { - "type" : "object" - }, - "v1alphaEntitleOrgResponse" : { - "title" : "EntitleOrgResponse is the response when entitling an org", - "type" : "object" - }, - "v1alphaGetLicenseResponse" : { - "type" : "object", - "properties" : { - "seatsTotal" : { - "type" : "string", - "description" : "Total number of seats assignable.", - "format" : "int64" - }, - "seatsAvailable" : { - "type" : "string", - "description" : "Current number of available seats which can be assigned.", - "format" : "int64" - } - } - }, - "v1alphaGetSeatsResponse" : { - "type" : "object", - "properties" : { - "users" : { - "type" : "array", - "description" : "Just user IDs, unless \"includeUsers\" = true.", - "items" : { - "$ref" : "#/components/schemas/v1alphaGetSeatsUserRepresentation" - } - } - } - }, - "v1alphaGetSeatsUserRepresentation" : { - "type" : "object", - "properties" : { - "displayName" : { - "type" : "string" - }, - "id" : { - "type" : "string" - }, - "assigned" : { - "type" : "boolean" - }, - "firstName" : { - "type" : "string" - }, - "lastName" : { - "type" : "string" - }, - "username" : { - "type" : "string" - } - }, - "description" : "we may return more userinfo, this is a starting point." - }, - "v1alphaImportOrgResponse" : { - "title" : "ImportOrgResponse", - "type" : "object", - "properties" : { - "importedUsersCount" : { - "title" : "Count of how many users were imported", - "type" : "string", - "format" : "uint64" - }, - "notImportedUsersCount" : { - "title" : "Count of how many users were not imported, e.g. because they already exist", - "type" : "string", - "format" : "uint64" - } - } - }, - "v1alphaModifySeatsResponse" : { - "type" : "object" - }, - "v1alphaSeatFilterType" : { - "type" : "string", - "default" : "assigned", - "enum" : [ "assigned", "assignable" ] - }, - "EntitleOrgRequest" : { - "title" : "EntitleOrgRequest", - "type" : "object", - "properties" : { - "maxSeats" : { - "type" : "string", - "description" : "the amount of seats that are granted for this org.", - "format" : "int64" - } - } - }, - "licenses_serviceId_body" : { - "type" : "object", - "properties" : { - "assign" : { - "type" : "array", - "description" : "User IDs to assign to the license.", - "items" : { - "type" : "string" - } - }, - "unassign" : { - "type" : "array", - "description" : "User IDs to remove from the license.", - "items" : { - "type" : "string" - } - } - }, - "description" : "ModifySeatsRequest assuming we get the userId etc from the requester in the authorization header to validate if an \"admin\" can actually add licenses." - } - } - }, - "x-original-swagger-version" : "2.0" -} \ No newline at end of file diff --git a/api/gen/v1alpha/openapi.yaml b/api/gen/v1alpha/openapi.yaml deleted file mode 100644 index 4443786..0000000 --- a/api/gen/v1alpha/openapi.yaml +++ /dev/null @@ -1,566 +0,0 @@ -openapi: 3.0.1 -info: - title: CIAM Authz - description: This is the CIAM-Authz service based on the OpenAPI 2.0 specification. - contact: - email: ciam-authz@redhat.com - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: version not set -servers: -- url: / -tags: -- name: CheckPermission -- name: LicenseService -- name: ImportService -- name: HealthCheckService -- name: AuthZ - description: Everything about your AuthZ - externalDocs: - description: CIAM AuthZ - url: http:// -- name: user - description: Operations about user -paths: - /v1alpha/check: - post: - tags: - - CheckPermission - summary: Checks the permission and returns allowed (true) or not allowed (false) - description: CheckPermission endpoint is used by the clients to determine if - the given "subject" has the given permission "Operation" on a given "Resource" - operationId: CheckPermission_CheckPermission - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaCheckPermissionRequest' - required: true - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaCheckPermissionResponse' - example: - description: "" - result: true - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' - x-codegen-request-body-name: body - /v1alpha/healthcheck: - get: - tags: - - HealthCheckService - summary: Health check for the AuthZ service. - description: "Health check endpoint for the \"authz\" service, returns \"HTTP\ - \ 200 OK\" if the service is healthy (up and running) \n" - operationId: HealthCheckService_HealthCheck - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaEmpty' - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' - /v1alpha/orgs/{orgId}/entitlements/{serviceId}: - post: - tags: - - LicenseService - summary: Entitle an Org access through a seat based license for a service. - description: | - Grants a given Org a seat based license to a given service. A maximum number of entitled seats - operationId: LicenseService_EntitleOrg - parameters: - - name: orgId - in: path - description: the ID of an org to entitle - required: true - style: simple - explode: false - schema: - type: string - - name: serviceId - in: path - required: true - style: simple - explode: false - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EntitleOrgRequest' - required: true - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaEntitleOrgResponse' - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' - x-codegen-request-body-name: body - /v1alpha/orgs/{orgId}/import: - post: - tags: - - ImportService - operationId: ImportService_ImportOrg - parameters: - - name: orgId - in: path - description: the ID of an org to import - required: true - style: simple - explode: false - schema: - type: string - requestBody: - content: - application/json: - schema: - title: ImportOrgRequest to trigger an import for an orgs users into - spicedb - type: object - required: true - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaImportOrgResponse' - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' - x-codegen-request-body-name: body - /v1alpha/orgs/{orgId}/licenses/{serviceId}: - get: - tags: - - LicenseService - summary: Summarize a license. - description: | - Returns information about the license, including the number of entitled seats (maximum assignable) and the current number of available seats. - operationId: LicenseService_GetLicense - parameters: - - name: orgId - in: path - description: The id of an license-able organization. - required: true - style: simple - explode: false - schema: - type: string - - name: serviceId - in: path - description: A "serviceId" is an arbitrary identifier for a service with limited - access that may be granted to an organization. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaGetLicenseResponse' - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' - post: - tags: - - LicenseService - summary: Assign or unassign users to/from the license. - description: | - Assign or unassign users to or from the license. Users assigned may access the service identified by serviceId as contracted with an organization (identified by orgId). Assigned users consume a limited number of seats in a license. - operationId: LicenseService_ModifySeats - parameters: - - name: orgId - in: path - description: The id of an license-able organization. - required: true - style: simple - explode: false - schema: - type: string - - name: serviceId - in: path - description: A "serviceId" is an arbitrary identifier for a service with limited - access that may be granted to an organization. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/licenses_serviceId_body' - required: true - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaModifySeatsResponse' - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' - x-codegen-request-body-name: body - /v1alpha/orgs/{orgId}/licenses/{serviceId}/seats: - get: - tags: - - LicenseService - summary: Gets user details with filters. - description: Get details of users who are assigned to the license or available - to be assigned. - operationId: LicenseService_GetSeats - parameters: - - name: orgId - in: path - description: The id of an license-able organization. - required: true - style: simple - explode: false - schema: - type: string - - name: serviceId - in: path - description: A "serviceId" is an arbitrary identifier for a service with limited - access that may be granted to an organization. - required: true - style: simple - explode: false - schema: - type: string - - name: includeUsers - in: query - description: "true: include enriched user representation. false: do not include\ - \ (only IDs). Default: true." - required: false - style: form - explode: true - schema: - type: boolean - - name: filter - in: query - description: "filter, either assigned or assignable users returned. Default:\ - \ assigned." - required: false - style: form - explode: true - schema: - type: string - default: assigned - enum: - - assigned - - assignable - responses: - "200": - description: A successful response. - content: - application/json: - schema: - $ref: '#/components/schemas/v1alphaGetSeatsResponse' - "401": - description: Returned when no valid identity information provided to a protected - endpoint. - content: - application/json: - schema: - type: object - "403": - description: Returned when the user does not have permission to access the - resource. - content: - application/json: - schema: - type: object - "500": - description: Returned when an unexpected error occurs during request processing. - content: - application/json: - schema: - type: object - default: - description: An unexpected error response. - content: - application/json: - schema: - $ref: '#/components/schemas/rpcStatus' -components: - schemas: - protobufAny: - type: object - properties: - '@type': - type: string - additionalProperties: - type: object - rpcStatus: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - $ref: '#/components/schemas/protobufAny' - v1alphaCheckPermissionRequest: - type: object - properties: - subject: - type: string - operation: - type: string - resourcetype: - type: string - resourceid: - type: string - v1alphaCheckPermissionResponse: - type: object - properties: - result: - type: boolean - description: - type: string - v1alphaEmpty: - type: object - v1alphaEntitleOrgResponse: - title: EntitleOrgResponse is the response when entitling an org - type: object - v1alphaGetLicenseResponse: - type: object - properties: - seatsTotal: - type: string - description: Total number of seats assignable. - format: int64 - seatsAvailable: - type: string - description: Current number of available seats which can be assigned. - format: int64 - v1alphaGetSeatsResponse: - type: object - properties: - users: - type: array - description: "Just user IDs, unless \"includeUsers\" = true." - items: - $ref: '#/components/schemas/v1alphaGetSeatsUserRepresentation' - v1alphaGetSeatsUserRepresentation: - type: object - properties: - displayName: - type: string - id: - type: string - assigned: - type: boolean - firstName: - type: string - lastName: - type: string - username: - type: string - description: "we may return more userinfo, this is a starting point." - v1alphaImportOrgResponse: - title: ImportOrgResponse - type: object - properties: - importedUsersCount: - title: Count of how many users were imported - type: string - format: uint64 - notImportedUsersCount: - title: "Count of how many users were not imported, e.g. because they already\ - \ exist" - type: string - format: uint64 - v1alphaModifySeatsResponse: - type: object - v1alphaSeatFilterType: - type: string - default: assigned - enum: - - assigned - - assignable - EntitleOrgRequest: - title: EntitleOrgRequest - type: object - properties: - maxSeats: - type: string - description: the amount of seats that are granted for this org. - format: int64 - licenses_serviceId_body: - type: object - properties: - assign: - type: array - description: User IDs to assign to the license. - items: - type: string - unassign: - type: array - description: User IDs to remove from the license. - items: - type: string - description: ModifySeatsRequest assuming we get the userId etc from the requester - in the authorization header to validate if an "admin" can actually add licenses. -x-original-swagger-version: "2.0" diff --git a/api/v1alpha/openapi-authz-v1alpha.json b/api/v1alpha/openapi-authz-v1alpha.json index 2d57703..9f748bf 100644 --- a/api/v1alpha/openapi-authz-v1alpha.json +++ b/api/v1alpha/openapi-authz-v1alpha.json @@ -477,6 +477,15 @@ }, "assigned" : { "type" : "boolean" + }, + "firstName" : { + "type" : "string" + }, + "lastName" : { + "type" : "string" + }, + "username" : { + "type" : "string" } }, "description" : "we may return more userinfo, this is a starting point." diff --git a/api/v1alpha/openapi-authz-v1alpha.yaml b/api/v1alpha/openapi-authz-v1alpha.yaml index d4b88a1..4443786 100644 --- a/api/v1alpha/openapi-authz-v1alpha.yaml +++ b/api/v1alpha/openapi-authz-v1alpha.yaml @@ -80,7 +80,7 @@ paths: - HealthCheckService summary: Health check for the AuthZ service. description: "Health check endpoint for the \"authz\" service, returns \"HTTP\ - \ 200 OK\" if the service is health (up and running) \n" + \ 200 OK\" if the service is healthy (up and running) \n" operationId: HealthCheckService_HealthCheck responses: "200": @@ -512,6 +512,12 @@ components: type: string assigned: type: boolean + firstName: + type: string + lastName: + type: string + username: + type: string description: "we may return more userinfo, this is a starting point." v1alphaImportOrgResponse: title: ImportOrgResponse diff --git a/go.mod b/go.mod index 3e6d5a1..85e9fd2 100644 --- a/go.mod +++ b/go.mod @@ -7,12 +7,12 @@ require ( github.com/authzed/authzed-go v0.9.0 github.com/bradhe/stopwatch v0.0.0-20190618212248-a58cccc508ea // test only github.com/certifi/gocertifi v0.0.0-20210507211836-431795d63e8d // grpcutil - github.com/go-playground/validator/v10 v10.14.1 - github.com/golang/glog v1.1.1 - github.com/google/uuid v1.3.0 // test only - github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.1 + github.com/go-playground/validator/v10 v10.15.4 + github.com/golang/glog v1.1.2 + github.com/google/uuid v1.3.1 // test only + github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 github.com/kinbiko/jsonassert v1.1.1 - github.com/lestrrat-go/jwx/v2 v2.0.11 + github.com/lestrrat-go/jwx/v2 v2.0.12 github.com/mendsley/gojwk v0.0.0-20141217222730-4d5ec6e58103 // test only github.com/ory/dockertest v3.3.5+incompatible // test only github.com/rs/cors v1.9.0 @@ -20,8 +20,8 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 - google.golang.org/genproto/googleapis/rpc v0.0.0-20230724170836-66ad5b6ff146 // errdetails - google.golang.org/grpc v1.57.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // errdetails + google.golang.org/grpc v1.58.0 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 // test only @@ -37,7 +37,7 @@ require ( github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.4.0 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.1 // indirect + github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/go-playground/locales v0.14.1 // indirect @@ -69,14 +69,14 @@ require ( github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/crypto v0.11.0 // indirect - golang.org/x/mod v0.10.0 // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect - golang.org/x/tools v0.8.0 // indirect - google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230724170836-66ad5b6ff146 // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/mod v0.11.0 // indirect + golang.org/x/net v0.15.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect + golang.org/x/tools v0.10.0 // indirect + google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gotest.tools v2.2.0+incompatible // indirect ) diff --git a/go.sum b/go.sum index b281c86..80e2b97 100644 --- a/go.sum +++ b/go.sum @@ -88,8 +88,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.1 h1:kt9FtLiooDc0vbwTLhdg3dyNX1K9Qwa1EK9LcD4jVUQ= -github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= +github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= @@ -105,15 +105,15 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.14.1 h1:9c50NUPC30zyuKprjL3vNZ0m5oG+jU0zvx4AqHGnv4k= -github.com/go-playground/validator/v10 v10.14.1/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-playground/validator/v10 v10.15.4 h1:zMXza4EpOdooxPel5xDqXEdXG5r+WggpvnAKMsalBjs= +github.com/go-playground/validator/v10 v10.15.4/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.1 h1:jxpi2eWoU84wbX9iIEyAeeoac3FLuifZpY9tcNUD9kw= -github.com/golang/glog v1.1.1/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -169,16 +169,16 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/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/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 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/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.1 h1:RoziI+96HlQWrbaVhgOOdFYUHtX81pwA6tCgDS9FNRo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.1/go.mod h1:Rj8lEaVgLiPn1jTMVXEhATiZhuyXJq167bMYPbJM1CY= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 h1:RtRsiaGvWxcwd8y3BiRZxsylPT8hLWZ5SPcfI+3IDNk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0/go.mod h1:TzP6duP4Py2pHLVPPQp42aoYI92+PCrVotyR5e8Vqlk= 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= @@ -211,8 +211,8 @@ github.com/lestrrat-go/httprc v1.0.4 h1:bAZymwoZQb+Oq8MEbyipag7iSq6YIga8Wj6GOiJG github.com/lestrrat-go/httprc v1.0.4/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= -github.com/lestrrat-go/jwx/v2 v2.0.11 h1:ViHMnaMeaO0qV16RZWBHM7GTrAnX2aFLVKofc7FuKLQ= -github.com/lestrrat-go/jwx/v2 v2.0.11/go.mod h1:ZtPtMFlrfDrH2Y0iwfa3dRFn8VzwBrB+cyrm3IBWdDg= +github.com/lestrrat-go/jwx/v2 v2.0.12 h1:3d589+5w/b9b7S3DneICPW16AqTyYXB7VRjgluSDWeA= +github.com/lestrrat-go/jwx/v2 v2.0.12/go.mod h1:Mq4KN1mM7bp+5z/W5HS8aCNs5RKZ911G/0y2qUjAQuQ= github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= @@ -307,9 +307,9 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= 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= @@ -345,8 +345,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -382,8 +382,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= 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= @@ -405,7 +405,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -454,12 +454,14 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.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/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= 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= @@ -470,8 +472,9 @@ 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/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +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= @@ -524,8 +527,8 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= -golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= +golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= +golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= 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= @@ -592,12 +595,12 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= -google.golang.org/genproto/googleapis/api v0.0.0-20230724170836-66ad5b6ff146 h1:P60zJj7Yxq1VhZIxpRO7A5lDFyy07D6Dqa+HCixuFBM= -google.golang.org/genproto/googleapis/api v0.0.0-20230724170836-66ad5b6ff146/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230724170836-66ad5b6ff146 h1:0PjALPu/U/4OVXKQM2P8b8NJGd4V+xbZSP+uuBJpGm0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230724170836-66ad5b6ff146/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= 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= @@ -614,8 +617,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= -google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= +google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=