From a1bf7cfe044d097ff56d08a213e7088bd518ebea Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Wed, 31 Jul 2024 10:07:20 +0200 Subject: [PATCH] chore: update deps --- api/openapi.gen.json | 11 + api/openapi.gen.yaml | 2049 +++++++++++++++++++++--------------------- go.mod | 137 +-- go.sum | 143 +++ 4 files changed, 1253 insertions(+), 1087 deletions(-) diff --git a/api/openapi.gen.json b/api/openapi.gen.json index 5d7decc1..e9864c2b 100644 --- a/api/openapi.gen.json +++ b/api/openapi.gen.json @@ -633,6 +633,7 @@ }, "pubkey_id": { "format": "int64", + "nullable": true, "type": "integer" }, "region": { @@ -651,6 +652,7 @@ "v1.AccountIDTypeResponse": { "properties": { "aws": { + "nullable": true, "properties": { "account_id": { "type": "string" @@ -757,6 +759,7 @@ }, "pubkey_id": { "format": "int64", + "nullable": true, "type": "integer" }, "reservation_id": { @@ -860,6 +863,7 @@ }, "pubkey_id": { "format": "int64", + "nullable": true, "type": "integer" }, "reservation_id": { @@ -926,6 +930,7 @@ "type": "string" }, "azure": { + "nullable": true, "properties": { "gen_v1": { "type": "boolean" @@ -976,6 +981,7 @@ "properties": { "data": { "items": { + "nullable": true, "properties": { "created_at": { "format": "date-time", @@ -1048,11 +1054,13 @@ "properties": { "data": { "items": { + "nullable": true, "properties": { "architecture": { "type": "string" }, "azure": { + "nullable": true, "properties": { "gen_v1": { "type": "boolean" @@ -1097,6 +1105,7 @@ "properties": { "data": { "items": { + "nullable": true, "properties": { "id": { "type": "string" @@ -1135,6 +1144,7 @@ "properties": { "data": { "items": { + "nullable": true, "properties": { "body": { "type": "string" @@ -1186,6 +1196,7 @@ "properties": { "data": { "items": { + "nullable": true, "properties": { "id": { "type": "string" diff --git a/api/openapi.gen.yaml b/api/openapi.gen.yaml index 2af06625..f827b3a3 100644 --- a/api/openapi.gen.yaml +++ b/api/openapi.gen.yaml @@ -1,586 +1,369 @@ -openapi: 3.0.0 components: - schemas: - v1.AWSReservationRequest: - type: object - properties: - amount: - type: integer - format: int32 - image_id: - type: string - instance_type: - type: string - launch_template_id: - type: string - name: - type: string - poweroff: - type: boolean - pubkey_id: - type: integer - format: int64 - region: - type: string - source_id: - type: string - v1.AWSReservationResponse: - type: object - properties: - amount: - type: integer - format: int32 - aws_reservation_id: - type: string - image_id: - type: string - instance_type: - type: string - instances: - type: array - items: - type: object - properties: - detail: - type: object - properties: - private_ipv4: - type: string - private_ipv6: - type: string - public_dns: - type: string - public_ipv4: - type: string - instance_id: - type: string - launch_template_id: - type: string - name: - type: string - poweroff: - type: boolean - pubkey_id: - type: integer - format: int64 - region: - type: string - reservation_id: - type: integer - format: int64 - source_id: - type: string - v1.AccountIDTypeResponse: - type: object - properties: - aws: - type: object - properties: - account_id: - type: string + examples: v1.AvailabilityStatusRequest: - type: object - properties: - source_id: - type: string - v1.AzureReservationRequest: - type: object - properties: - amount: - type: integer - format: int64 - image_id: - type: string - instance_size: - type: string - location: - type: string - description: Location (also known as region) to deploy the VM into, be aware it needs to be the same as the image location. Defaults to the Resource Group location, or 'eastus' when also creating the resource group. - name: - type: string - description: Name of the instance, to keep names unique, it will be suffixed with UUID. Optional, defaults to 'redhat-vm'' - poweroff: - type: boolean - pubkey_id: - type: integer - format: int64 - resource_group: - type: string - description: Azure resource group name to deploy the VM resources into. Optional, defaults to images resource group and when not found to 'redhat-deployed'. - source_id: - type: string - v1.AzureReservationResponse: - type: object - properties: - amount: - type: integer - format: int64 - image_id: - type: string - instance_size: - type: string + value: + source_id: "463243" + v1.AwsReservationRequestPayloadExample: + value: + amount: 1 + image_id: ami-7846387643232 + instance_type: t3.small + launch_template_id: "" + name: my-instance + poweroff: false + pubkey_id: 42 + region: us-east-1 + source_id: "654321" + v1.AwsReservationResponsePayloadDoneExample: + value: + amount: 1 + aws_reservation_id: r-3743243324231 + image_id: ami-7846387643232 + instance_type: t3.small instances: - type: array - items: - type: object - properties: - detail: - type: object - properties: - private_ipv4: - type: string - private_ipv6: - type: string - public_dns: - type: string - public_ipv4: - type: string - instance_id: - type: string - location: - type: string - name: - type: string - poweroff: - type: boolean - pubkey_id: - type: integer - format: int64 - reservation_id: - type: integer - format: int64 - resource_group: - type: string - source_id: - type: string - v1.GCPReservationRequest: - type: object - properties: - amount: - type: integer - format: int64 - image_id: - type: string - launch_template_id: - type: string - machine_type: - type: string - name_pattern: - type: string - poweroff: - type: boolean - pubkey_id: - type: integer - format: int64 - source_id: - type: string - zone: - type: string - v1.GCPReservationResponse: - type: object - properties: - amount: - type: integer - format: int64 - gcp_operation_name: - type: string - image_id: - type: string + - detail: + privateipv4: 172.31.36.10 + privateipv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 + publicdns: ec2-184-73-141-211.compute-1.amazonaws.com + publicipv4: 184.73.141.211 + instance_id: i-2324343212 + launch_template_id: "" + name: my-instance + poweroff: false + pubkey_id: 42 + region: us-east-1 + reservation_id: 1305 + source_id: "654321" + v1.AwsReservationResponsePayloadPendingExample: + value: + amount: 1 + aws_reservation_id: "" + image_id: ami-7846387643232 + instance_type: t3.small + instances: [] + launch_template_id: "" + name: my-instance + poweroff: false + pubkey_id: 42 + region: us-east-1 + reservation_id: 0 + source_id: "654321" + v1.AzureReservationRequestPayloadExample: + value: + amount: 1 + image_id: composer-api-081fc867-838f-44a5-af03-8b8def808431 + instance_size: Basic_A0 + location: useast + name: my-instance + poweroff: false + pubkey_id: 42 + resource_group: redhat-hcc + source_id: "654321" + v1.AzureReservationResponsePayloadDoneExample: + value: + amount: 1 + image_id: composer-api-081fc867-838f-44a5-af03-8b8def808431 + instance_size: Basic_A0 instances: - type: array - items: - type: object - properties: - detail: - type: object - properties: - private_ipv4: - type: string - private_ipv6: - type: string - public_dns: - type: string - public_ipv4: - type: string - instance_id: - type: string - launch_template_id: - type: string - machine_type: - type: string - name_pattern: - type: string - poweroff: - type: boolean - pubkey_id: - type: integer - format: int64 - reservation_id: - type: integer - format: int64 - source_id: - type: string - zone: - type: string - v1.GenericReservationResponse: - type: object - properties: - created_at: - type: string - format: date-time - error: - type: string - finished_at: - type: string - format: date-time - nullable: true - id: - type: integer - format: int64 - provider: - type: integer - status: - type: string - step: - type: integer - format: int32 + - detail: + privateipv4: 172.22.0.1 + privateipv6: "" + publicdns: "" + publicipv4: 10.0.0.88 + instance_id: /subscriptions/4b9d213f-712f-4d17-a483-8a10bbe9df3a/resourceGroups/redhat-deployed/providers/Microsoft.Compute/images/composer-api-92ea98f8-7697-472e-80b1-7454fa0e7fa7 + location: useast + name: my-instance + poweroff: false + pubkey_id: 42 + reservation_id: 1310 + resource_group: myCustom Azure RG + source_id: "654321" + v1.AzureReservationResponsePayloadPendingExample: + value: + amount: 1 + image_id: composer-api-081fc867-838f-44a5-af03-8b8def808431 + instance_size: Basic_A0 + instances: [] + location: useast + name: my-instance + poweroff: false + pubkey_id: 42 + reservation_id: 1310 + resource_group: myCustom Azure RG + source_id: "654321" + v1.GCPReservationRequestPayloadExample: + value: + amount: 1 + image_id: 08a48fed-de87-40ab-a571-f64e30bd0aa8 + launch_template_id: "" + machine_type: e2-micro + name_pattern: my-instance + poweroff: false + pubkey_id: 42 + source_id: "654321" + zone: us-east-4 + v1.GCPReservationResponsePayloadDoneExample: + value: + amount: 1 + gcp_operation_name: operation-1686646674436-5fdff07e43209-66146b7e-f3f65ec5 + image_id: 08a48fed-de87-40ab-a571-f64e30bd0aa8 + instances: + - detail: + privateipv4: 10.198.0.2 + privateipv6: "" + publicdns: "" + publicipv4: 10.0.0.88 + instance_id: "3003942005876582747" + launch_template_id: "4883371230199373111" + machine_type: e2-micro + name_pattern: my-instance + poweroff: false + pubkey_id: 42 + reservation_id: 1305 + source_id: "654321" + zone: us-east-4 + v1.GCPReservationResponsePayloadPendingExample: + value: + amount: 1 + gcp_operation_name: operation-1686646674436-5fdff07e43209-66146b7e-f3f65ec5 + image_id: 08a48fed-de87-40ab-a571-f64e30bd0aa8 + instances: [] + launch_template_id: "4883371230199373111" + machine_type: e2-micro + name_pattern: my-instance + poweroff: false + pubkey_id: 42 + reservation_id: 1305 + source_id: "654321" + zone: us-east-4 + v1.GenericReservationResponsePayloadFailureExample: + value: + created_at: "2013-05-13T19:20:15Z" + error: 'cannot launch ec2 instance: VPCIdNotSpecified: No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC' + finished_at: "2013-05-13T19:20:25Z" + id: 1313 + provider: 1 + status: Finished Launch instance(s) + step: 2 step_titles: - type: array - items: - type: string - steps: - type: integer - format: int32 - success: - type: boolean - nullable: true - v1.InstanceTypeResponse: - type: object - properties: - architecture: - type: string - azure: - type: object - properties: - gen_v1: - type: boolean - gen_v2: - type: boolean - cores: - type: integer - format: int32 - memory_mib: - type: integer - format: int64 - name: - type: string - storage_gb: - type: integer - format: int64 - supported: - type: boolean - vcpus: - type: integer - format: int32 - v1.LaunchTemplatesResponse: - type: object - properties: - id: - type: string - name: - type: string - v1.ListGenericReservationResponse: - type: object - properties: + - Ensure public key + - Launch instance(s) + - Fetch instance(s) description + steps: 3 + success: false + v1.GenericReservationResponsePayloadListExample: + value: data: - type: array - items: - type: object - properties: - created_at: - type: string - format: date-time - error: - type: string - finished_at: - type: string - format: date-time - nullable: true - id: - type: integer - format: int64 - provider: - type: integer - status: - type: string - step: - type: integer - format: int32 - step_titles: - type: array - items: - type: string - steps: - type: integer - format: int32 - success: - type: boolean - nullable: true + - created_at: "2013-05-13T19:20:15Z" + error: "" + finished_at: null + id: 1310 + provider: 1 + status: Started Ensure public key + step: 1 + step_titles: + - Ensure public key + - Launch instance(s) + - Fetch instance(s) description + steps: 3 + success: null + - created_at: "2013-05-13T19:20:15Z" + error: "" + finished_at: "2013-05-13T19:20:25Z" + id: 1305 + provider: 1 + status: Finished Fetch instance(s) description + step: 3 + step_titles: + - Ensure public key + - Launch instance(s) + - Fetch instance(s) description + steps: 3 + success: true + - created_at: "2013-05-13T19:20:15Z" + error: 'cannot launch ec2 instance: VPCIdNotSpecified: No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC' + finished_at: "2013-05-13T19:20:25Z" + id: 1313 + provider: 1 + status: Finished Launch instance(s) + step: 2 + step_titles: + - Ensure public key + - Launch instance(s) + - Fetch instance(s) description + steps: 3 + success: false metadata: - type: object - properties: - links: - type: object - properties: - next: - type: string - previous: - type: string - total: - type: integer - v1.ListInstaceTypeResponse: - type: object - properties: + links: + next: "" + previous: "" + total: 3 + v1.GenericReservationResponsePayloadPendingExample: + value: + created_at: "2013-05-13T19:20:15Z" + error: "" + finished_at: null + id: 1310 + provider: 1 + status: Started Ensure public key + step: 1 + step_titles: + - Ensure public key + - Launch instance(s) + - Fetch instance(s) description + steps: 3 + success: null + v1.GenericReservationResponsePayloadSuccessExample: + value: + created_at: "2013-05-13T19:20:15Z" + error: "" + finished_at: "2013-05-13T19:20:25Z" + id: 1305 + provider: 1 + status: Finished Fetch instance(s) description + step: 3 + step_titles: + - Ensure public key + - Launch instance(s) + - Fetch instance(s) description + steps: 3 + success: true + v1.InstanceTypesAWSResponse: + value: data: - type: array - items: - type: object - properties: - architecture: - type: string - azure: - type: object - properties: - gen_v1: - type: boolean - gen_v2: - type: boolean - cores: - type: integer - format: int32 - memory_mib: - type: integer - format: int64 - name: - type: string - storage_gb: - type: integer - format: int64 - supported: - type: boolean - vcpus: - type: integer - format: int32 - v1.ListLaunchTemplateResponse: - type: object - properties: + - arch: x86_64 + cores: 16 + memory_mib: 65536 + name: c5a.8xlarge + storage_gb: 0 + supported: true + vcpus: 32 + v1.InstanceTypesAzureResponse: + value: data: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string + - arch: x86_64 + azure: + gen_v1: true + gen_v2: true + cores: 64 + memory_mib: 2e+06 + name: Standard_M128s + storage_gb: 4096 + supported: true + vcpus: 128 + v1.InstanceTypesGCPResponse: + value: + data: + - arch: x86_64 + cores: 0 + memory_mib: 15623 + name: e2-highcpu-16 + storage_gb: 0 + supported: true + vcpus: 16 + v1.LaunchTemplateListResponse: + value: + data: + - id: lt-9843797432897342 + name: XXL large backend API metadata: - type: object - properties: - links: - type: object - properties: - next: - type: string - previous: - type: string - total: - type: integer - v1.ListPubkeyResponse: - type: object - properties: + links: + next: "" + previous: "" + total: 0 + v1.NoopReservationResponsePayloadExample: + value: + reservation_id: 1310 + v1.PubkeyListResponseExample: + value: data: - type: array - items: - type: object - properties: - body: - type: string - fingerprint: - type: string - fingerprint_legacy: - type: string - id: - type: integer - format: int64 - name: - type: string - type: - type: string + - body: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhnn80ZywmjeBFFOGm+cm+5HUwm62qTVnjKlOdYFLHN lzap + fingerprint: gL/y6MvNmJ8jDXtsL/oMmK8jUuIefN39BBuvYw/Rndk= + fingerprint_legacy: ee:f1:d4:62:99:ab:17:d9:3b:00:66:62:32:b2:55:9e + id: 3 + name: My key + type: ssh-ed25519 metadata: - type: object - properties: - links: - type: object - properties: - next: - type: string - previous: - type: string - total: - type: integer - v1.ListSourceResponse: - type: object - properties: + links: + next: "" + previous: /api/provisioning/v1/pubkeys?limit=2&offset=0 + total: 3 + v1.PubkeyRequestExample: + value: + body: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhnn80ZywmjeBFFOGm+cm+5HUwm62qTVnjKlOdYFLHN lzap + name: My key + v1.PubkeyResponseExample: + value: + body: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhnn80ZywmjeBFFOGm+cm+5HUwm62qTVnjKlOdYFLHN lzap + fingerprint: gL/y6MvNmJ8jDXtsL/oMmK8jUuIefN39BBuvYw/Rndk= + fingerprint_legacy: ee:f1:d4:62:99:ab:17:d9:3b:00:66:62:32:b2:55:9e + id: 1 + name: My key + type: ssh-ed25519 + v1.SourceListResponseExample: + value: data: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - provider: - type: string - description: One of ('azure', 'aws', 'gcp') - source_type_id: - type: string - deprecated: true - status: - type: string - uid: - type: string + - id: "654321" + name: My AWS account + provider: aws + source_type_id: "" + status: available + uid: "" + - id: "543621" + name: My other AWS account + provider: aws + source_type_id: "" + status: available + uid: "" metadata: - type: object - properties: - links: - type: object - properties: - next: - type: string - previous: - type: string - total: - type: integer - v1.NoopReservationResponse: - type: object - properties: - reservation_id: - type: integer - format: int64 - v1.PubkeyRequest: - type: object - properties: - body: - type: string - description: Add a public part of a SSH key pair. - name: - type: string - description: Enter the name of the newly created pubkey. - v1.PubkeyResponse: - type: object - properties: - body: - type: string - fingerprint: - type: string - fingerprint_legacy: - type: string - id: - type: integer - format: int64 - name: - type: string - type: - type: string - v1.ResponseError: - type: object - properties: - build_time: - type: string - edge_id: - type: string - environment: - type: string - error: - type: string - msg: - type: string - trace_id: - type: string - version: - type: string - v1.SourceResponse: - type: object - properties: - id: - type: string - name: - type: string - provider: - type: string - description: One of ('azure', 'aws', 'gcp') - source_type_id: - type: string - deprecated: true - status: - type: string - uid: - type: string - v1.SourceUploadInfoResponse: - type: object - properties: + links: + next: "" + previous: /api/provisioning/v1/sources?limit=2&offset=0 + total: 4 + v1.SourceUploadInfoAWSResponse: + value: aws: - type: object - nullable: true - properties: - account_id: - type: string + account_id: "78462784632" + azure: null + gcp: null + provider: aws + v1.SourceUploadInfoAzureResponse: + value: + aws: null azure: - type: object - nullable: true - properties: - resource_groups: - type: array - items: - type: string - subscription_id: - type: string - tenant_id: - type: string - gcp: - nullable: true - provider: - type: string + resourcegroups: + - MyGroup 1 + - MyGroup 42 + subscriptionid: 617807e1-e4e0-4855-983c-1e3ce1e49674 + tenantid: 617807e1-e4e0-481c-983c-be3ce1e49253 + gcp: null + provider: azure parameters: Limit: - name: limit - in: query description: The number of items to return. + in: query + name: limit schema: - type: integer default: 100 + type: integer Offset: - name: offset - in: query description: The number of items to skip before starting to collect the result set. + in: query + name: offset schema: - type: integer default: 0 + type: integer Token: - name: token - in: query description: The token used for requesting the next page of results; empty token for the first page + in: query + name: token schema: - type: string default: "" + type: string responses: BadRequest: - description: The request's parameters are not valid content: application/json: - schema: - $ref: '#/components/schemas/v1.ResponseError' examples: error: value: @@ -590,12 +373,12 @@ components: error: 'error: bad request: details can be long' trace_id: b57f7b78c version: df8a489 + schema: + $ref: '#/components/schemas/v1.ResponseError' + description: The request's parameters are not valid InternalError: - description: The server encountered an internal error content: application/json: - schema: - $ref: '#/components/schemas/v1.ResponseError' examples: error: value: @@ -605,12 +388,12 @@ components: error: 'error: this can be pretty long string' trace_id: b57f7b78c version: df8a489 + schema: + $ref: '#/components/schemas/v1.ResponseError' + description: The server encountered an internal error NotFound: - description: The requested resource was not found content: application/json: - schema: - $ref: '#/components/schemas/v1.ResponseError' examples: error: value: @@ -620,420 +403,646 @@ components: error: 'error: resource not found: details can be long' trace_id: b57f7b78c version: df8a489 - examples: - v1.AvailabilityStatusRequest: - value: - source_id: "463243" - v1.AwsReservationRequestPayloadExample: - value: - amount: 1 - image_id: ami-7846387643232 - instance_type: t3.small - launch_template_id: "" - name: my-instance - poweroff: false - pubkey_id: 42 - region: us-east-1 - source_id: "654321" - v1.AwsReservationResponsePayloadDoneExample: - value: - amount: 1 - aws_reservation_id: r-3743243324231 - image_id: ami-7846387643232 - instance_type: t3.small - instances: - - detail: - privateipv4: 172.31.36.10 - privateipv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 - publicdns: ec2-184-73-141-211.compute-1.amazonaws.com - publicipv4: 184.73.141.211 - instance_id: i-2324343212 - launch_template_id: "" - name: my-instance - poweroff: false - pubkey_id: 42 - region: us-east-1 - reservation_id: 1305 - source_id: "654321" - v1.AwsReservationResponsePayloadPendingExample: - value: - amount: 1 - aws_reservation_id: "" - image_id: ami-7846387643232 - instance_type: t3.small - instances: [] - launch_template_id: "" - name: my-instance - poweroff: false - pubkey_id: 42 - region: us-east-1 - reservation_id: 0 - source_id: "654321" - v1.AzureReservationRequestPayloadExample: - value: - amount: 1 - image_id: composer-api-081fc867-838f-44a5-af03-8b8def808431 - instance_size: Basic_A0 - location: useast - name: my-instance - poweroff: false - pubkey_id: 42 - resource_group: redhat-hcc - source_id: "654321" - v1.AzureReservationResponsePayloadDoneExample: - value: - amount: 1 - image_id: composer-api-081fc867-838f-44a5-af03-8b8def808431 - instance_size: Basic_A0 + schema: + $ref: '#/components/schemas/v1.ResponseError' + description: The requested resource was not found + schemas: + v1.AWSReservationRequest: + properties: + amount: + format: int32 + type: integer + image_id: + type: string + instance_type: + type: string + launch_template_id: + type: string + name: + type: string + poweroff: + type: boolean + pubkey_id: + format: int64 + type: integer + region: + type: string + source_id: + type: string + type: object + v1.AWSReservationResponse: + properties: + amount: + format: int32 + type: integer + aws_reservation_id: + type: string + image_id: + type: string + instance_type: + type: string instances: - - detail: - privateipv4: 172.22.0.1 - privateipv6: "" - publicdns: "" - publicipv4: 10.0.0.88 - instance_id: /subscriptions/4b9d213f-712f-4d17-a483-8a10bbe9df3a/resourceGroups/redhat-deployed/providers/Microsoft.Compute/images/composer-api-92ea98f8-7697-472e-80b1-7454fa0e7fa7 - location: useast - name: my-instance - poweroff: false - pubkey_id: 42 - reservation_id: 1310 - resource_group: myCustom Azure RG - source_id: "654321" - v1.AzureReservationResponsePayloadPendingExample: - value: - amount: 1 - image_id: composer-api-081fc867-838f-44a5-af03-8b8def808431 - instance_size: Basic_A0 - instances: [] - location: useast - name: my-instance - poweroff: false - pubkey_id: 42 - reservation_id: 1310 - resource_group: myCustom Azure RG - source_id: "654321" - v1.GCPReservationRequestPayloadExample: - value: - amount: 1 - image_id: 08a48fed-de87-40ab-a571-f64e30bd0aa8 - launch_template_id: "" - machine_type: e2-micro - name_pattern: my-instance - poweroff: false - pubkey_id: 42 - source_id: "654321" - zone: us-east-4 - v1.GCPReservationResponsePayloadDoneExample: - value: - amount: 1 - gcp_operation_name: operation-1686646674436-5fdff07e43209-66146b7e-f3f65ec5 - image_id: 08a48fed-de87-40ab-a571-f64e30bd0aa8 + items: + properties: + detail: + properties: + private_ipv4: + type: string + private_ipv6: + type: string + public_dns: + type: string + public_ipv4: + type: string + type: object + instance_id: + type: string + type: object + type: array + launch_template_id: + type: string + name: + type: string + poweroff: + type: boolean + pubkey_id: + format: int64 + nullable: true + type: integer + region: + type: string + reservation_id: + format: int64 + type: integer + source_id: + type: string + type: object + v1.AccountIDTypeResponse: + properties: + aws: + nullable: true + properties: + account_id: + type: string + type: object + type: object + v1.AvailabilityStatusRequest: + properties: + source_id: + type: string + type: object + v1.AzureReservationRequest: + properties: + amount: + format: int64 + type: integer + image_id: + type: string + instance_size: + type: string + location: + description: Location (also known as region) to deploy the VM into, be aware it needs to be the same as the image location. Defaults to the Resource Group location, or 'eastus' when also creating the resource group. + type: string + name: + description: Name of the instance, to keep names unique, it will be suffixed with UUID. Optional, defaults to 'redhat-vm'' + type: string + poweroff: + type: boolean + pubkey_id: + format: int64 + type: integer + resource_group: + description: Azure resource group name to deploy the VM resources into. Optional, defaults to images resource group and when not found to 'redhat-deployed'. + type: string + source_id: + type: string + type: object + v1.AzureReservationResponse: + properties: + amount: + format: int64 + type: integer + image_id: + type: string + instance_size: + type: string instances: - - detail: - privateipv4: 10.198.0.2 - privateipv6: "" - publicdns: "" - publicipv4: 10.0.0.88 - instance_id: "3003942005876582747" - launch_template_id: "4883371230199373111" - machine_type: e2-micro - name_pattern: my-instance - poweroff: false - pubkey_id: 42 - reservation_id: 1305 - source_id: "654321" - zone: us-east-4 - v1.GCPReservationResponsePayloadPendingExample: - value: - amount: 1 - gcp_operation_name: operation-1686646674436-5fdff07e43209-66146b7e-f3f65ec5 - image_id: 08a48fed-de87-40ab-a571-f64e30bd0aa8 - instances: [] - launch_template_id: "4883371230199373111" - machine_type: e2-micro - name_pattern: my-instance - poweroff: false - pubkey_id: 42 - reservation_id: 1305 - source_id: "654321" - zone: us-east-4 - v1.GenericReservationResponsePayloadFailureExample: - value: - created_at: "2013-05-13T19:20:15Z" - error: 'cannot launch ec2 instance: VPCIdNotSpecified: No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC' - finished_at: "2013-05-13T19:20:25Z" - id: 1313 - provider: 1 - status: Finished Launch instance(s) - step: 2 - step_titles: - - Ensure public key - - Launch instance(s) - - Fetch instance(s) description - steps: 3 - success: false - v1.GenericReservationResponsePayloadListExample: - value: - data: - - created_at: "2013-05-13T19:20:15Z" - error: "" - finished_at: null - id: 1310 - provider: 1 - status: Started Ensure public key - step: 1 - step_titles: - - Ensure public key - - Launch instance(s) - - Fetch instance(s) description - steps: 3 - success: null - - created_at: "2013-05-13T19:20:15Z" - error: "" - finished_at: "2013-05-13T19:20:25Z" - id: 1305 - provider: 1 - status: Finished Fetch instance(s) description - step: 3 - step_titles: - - Ensure public key - - Launch instance(s) - - Fetch instance(s) description - steps: 3 - success: true - - created_at: "2013-05-13T19:20:15Z" - error: 'cannot launch ec2 instance: VPCIdNotSpecified: No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC' - finished_at: "2013-05-13T19:20:25Z" - id: 1313 - provider: 1 - status: Finished Launch instance(s) - step: 2 - step_titles: - - Ensure public key - - Launch instance(s) - - Fetch instance(s) description - steps: 3 - success: false - metadata: - links: - next: "" - previous: "" - total: 3 - v1.GenericReservationResponsePayloadPendingExample: - value: - created_at: "2013-05-13T19:20:15Z" - error: "" - finished_at: null - id: 1310 - provider: 1 - status: Started Ensure public key - step: 1 - step_titles: - - Ensure public key - - Launch instance(s) - - Fetch instance(s) description - steps: 3 - success: null - v1.GenericReservationResponsePayloadSuccessExample: - value: - created_at: "2013-05-13T19:20:15Z" - error: "" - finished_at: "2013-05-13T19:20:25Z" - id: 1305 - provider: 1 - status: Finished Fetch instance(s) description - step: 3 + items: + properties: + detail: + properties: + private_ipv4: + type: string + private_ipv6: + type: string + public_dns: + type: string + public_ipv4: + type: string + type: object + instance_id: + type: string + type: object + type: array + location: + type: string + name: + type: string + poweroff: + type: boolean + pubkey_id: + format: int64 + nullable: true + type: integer + reservation_id: + format: int64 + type: integer + resource_group: + type: string + source_id: + type: string + type: object + v1.GCPReservationRequest: + properties: + amount: + format: int64 + type: integer + image_id: + type: string + launch_template_id: + type: string + machine_type: + type: string + name_pattern: + type: string + poweroff: + type: boolean + pubkey_id: + format: int64 + type: integer + source_id: + type: string + zone: + type: string + type: object + v1.GCPReservationResponse: + properties: + amount: + format: int64 + type: integer + gcp_operation_name: + type: string + image_id: + type: string + instances: + items: + properties: + detail: + properties: + private_ipv4: + type: string + private_ipv6: + type: string + public_dns: + type: string + public_ipv4: + type: string + type: object + instance_id: + type: string + type: object + type: array + launch_template_id: + type: string + machine_type: + type: string + name_pattern: + type: string + poweroff: + type: boolean + pubkey_id: + format: int64 + nullable: true + type: integer + reservation_id: + format: int64 + type: integer + source_id: + type: string + zone: + type: string + type: object + v1.GenericReservationResponse: + properties: + created_at: + format: date-time + type: string + error: + type: string + finished_at: + format: date-time + nullable: true + type: string + id: + format: int64 + type: integer + provider: + type: integer + status: + type: string + step: + format: int32 + type: integer step_titles: - - Ensure public key - - Launch instance(s) - - Fetch instance(s) description - steps: 3 - success: true - v1.InstanceTypesAWSResponse: - value: - data: - - arch: x86_64 - cores: 16 - memory_mib: 65536 - name: c5a.8xlarge - storage_gb: 0 - supported: true - vcpus: 32 - v1.InstanceTypesAzureResponse: - value: + items: + type: string + type: array + steps: + format: int32 + type: integer + success: + nullable: true + type: boolean + type: object + v1.InstanceTypeResponse: + properties: + architecture: + type: string + azure: + nullable: true + properties: + gen_v1: + type: boolean + gen_v2: + type: boolean + type: object + cores: + format: int32 + type: integer + memory_mib: + format: int64 + type: integer + name: + type: string + storage_gb: + format: int64 + type: integer + supported: + type: boolean + vcpus: + format: int32 + type: integer + type: object + v1.LaunchTemplatesResponse: + properties: + id: + type: string + name: + type: string + type: object + v1.ListGenericReservationResponse: + properties: data: - - arch: x86_64 - azure: - gen_v1: true - gen_v2: true - cores: 64 - memory_mib: 2e+06 - name: Standard_M128s - storage_gb: 4096 - supported: true - vcpus: 128 - v1.InstanceTypesGCPResponse: - value: + items: + nullable: true + properties: + created_at: + format: date-time + type: string + error: + type: string + finished_at: + format: date-time + nullable: true + type: string + id: + format: int64 + type: integer + provider: + type: integer + status: + type: string + step: + format: int32 + type: integer + step_titles: + items: + type: string + type: array + steps: + format: int32 + type: integer + success: + nullable: true + type: boolean + type: object + type: array + metadata: + properties: + links: + properties: + next: + type: string + previous: + type: string + type: object + total: + type: integer + type: object + type: object + v1.ListInstaceTypeResponse: + properties: data: - - arch: x86_64 - cores: 0 - memory_mib: 15623 - name: e2-highcpu-16 - storage_gb: 0 - supported: true - vcpus: 16 - v1.LaunchTemplateListResponse: - value: + items: + nullable: true + properties: + architecture: + type: string + azure: + nullable: true + properties: + gen_v1: + type: boolean + gen_v2: + type: boolean + type: object + cores: + format: int32 + type: integer + memory_mib: + format: int64 + type: integer + name: + type: string + storage_gb: + format: int64 + type: integer + supported: + type: boolean + vcpus: + format: int32 + type: integer + type: object + type: array + type: object + v1.ListLaunchTemplateResponse: + properties: data: - - id: lt-9843797432897342 - name: XXL large backend API + items: + nullable: true + properties: + id: + type: string + name: + type: string + type: object + type: array metadata: - links: - next: "" - previous: "" - total: 0 - v1.NoopReservationResponsePayloadExample: - value: - reservation_id: 1310 - v1.PubkeyListResponseExample: - value: + properties: + links: + properties: + next: + type: string + previous: + type: string + type: object + total: + type: integer + type: object + type: object + v1.ListPubkeyResponse: + properties: data: - - body: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhnn80ZywmjeBFFOGm+cm+5HUwm62qTVnjKlOdYFLHN lzap - fingerprint: gL/y6MvNmJ8jDXtsL/oMmK8jUuIefN39BBuvYw/Rndk= - fingerprint_legacy: ee:f1:d4:62:99:ab:17:d9:3b:00:66:62:32:b2:55:9e - id: 3 - name: My key - type: ssh-ed25519 + items: + nullable: true + properties: + body: + type: string + fingerprint: + type: string + fingerprint_legacy: + type: string + id: + format: int64 + type: integer + name: + type: string + type: + type: string + type: object + type: array metadata: - links: - next: "" - previous: /api/provisioning/v1/pubkeys?limit=2&offset=0 - total: 3 - v1.PubkeyRequestExample: - value: - body: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhnn80ZywmjeBFFOGm+cm+5HUwm62qTVnjKlOdYFLHN lzap - name: My key - v1.PubkeyResponseExample: - value: - body: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhnn80ZywmjeBFFOGm+cm+5HUwm62qTVnjKlOdYFLHN lzap - fingerprint: gL/y6MvNmJ8jDXtsL/oMmK8jUuIefN39BBuvYw/Rndk= - fingerprint_legacy: ee:f1:d4:62:99:ab:17:d9:3b:00:66:62:32:b2:55:9e - id: 1 - name: My key - type: ssh-ed25519 - v1.SourceListResponseExample: - value: + properties: + links: + properties: + next: + type: string + previous: + type: string + type: object + total: + type: integer + type: object + type: object + v1.ListSourceResponse: + properties: data: - - id: "654321" - name: My AWS account - provider: aws - source_type_id: "" - status: available - uid: "" - - id: "543621" - name: My other AWS account - provider: aws - source_type_id: "" - status: available - uid: "" + items: + nullable: true + properties: + id: + type: string + name: + type: string + provider: + description: One of ('azure', 'aws', 'gcp') + type: string + source_type_id: + deprecated: true + type: string + status: + type: string + uid: + type: string + type: object + type: array metadata: - links: - next: "" - previous: /api/provisioning/v1/sources?limit=2&offset=0 - total: 4 - v1.SourceUploadInfoAWSResponse: - value: + properties: + links: + properties: + next: + type: string + previous: + type: string + type: object + total: + type: integer + type: object + type: object + v1.NoopReservationResponse: + properties: + reservation_id: + format: int64 + type: integer + type: object + v1.PubkeyRequest: + properties: + body: + description: Add a public part of a SSH key pair. + type: string + name: + description: Enter the name of the newly created pubkey. + type: string + type: object + v1.PubkeyResponse: + properties: + body: + type: string + fingerprint: + type: string + fingerprint_legacy: + type: string + id: + format: int64 + type: integer + name: + type: string + type: + type: string + type: object + v1.ResponseError: + properties: + build_time: + type: string + edge_id: + type: string + environment: + type: string + error: + type: string + msg: + type: string + trace_id: + type: string + version: + type: string + type: object + v1.SourceResponse: + properties: + id: + type: string + name: + type: string + provider: + description: One of ('azure', 'aws', 'gcp') + type: string + source_type_id: + deprecated: true + type: string + status: + type: string + uid: + type: string + type: object + v1.SourceUploadInfoResponse: + properties: aws: - account_id: "78462784632" - azure: null - gcp: null - provider: aws - v1.SourceUploadInfoAzureResponse: - value: - aws: null + nullable: true + properties: + account_id: + type: string + type: object azure: - resourcegroups: - - MyGroup 1 - - MyGroup 42 - subscriptionid: 617807e1-e4e0-4855-983c-1e3ce1e49674 - tenantid: 617807e1-e4e0-481c-983c-be3ce1e49253 - gcp: null - provider: azure + nullable: true + properties: + resource_groups: + items: + type: string + type: array + subscription_id: + type: string + tenant_id: + type: string + type: object + gcp: + nullable: true + provider: + type: string + type: object info: - title: provisioning-api description: Provisioning service API license: name: GPL-3.0 + title: provisioning-api version: 1.13.0 +openapi: 3.0.0 paths: /availability_status/sources: post: - tags: - - Source description: | Schedules a background operation of Sources availability check. These checks are are performed in separate process at it's own pace. Results are sent via Kafka to Sources. There is no output from this REST operation available, no tracking of jobs is possible. operationId: availabilityStatus requestBody: - description: availability status request with source id - required: true content: application/json: - schema: - $ref: '#/components/schemas/v1.AvailabilityStatusRequest' examples: example: $ref: '#/components/examples/v1.AvailabilityStatusRequest' + schema: + $ref: '#/components/schemas/v1.AvailabilityStatusRequest' + description: availability status request with source id + required: true responses: "200": description: Returned on success, empty response. "500": $ref: '#/components/responses/InternalError' + tags: + - Source /instance_types/{PROVIDER}: get: - tags: - - InstanceType description: | Return a list of instance types for particular provider. A region must be provided. A zone must be provided for Azure. operationId: getInstanceTypeListAll parameters: - - name: PROVIDER + - description: 'Cloud provider: aws, azure' in: path - description: 'Cloud provider: aws, azure' + name: PROVIDER required: true schema: type: string - - name: region + - description: Region to list instance types within. This is required. in: query - description: Region to list instance types within. This is required. + name: region required: true schema: type: string - - name: zone + - description: Availability zone (or location) to list instance types within. Not applicable for AWS EC2 as all zones within a region are the same (will lead to an error when used). Required for Azure. in: query - description: Availability zone (or location) to list instance types within. Not applicable for AWS EC2 as all zones within a region are the same (will lead to an error when used). Required for Azure. + name: zone schema: type: string responses: "200": - description: | - Return on success. Instance types have a field "supported" that indicates whether that particular type is supported by Red Hat. Typically, instances with less than 1.5 GiB RAM are not supported, but other rules may apply. content: application/json: - schema: - $ref: '#/components/schemas/v1.ListInstaceTypeResponse' examples: aws: $ref: '#/components/examples/v1.InstanceTypesAWSResponse' azure: $ref: '#/components/examples/v1.InstanceTypesAzureResponse' + schema: + $ref: '#/components/schemas/v1.ListInstaceTypeResponse' + description: | + Return on success. Instance types have a field "supported" that indicates whether that particular type is supported by Red Hat. Typically, instances with less than 1.5 GiB RAM are not supported, but other rules may apply. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' + tags: + - InstanceType /pubkeys: get: - tags: - - Pubkey description: | Returns a list of all public keys available in a particular account. operationId: getPubkeyList @@ -1042,59 +1051,59 @@ paths: - $ref: '#/components/parameters/Offset' responses: "200": - description: OK. Returned on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.ListPubkeyResponse' examples: example: $ref: '#/components/examples/v1.PubkeyListResponseExample' + schema: + $ref: '#/components/schemas/v1.ListPubkeyResponse' + description: OK. Returned on success. "500": $ref: '#/components/responses/InternalError' - post: tags: - Pubkey + post: description: | Creates a new public key and stores it in the provisioning database. Public keys are uploaded to clouds at the time of launching an instance. Some fields such as type or fingerprint are read-only. operationId: createPubkey requestBody: - description: request body - required: true content: application/json: - schema: - $ref: '#/components/schemas/v1.PubkeyRequest' examples: example: $ref: '#/components/examples/v1.PubkeyRequestExample' + schema: + $ref: '#/components/schemas/v1.PubkeyRequest' + description: request body + required: true responses: "200": - description: OK. Returned on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.PubkeyResponse' examples: example: $ref: '#/components/examples/v1.PubkeyRequestExample' + schema: + $ref: '#/components/schemas/v1.PubkeyResponse' + description: OK. Returned on success. "500": $ref: '#/components/responses/InternalError' - /pubkeys/{ID}: - delete: tags: - Pubkey + /pubkeys/{ID}: + delete: description: | Deletes SSH keys that were uploaded with the specified public key from all the clouds. If a public key (pubkey) has been uploaded to one or more cloud providers, the deletion request attempts to remove those SSH keys from all associated clouds. Therefore, to delete a public key, the account must possess valid credentials for all cloud accounts to which the pubkey was uploaded. Otherwise, the delete operation fails, and the public key is not removed from the Provisioning database. This operation does not return a response body. operationId: removePubkeyById parameters: - - name: ID + - description: Enter the database ID of resource. in: path - description: Enter the database ID of resource. + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "204": description: The Pubkey was deleted successfully. @@ -1102,37 +1111,37 @@ paths: $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' - get: tags: - Pubkey + get: description: Gets details of the specified public key. operationId: getPubkeyById parameters: - - name: ID + - description: Database ID to search for in: path - description: Database ID to search for + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "200": - description: OK. Returned on success content: application/json: - schema: - $ref: '#/components/schemas/v1.PubkeyResponse' examples: example: $ref: '#/components/examples/v1.PubkeyResponseExample' + schema: + $ref: '#/components/schemas/v1.PubkeyResponse' + description: OK. Returned on success "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' + tags: + - Pubkey /reservations: get: - tags: - - Reservation description: | A reservation is a way to activate a job, keeps all data needed for a job to start. This operation returns list of all reservations for particular account. To get a reservation with common fields, use /reservations/ID. To get a detailed reservation with all fields which are different per provider, use /reservations/aws/ID. Reservation can be in three states: pending, success, failed. This can be recognized by the success field (null for pending, true for success, false for failure). See the examples. operationId: getReservationsList @@ -1141,37 +1150,34 @@ paths: - $ref: '#/components/parameters/Offset' responses: "200": - description: Returned on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.ListGenericReservationResponse' examples: example: $ref: '#/components/examples/v1.GenericReservationResponsePayloadListExample' + schema: + $ref: '#/components/schemas/v1.ListGenericReservationResponse' + description: Returned on success. "500": $ref: '#/components/responses/InternalError' - /reservations/{ID}: - get: tags: - Reservation + /reservations/{ID}: + get: description: Return a generic reservation by id operationId: getReservationByID parameters: - - name: ID + - description: Reservation ID in: path - description: Reservation ID + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "200": - description: Returns generic reservation information like status or creation time. content: application/json: - schema: - $ref: '#/components/schemas/v1.GenericReservationResponse' examples: failure: $ref: '#/components/examples/v1.GenericReservationResponsePayloadFailureExample' @@ -1179,239 +1185,242 @@ paths: $ref: '#/components/examples/v1.GenericReservationResponsePayloadPendingExample' success: $ref: '#/components/examples/v1.GenericReservationResponsePayloadSuccessExample' + schema: + $ref: '#/components/schemas/v1.GenericReservationResponse' + description: Returns generic reservation information like status or creation time. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' - /reservations/aws: - post: tags: - Reservation + /reservations/aws: + post: description: | A reservation is a way to activate a job, keeps all data needed for a job to start. An AWS reservation is a reservation created for an AWS job. Image Builder UUID image is required, the service will also launch any AMI image prefixed with "ami-". Optionally, AWS EC2 launch template ID can be provided. All flags set through this endpoint override template values. Public key must exist prior calling this endpoint and ID must be provided, even when AWS EC2 launch template provides ssh-keys. Public key will be always be overwritten. A single account can create maximum of 2 reservations per second. operationId: createAwsReservation requestBody: - description: aws request body - required: true content: application/json: - schema: - $ref: '#/components/schemas/v1.AWSReservationRequest' examples: example: $ref: '#/components/examples/v1.AwsReservationRequestPayloadExample' + schema: + $ref: '#/components/schemas/v1.AWSReservationRequest' + description: aws request body + required: true responses: "200": - description: Returned on success. content: application/json: schema: $ref: '#/components/schemas/v1.AWSReservationResponse' + description: Returned on success. "500": $ref: '#/components/responses/InternalError' - /reservations/aws/{ID}: - get: tags: - Reservation + /reservations/aws/{ID}: + get: description: Return an AWS reservation with details by id operationId: getAWSReservationByID parameters: - - name: ID + - description: Reservation ID, must be an AWS reservation otherwise 404 is returned in: path - description: Reservation ID, must be an AWS reservation otherwise 404 is returned + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "200": - description: Returns detailed reservation information for an AWS reservation. content: application/json: - schema: - $ref: '#/components/schemas/v1.AWSReservationResponse' examples: done: $ref: '#/components/examples/v1.AwsReservationResponsePayloadDoneExample' pending: $ref: '#/components/examples/v1.AwsReservationResponsePayloadPendingExample' + schema: + $ref: '#/components/schemas/v1.AWSReservationResponse' + description: Returns detailed reservation information for an AWS reservation. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' - /reservations/azure: - post: tags: - Reservation + /reservations/azure: + post: description: | A reservation is a way to activate a job, keeps all data needed for a job to start. An Azure reservation is a reservation created for an Azure job. Image Builder UUID image is required and needs to be stored under same account as provided by SourceID. A single account can create maximum of 2 reservations per second. operationId: createAzureReservation requestBody: - description: azure request body - required: true content: application/json: - schema: - $ref: '#/components/schemas/v1.AzureReservationRequest' examples: example: $ref: '#/components/examples/v1.AzureReservationRequestPayloadExample' + schema: + $ref: '#/components/schemas/v1.AzureReservationRequest' + description: azure request body + required: true responses: "200": - description: Returned on success. content: application/json: schema: $ref: '#/components/schemas/v1.AzureReservationResponse' + description: Returned on success. "500": $ref: '#/components/responses/InternalError' - /reservations/azure/{ID}: - get: tags: - Reservation + /reservations/azure/{ID}: + get: description: Return an Azure reservation with details by id operationId: getAzureReservationByID parameters: - - name: ID + - description: Reservation ID, must be an Azure reservation otherwise 404 is returned in: path - description: Reservation ID, must be an Azure reservation otherwise 404 is returned + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "200": - description: Returns detailed reservation information for an Azure reservation. content: application/json: - schema: - $ref: '#/components/schemas/v1.AzureReservationResponse' examples: done: $ref: '#/components/examples/v1.AzureReservationResponsePayloadDoneExample' pending: $ref: '#/components/examples/v1.AzureReservationResponsePayloadPendingExample' + schema: + $ref: '#/components/schemas/v1.AzureReservationResponse' + description: Returns detailed reservation information for an Azure reservation. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' - /reservations/gcp: - post: tags: - Reservation + /reservations/gcp: + post: description: | A reservation is a way to activate a job, keeps all data needed for a job to start. A GCP reservation is a reservation created for a GCP job. Image Builder UUID image is required and needs to be shared with the service account. Furthermore, by specifying the RFC-1035 compatible name pattern for example as "instance", instances names will be created in the format: "instance-#####". A single account can create maximum of 2 reservations per second. operationId: createGCPReservation requestBody: - description: gcp request body - required: true content: application/json: schema: $ref: '#/components/schemas/v1.GCPReservationRequest' + description: gcp request body + required: true responses: "200": - description: Returned on success. content: application/json: schema: $ref: '#/components/schemas/v1.GCPReservationResponse' + description: Returned on success. "500": $ref: '#/components/responses/InternalError' - /reservations/gcp/{ID}: - get: tags: - Reservation + /reservations/gcp/{ID}: + get: description: Return an GCP reservation with details by id operationId: getGCPReservationByID parameters: - - name: ID + - description: Reservation ID, must be an GCP reservation otherwise 404 is returned in: path - description: Reservation ID, must be an GCP reservation otherwise 404 is returned + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "200": - description: Returns detailed reservation information for an GCP reservation. content: application/json: schema: $ref: '#/components/schemas/v1.GCPReservationResponse' + description: Returns detailed reservation information for an GCP reservation. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' - /reservations/noop: - post: tags: - Reservation + /reservations/noop: + post: description: | A reservation is a way to activate a job, keeps all data needed for a job to start. A Noop reservation actually does nothing and immediately finish background job. This reservation has no input payload operationId: createNoopReservation responses: "200": - description: Returned on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.NoopReservationResponse' examples: example: $ref: '#/components/examples/v1.NoopReservationResponsePayloadExample' + schema: + $ref: '#/components/schemas/v1.NoopReservationResponse' + description: Returned on success. "500": $ref: '#/components/responses/InternalError' + tags: + - Reservation /sources: get: - tags: - - Source description: | Cloud credentials are kept in the sources application. This endpoint lists available sources for the particular account per individual type (AWS, Azure, ...). All the fields in the response are optional and can be omitted if Sources application also omits them. operationId: getSourceList parameters: - - name: provider - in: query + - in: query + name: provider schema: - type: string enum: - aws - azure - gcp + type: string - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: "200": - description: Returned on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.ListSourceResponse' examples: example: $ref: '#/components/examples/v1.SourceListResponseExample' + schema: + $ref: '#/components/schemas/v1.ListSourceResponse' + description: Returned on success. "500": $ref: '#/components/responses/InternalError' - /sources/{ID}/launch_templates: - get: tags: - Source + /sources/{ID}/launch_templates: + get: description: | Return a list of launch templates. A launch template is a configuration set with a name that is available through hyperscaler API. When creating reservations, launch template can be provided in order to set additional configuration for instances. In GCP, when using templates, propagated user attributes are not overridden or updated. Only new attributes are added to the instance. Currently AWS and GCP Launch Templates are supported. operationId: getLaunchTemplatesList parameters: - - name: ID + - description: Source ID from Sources Database in: path - description: Source ID from Sources Database + name: ID required: true schema: - type: integer format: int64 - - name: region + type: integer + - description: Hyperscaler region in: query - description: Hyperscaler region + name: region required: true schema: type: string @@ -1419,66 +1428,68 @@ paths: - $ref: '#/components/parameters/Limit' responses: "200": - description: Return on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.ListLaunchTemplateResponse' examples: example: $ref: '#/components/examples/v1.LaunchTemplateListResponse' + schema: + $ref: '#/components/schemas/v1.ListLaunchTemplateResponse' + description: Return on success. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' - /sources/{ID}/upload_info: - get: tags: - Source + /sources/{ID}/upload_info: + get: description: | Provides all necessary information to upload an image for given Source. Typically, this is account number, subscription ID but some hyperscaler types also provide additional data. The response contains "provider" field which can be one of aws, azure or gcp and then exactly one field named "aws", "azure" or "gcp". Enum is not used due to limitation of the language (Go). Some types may perform more than one calls (e.g. Azure) so latency might be increased. Caching of static information is performed to improve latency of consequent calls. operationId: getSourceUploadInfo parameters: - - name: ID + - description: Source ID from Sources Database in: path - description: Source ID from Sources Database + name: ID required: true schema: - type: integer format: int64 + type: integer responses: "200": - description: Return on success. content: application/json: - schema: - $ref: '#/components/schemas/v1.SourceUploadInfoResponse' examples: aws: $ref: '#/components/examples/v1.SourceUploadInfoAWSResponse' azure: $ref: '#/components/examples/v1.SourceUploadInfoAzureResponse' + schema: + $ref: '#/components/schemas/v1.SourceUploadInfoResponse' + description: Return on success. "404": $ref: '#/components/responses/NotFound' "500": $ref: '#/components/responses/InternalError' + tags: + - Source servers: - - url: http://0.0.0.0:{port}/api/{applicationName} - description: Local development + - description: Local development + url: http://0.0.0.0:{port}/api/{applicationName} variables: applicationName: default: provisioning port: default: "8000" tags: - - name: Pubkey - description: | + - description: | A pubkey represents the SSH public portion of a key pair with a name and body. Public key types and fingerprints are detected during their creation process. Two types are supported: RSA and ssh-ed25519. Fingerprints are calculated in two ways: using the standard SHA method and the legacy MD5 method, which is available under the fingerprint_legacy field. Each public key has a unique name and body and helps in verifying the uniqueness of the keys. Using this API, you can perform the following operations. - - name: Reservation - description: | + name: Pubkey + - description: | A reservation represents a request for launching one or more instances from a single image. This reservation triggers a background job, that will Launch set amount of instances with the same configuration. The configuration decides target provider, instance size and ssh pubkey to use for the default user. - - name: Source - description: | + name: Reservation + - description: | A Source represents a connection with public cloud account. These endpoints serve as convenient way to read information about available Sources to deploy instances into. The source of through is different application called Sources. + name: Source diff --git a/go.mod b/go.mod index e6620425..f251f5fd 100644 --- a/go.mod +++ b/go.mod @@ -4,83 +4,83 @@ module github.com/RHEnVision/provisioning-backend go 1.21 require ( - cloud.google.com/go/compute v1.26.0 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 + cloud.google.com/go/compute v1.27.4 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork v1.1.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.3.0 github.com/IBM/pgxpoolprometheus v1.1.1 - github.com/Unleash/unleash-client-go/v4 v4.1.0 - github.com/archdx/zerolog-sentry v1.8.3 - github.com/aws/aws-sdk-go-v2 v1.26.1 - github.com/aws/aws-sdk-go-v2/config v1.27.13 - github.com/aws/aws-sdk-go-v2/credentials v1.17.13 - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.2 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.161.1 - github.com/aws/aws-sdk-go-v2/service/iam v1.32.1 - github.com/aws/aws-sdk-go-v2/service/sts v1.28.7 - github.com/aws/smithy-go v1.20.2 + github.com/Unleash/unleash-client-go/v4 v4.1.2 + github.com/archdx/zerolog-sentry v1.8.4 + github.com/aws/aws-sdk-go-v2 v1.30.3 + github.com/aws/aws-sdk-go-v2/config v1.27.27 + github.com/aws/aws-sdk-go-v2/credentials v1.17.27 + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.3 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.173.0 + github.com/aws/aws-sdk-go-v2/service/iam v1.34.3 + github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 + github.com/aws/smithy-go v1.20.3 github.com/coreos/go-oidc v2.2.1+incompatible - github.com/exaring/otelpgx v0.5.4 + github.com/exaring/otelpgx v0.6.2 github.com/georgysavva/scany/v2 v2.1.3 - github.com/getkin/kin-openapi v0.124.0 - github.com/getsentry/sentry-go v0.27.0 - github.com/go-chi/chi/v5 v5.0.12 + github.com/getkin/kin-openapi v0.127.0 + github.com/getsentry/sentry-go v0.28.1 + github.com/go-chi/chi/v5 v5.1.0 github.com/go-chi/render v1.0.3 github.com/go-openapi/runtime v0.28.0 github.com/go-playground/mold/v4 v4.5.0 - github.com/go-playground/validator/v10 v10.20.0 + github.com/go-playground/validator/v10 v10.22.0 github.com/google/uuid v1.6.0 github.com/ilyakaznacheev/cleanenv v1.5.0 github.com/jackc/pgx-zerolog v0.0.0-20230315001418-f978528409eb - github.com/jackc/pgx/v5 v5.5.5 - github.com/jackc/tern/v2 v2.1.1 + github.com/jackc/pgx/v5 v5.6.0 + github.com/jackc/tern/v2 v2.2.1 github.com/lzap/cloudwatchwriter2 v1.2.0 github.com/oapi-codegen/runtime v1.1.1 github.com/prometheus/client_golang v1.19.1 - github.com/redhatinsights/app-common-go v1.6.7 + github.com/redhatinsights/app-common-go v1.6.8 github.com/redhatinsights/platform-go-middlewares/v2 v2.0.0-beta.2 - github.com/redis/go-redis/v9 v9.5.1 - github.com/riandyrn/otelchi v0.8.0 - github.com/rs/zerolog v1.32.0 + github.com/redis/go-redis/v9 v9.6.1 + github.com/riandyrn/otelchi v0.9.0 + github.com/rs/zerolog v1.33.0 github.com/segmentio/kafka-go v0.4.47 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 - go.opentelemetry.io/otel v1.26.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.26.0 - go.opentelemetry.io/otel/sdk v1.26.0 - go.opentelemetry.io/otel/trace v1.26.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 + go.opentelemetry.io/otel v1.28.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 + go.opentelemetry.io/otel/sdk v1.28.0 + go.opentelemetry.io/otel/trace v1.28.0 go.uber.org/automaxprocs v1.5.3 - golang.org/x/crypto v0.23.0 - golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 - google.golang.org/api v0.180.0 + golang.org/x/crypto v0.25.0 + golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 + google.golang.org/api v0.189.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - cloud.google.com/go/auth v0.4.1 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.3.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect + cloud.google.com/go/auth v0.7.2 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.3 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect - github.com/BurntSushi/toml v1.3.2 // indirect + github.com/BurntSushi/toml v1.4.0 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/ajg/form v1.5.1 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -88,8 +88,8 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/gabriel-vasile/mimetype v1.4.3 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/gabriel-vasile/mimetype v1.4.5 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/analysis v0.23.0 // indirect github.com/go-openapi/errors v0.22.0 // indirect @@ -105,20 +105,20 @@ require ( github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect - github.com/google/s2a-go v0.1.7 // indirect + github.com/google/s2a-go v0.1.8 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.4 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 // indirect - github.com/huandu/xstrings v1.4.0 // indirect + github.com/googleapis/gax-go/v2 v2.13.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.21.0 // indirect + github.com/huandu/xstrings v1.5.0 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/invopop/yaml v0.3.1 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect + github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/joho/godotenv v1.5.1 // indirect github.com/josharian/intern v1.0.0 // indirect - github.com/klauspost/compress v1.17.8 // indirect + github.com/klauspost/compress v1.17.9 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/lib/pq v1.10.9 // indirect @@ -129,6 +129,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/oleiade/lane/v2 v2.0.0 // indirect github.com/perimeterx/marshmallow v1.1.5 // indirect @@ -138,8 +139,8 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pquerna/cachecontrol v0.2.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect - github.com/prometheus/procfs v0.14.0 // indirect + github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/spf13/cast v1.6.0 // indirect github.com/stretchr/objx v0.5.2 // indirect @@ -147,21 +148,21 @@ require ( github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect - go.mongodb.org/mongo-driver v1.15.0 // indirect + go.mongodb.org/mongo-driver v1.16.0 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0 // indirect - go.opentelemetry.io/otel/metric v1.26.0 // indirect - go.opentelemetry.io/proto/otlp v1.2.0 // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/oauth2 v0.20.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect + go.opentelemetry.io/otel/metric v1.28.0 // indirect + go.opentelemetry.io/proto/otlp v1.3.1 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/oauth2 v0.21.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 - google.golang.org/genproto v0.0.0-20240513163218-0867130af1f8 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect - google.golang.org/grpc v1.63.2 // indirect - google.golang.org/protobuf v1.34.1 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/text v0.16.0 // indirect + google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240730163845-b1a4ccb954bf // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf // indirect + google.golang.org/grpc v1.65.0 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect olympos.io/encoding/edn v0.0.0-20201019073823-d3554ca0b0a3 // indirect ) diff --git a/go.sum b/go.sum index f5094aab..8bebf6b8 100644 --- a/go.sum +++ b/go.sum @@ -1,20 +1,36 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.113.0 h1:g3C70mn3lWfckKBiCVsAshabrDg01pQ0pnX1MNtnMkA= cloud.google.com/go v0.113.0/go.mod h1:glEqlogERKYeePz6ZdkcLJ28Q2I6aERgDDErBg9GzO8= +cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14= +cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU= cloud.google.com/go/auth v0.4.1 h1:Z7YNIhlWRtrnKlZke7z3GMqzvuYzdc2z98F9D1NV5Hg= cloud.google.com/go/auth v0.4.1/go.mod h1:QVBuVEKpCn4Zp58hzRGvL0tjRGU0YqdRTdCHM1IHnro= +cloud.google.com/go/auth v0.7.2 h1:uiha352VrCDMXg+yoBtaD0tUF4Kv9vrtrWPYXwutnDE= +cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs= cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +cloud.google.com/go/auth/oauth2adapt v0.2.3 h1:MlxF+Pd3OmSudg/b1yZ5lJwoXCEaeedAguodky1PcKI= +cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I= cloud.google.com/go/compute v1.26.0 h1:uHf0NN2nvxl1Gh4QO83yRCOdMK4zivtMS5gv0dEX0hg= cloud.google.com/go/compute v1.26.0/go.mod h1:T9RIRap4pVHCGUkVFRJ9hygT3KCXjip41X1GgWtBBII= +cloud.google.com/go/compute v1.27.4 h1:XM8ulx6crjdl09XBfji7viFgZOEQuIxBwKmjRH9Rtmc= +cloud.google.com/go/compute v1.27.4/go.mod h1:7JZS+h21ERAGHOy5qb7+EPyXlQwzshzrx1x6L9JhTqU= 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/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 h1:GJHeeA2N7xrG3q30L2UXDyuWRzDM900/65j70wcM4Ww= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 h1:FDif4R1+UUR+00q6wquyX90K7A8dN+R5E8GEadoP7sU= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2/go.mod h1:aiYBYui4BJ/BJCAIKs92XiPyQfTaBWqvHujDwKb6CBU= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 h1:/Di3vB4sNeQ+7A8efjUVENvyB945Wruvstucqp7ZArg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0/go.mod h1:gM3K25LQlsET3QR+4V74zxCsFAy0r6xMNN9n80SZn+4= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.0.0 h1:lMW1lD/17LUA5z1XTURo7LcVG2ICBPlyMHjIUrcFZNQ= @@ -35,6 +51,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= +github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/IBM/pgxpoolprometheus v1.1.1 h1:xkWNUe87TIuBj/ypdSiDgNYktsuM7MoZCT8a+kjhh2s= github.com/IBM/pgxpoolprometheus v1.1.1/go.mod h1:GFJDkHbidFfB2APbhBTSy2X4PKH3bLWsEMBhmzK1ipo= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= @@ -48,48 +66,84 @@ github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBa github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= github.com/Unleash/unleash-client-go/v4 v4.1.0 h1:+9ZMa4sb176nlPfZyWYlWHeY8bA3odhGdZa2V063nZA= github.com/Unleash/unleash-client-go/v4 v4.1.0/go.mod h1:jzGQjqMwJm2y+vaVLzq3IzZPvh5SRWco0MNIw2KK03I= +github.com/Unleash/unleash-client-go/v4 v4.1.2 h1:5debZAulqJwRJE/7wpKPh1uzA7Zm8KEc+5ChbNzSL4Q= +github.com/Unleash/unleash-client-go/v4 v4.1.2/go.mod h1:k7LRAXyKeZ1DwqGaKn1KZo92e9JVlEPut4CAhutPJmU= github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= github.com/archdx/zerolog-sentry v1.8.3 h1:d3MiV+2406pHnUodv6O00sqafIohjtsYGb8cuFAf2KQ= github.com/archdx/zerolog-sentry v1.8.3/go.mod h1:XrFHGe1CH5DQk/XSySu/IJSi5C9XR6+zpc97zVf/c4c= +github.com/archdx/zerolog-sentry v1.8.4 h1:Thxb8Crm+JaV1kcAF2KEcpKwkMtQaj+GazhktFgGTUc= +github.com/archdx/zerolog-sentry v1.8.4/go.mod h1:XrFHGe1CH5DQk/XSySu/IJSi5C9XR6+zpc97zVf/c4c= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= +github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM= github.com/aws/aws-sdk-go-v2/config v1.27.13 h1:WbKW8hOzrWoOA/+35S5okqO/2Ap8hkkFUzoW8Hzq24A= github.com/aws/aws-sdk-go-v2/config v1.27.13/go.mod h1:XLiyiTMnguytjRER7u5RIkhIqS8Nyz41SwAWb4xEjxs= +github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90= +github.com/aws/aws-sdk-go-v2/config v1.27.27/go.mod h1:MVYamCg76dFNINkZFu4n4RjDixhVr51HLj4ErWzrVwg= github.com/aws/aws-sdk-go-v2/credentials v1.17.13 h1:XDCJDzk/u5cN7Aple7D/MiAhx1Rjo/0nueJ0La8mRuE= github.com/aws/aws-sdk-go-v2/credentials v1.17.13/go.mod h1:FMNcjQrmuBYvOTZDtOLCIu0esmxjF7RuA/89iSXWzQI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.27 h1:2raNba6gr2IfA0eqqiP2XiQ0UVOpGPgDSi0I9iAP+UI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.27/go.mod h1:gniiwbGahQByxan6YjQUMcW4Aov6bLC3m+evgcoN4r4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.2 h1:HyNdJT4OVRtOZlESOeo3IszDqwdmrGo+tEWRaSRj8bw= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.2/go.mod h1:tZiRxrv5yBRgZ9Z4OOOxwscAZRFk5DgYhEcjX1QpvgI= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.3 h1:pnvujeesw3tP0iDLKdREjPAzxmPqC8F0bov77VN2wSk= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.3/go.mod h1:eJZGfJNuTmvBgiy2O5XIPlHMBi4GUYoJoKZ6U6wCVVk= github.com/aws/aws-sdk-go-v2/service/ec2 v1.161.1 h1:NbjXshriDs5bGeqKvrOF70L41X0aCMC60ImN2vkcQAc= github.com/aws/aws-sdk-go-v2/service/ec2 v1.161.1/go.mod h1:xejKuuRDjz6z5OqyeLsz01MlOqqW7CqpAB4PabNvpu8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.173.0 h1:ta62lid9JkIpKZtZZXSj6rP2AqY5x1qYGq53ffxqD9Q= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.173.0/go.mod h1:o6QDjdVKpP5EF0dp/VlvqckzuSDATr1rLdHt3A5m0YY= github.com/aws/aws-sdk-go-v2/service/iam v1.32.1 h1:4rE8nIQ7HabhytHpGacgyLF4NjsswF4rBe7smA2kxa0= github.com/aws/aws-sdk-go-v2/service/iam v1.32.1/go.mod h1:aXWImQV0uTW35LM0A/T4wEg6R1/ReXUu4SM6/lUHYK0= +github.com/aws/aws-sdk-go-v2/service/iam v1.34.3 h1:p4L/tixJ3JUIxCteMGT6oMlqCbEv/EzSZoVwdiib8sU= +github.com/aws/aws-sdk-go-v2/service/iam v1.34.3/go.mod h1:rfOWxxwdecWvSC9C2/8K/foW3Blf+aKnIIPP9kQ2DPE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= github.com/aws/aws-sdk-go-v2/service/sso v1.20.6 h1:o5cTaeunSpfXiLTIBx5xo2enQmiChtu1IBbzXnfU9Hs= github.com/aws/aws-sdk-go-v2/service/sso v1.20.6/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 h1:BXx0ZIxvrJdSgSvKTZ+yRBeSqqgPM89VPlulEcl37tM= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.4/go.mod h1:ooyCOXjvJEsUw7x+ZDHeISPMhtwI3ZCB7ggFMcFfWLU= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0 h1:Qe0r0lVURDDeBQJ4yP+BOrJkvkiCo/3FH/t+wY11dmw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrAaCYQR72t0wrSBfoesUE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw= github.com/aws/aws-sdk-go-v2/service/sts v1.28.7 h1:et3Ta53gotFR4ERLXXHIHl/Uuk1qYpP5uU7cvNql8ns= github.com/aws/aws-sdk-go-v2/service/sts v1.28.7/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ= 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/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= +github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= @@ -122,6 +176,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/exaring/otelpgx v0.5.4 h1:uytSs8A9/8tpnJ4J8jsusbRtNgP6Cn5npnffCxE2Unk= github.com/exaring/otelpgx v0.5.4/go.mod h1:DuRveXIeRNz6VJrMTj2uCBFqiocMx4msCN1mIMmbZUI= +github.com/exaring/otelpgx v0.6.2 h1:z1ayuDusPITNOhzvmx3nLpFax+tv7Hu7mdrjtgW3ZeA= +github.com/exaring/otelpgx v0.6.2/go.mod h1:DuRveXIeRNz6VJrMTj2uCBFqiocMx4msCN1mIMmbZUI= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= @@ -130,14 +186,22 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/gabriel-vasile/mimetype v1.4.5 h1:J7wGKdGu33ocBOhGy0z653k/lFKLFDPJMG8Gql0kxn4= +github.com/gabriel-vasile/mimetype v1.4.5/go.mod h1:ibHel+/kbxn9x2407k1izTA1S81ku1z/DlgOW2QE0M4= github.com/georgysavva/scany/v2 v2.1.3 h1:Zd4zm/ej79Den7tBSU2kaTDPAH64suq4qlQdhiBeGds= github.com/georgysavva/scany/v2 v2.1.3/go.mod h1:fqp9yHZzM/PFVa3/rYEC57VmDx+KDch0LoqrJzkvtos= github.com/getkin/kin-openapi v0.124.0 h1:VSFNMB9C9rTKBnQ/fpyDU8ytMTr4dWI9QovSKj9kz/M= github.com/getkin/kin-openapi v0.124.0/go.mod h1:wb1aSZA/iWmorQP9KTAS/phLj/t17B5jT7+fS8ed9NM= +github.com/getkin/kin-openapi v0.127.0 h1:Mghqi3Dhryf3F8vR370nN67pAERW+3a95vomb3MAREY= +github.com/getkin/kin-openapi v0.127.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM= github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.28.1 h1:zzaSm/vHmGllRM6Tpx1492r0YDzauArdBfkJRtY6P5k= +github.com/getsentry/sentry-go v0.28.1/go.mod h1:1fQZ+7l7eeJ3wYi82q5Hg8GqAPgefRq+FP/QhafYVgg= github.com/go-chi/chi/v5 v5.0.12 h1:9euLV5sTrTNTRUU9POmDUvfxyj6LAABLUcEWO+JJb4s= github.com/go-chi/chi/v5 v5.0.12/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw= +github.com/go-chi/chi/v5 v5.1.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/render v1.0.3 h1:AsXqd2a1/INaIfUSKq3G5uA8weYx20FOsM7uSoCyyt4= github.com/go-chi/render v1.0.3/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= @@ -145,6 +209,8 @@ github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3Bop github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU= @@ -177,6 +243,8 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8= github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-playground/validator/v10 v10.22.0 h1:k6HsTZ0sTnROkhS//R0O+55JgM8C4Bx7ia+JlgcnOao= +github.com/go-playground/validator/v10 v10.22.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -210,6 +278,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= +github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -218,11 +288,19 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfF github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.12.4 h1:9gWcmF85Wvq4ryPFvGFaOgPIs1AQX0d0bcbGw4Z96qg= github.com/googleapis/gax-go/v2 v2.12.4/go.mod h1:KYEYLorsnIGDi/rPC8b5TdlB9kbKoFubselGIoBMCwI= +github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= +github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= 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/grpc-ecosystem/grpc-gateway/v2 v2.21.0 h1:CWyXh/jylQWp2dtiV33mY4iSSp6yf4lmn+c7/tN+ObI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.21.0/go.mod h1:nCLIt0w3Ept2NwF8ThLmrppXsfT07oC8k0XNDxd8sVU= +github.com/h2non/gock v1.2.0/go.mod h1:tNhoxHYW2W42cYkYb1WqzdbYIieALC99kpYr7rH/BQk= +github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/ilyakaznacheev/cleanenv v1.5.0 h1:0VNZXggJE2OYdXE87bfSSwGxeiGt9moSR2lOrsHHvr4= github.com/ilyakaznacheev/cleanenv v1.5.0/go.mod h1:a5aDzaJrLCQZsazHol1w8InnDcOX0OColm64SlIi6gk= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= @@ -234,14 +312,20 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/pgx-zerolog v0.0.0-20230315001418-f978528409eb h1:pSv+zRVeAYjbXRFjyytFIMRBSKWVowCi7KbXSMR/+ug= github.com/jackc/pgx-zerolog v0.0.0-20230315001418-f978528409eb/go.mod h1:CRUuPsmIajLt3dZIlJ5+O8IDSib6y8yrst8DkCthTa4= github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= +github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY= +github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw= github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jackc/tern/v2 v2.1.1 h1:qDo41wTtDHrTgkN7lhcoMQ6oiAWqiD8xKgslxyoKHNQ= github.com/jackc/tern/v2 v2.1.1/go.mod h1:xnRalAguscgir18eW/wscn/QTEoWwFqrpW+5S+CREWM= +github.com/jackc/tern/v2 v2.2.1 h1:kricKrvA6FNzBHHaQu15hmJDnpHvZA2DoJa97lJLt10= +github.com/jackc/tern/v2 v2.2.1/go.mod h1:thNyC7gVBGYWsAJJSvAX0ML/1lAmOw7+DVH8aSE5rto= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -254,6 +338,8 @@ github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPci github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= +github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -284,6 +370,8 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms= github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= @@ -321,21 +409,33 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= +github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/redhatinsights/app-common-go v1.6.7 h1:cXWW0F6ZW53RLRr54gn7Azo9CLTysYOmFDR0D0Qd0Fs= github.com/redhatinsights/app-common-go v1.6.7/go.mod h1:6gzRyg8ZyejwMCksukeAhh2ZXOB3uHSmBsbP06fG2PQ= +github.com/redhatinsights/app-common-go v1.6.8 h1:hyExMp6WHprlGkHKElQvSFF2ZPX8XTW6X+54PLLyUv0= +github.com/redhatinsights/app-common-go v1.6.8/go.mod h1:KW0BK+bnhp3kXU8BFwebQXqCqjdkcRewZsDlXCSNMyo= github.com/redhatinsights/platform-go-middlewares/v2 v2.0.0-beta.2 h1:pEDiKYqxEoZT6Mx7B57rYqIgmYyly0f8JfzfY38b9T4= github.com/redhatinsights/platform-go-middlewares/v2 v2.0.0-beta.2/go.mod h1:Ipl1kmvhZSpgRoe7MyJNK+VAvGG1cIqn535TuId5npw= github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8= github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= +github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= +github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= github.com/riandyrn/otelchi v0.8.0 h1:q60HKpwt1MmGjOWgM7m5gGyXYAY3DfTSdfBdBt6ICV4= github.com/riandyrn/otelchi v0.8.0/go.mod h1:ErTae2TG7lrOtEPFsd5/hYLOHJpkk0NNyMaeTMWxl0U= +github.com/riandyrn/otelchi v0.9.0 h1:BuQxXR7/JF2yYOQl21Yyz5d52hns/96ecAaPUZiKQzc= +github.com/riandyrn/otelchi v0.9.0/go.mod h1:iX30kllzThsf8oEcEbl3GifPJZtN4cnCWUUc+UhE4yM= 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/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0= github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= +github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= +github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/segmentio/kafka-go v0.4.47 h1:IqziR4pA3vrZq7YdRxaT3w1/5fvIH5qpCwstUanQQB0= github.com/segmentio/kafka-go v0.4.47/go.mod h1:HjF6XbOKh0Pjlkr5GVZxt6CsjjwnmhVOfURM5KMd8qg= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -375,24 +475,42 @@ github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gi github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.mongodb.org/mongo-driver v1.15.0 h1:rJCKC8eEliewXjZGf0ddURtl7tTVy1TK3bfl0gkUSLc= go.mongodb.org/mongo-driver v1.15.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= +go.mongodb.org/mongo-driver v1.16.0 h1:tpRsfBJMROVHKpdGyc1BBEzzjDUWjItxbVSZ8Ls4BQ4= +go.mongodb.org/mongo-driver v1.16.0/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= 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/net/http/otelhttp v0.51.0 h1:Xs2Ncz0gNihqu9iosIZ5SkBbWo5T8JhhLJFMQL1qmLI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0/go.mod h1:vy+2G/6NvVMpwGX/NyLqcC41fxepnuKHk16E6IZUcJc= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0 h1:1u/AyyOqAWzy+SkPxDpahCNZParHV8Vid1RnI2clyDE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0/go.mod h1:z46paqbJ9l7c9fIPCXTqTGwhQZ5XoTIsfeFYWboizjs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.26.0 h1:1wp/gyxsuYtuE/JFxsQRtcCDtMrO2qMvlfXALU5wkzI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.26.0/go.mod h1:gbTHmghkGgqxMomVQQMur1Nba4M0MQ8AYThXDUjsJ38= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= +go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= +go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= go.opentelemetry.io/otel/sdk v1.26.0 h1:Y7bumHf5tAiDlRYFmGqetNcLaVUZmh4iYfmGxtmz7F8= go.opentelemetry.io/otel/sdk v1.26.0/go.mod h1:0p8MXpqLeJ0pzcszQQN4F0S5FVjBLgypeGSngLsmirs= +go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= +go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= go.opentelemetry.io/proto/otlp v1.2.0 h1:pVeZGk7nXDC9O2hncA6nHldxEjm6LByfA2aN8IOkz94= go.opentelemetry.io/proto/otlp v1.2.0/go.mod h1:gGpR8txAl5M03pDhMC79G6SdqNV26naRm/KDsgaHD8A= +go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= +go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -402,9 +520,13 @@ golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4 golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= 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.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -425,9 +547,13 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= 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.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= +golang.org/x/oauth2 v0.21.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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -453,6 +579,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -461,6 +589,7 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= 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.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -471,6 +600,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= 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/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -483,6 +614,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.180.0 h1:M2D87Yo0rGBPWpo1orwfCLehUUL6E7/TYe5gvMQWDh4= google.golang.org/api v0.180.0/go.mod h1:51AiyoEg1MJPSZ9zvklA8VnRILPXxn1iVen9v25XHAE= +google.golang.org/api v0.189.0 h1:equMo30LypAkdkLMBqfeIqtyAnlyig1JSZArl4XPwdI= +google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -490,10 +623,16 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20240513163218-0867130af1f8 h1:XpH03M6PDRKTo1oGfZBXu2SzwcbfxUokgobVinuUZoU= google.golang.org/genproto v0.0.0-20240513163218-0867130af1f8/go.mod h1:OLh2Ylz+WlYAJaSBRpJIJLP8iQP+8da+fpxbwNEAV/o= +google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf h1:OqdXDEakZCVtDiZTjcxfwbHPCT11ycCEsTKesBVKvyY= +google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:mCr1K1c8kX+1iSBREvU3Juo11CB+QOEWxbRS01wWl5M= google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 h1:W5Xj/70xIA4x60O/IFyXivR5MGqblAb8R3w26pnD6No= google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8/go.mod h1:vPrPUTsDCYxXWjP7clS81mZ6/803D8K4iM9Ma27VKas= +google.golang.org/genproto/googleapis/api v0.0.0-20240730163845-b1a4ccb954bf h1:GillM0Ef0pkZPIB+5iO6SDK+4T9pf6TpaYR6ICD5rVE= +google.golang.org/genproto/googleapis/api v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:OFMYQFHJ4TM3JRlWDZhJbZfra2uqc3WLBZiaaqP4DtU= google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 h1:mxSlqyb8ZAHsYDCfiXN1EDdNTdvjUJSLY+OnAUtYNYA= google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf h1:liao9UHurZLtiEwBgT9LMOnKYsHze6eA6w1KQCMVN2Q= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -501,6 +640,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -512,6 +653,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=