diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index e1c0fbd5b3..077b1b6987 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,6 +1,5 @@
* @percona/pmm-review-be
/agent/agents/postgres/ @JiriCtvrtka @percona/pmm-review-be
-/agent/runner/ @artemgavrilov @percona/pmm-review-be
/api/ @BupycHuk @percona/pmm-review-be
/managed/services/checks/ @idoqo @percona/pmm-review-be
/update/ @BupycHuk @talhabinrizwan @percona/pmm-review-be
diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml
index 95f0bd3e50..65f1da4308 100644
--- a/.github/ISSUE_TEMPLATE/bug.yml
+++ b/.github/ISSUE_TEMPLATE/bug.yml
@@ -3,7 +3,6 @@ description: File a bug report
labels: ["bug", "triage"]
assignees:
- BupycHuk
- - artemgavrilov
body:
- type: markdown
attributes:
diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml
index b9873b9d0d..dd78fd40d9 100644
--- a/.github/ISSUE_TEMPLATE/feature.yml
+++ b/.github/ISSUE_TEMPLATE/feature.yml
@@ -3,7 +3,6 @@ description: Suggest an idea for this project
labels: ["feature", "triage"]
assignees:
- BupycHuk
- - artemgavrilov
body:
- type: markdown
attributes:
diff --git a/.github/workflows/admin.yml b/.github/workflows/admin.yml
index c9c182d74d..6df37d3409 100644
--- a/.github/workflows/admin.yml
+++ b/.github/workflows/admin.yml
@@ -39,7 +39,7 @@ jobs:
cache: false
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -48,7 +48,7 @@ jobs:
${{ runner.os }}-go-build-
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
@@ -103,7 +103,7 @@ jobs:
cache: false
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -112,7 +112,7 @@ jobs:
${{ runner.os }}-go-build-
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
diff --git a/.github/workflows/agent.yml b/.github/workflows/agent.yml
index 05f8471442..c1cd90f789 100644
--- a/.github/workflows/agent.yml
+++ b/.github/workflows/agent.yml
@@ -73,7 +73,7 @@ jobs:
cache: false
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -82,7 +82,7 @@ jobs:
${{ runner.os }}-go-build-
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml
index d500a7d0ea..90dfcbc3e8 100644
--- a/.github/workflows/clean.yml
+++ b/.github/workflows/clean.yml
@@ -57,14 +57,14 @@ jobs:
lfs: true
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ matrix.os }}-go-${{ matrix.go.version }}-modules-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ matrix.os }}-go-${{ matrix.go.version }}-modules-
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ matrix.os }}-go-${{ matrix.go.version }}-build-${{ github.ref }}-${{ hashFiles('**') }}
diff --git a/.github/workflows/dockerhub-readme.yml b/.github/workflows/dockerhub-readme.yml
index b2f0e71574..83ee9454d6 100644
--- a/.github/workflows/dockerhub-readme.yml
+++ b/.github/workflows/dockerhub-readme.yml
@@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4
- name: Update Docker Hub Readme for perconalab/pmm-server
- uses: peter-evans/dockerhub-description@v3
+ uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
@@ -23,7 +23,7 @@ jobs:
readme-filepath: ./build/docker/server/README.md
- name: Update Docker Hub Readme for percona/pmm-server
- uses: peter-evans/dockerhub-description@v3
+ uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 04e1dd7cc6..071e8f1dc9 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -27,7 +27,7 @@ jobs:
cache: false
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -36,7 +36,7 @@ jobs:
${{ runner.os }}-go-build-
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
diff --git a/.github/workflows/managed.yml b/.github/workflows/managed.yml
index eeb545c10d..120d538409 100644
--- a/.github/workflows/managed.yml
+++ b/.github/workflows/managed.yml
@@ -39,7 +39,7 @@ jobs:
- name: Enable Go build cache
if: ${{ fromJSON(env.DEVCONTAINER_CACHE_ENABLED) }}
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -49,7 +49,7 @@ jobs:
- name: Enable Go modules cache
if: ${{ fromJSON(env.DEVCONTAINER_CACHE_ENABLED) }}
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
diff --git a/.github/workflows/qan-api2.yml b/.github/workflows/qan-api2.yml
index 9bd7d491be..c14c2dd645 100644
--- a/.github/workflows/qan-api2.yml
+++ b/.github/workflows/qan-api2.yml
@@ -40,7 +40,7 @@ jobs:
cache: false
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -49,7 +49,7 @@ jobs:
${{ runner.os }}-go-build-
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
diff --git a/.github/workflows/vmproxy.yml b/.github/workflows/vmproxy.yml
index 125ea0dd8e..c0bbff5eb9 100644
--- a/.github/workflows/vmproxy.yml
+++ b/.github/workflows/vmproxy.yml
@@ -40,7 +40,7 @@ jobs:
cache: false
- name: Enable Go build cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ github.ref }}-${{ hashFiles('**') }}
@@ -49,7 +49,7 @@ jobs:
${{ runner.os }}-go-build-
- name: Enable Go modules cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}
diff --git a/.golangci.yml b/.golangci.yml
index a36a87a56f..09ff87ff76 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -111,8 +111,8 @@ linters:
# TODO: carefully review all the rules below and either fix the code
# or leave disabled and provide a reason why
- - tagliatelle
- - revive
+ #- tagliatelle
+ #- revive
- paralleltest
- gocognit
- tagalign
diff --git a/.whitesource b/.whitesource
deleted file mode 100644
index 541b4c8fbf..0000000000
--- a/.whitesource
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "scanSettings": {
- "configMode": "AUTO",
- "configExternalURL": "",
- "projectToken": "",
- "baseBranches": [],
- "enableLicenseViolations": true
- },
- "checkRunSettings": {
- "vulnerableCheckRunConclusionLevel": "failure",
- "displayMode": "diff"
- },
- "issueSettings": {
- "minSeverityLevel": "NONE"
- },
- "remediateSettings": {
- "enableRenovate": false,
- "dependencyDashboard": false
- }
-}
diff --git a/admin/agentlocal/agentlocal.go b/admin/agentlocal/agentlocal.go
index 26a7aa18cc..22adf8ed23 100644
--- a/admin/agentlocal/agentlocal.go
+++ b/admin/agentlocal/agentlocal.go
@@ -46,13 +46,14 @@ func SetTransport(ctx context.Context, debug bool, port uint32) {
client.Default.SetTransport(transport)
}
+// NetworkInfo represents information about the network.
type NetworkInfo bool
const (
- RequestNetworkInfo NetworkInfo = true
- DoNotRequestNetworkInfo NetworkInfo = false
- Localhost = "127.0.0.1"
- DefaultPMMAgentListenPort = 7777
+ RequestNetworkInfo NetworkInfo = true //nolint:revive
+ DoNotRequestNetworkInfo NetworkInfo = false //nolint:revive
+ Localhost = "127.0.0.1" //nolint:revive
+ DefaultPMMAgentListenPort = 7777 //nolint:revive
)
// ErrNotSetUp is returned by GetStatus when pmm-agent is running, but not set up.
@@ -81,6 +82,7 @@ type Status struct {
ConnectionUptime float32 `json:"connection_uptime"`
}
+// AgentStatus represents the status of the agent.
type AgentStatus struct {
AgentID string `json:"agent_id"`
AgentType string `json:"agent_type"`
diff --git a/admin/cli/cli.go b/admin/cli/cli.go
index 9db76727dc..587896ac9c 100644
--- a/admin/cli/cli.go
+++ b/admin/cli/cli.go
@@ -68,6 +68,7 @@ func (c *PMMAdminCommands) Run(ctx *kong.Context, globals *flags.GlobalFlags) er
return run(ctx, globals)
}
+// GetGlobalFlags returns the global flags for PMMAdminCommands.
func (c *PMMAdminCommands) GetGlobalFlags() *flags.GlobalFlags {
return &c.GlobalFlags
}
@@ -81,6 +82,7 @@ type PMMCommands struct {
Completion commands.CompletionCommand `cmd:"" help:"Outputs shell code for initialising tab completions"`
}
+// GetGlobalFlags returns the global flags for PMMAdminCommands.
func (c *PMMCommands) GetGlobalFlags() *flags.GlobalFlags {
return &c.GlobalFlags
}
diff --git a/admin/cmd/pmm-admin/main.go b/admin/cmd/pmm-admin/main.go
index c376184e68..73f7310282 100644
--- a/admin/cmd/pmm-admin/main.go
+++ b/admin/cmd/pmm-admin/main.go
@@ -11,7 +11,7 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-
+// Package main.
package main
import (
diff --git a/admin/cmd/pmm/main.go b/admin/cmd/pmm/main.go
index 6800636f6d..649e2b403e 100644
--- a/admin/cmd/pmm/main.go
+++ b/admin/cmd/pmm/main.go
@@ -11,7 +11,7 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-
+// Package main.
package main
import (
diff --git a/admin/commands/base.go b/admin/commands/base.go
index 9289789951..e7240664d1 100644
--- a/admin/commands/base.go
+++ b/admin/commands/base.go
@@ -111,16 +111,19 @@ func ReadFromSource(src string) (*Credentials, error) {
return &creds, nil
}
+// ErrorResponse defines the interface for error responses.
type ErrorResponse interface {
error
Code() int
}
+// Error represents an error with additional information.
type Error struct {
Code int `json:"code"`
Error string `json:"error"`
}
+// GetError converts an ErrorResponse to an Error.
func GetError(err ErrorResponse) Error {
v := reflect.ValueOf(err)
p := v.Elem().FieldByName("Payload")
@@ -131,6 +134,7 @@ func GetError(err ErrorResponse) Error {
}
}
+// ParseTemplate parses the input text into a template.Template.
func ParseTemplate(text string) *template.Template {
t := template.New("").Option("missingkey=error")
return template.Must(t.Parse(strings.TrimSpace(text)))
diff --git a/admin/commands/inventory/add_agent_external_exporter.go b/admin/commands/inventory/add_agent_external_exporter.go
index 8d83d9240e..9aaf8f123c 100644
--- a/admin/commands/inventory/add_agent_external_exporter.go
+++ b/admin/commands/inventory/add_agent_external_exporter.go
@@ -60,6 +60,7 @@ type AddAgentExternalExporterCommand struct {
PushMetrics bool `help:"Enables push metrics model flow, it will be sent to the server by an agent"`
}
+// RunCmd executes the AddAgentExternalExporterCommand and returns the result.
func (cmd *AddAgentExternalExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_mongodb_exporter.go b/admin/commands/inventory/add_agent_mongodb_exporter.go
index fb258a39c6..88f706d65e 100644
--- a/admin/commands/inventory/add_agent_mongodb_exporter.go
+++ b/admin/commands/inventory/add_agent_mongodb_exporter.go
@@ -69,6 +69,7 @@ type AddAgentMongodbExporterCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd executes the AddAgentMongodbExporterCommand and returns the result.
func (cmd *AddAgentMongodbExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_mysqld_exporter.go b/admin/commands/inventory/add_agent_mysqld_exporter.go
index 0753670afa..1b4df9c4b3 100644
--- a/admin/commands/inventory/add_agent_mysqld_exporter.go
+++ b/admin/commands/inventory/add_agent_mysqld_exporter.go
@@ -101,6 +101,7 @@ type AddAgentMysqldExporterCommand struct {
LogLevel string `enum:"debug,info,warn,error" default:"warn" help:"Service logging level. One of: [debug, info, warn, error]"`
}
+// RunCmd executes the AddAgentMysqldExporterCommand and returns the result.
func (cmd *AddAgentMysqldExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_node_exporter.go b/admin/commands/inventory/add_agent_node_exporter.go
index 0e8f4f3e0f..2dbdedfe09 100644
--- a/admin/commands/inventory/add_agent_node_exporter.go
+++ b/admin/commands/inventory/add_agent_node_exporter.go
@@ -51,6 +51,7 @@ type AddAgentNodeExporterCommand struct {
LogLevel string `enum:"debug,info,warn,error" default:"warn" help:"Service logging level. One of: [debug, info, warn, error]"`
}
+// RunCmd runs the command for AddAgentNodeExporterCommand.
func (cmd *AddAgentNodeExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &agents.AddNodeExporterParams{
diff --git a/admin/commands/inventory/add_agent_pmm_agent.go b/admin/commands/inventory/add_agent_pmm_agent.go
index df8057e766..d257c8b16a 100644
--- a/admin/commands/inventory/add_agent_pmm_agent.go
+++ b/admin/commands/inventory/add_agent_pmm_agent.go
@@ -44,6 +44,7 @@ type AddPMMAgentCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd executes the AddPMMAgentCommand and returns the result.
func (cmd *AddPMMAgentCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &agents.AddPMMAgentParams{
diff --git a/admin/commands/inventory/add_agent_postgres_exporter.go b/admin/commands/inventory/add_agent_postgres_exporter.go
index 0ee39234d3..ce3bbdc615 100644
--- a/admin/commands/inventory/add_agent_postgres_exporter.go
+++ b/admin/commands/inventory/add_agent_postgres_exporter.go
@@ -68,6 +68,7 @@ type AddAgentPostgresExporterCommand struct {
AutoDiscoveryLimit int32 `default:"0" placeholder:"NUMBER" help:"Auto-discovery will be disabled if there are more than that number of databases (default: server-defined, -1: always disabled)"`
}
+// RunCmd executes the AddAgentPostgresExporterCommand and returns the result.
func (cmd *AddAgentPostgresExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_proxysql_exporter.go b/admin/commands/inventory/add_agent_proxysql_exporter.go
index d0e53aa7d8..08ec8bda7f 100644
--- a/admin/commands/inventory/add_agent_proxysql_exporter.go
+++ b/admin/commands/inventory/add_agent_proxysql_exporter.go
@@ -62,6 +62,7 @@ type AddAgentProxysqlExporterCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd executes the AddAgentProxysqlExporterCommand and returns the result.
func (cmd *AddAgentProxysqlExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &agents.AddProxySQLExporterParams{
diff --git a/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go b/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go
index 22fbd3dabf..065d885ec4 100644
--- a/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go
+++ b/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go
@@ -65,6 +65,7 @@ type AddAgentQANMongoDBProfilerAgentCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd executes the AddAgentQANMongoDBProfilerAgentCommand and returns the result.
func (cmd *AddAgentQANMongoDBProfilerAgentCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go b/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go
index 82492ad33c..304ab2ae2f 100644
--- a/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go
+++ b/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go
@@ -71,6 +71,7 @@ type AddAgentQANMySQLPerfSchemaAgentCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd runs the command for AddAgentQANMySQLPerfSchemaAgentCommand.
func (cmd *AddAgentQANMySQLPerfSchemaAgentCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go b/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go
index 1ca83e9bbc..af7462faf0 100644
--- a/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go
+++ b/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go
@@ -84,6 +84,7 @@ type AddAgentQANMySQLSlowlogAgentCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd executes the AddAgentQANMySQLSlowlogAgentCommand and returns the result.
func (cmd *AddAgentQANMySQLSlowlogAgentCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go b/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go
index 8800accb96..4b10a4504a 100644
--- a/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go
+++ b/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go
@@ -62,6 +62,7 @@ type AddAgentQANPostgreSQLPgStatementsAgentCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd executes the AddAgentQANPostgreSQLPgStatementsAgentCommand and returns the result.
func (cmd *AddAgentQANPostgreSQLPgStatementsAgentCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go b/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go
index 53df775c57..fb33087a3c 100644
--- a/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go
+++ b/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go
@@ -64,6 +64,7 @@ type AddAgentQANPostgreSQLPgStatMonitorAgentCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd runs the command for AddAgentQANPostgreSQLPgStatMonitorAgentCommand.
func (cmd *AddAgentQANPostgreSQLPgStatMonitorAgentCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_agent_rds_exporter.go b/admin/commands/inventory/add_agent_rds_exporter.go
index 5d694ec7f2..ada60ee35e 100644
--- a/admin/commands/inventory/add_agent_rds_exporter.go
+++ b/admin/commands/inventory/add_agent_rds_exporter.go
@@ -58,6 +58,7 @@ type AddAgentRDSExporterCommand struct {
LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
}
+// RunCmd executes the AddAgentRDSExporterCommand and returns the result.
func (cmd *AddAgentRDSExporterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &agents.AddRDSExporterParams{
diff --git a/admin/commands/inventory/add_node_container.go b/admin/commands/inventory/add_node_container.go
index 18fabfe19a..d106b3f7db 100644
--- a/admin/commands/inventory/add_node_container.go
+++ b/admin/commands/inventory/add_node_container.go
@@ -58,6 +58,7 @@ type AddNodeContainerCommand struct {
NodeModel string `help:"Node model"`
}
+// RunCmd executes the AddNodeContainerCommand and returns the result.
func (cmd *AddNodeContainerCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &nodes.AddContainerNodeParams{
diff --git a/admin/commands/inventory/add_node_generic.go b/admin/commands/inventory/add_node_generic.go
index 6bd51dc15a..e1a7c1f917 100644
--- a/admin/commands/inventory/add_node_generic.go
+++ b/admin/commands/inventory/add_node_generic.go
@@ -57,6 +57,7 @@ type AddNodeGenericCommand struct {
NodeModel string `help:"Node mddel"`
}
+// RunCmd executes the AddNodeGenericCommand and returns the result.
func (cmd *AddNodeGenericCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &nodes.AddGenericNodeParams{
diff --git a/admin/commands/inventory/add_node_remote.go b/admin/commands/inventory/add_node_remote.go
index 38fef75509..38ad2b025a 100644
--- a/admin/commands/inventory/add_node_remote.go
+++ b/admin/commands/inventory/add_node_remote.go
@@ -51,6 +51,7 @@ type AddNodeRemoteCommand struct {
Az string `help:"Node availability zone"`
}
+// RunCmd executes the AddNodeRemoteCommand and returns the result.
func (cmd *AddNodeRemoteCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &nodes.AddRemoteNodeParams{
diff --git a/admin/commands/inventory/add_node_remote_rds.go b/admin/commands/inventory/add_node_remote_rds.go
index fb045bfbce..6bed5e196e 100644
--- a/admin/commands/inventory/add_node_remote_rds.go
+++ b/admin/commands/inventory/add_node_remote_rds.go
@@ -53,6 +53,7 @@ type AddNodeRemoteRDSCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd executes the AddNodeRemoteRDSCommand and returns the result.
func (cmd *AddNodeRemoteRDSCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &nodes.AddRemoteRDSNodeParams{
diff --git a/admin/commands/inventory/add_service_external.go b/admin/commands/inventory/add_service_external.go
index 4b957148f6..8d6dc5e33d 100644
--- a/admin/commands/inventory/add_service_external.go
+++ b/admin/commands/inventory/add_service_external.go
@@ -53,6 +53,7 @@ type AddServiceExternalCommand struct {
Group string `help:"Group name of external service"`
}
+// RunCmd executes the AddServiceExternalCommand and returns the result.
func (cmd *AddServiceExternalCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_service_haproxy.go b/admin/commands/inventory/add_service_haproxy.go
index a7fd48b922..664442e2ee 100644
--- a/admin/commands/inventory/add_service_haproxy.go
+++ b/admin/commands/inventory/add_service_haproxy.go
@@ -52,6 +52,7 @@ type AddServiceHAProxyCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd executes the AddServiceHAProxyCommand and returns the result.
func (cmd *AddServiceHAProxyCommand) RunCmd() (commands.Result, error) {
isSupported, err := helpers.IsHAProxySupported()
if !isSupported {
diff --git a/admin/commands/inventory/add_service_mongodb.go b/admin/commands/inventory/add_service_mongodb.go
index 3314324991..4cae65421f 100644
--- a/admin/commands/inventory/add_service_mongodb.go
+++ b/admin/commands/inventory/add_service_mongodb.go
@@ -60,6 +60,7 @@ type AddServiceMongoDBCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd executes the AddServiceMongoDBCommand and returns the result.
func (cmd *AddServiceMongoDBCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &services.AddMongoDBServiceParams{
diff --git a/admin/commands/inventory/add_service_mysql.go b/admin/commands/inventory/add_service_mysql.go
index ad05f1f057..c269db9238 100644
--- a/admin/commands/inventory/add_service_mysql.go
+++ b/admin/commands/inventory/add_service_mysql.go
@@ -60,6 +60,7 @@ type AddServiceMySQLCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd runs the command for AddServiceMySQLCommand.
func (cmd *AddServiceMySQLCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &services.AddMySQLServiceParams{
diff --git a/admin/commands/inventory/add_service_postgresql.go b/admin/commands/inventory/add_service_postgresql.go
index 992c3883af..6f9e3fabda 100644
--- a/admin/commands/inventory/add_service_postgresql.go
+++ b/admin/commands/inventory/add_service_postgresql.go
@@ -60,6 +60,7 @@ type AddServicePostgreSQLCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd executes the AddServicePostgreSQLCommand and returns the result.
func (cmd *AddServicePostgreSQLCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/inventory/add_service_proxysql.go b/admin/commands/inventory/add_service_proxysql.go
index 60f50ea6cc..9e7d61b466 100644
--- a/admin/commands/inventory/add_service_proxysql.go
+++ b/admin/commands/inventory/add_service_proxysql.go
@@ -60,6 +60,7 @@ type AddServiceProxySQLCommand struct {
CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
}
+// RunCmd executes the AddServiceProxySQLCommand and returns the result.
func (cmd *AddServiceProxySQLCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
params := &services.AddProxySQLServiceParams{
diff --git a/admin/commands/inventory/inventory.go b/admin/commands/inventory/inventory.go
index 8de367d9f1..0870bbb8ba 100644
--- a/admin/commands/inventory/inventory.go
+++ b/admin/commands/inventory/inventory.go
@@ -22,7 +22,7 @@ import (
)
// InventoryCommand is used by Kong for CLI flags and commands.
-type InventoryCommand struct {
+type InventoryCommand struct { //nolint:revive
List ListCommand `cmd:"" help:"List inventory commands"`
Add AddCommand `cmd:"" help:"Add to inventory commands"`
Remove RemoveCommand `cmd:"" help:"Remove from inventory commands"`
diff --git a/admin/commands/inventory/list_agents.go b/admin/commands/inventory/list_agents.go
index 22ffc6da64..ed3cd6226f 100644
--- a/admin/commands/inventory/list_agents.go
+++ b/admin/commands/inventory/list_agents.go
@@ -101,6 +101,7 @@ type ListAgentsCommand struct {
AgentType string `help:"Filter by Agent type"`
}
+// RunCmd executes the ListAgentsCommand and returns the result.
func (cmd *ListAgentsCommand) RunCmd() (commands.Result, error) {
agentType, err := formatTypeValue(acceptableAgentTypes, cmd.AgentType)
if err != nil {
diff --git a/admin/commands/inventory/list_nodes.go b/admin/commands/inventory/list_nodes.go
index e9febcd072..5c608abea0 100644
--- a/admin/commands/inventory/list_nodes.go
+++ b/admin/commands/inventory/list_nodes.go
@@ -63,6 +63,7 @@ type ListNodesCommand struct {
NodeType string `help:"Filter by Node type"`
}
+// RunCmd executes the ListNodesCommand and returns the result.
func (cmd *ListNodesCommand) RunCmd() (commands.Result, error) {
nodeType, err := formatTypeValue(acceptableNodeTypes, cmd.NodeType)
if err != nil {
diff --git a/admin/commands/inventory/list_services.go b/admin/commands/inventory/list_services.go
index d3808fb8b8..e665f92da5 100644
--- a/admin/commands/inventory/list_services.go
+++ b/admin/commands/inventory/list_services.go
@@ -78,6 +78,7 @@ type ListServicesCommand struct {
ExternalGroup string `help:"Filter by external group"`
}
+// RunCmd executes the ListServicesCommand and returns the result.
func (cmd *ListServicesCommand) RunCmd() (commands.Result, error) {
serviceType, err := formatTypeValue(acceptableServiceTypes, cmd.ServiceType)
if err != nil {
diff --git a/admin/commands/inventory/remove_agent.go b/admin/commands/inventory/remove_agent.go
index ff04ba8c02..d13c4ca1f7 100644
--- a/admin/commands/inventory/remove_agent.go
+++ b/admin/commands/inventory/remove_agent.go
@@ -38,6 +38,7 @@ type RemoveAgentCommand struct {
Force bool `help:"Remove agent with all dependencies"`
}
+// RunCmd executes the RemoveAgentCommand and returns the result.
func (cmd *RemoveAgentCommand) RunCmd() (commands.Result, error) {
params := &agents.RemoveAgentParams{
Body: agents.RemoveAgentBody{
diff --git a/admin/commands/inventory/remove_node.go b/admin/commands/inventory/remove_node.go
index 6184a5974b..9e15059d1f 100644
--- a/admin/commands/inventory/remove_node.go
+++ b/admin/commands/inventory/remove_node.go
@@ -38,6 +38,7 @@ type RemoveNodeCommand struct {
Force bool `help:"Remove node with all dependencies"`
}
+// RunCmd runs the command for RemoveNodeCommand.
func (cmd *RemoveNodeCommand) RunCmd() (commands.Result, error) {
params := &nodes.RemoveNodeParams{
Body: nodes.RemoveNodeBody{
diff --git a/admin/commands/inventory/remove_service.go b/admin/commands/inventory/remove_service.go
index 551a28ca79..e28c953810 100644
--- a/admin/commands/inventory/remove_service.go
+++ b/admin/commands/inventory/remove_service.go
@@ -38,6 +38,7 @@ type RemoveServiceCommand struct {
Force bool `help:"Remove service with all dependencies"`
}
+// RunCmd executes the RemoveServiceCommand and returns the result.
func (cmd *RemoveServiceCommand) RunCmd() (commands.Result, error) {
params := &services.RemoveServiceParams{
Body: services.RemoveServiceBody{
diff --git a/admin/commands/list.go b/admin/commands/list.go
index 10e145c0e6..6f3609e0a8 100644
--- a/admin/commands/list.go
+++ b/admin/commands/list.go
@@ -123,6 +123,7 @@ type ListCommand struct {
NodeID string `help:"Node ID (default is autodetected)"`
}
+// RunCmd executes the List command and returns the result.
func (cmd *ListCommand) RunCmd() (Result, error) {
if cmd.NodeID == "" {
status, err := agentlocal.GetStatus(agentlocal.DoNotRequestNetworkInfo)
diff --git a/admin/commands/management/add_external.go b/admin/commands/management/add_external.go
index 0b9ee64ff4..8a80acc5df 100644
--- a/admin/commands/management/add_external.go
+++ b/admin/commands/management/add_external.go
@@ -73,6 +73,7 @@ type AddExternalCommand struct {
SkipConnectionCheck bool `help:"Skip exporter connection checks"`
}
+// GetCredentials returns the credentials for AddExternalCommand.
func (cmd *AddExternalCommand) GetCredentials() error {
creds, err := commands.ReadFromSource(cmd.CredentialsSource)
if err != nil {
@@ -85,6 +86,7 @@ func (cmd *AddExternalCommand) GetCredentials() error {
return nil
}
+// RunCmd runs the command for AddExternalCommand.
func (cmd *AddExternalCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/add_external_serverless.go b/admin/commands/management/add_external_serverless.go
index f7a7d08c0e..0b00a397d3 100644
--- a/admin/commands/management/add_external_serverless.go
+++ b/admin/commands/management/add_external_serverless.go
@@ -88,6 +88,7 @@ or even you can specify --address instead of host and port as individual paramet
`
}
+// GetCredentials returns the credentials for AddExternalServerlessCommand.
func (cmd *AddExternalServerlessCommand) GetCredentials() error {
creds, err := commands.ReadFromSource(cmd.CredentialsSource)
if err != nil {
@@ -100,6 +101,7 @@ func (cmd *AddExternalServerlessCommand) GetCredentials() error {
return nil
}
+// RunCmd runs the command for AddExternalServerlessCommand.
func (cmd *AddExternalServerlessCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/add_haproxy.go b/admin/commands/management/add_haproxy.go
index b6e7c556a6..d8f0c775d3 100644
--- a/admin/commands/management/add_haproxy.go
+++ b/admin/commands/management/add_haproxy.go
@@ -63,6 +63,7 @@ type AddHAProxyCommand struct {
SkipConnectionCheck bool `help:"Skip connection check"`
}
+// GetCredentials returns the credentials for AddHAProxyCommand.
func (cmd *AddHAProxyCommand) GetCredentials() error {
creds, err := commands.ReadFromSource(cmd.CredentialsSource)
if err != nil {
@@ -75,6 +76,7 @@ func (cmd *AddHAProxyCommand) GetCredentials() error {
return nil
}
+// RunCmd runs the command for AddHAProxyCommand.
func (cmd *AddHAProxyCommand) RunCmd() (commands.Result, error) {
isSupported, err := helpers.IsHAProxySupported()
if !isSupported {
diff --git a/admin/commands/management/add_mongodb.go b/admin/commands/management/add_mongodb.go
index 1d9fa14b3a..f69908f94a 100644
--- a/admin/commands/management/add_mongodb.go
+++ b/admin/commands/management/add_mongodb.go
@@ -88,22 +88,27 @@ type AddMongoDBCommand struct {
AddLogLevelFatalFlags
}
+// GetServiceName returns the service name for AddMongoDBCommand.
func (cmd *AddMongoDBCommand) GetServiceName() string {
return cmd.ServiceName
}
+// GetAddress returns the address for AddMongoDBCommand.
func (cmd *AddMongoDBCommand) GetAddress() string {
return cmd.Address
}
+// GetDefaultAddress returns the default address for AddMongoDBCommand.
func (cmd *AddMongoDBCommand) GetDefaultAddress() string {
return "127.0.0.1:27017"
}
+// GetSocket returns the socket for AddMongoDBCommand.
func (cmd *AddMongoDBCommand) GetSocket() string {
return cmd.Socket
}
+// GetCredentials returns the credentials for AddMongoDBCommand.
func (cmd *AddMongoDBCommand) GetCredentials() error {
creds, err := commands.ReadFromSource(cmd.CredentialsSource)
if err != nil {
@@ -117,6 +122,7 @@ func (cmd *AddMongoDBCommand) GetCredentials() error {
return nil
}
+// RunCmd runs the command for AddMongoDBCommand.
func (cmd *AddMongoDBCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/add_mysql.go b/admin/commands/management/add_mysql.go
index 79a5820def..af4a5e84d0 100644
--- a/admin/commands/management/add_mysql.go
+++ b/admin/commands/management/add_mysql.go
@@ -126,22 +126,27 @@ type AddMySQLCommand struct {
AddLogLevelNoFatalFlags
}
+// GetServiceName returns the service name for AddMySQLCommand.
func (cmd *AddMySQLCommand) GetServiceName() string {
return cmd.ServiceName
}
+// GetAddress returns the address for AddMySQLCommand.
func (cmd *AddMySQLCommand) GetAddress() string {
return cmd.Address
}
+// GetDefaultAddress returns the default address for AddMySQLCommand.
func (cmd *AddMySQLCommand) GetDefaultAddress() string {
return "127.0.0.1:3306"
}
+// GetSocket returns the socket for AddMySQLCommand.
func (cmd *AddMySQLCommand) GetSocket() string {
return cmd.Socket
}
+// RunCmd runs the command for AddMySQLCommand.
func (cmd *AddMySQLCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/add_postgresql.go b/admin/commands/management/add_postgresql.go
index e2fc461ec8..8c6fe8e0b8 100644
--- a/admin/commands/management/add_postgresql.go
+++ b/admin/commands/management/add_postgresql.go
@@ -80,22 +80,27 @@ type AddPostgreSQLCommand struct {
AddLogLevelNoFatalFlags
}
+// GetServiceName returns the service name for AddPostgreSQLCommand.
func (cmd *AddPostgreSQLCommand) GetServiceName() string {
return cmd.ServiceName
}
+// GetAddress returns the address for AddPostgreSQLCommand.
func (cmd *AddPostgreSQLCommand) GetAddress() string {
return cmd.Address
}
+// GetDefaultAddress returns the default address for AddPostgreSQLCommand.
func (cmd *AddPostgreSQLCommand) GetDefaultAddress() string {
return "127.0.0.1:5432"
}
+// GetSocket returns the socket for AddPostgreSQLCommand.
func (cmd *AddPostgreSQLCommand) GetSocket() string {
return cmd.Socket
}
+// GetCredentials returns the credentials for AddPostgreSQLCommand.
func (cmd *AddPostgreSQLCommand) GetCredentials() error {
creds, err := commands.ReadFromSource(cmd.CredentialsSource)
if err != nil {
@@ -109,6 +114,7 @@ func (cmd *AddPostgreSQLCommand) GetCredentials() error {
return nil
}
+// RunCmd runs the command for AddPostgreSQLCommand.
func (cmd *AddPostgreSQLCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/add_proxysql.go b/admin/commands/management/add_proxysql.go
index 5f3da14159..3d1a6fe099 100644
--- a/admin/commands/management/add_proxysql.go
+++ b/admin/commands/management/add_proxysql.go
@@ -70,22 +70,27 @@ type AddProxySQLCommand struct {
AddLogLevelFatalFlags
}
+// GetServiceName returns the service name for AddProxySQLCommand.
func (cmd *AddProxySQLCommand) GetServiceName() string {
return cmd.ServiceName
}
+// GetAddress returns the address for AddProxySQLCommand.
func (cmd *AddProxySQLCommand) GetAddress() string {
return cmd.Address
}
+// GetDefaultAddress returns the default address for AddProxySQLCommand.
func (cmd *AddProxySQLCommand) GetDefaultAddress() string {
return "127.0.0.1:6032"
}
+// GetSocket returns the socket for AddProxySQLCommand.
func (cmd *AddProxySQLCommand) GetSocket() string {
return cmd.Socket
}
+// GetCredentials returns the credentials for AddProxySQLCommand.
func (cmd *AddProxySQLCommand) GetCredentials() error {
creds, err := commands.ReadFromSource(cmd.CredentialsSource)
if err != nil {
@@ -99,6 +104,7 @@ func (cmd *AddProxySQLCommand) GetCredentials() error {
return nil
}
+// RunCmd runs the command for AddProxySQLCommand.
func (cmd *AddProxySQLCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/register.go b/admin/commands/management/register.go
index b075eb537b..d6be9dc3b8 100644
--- a/admin/commands/management/register.go
+++ b/admin/commands/management/register.go
@@ -67,6 +67,7 @@ type RegisterCommand struct {
DisableCollectors []string `help:"Comma-separated list of collector names to exclude from exporter"`
}
+// RunCmd runs the command for RegisterCommand.
func (cmd *RegisterCommand) RunCmd() (commands.Result, error) {
customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
diff --git a/admin/commands/management/remove.go b/admin/commands/management/remove.go
index 94b1107e82..769abd91d9 100644
--- a/admin/commands/management/remove.go
+++ b/admin/commands/management/remove.go
@@ -44,6 +44,7 @@ type RemoveCommand struct {
ServiceID string `help:"Service ID"`
}
+// RunCmd runs the command for RemoveCommand.
func (cmd *RemoveCommand) RunCmd() (commands.Result, error) {
if cmd.ServiceID == "" && cmd.ServiceName == "" {
// Automatic service lookup during removal
diff --git a/admin/commands/management/unregister.go b/admin/commands/management/unregister.go
index b1c581d978..b637c1f997 100644
--- a/admin/commands/management/unregister.go
+++ b/admin/commands/management/unregister.go
@@ -48,6 +48,7 @@ type UnregisterCommand struct {
NodeName string `help:"Node name (autodetected default: ${hostname})"`
}
+// RunCmd runs the command for UnregisterCommand.
func (cmd *UnregisterCommand) RunCmd() (commands.Result, error) {
var nodeName string
var nodeID string
diff --git a/admin/commands/pmm/server/docker/upgrade.go b/admin/commands/pmm/server/docker/upgrade.go
index 1cb1e73132..fe9e613117 100644
--- a/admin/commands/pmm/server/docker/upgrade.go
+++ b/admin/commands/pmm/server/docker/upgrade.go
@@ -74,7 +74,7 @@ func (u *upgradeResult) String() string {
}
// RunCmdWithContext runs upgrade command.
-func (c *UpgradeCommand) RunCmdWithContext(ctx context.Context, globals *flags.GlobalFlags) (commands.Result, error) { //nolint:unparam
+func (c *UpgradeCommand) RunCmdWithContext(ctx context.Context, globals *flags.GlobalFlags) (commands.Result, error) { //nolint:unparam,revive
logrus.Info("Starting PMM Server upgrade via Docker")
d, err := prepareDocker(ctx, c.dockerFn, prepareOpts{install: false})
diff --git a/admin/commands/status.go b/admin/commands/status.go
index b46281f068..9395cb1252 100644
--- a/admin/commands/status.go
+++ b/admin/commands/status.go
@@ -127,7 +127,7 @@ func (cmd *StatusCommand) RunCmd() (Result, error) {
return newStatusResult(status), nil
}
- return nil, errors.Errorf("Failed to get PMM Agent status from local pmm-agent: %s.", err) //nolint:golint
+ return nil, errors.Errorf("Failed to get PMM Agent status from local pmm-agent: %s.", err) //nolint:golint,revive
default:
time.Sleep(1 * time.Second)
}
diff --git a/admin/commands/summary.go b/admin/commands/summary.go
index 886148a8cb..71a6191eca 100644
--- a/admin/commands/summary.go
+++ b/admin/commands/summary.go
@@ -357,12 +357,12 @@ type SummaryCommand struct {
Pprof bool `name:"pprof" help:"Include performance profiling data"`
}
-func (cmd *SummaryCommand) makeArchive(ctx context.Context, globals *flags.GlobalFlags) (err error) {
+func (cmd *SummaryCommand) makeArchive(ctx context.Context, globals *flags.GlobalFlags) error {
var f *os.File
+ var err error
if f, err = os.Create(cmd.Filename); err != nil {
- err = errors.WithStack(err)
- return //nolint:nakedret
+ return errors.WithStack(err)
}
defer func() {
@@ -389,7 +389,7 @@ func (cmd *SummaryCommand) makeArchive(ctx context.Context, globals *flags.Globa
addServerData(ctx, zipW, cmd.Pprof)
}
- return //nolint:nakedret
+ return nil
}
// RunCmdWithContext runs summary command.
diff --git a/admin/pkg/docker/docker.go b/admin/pkg/docker/docker.go
index 569bdb2fcc..2ba6c6d931 100644
--- a/admin/pkg/docker/docker.go
+++ b/admin/pkg/docker/docker.go
@@ -36,6 +36,7 @@ import (
"github.com/percona/pmm/admin/pkg/common"
)
+// ErrPasswordChangeFailed represents an error indicating that password change failed.
var ErrPasswordChangeFailed = errors.New("ErrPasswordChangeFailed")
// Base contains methods to interact with Docker.
diff --git a/agent/agentlocal/agent_local.go b/agent/agentlocal/agent_local.go
index d23f2a8224..f392e2fbf5 100644
--- a/agent/agentlocal/agent_local.go
+++ b/agent/agentlocal/agent_local.go
@@ -136,7 +136,7 @@ func (s *Server) Run(ctx context.Context, reloadCh chan bool) {
}
// Status returns current pmm-agent status.
-func (s *Server) Status(ctx context.Context, req *agentlocalpb.StatusRequest) (*agentlocalpb.StatusResponse, error) {
+func (s *Server) Status(ctx context.Context, req *agentlocalpb.StatusRequest) (*agentlocalpb.StatusResponse, error) { //nolint:revive
connected := true
md := s.client.GetServerConnectMetadata()
if md == nil {
@@ -184,7 +184,7 @@ func roundFloat(upTime float32, numAfterDot int) float32 {
}
// Reload reloads pmm-agent and its configuration.
-func (s *Server) Reload(ctx context.Context, req *agentlocalpb.ReloadRequest) (*agentlocalpb.ReloadResponse, error) {
+func (s *Server) Reload(ctx context.Context, req *agentlocalpb.ReloadRequest) (*agentlocalpb.ReloadResponse, error) { //nolint:revive
// sync errors with setup command
if _, err := s.cfg.Reload(s.l); err != nil {
@@ -365,7 +365,7 @@ func addData(zipW *zip.Writer, name string, data []byte) error {
}
// ZipLogs Handle function for generate zip file with logs.
-func (s *Server) ZipLogs(w http.ResponseWriter, r *http.Request) {
+func (s *Server) ZipLogs(w http.ResponseWriter, r *http.Request) { //nolint:revive
zipBuffer := &bytes.Buffer{}
zipWriter := zip.NewWriter(zipBuffer)
diff --git a/agent/agents/agents_test.go b/agent/agents/agents_test.go
index 49a11ecaf3..a222584dc6 100644
--- a/agent/agents/agents_test.go
+++ b/agent/agents/agents_test.go
@@ -16,6 +16,7 @@ package agents
import "testing"
-func TestAgents(t *testing.T) {
+// TestAgents is a test function for the Agents module.
+func TestAgents(t *testing.T) { //nolint:revive
// we need at least one test per package to correctly calculate coverage
}
diff --git a/agent/agents/mongodb/mongodb.go b/agent/agents/mongodb/mongodb.go
index f3a0dc8d40..38187c5a83 100644
--- a/agent/agents/mongodb/mongodb.go
+++ b/agent/agents/mongodb/mongodb.go
@@ -104,18 +104,18 @@ func (m *MongoDB) Write(r *report.Report) error {
return nil
}
-type Profiler interface {
+type Profiler interface { //nolint:revive
Start() error
Stop() error
}
// Describe implements prometheus.Collector.
-func (m *MongoDB) Describe(ch chan<- *prometheus.Desc) {
+func (m *MongoDB) Describe(ch chan<- *prometheus.Desc) { //nolint:revive
// This method is needed to satisfy interface.
}
// Collect implement prometheus.Collector.
-func (m *MongoDB) Collect(ch chan<- prometheus.Metric) {
+func (m *MongoDB) Collect(ch chan<- prometheus.Metric) { //nolint:revive
// This method is needed to satisfy interface.
}
diff --git a/agent/agents/mysql/perfschema/perfschema.go b/agent/agents/mysql/perfschema/perfschema.go
index ae4af57dd3..9ef09a50e7 100644
--- a/agent/agents/mysql/perfschema/perfschema.go
+++ b/agent/agents/mysql/perfschema/perfschema.go
@@ -462,7 +462,7 @@ func (m *PerfSchema) Changes() <-chan agents.Change {
}
// Describe implements prometheus.Collector.
-func (m *PerfSchema) Describe(ch chan<- *prometheus.Desc) {
+func (m *PerfSchema) Describe(ch chan<- *prometheus.Desc) { //nolint:revive
// This method is needed to satisfy interface.
}
diff --git a/agent/agents/mysql/slowlog/parser/logger.go b/agent/agents/mysql/slowlog/parser/logger.go
index 2dd916f83c..5bad26ed6b 100644
--- a/agent/agents/mysql/slowlog/parser/logger.go
+++ b/agent/agents/mysql/slowlog/parser/logger.go
@@ -14,6 +14,7 @@
package parser
+// Logger defines the interface for a MySQL slow log parser logger.
type Logger interface {
Warnf(format string, v ...interface{})
Infof(format string, v ...interface{})
diff --git a/agent/agents/mysql/slowlog/parser/parser_bench_test.go b/agent/agents/mysql/slowlog/parser/parser_bench_test.go
index 26f466ddc0..947827f18c 100644
--- a/agent/agents/mysql/slowlog/parser/parser_bench_test.go
+++ b/agent/agents/mysql/slowlog/parser/parser_bench_test.go
@@ -54,7 +54,7 @@ func benchmarkFile(b *testing.B, name string) {
b.StartTimer()
go p.Run()
- for p.Parse() != nil {
+ for p.Parse() != nil { //nolint:revive
}
b.StopTimer()
diff --git a/agent/agents/mysql/slowlog/slowlog.go b/agent/agents/mysql/slowlog/slowlog.go
index 24ef50448c..b4e3c33629 100644
--- a/agent/agents/mysql/slowlog/slowlog.go
+++ b/agent/agents/mysql/slowlog/slowlog.go
@@ -715,12 +715,12 @@ func errListsToMap(k, v []uint64) map[uint64]uint64 {
}
// Describe implements prometheus.Collector.
-func (s *SlowLog) Describe(ch chan<- *prometheus.Desc) {
+func (s *SlowLog) Describe(ch chan<- *prometheus.Desc) { //nolint:revive
// This method is needed to satisfy interface.
}
// Collect implement prometheus.Collector.
-func (s *SlowLog) Collect(ch chan<- prometheus.Metric) {
+func (s *SlowLog) Collect(ch chan<- prometheus.Metric) { //nolint:revive
// This method is needed to satisfy interface.
}
diff --git a/agent/agents/mysql/slowlog/slowlog_test.go b/agent/agents/mysql/slowlog/slowlog_test.go
index f049ef1a66..dfe0fb7017 100644
--- a/agent/agents/mysql/slowlog/slowlog_test.go
+++ b/agent/agents/mysql/slowlog/slowlog_test.go
@@ -171,7 +171,7 @@ func TestSlowLog(t *testing.T) {
assert.Equal(t, expected, actual)
cancel()
- for range s.Changes() {
+ for range s.Changes() { //nolint:revive
}
})
@@ -222,7 +222,7 @@ func TestSlowLog(t *testing.T) {
assert.Equal(t, expected, actual)
cancel()
- for range s.Changes() {
+ for range s.Changes() { //nolint:revive
}
})
@@ -271,7 +271,7 @@ func TestSlowLog(t *testing.T) {
assert.Equal(t, expected, actual)
cancel()
- for range s.Changes() {
+ for range s.Changes() { //nolint:revive
}
})
}
diff --git a/agent/agents/noop/noop.go b/agent/agents/noop/noop.go
index d10817175b..d0c21ceee2 100644
--- a/agent/agents/noop/noop.go
+++ b/agent/agents/noop/noop.go
@@ -57,12 +57,12 @@ func (n *NoOp) Changes() <-chan agents.Change {
}
// Describe implements prometheus.Collector.
-func (n *NoOp) Describe(ch chan<- *prometheus.Desc) {
+func (n *NoOp) Describe(ch chan<- *prometheus.Desc) { //nolint:revive
// This method is needed to satisfy interface.
}
// Collect implement prometheus.Collector.
-func (n *NoOp) Collect(ch chan<- prometheus.Metric) {
+func (n *NoOp) Collect(ch chan<- prometheus.Metric) { //nolint:revive
// This method is needed to satisfy interface.
}
diff --git a/agent/agents/noop/noop_test.go b/agent/agents/noop/noop_test.go
index ccce01930d..11b7662f4a 100644
--- a/agent/agents/noop/noop_test.go
+++ b/agent/agents/noop/noop_test.go
@@ -16,6 +16,6 @@ package noop
import "testing"
-func TestNoOp(t *testing.T) {
+func TestNoOp(t *testing.T) { //nolint:revive
// we need at least one test per package to correctly calculate coverage
}
diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go
index f489af40a8..5b26b531d8 100644
--- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go
+++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go
@@ -43,7 +43,7 @@ import (
const defaultWaitTime = 60 * time.Second
// PGStatMonitorQAN QAN services connects to PostgreSQL and extracts stats.
-type PGStatMonitorQAN struct {
+type PGStatMonitorQAN struct { //nolint:revive
q *reform.Querier
dbCloser io.Closer
agentID string
@@ -715,12 +715,12 @@ func (m *PGStatMonitorQAN) Changes() <-chan agents.Change {
}
// Describe implements prometheus.Collector.
-func (m *PGStatMonitorQAN) Describe(ch chan<- *prometheus.Desc) {
+func (m *PGStatMonitorQAN) Describe(ch chan<- *prometheus.Desc) { //nolint:revive
// This method is needed to satisfy interface.
}
// Collect implement prometheus.Collector.
-func (m *PGStatMonitorQAN) Collect(ch chan<- prometheus.Metric) {
+func (m *PGStatMonitorQAN) Collect(ch chan<- prometheus.Metric) { //nolint:revive
// This method is needed to satisfy interface.
}
diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go
index 261f5d4a4b..275b3e15f3 100644
--- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go
+++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go
@@ -133,8 +133,7 @@ func newPgStatMonitorStructs(vPGSM pgStatMonitorVersion, vPG pgVersion) (*pgStat
// versions older than 0.8
fields = append(fields,
field{info: parse.FieldInfo{Name: "Relations", Type: "pq.StringArray", Column: "tables_names"}, pointer: &s.Relations},
- field{info: parse.FieldInfo{Name: "DBID", Type: "int64", Column: "dbid"}, pointer: &s.DBID},
- field{info: parse.FieldInfo{Name: "UserID", Type: "int64", Column: "userid"}, pointer: &s.UserID})
+ field{info: parse.FieldInfo{Name: "DBID", Type: "int64", Column: "dbid"}, pointer: &s.DBID})
}
if vPGSM <= pgStatMonitorVersion08 || vPGSM >= pgStatMonitorVersion20PG12 {
fields = append(fields,
@@ -214,10 +213,12 @@ func newPgStatMonitorStructs(vPGSM pgStatMonitorVersion, vPG pgVersion) (*pgStat
if vPGSM >= pgStatMonitorVersion08 && vPGSM < pgStatMonitorVersion20PG12 {
fields = append(fields,
- field{info: parse.FieldInfo{Name: "BucketStartTimeString", Type: "string", Column: "bucket_start_time"}, pointer: &s.BucketStartTimeString})
+ field{info: parse.FieldInfo{Name: "BucketStartTimeString", Type: "string", Column: "bucket_start_time"}, pointer: &s.BucketStartTimeString},
+ field{info: parse.FieldInfo{Name: "UserName", Type: "string", Column: "userid"}, pointer: &s.UserName})
} else {
fields = append(fields,
- field{info: parse.FieldInfo{Name: "BucketStartTime", Type: "time.Time", Column: "bucket_start_time"}, pointer: &s.BucketStartTime})
+ field{info: parse.FieldInfo{Name: "BucketStartTime", Type: "time.Time", Column: "bucket_start_time"}, pointer: &s.BucketStartTime},
+ field{info: parse.FieldInfo{Name: "UserName", Type: "string", Column: "username"}, pointer: &s.UserName})
}
s.pointers = make([]interface{}, len(fields))
diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements.go b/agent/agents/postgres/pgstatstatements/pgstatstatements.go
index 2f9a270223..facecab62e 100644
--- a/agent/agents/postgres/pgstatstatements/pgstatstatements.go
+++ b/agent/agents/postgres/pgstatstatements/pgstatstatements.go
@@ -53,7 +53,7 @@ var pgStatVer18 = semver.MustParse("1.8.0")
type statementsMap map[int64]*pgStatStatementsExtended
// PGStatStatementsQAN QAN services connects to PostgreSQL and extracts stats.
-type PGStatStatementsQAN struct {
+type PGStatStatementsQAN struct { //nolint:revive
q *reform.Querier
dbCloser io.Closer
agentID string
@@ -409,7 +409,7 @@ func (m *PGStatStatementsQAN) Changes() <-chan agents.Change {
}
// Describe implements prometheus.Collector.
-func (m *PGStatStatementsQAN) Describe(ch chan<- *prometheus.Desc) {
+func (m *PGStatStatementsQAN) Describe(ch chan<- *prometheus.Desc) { //nolint:revive
// This method is needed to satisfy interface.
}
diff --git a/agent/agents/process/process_logger.go b/agent/agents/process/process_logger.go
index b34b1f1e2f..b9a2f85a8c 100644
--- a/agent/agents/process/process_logger.go
+++ b/agent/agents/process/process_logger.go
@@ -55,14 +55,14 @@ func newProcessLogger(l *logrus.Entry, lines int, redactWords []string) *process
// Write implements io.Writer.
// This method is thread-safe.
-func (pl *processLogger) Write(p []byte) (n int, err error) { //nolint:nonamedreturns
+func (pl *processLogger) Write(p []byte) (int, error) {
pl.m.Lock()
defer pl.m.Unlock()
b := bytes.NewBuffer(pl.buf)
- n, err = b.Write(p)
+ n, err := b.Write(p)
if err != nil {
- return //nolint:nakedret
+ return n, err
}
var line string
@@ -70,8 +70,7 @@ func (pl *processLogger) Write(p []byte) (n int, err error) { //nolint:nonamedre
line, err = b.ReadString('\n')
if err != nil {
pl.buf = []byte(line)
- err = nil
- return //nolint:nakedret
+ return n, nil //nolint:nilerr
}
line = strings.TrimSuffix(line, "\n")
if pl.replacer != nil {
diff --git a/agent/agents/supervisor/supervisor.go b/agent/agents/supervisor/supervisor.go
index d426980942..e39a833126 100644
--- a/agent/agents/supervisor/supervisor.go
+++ b/agent/agents/supervisor/supervisor.go
@@ -425,7 +425,7 @@ func filter(existing, ap map[string]agentpb.AgentParams) ([]string, []string, []
return toStart, toRestart, toStop
}
-//nolint:golint,stylecheck
+//nolint:golint,stylecheck,revive
const (
type_TEST_SLEEP inventorypb.AgentType = 998 // process
type_TEST_NOOP inventorypb.AgentType = 999 // built-in
@@ -671,11 +671,11 @@ func (s *Supervisor) processParams(agentID string, agentProcess *agentpb.SetStat
templateParams["tmp_dir"] = cfg.Paths.TempDir
processParams.Path = cfg.Paths.VMAgent
default:
- return nil, errors.Errorf("unhandled agent type %[1]s (%[1]d).", agentProcess.Type)
+ return nil, errors.Errorf("unhandled agent type %[1]s (%[1]d).", agentProcess.Type) //nolint:revive
}
if processParams.Path == "" {
- return nil, errors.Errorf("no path for agent type %[1]s (%[1]d).", agentProcess.Type)
+ return nil, errors.Errorf("no path for agent type %[1]s (%[1]d).", agentProcess.Type) //nolint:revive
}
tr := &templates.TemplateRenderer{
diff --git a/agent/client/channel/channel_test.go b/agent/client/channel/channel_test.go
index 5a785fa508..ba40d66411 100644
--- a/agent/client/channel/channel_test.go
+++ b/agent/client/channel/channel_test.go
@@ -49,10 +49,12 @@ func (s *testServer) Connect(stream agentpb.Agent_ConnectServer) error {
var _ agentpb.AgentServer = (*testServer)(nil)
-//nolint:nakedret
-func setup(t *testing.T, connect func(agentpb.Agent_ConnectServer) error, expected ...error) (channel *Channel, cc *grpc.ClientConn, teardown func()) {
+func setup(t *testing.T, connect func(agentpb.Agent_ConnectServer) error, expected ...error) (*Channel, *grpc.ClientConn, func()) {
t.Helper()
+ var channel *Channel
+ var cc *grpc.ClientConn
+ var teardown func()
// logrus.SetLevel(logrus.DebugLevel)
// start server with given connect handler
@@ -101,7 +103,7 @@ func setup(t *testing.T, connect func(agentpb.Agent_ConnectServer) error, expect
require.NoError(t, <-serveError)
}
- return
+ return channel, cc, teardown
}
func TestAgentRequestWithTruncatedInvalidUTF8(t *testing.T) {
diff --git a/agent/cmd/pmm-agent-entrypoint/main.go b/agent/cmd/pmm-agent-entrypoint/main.go
index a8d222673b..bc3f392bc6 100644
--- a/agent/cmd/pmm-agent-entrypoint/main.go
+++ b/agent/cmd/pmm-agent-entrypoint/main.go
@@ -4,14 +4,14 @@
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
-// http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-
+// Package main provides the entry point for the PMM Agent.
package main
import (
diff --git a/agent/commands/setup.go b/agent/commands/setup.go
index 55724b9a02..e0b6d4f95d 100644
--- a/agent/commands/setup.go
+++ b/agent/commands/setup.go
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-//nolint:forbidigo
+//nolint:forbidigo,revive
package commands
import (
diff --git a/agent/config/config.go b/agent/config/config.go
index a43cc9242c..0add35a143 100644
--- a/agent/config/config.go
+++ b/agent/config/config.go
@@ -169,7 +169,7 @@ type Config struct { //nolint:musttag
// ConfigFileDoesNotExistError error is returned from Get method if configuration file is expected,
// but does not exist.
-type ConfigFileDoesNotExistError string
+type ConfigFileDoesNotExistError string //nolint:revive
func (e ConfigFileDoesNotExistError) Error() string {
return fmt.Sprintf("configuration file %s does not exist", string(e))
@@ -186,7 +186,9 @@ func getFromCmdLine(cfg *Config, l *logrus.Entry) (string, error) {
}
// get is Get for unit tests: it parses args instead of command-line.
-func get(args []string, cfg *Config, l *logrus.Entry) (configFileF string, err error) { //nolint:nonamedreturns,cyclop
+func get(args []string, cfg *Config, l *logrus.Entry) (string, error) { //nolint:cyclop
+ var configFileF string
+ var err error
// tweak configuration on exit to cover all return points
defer func() {
if cfg == nil {
@@ -302,25 +304,25 @@ func get(args []string, cfg *Config, l *logrus.Entry) (configFileF string, err e
// parse command-line flags and environment variables
app, cfgFileF := Application(cfg)
if _, err = app.Parse(args); err != nil {
- return //nolint:nakedret
+ return configFileF, err
}
if *cfgFileF == "" {
- return //nolint:nakedret
+ return configFileF, err
}
if configFileF, err = filepath.Abs(*cfgFileF); err != nil {
- return //nolint:nakedret
+ return configFileF, err
}
l.Infof("Loading configuration file %s.", configFileF)
fileCfg, err := loadFromFile(configFileF)
if err != nil {
- return //nolint:nakedret
+ return configFileF, err
}
// re-parse flags into configuration from file
app, _ = Application(fileCfg)
if _, err = app.Parse(args); err != nil {
- return //nolint:nakedret
+ return configFileF, err
}
*cfg = *fileCfg
diff --git a/agent/config/logger.go b/agent/config/logger.go
index a2930f3711..018784fe72 100644
--- a/agent/config/logger.go
+++ b/agent/config/logger.go
@@ -27,7 +27,7 @@ type gRPCLogger struct {
}
// V reports whether verbosity level l is at least the requested verbose level.
-func (v *gRPCLogger) V(l int) bool {
+func (v *gRPCLogger) V(l int) bool { //nolint:revive
// we don't need real implementation ATM
return true
}
diff --git a/agent/connectionchecker/connection_checker.go b/agent/connectionchecker/connection_checker.go
index 9837842259..b7a9f9c08b 100644
--- a/agent/connectionchecker/connection_checker.go
+++ b/agent/connectionchecker/connection_checker.go
@@ -38,8 +38,10 @@ import (
"github.com/percona/pmm/agent/tlshelpers"
"github.com/percona/pmm/agent/utils/mongo_fix"
"github.com/percona/pmm/agent/utils/templates"
+ agent_version "github.com/percona/pmm/agent/utils/version"
"github.com/percona/pmm/api/agentpb"
"github.com/percona/pmm/api/inventorypb"
+ "github.com/percona/pmm/version"
)
// configGetter allows for getting a config.
@@ -94,7 +96,7 @@ func (cc *ConnectionChecker) sqlPing(ctx context.Context, db *sql.DB) error {
return err
}
-func (cc *ConnectionChecker) checkMySQLConnection(ctx context.Context, dsn string, files *agentpb.TextFiles, tlsSkipVerify bool, id uint32) *agentpb.CheckConnectionResponse { //nolint:lll,unparam
+func (cc *ConnectionChecker) checkMySQLConnection(ctx context.Context, dsn string, files *agentpb.TextFiles, tlsSkipVerify bool, id uint32) *agentpb.CheckConnectionResponse { //nolint:lll,unparam,revive
var res agentpb.CheckConnectionResponse
var err error
@@ -145,6 +147,8 @@ func (cc *ConnectionChecker) checkMySQLConnection(ctx context.Context, dsn strin
}
func (cc *ConnectionChecker) checkMongoDBConnection(ctx context.Context, dsn string, files *agentpb.TextFiles, id uint32) *agentpb.CheckConnectionResponse {
+ const helloCommandVersion = "4.2.10"
+
var res agentpb.CheckConnectionResponse
var err error
@@ -177,13 +181,39 @@ func (cc *ConnectionChecker) checkMongoDBConnection(ctx context.Context, dsn str
return &res
}
- resp := client.Database("admin").RunCommand(ctx, bson.D{{Key: "getDiagnosticData", Value: 1}})
- if err = resp.Err(); err != nil {
- cc.l.Debugf("checkMongoDBConnection: failed to runCommand getDiagnosticData: %s", err)
+ mongoVersion, err := agent_version.GetMongoDBVersion(ctx, client)
+ if err != nil {
+ cc.l.Debugf("checkMongoDBConnection: failed to get MongoDB version: %s", err)
res.Error = err.Error()
return &res
}
+ serverInfo := struct {
+ ArbiterOnly bool `bson:"arbiterOnly"`
+ }{}
+
+ // use hello command for newer MongoDB versions
+ command := "hello"
+ if mongoVersion.Less(version.MustParse(helloCommandVersion)) {
+ command = "isMaster"
+ }
+
+ err = client.Database("admin").RunCommand(ctx, bson.D{{Key: command, Value: 1}}).Decode(&serverInfo)
+ if err != nil {
+ cc.l.Debugf("checkMongoDBConnection: failed to runCommand %s: %s", command, err)
+ res.Error = err.Error()
+ return &res
+ }
+
+ if !serverInfo.ArbiterOnly {
+ resp := client.Database("admin").RunCommand(ctx, bson.D{{Key: "getDiagnosticData", Value: 1}})
+ if err = resp.Err(); err != nil {
+ cc.l.Debugf("checkMongoDBConnection: failed to runCommand getDiagnosticData: %s", err)
+ res.Error = err.Error()
+ return &res
+ }
+ }
+
return &res
}
diff --git a/agent/main.go b/agent/main.go
index 7bf443c56e..595d337fe7 100644
--- a/agent/main.go
+++ b/agent/main.go
@@ -4,14 +4,14 @@
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
-// http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-
+// Package main.
package main
import (
diff --git a/agent/runner/actions/mysql_explain_action.go b/agent/runner/actions/mysql_explain_action.go
index 2ac3ff4ca5..6eb29cb795 100644
--- a/agent/runner/actions/mysql_explain_action.go
+++ b/agent/runner/actions/mysql_explain_action.go
@@ -85,7 +85,7 @@ func (a *mysqlExplainAction) Run(ctx context.Context) ([]byte, error) {
// You cant run Explain on trimmed queries.
if strings.HasSuffix(a.params.Query, "...") {
- return nil, errors.New("EXPLAIN failed because the query was too long and trimmed. Set max-query-length to a larger value.")
+ return nil, errors.New("EXPLAIN failed because the query was too long and trimmed. Set max-query-length to a larger value.") //nolint:revive
}
// Explain is supported only for DML queries.
diff --git a/agent/runner/jobs/mysql_restore_job.go b/agent/runner/jobs/mysql_restore_job.go
index 0c8fb7abca..d34e20b802 100644
--- a/agent/runner/jobs/mysql_restore_job.go
+++ b/agent/runner/jobs/mysql_restore_job.go
@@ -228,7 +228,7 @@ func (j *MySQLRestoreJob) restoreMySQLFromS3(ctx context.Context, targetDirector
}
wrapError := func(err error) error {
- return errors.Wrapf(err, "stderr: %s\n stdout: %s\n", stderr.String(), stdout.String())
+ return errors.Wrapf(err, "stderr: %s\n stdout: %s\n", stderr.String(), stdout.String()) //nolint:revive
}
if err := xbcloudCmd.Start(); err != nil {
diff --git a/agent/runner/jobs/pbm_helpers.go b/agent/runner/jobs/pbm_helpers.go
index 0ede95084a..4161c5816a 100644
--- a/agent/runner/jobs/pbm_helpers.go
+++ b/agent/runner/jobs/pbm_helpers.go
@@ -379,7 +379,7 @@ func waitForPBMRestore(ctx context.Context, l logrus.FieldLogger, dbURL *string,
maxRetryCount--
l.Warnf("PMM failed to get backup restore status and will retry: %s", err)
continue
- } else {
+ } else { //nolint:revive
return errors.Wrap(err, "failed to get restore status")
}
}
diff --git a/agent/runner/runner_test.go b/agent/runner/runner_test.go
index b5ed9ddb7a..a98f160164 100644
--- a/agent/runner/runner_test.go
+++ b/agent/runner/runner_test.go
@@ -251,7 +251,7 @@ func (t testJob) Timeout() time.Duration {
return t.timeout
}
-func (t testJob) Run(ctx context.Context, send jobs.Send) error {
+func (t testJob) Run(ctx context.Context, send jobs.Send) error { //nolint:revive
<-ctx.Done()
return nil
}
diff --git a/agent/serviceinfobroker/service_info_broker.go b/agent/serviceinfobroker/service_info_broker.go
index df62102b86..f7143d84e5 100644
--- a/agent/serviceinfobroker/service_info_broker.go
+++ b/agent/serviceinfobroker/service_info_broker.go
@@ -27,13 +27,13 @@ import (
"github.com/go-sql-driver/mysql"
"github.com/lib/pq"
"github.com/sirupsen/logrus"
- "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"github.com/percona/pmm/agent/config"
"github.com/percona/pmm/agent/tlshelpers"
"github.com/percona/pmm/agent/utils/mongo_fix"
"github.com/percona/pmm/agent/utils/templates"
+ "github.com/percona/pmm/agent/utils/version"
"github.com/percona/pmm/api/agentpb"
"github.com/percona/pmm/api/inventorypb"
)
@@ -174,28 +174,14 @@ func (sib *ServiceInfoBroker) getMongoDBInfo(ctx context.Context, dsn string, fi
return &res
}
- resp := client.Database("admin").RunCommand(ctx, bson.D{{Key: "getDiagnosticData", Value: 1}})
- if err = resp.Err(); err != nil {
- sib.l.Debugf("getMongoDBInfo: failed to runCommand getDiagnosticData: %s", err)
- res.Error = err.Error()
- return &res
- }
-
- resp = client.Database("admin").RunCommand(ctx, bson.D{{Key: "buildInfo", Value: 1}})
- if err = resp.Err(); err != nil {
+ mongoVersion, err := version.GetMongoDBVersion(ctx, client)
+ if err != nil {
+ sib.l.Debugf("getMongoDBInfo: failed to get MongoDB version: %s", err)
res.Error = err.Error()
return &res
}
- buildInfo := struct {
- Version string `bson:"version"`
- }{}
-
- if err = resp.Decode(&buildInfo); err != nil {
- sib.l.Debugf("getMongoDBInfo: failed to decode buildInfo: %s", err)
- }
-
- res.Version = buildInfo.Version
+ res.Version = mongoVersion.String()
return &res
}
diff --git a/agent/serviceinfobroker/service_info_broker_test.go b/agent/serviceinfobroker/service_info_broker_test.go
index 6ff08b17b4..31b3ee3d69 100644
--- a/agent/serviceinfobroker/service_info_broker_test.go
+++ b/agent/serviceinfobroker/service_info_broker_test.go
@@ -99,9 +99,6 @@ func TestServiceInfoBroker(t *testing.T) {
Type: inventorypb.ServiceType_MONGODB_SERVICE,
Timeout: durationpb.New(3 * time.Second),
},
- expectedErr: `\(Unauthorized\) (?:command getDiagnosticData requires authentication|` +
- `there are no users authenticated|` +
- `not authorized on admin to execute command \{ getDiagnosticData\: 1 \})`,
},
{
name: "MongoDB wrong params",
diff --git a/agent/utils/backoff/backoff_test.go b/agent/utils/backoff/backoff_test.go
index fe10a7e0d4..34e0149288 100644
--- a/agent/utils/backoff/backoff_test.go
+++ b/agent/utils/backoff/backoff_test.go
@@ -16,6 +16,6 @@ package backoff
import "testing"
-func TestBackoff(t *testing.T) {
+func TestBackoff(t *testing.T) { //nolint:revive
// we need at least one test per package to correctly calculate coverage
}
diff --git a/agent/utils/mongo_fix/mongo_fix.go b/agent/utils/mongo_fix/mongo_fix.go
index ea56431b47..118328f5d4 100644
--- a/agent/utils/mongo_fix/mongo_fix.go
+++ b/agent/utils/mongo_fix/mongo_fix.go
@@ -4,16 +4,19 @@
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
-// http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
+//
+// Package mongo_fix provides utilities for fixing MongoDB-related issues.
+//
//nolint:stylecheck
-package mongo_fix
+package mongo_fix //nolint:revive
import (
"net/url"
diff --git a/agent/utils/mongo_fix/mongo_fix_test.go b/agent/utils/mongo_fix/mongo_fix_test.go
index 146a6135de..6716e48979 100644
--- a/agent/utils/mongo_fix/mongo_fix_test.go
+++ b/agent/utils/mongo_fix/mongo_fix_test.go
@@ -13,7 +13,7 @@
// limitations under the License.
//nolint:stylecheck
-package mongo_fix
+package mongo_fix //nolint:revive
import (
"net/url"
diff --git a/agent/utils/version/mongo.go b/agent/utils/version/mongo.go
new file mode 100644
index 0000000000..efaeaa7296
--- /dev/null
+++ b/agent/utils/version/mongo.go
@@ -0,0 +1,46 @@
+// Copyright 2023 Percona LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package version
+
+import (
+ "context"
+
+ "go.mongodb.org/mongo-driver/bson"
+ "go.mongodb.org/mongo-driver/mongo"
+
+ "github.com/percona/pmm/version"
+)
+
+// GetMongoDBVersion returns the parsed version of the connected MongoDB server.
+func GetMongoDBVersion(ctx context.Context, client *mongo.Client) (*version.Parsed, error) {
+ resp := client.Database("admin").RunCommand(ctx, bson.D{{Key: "buildInfo", Value: 1}})
+ if err := resp.Err(); err != nil {
+ return nil, err
+ }
+
+ buildInfo := struct {
+ Version string `bson:"version"`
+ }{}
+
+ if err := resp.Decode(&buildInfo); err != nil {
+ return nil, err
+ }
+
+ mongoVersion, err := version.Parse(buildInfo.Version)
+ if err != nil {
+ return nil, err
+ }
+ return mongoVersion, nil
+}
diff --git a/agent/utils/version/postgresql.go b/agent/utils/version/postgresql.go
index f88f906a13..369260a533 100644
--- a/agent/utils/version/postgresql.go
+++ b/agent/utils/version/postgresql.go
@@ -24,6 +24,7 @@ var (
postgresDBRegexp = regexp.MustCompile(`PostgreSQL ([\d\.]+)`)
)
+// ParsePostgreSQLVersion parses the given PostgreSQL version string.
func ParsePostgreSQLVersion(v string) string {
m := postgresDBRegexp.FindStringSubmatch(v)
if len(m) != 2 {
diff --git a/api-tests/helpers.go b/api-tests/helpers.go
index 88aab6d740..89709075c2 100644
--- a/api-tests/helpers.go
+++ b/api-tests/helpers.go
@@ -36,6 +36,7 @@ import (
"github.com/percona/pmm/api/managementpb/json/client/node"
)
+// ErrorResponse represents the response structure for error scenarios.
type ErrorResponse interface {
Code() int
}
@@ -87,7 +88,8 @@ func AssertAPIErrorf(t TestingT, actual error, httpStatus int, grpcCode codes.Co
assert.Contains(t, errorField.String(), format)
}
-func ExpectFailure(t *testing.T, link string) *expectedFailureTestingT {
+// ExpectFailure sets up expectations for a test case to fail.
+func ExpectFailure(t *testing.T, link string) *expectedFailureTestingT { //nolint:revive
t.Helper()
return &expectedFailureTestingT{
t: t,
@@ -135,6 +137,7 @@ func (tt *expectedFailureTestingT) Check() {
tt.t.Fatalf("%s expected to fail, but didn't: %s", tt.Name(), tt.link)
}
+// UnregisterNodes unregister specified nodes.
func UnregisterNodes(t TestingT, nodeIDs ...string) {
t.Helper()
@@ -154,6 +157,7 @@ func UnregisterNodes(t TestingT, nodeIDs ...string) {
}
}
+// RemoveNodes removes specified nodes.
func RemoveNodes(t TestingT, nodeIDs ...string) {
t.Helper()
@@ -170,6 +174,7 @@ func RemoveNodes(t TestingT, nodeIDs ...string) {
}
}
+// RemoveServices removes specified services.
func RemoveServices(t TestingT, serviceIDs ...string) {
t.Helper()
@@ -187,6 +192,7 @@ func RemoveServices(t TestingT, serviceIDs ...string) {
}
}
+// RemoveAgents removes specified agents.
func RemoveAgents(t TestingT, agentIDs ...string) {
t.Helper()
@@ -203,6 +209,7 @@ func RemoveAgents(t TestingT, agentIDs ...string) {
}
}
+// AddGenericNode adds a generic node.
func AddGenericNode(t TestingT, nodeName string) *nodes.AddGenericNodeOKBodyGeneric {
t.Helper()
@@ -221,6 +228,7 @@ func AddGenericNode(t TestingT, nodeName string) *nodes.AddGenericNodeOKBodyGene
return res.Payload.Generic
}
+// AddRemoteNode adds a remote node.
func AddRemoteNode(t TestingT, nodeName string) *nodes.AddRemoteNodeOKBody {
t.Helper()
@@ -237,6 +245,7 @@ func AddRemoteNode(t TestingT, nodeName string) *nodes.AddRemoteNodeOKBody {
return res.Payload
}
+// AddNode adds a node.
func AddNode(t TestingT, nodeBody *nodes.AddNodeBody) *nodes.AddNodeOKBody {
t.Helper()
@@ -252,6 +261,7 @@ func AddNode(t TestingT, nodeBody *nodes.AddNodeBody) *nodes.AddNodeOKBody {
return res.Payload
}
+// AddPMMAgent adds a PMM agent.
func AddPMMAgent(t TestingT, nodeID string) *agents.AddPMMAgentOKBody {
t.Helper()
diff --git a/api-tests/management/helpers.go b/api-tests/management/helpers.go
index 5edeabfe11..96d3680793 100644
--- a/api-tests/management/helpers.go
+++ b/api-tests/management/helpers.go
@@ -34,6 +34,7 @@ import (
// AgentStatusUnknown means agent is not connected and we don't know anything about its status.
var AgentStatusUnknown = inventorypb.AgentStatus_name[int32(inventorypb.AgentStatus_UNKNOWN)]
+// RegisterGenericNode registers a generic node using the provided parameters.
func RegisterGenericNode(t pmmapitests.TestingT, body node.RegisterNodeBody) (string, string) {
t.Helper()
params := node.RegisterNodeParams{
@@ -121,6 +122,7 @@ func assertNodeCreated(t pmmapitests.TestingT, nodeID string, expectedResult nod
assert.Equal(t, expectedResult, *nodeOK.Payload)
}
+// RemovePMMAgentWithSubAgents removes a PMM Agent along with its sub-agents.
func RemovePMMAgentWithSubAgents(t pmmapitests.TestingT, pmmAgentID string) {
t.Helper()
diff --git a/api-tests/server/settings_test.go b/api-tests/server/settings_test.go
index 3bf3af1ece..f6f21d1c68 100644
--- a/api-tests/server/settings_test.go
+++ b/api-tests/server/settings_test.go
@@ -465,6 +465,19 @@ func TestSettings(t *testing.T) {
assert.Empty(t, res)
})
+ t.Run("SetPMMPublicAddressWithoutScheme", func(t *testing.T) {
+ defer restoreSettingsDefaults(t)
+ publicAddress := "192.168.0.42:8443"
+ res, err := serverClient.Default.Server.ChangeSettings(&server.ChangeSettingsParams{
+ Body: server.ChangeSettingsBody{
+ PMMPublicAddress: publicAddress,
+ },
+ Context: pmmapitests.Context,
+ })
+ require.NoError(t, err)
+ assert.Equal(t, publicAddress, res.Payload.Settings.PMMPublicAddress)
+ })
+
t.Run("AdvisorsCheckIntervalTooSmall", func(t *testing.T) {
defer restoreSettingsDefaults(t)
diff --git a/api/agentlocalpb/agentlocal.pb.gw.go b/api/agentlocalpb/agentlocal.pb.gw.go
index b21fe20e57..ad53fdf449 100644
--- a/api/agentlocalpb/agentlocal.pb.gw.go
+++ b/api/agentlocalpb/agentlocal.pb.gw.go
@@ -37,11 +37,7 @@ func request_AgentLocal_Status_0(ctx context.Context, marshaler runtime.Marshale
var protoReq StatusRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_AgentLocal_Status_0(ctx context.Context, marshaler runtime.Ma
var protoReq StatusRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +93,7 @@ func request_AgentLocal_Reload_0(ctx context.Context, marshaler runtime.Marshale
var protoReq ReloadRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +105,7 @@ func local_request_AgentLocal_Reload_0(ctx context.Context, marshaler runtime.Ma
var protoReq ReloadRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/agentpb/agent.go b/api/agentpb/agent.go
index 1b59732ace..738c9e6a21 100644
--- a/api/agentpb/agent.go
+++ b/api/agentpb/agent.go
@@ -56,152 +56,188 @@ type ServerRequestPayload interface {
// A list of AgentMessage request payloads.
+// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
func (m *Ping) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_Ping{Ping: m}
}
+// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
func (m *StateChangedRequest) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_StateChanged{StateChanged: m}
}
+// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
func (m *QANCollectRequest) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_QanCollect{QanCollect: m}
}
+// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
func (m *ActionResultRequest) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_ActionResult{ActionResult: m}
}
+// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
func (m *JobProgress) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_JobProgress{JobProgress: m}
}
+// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
func (m *JobResult) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_JobResult{JobResult: m}
}
// A list of AgentMessage response payloads.
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *Pong) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_Pong{Pong: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *SetStateResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_SetState{SetState: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *StartActionResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_StartAction{StartAction: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *StopActionResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_StopAction{StopAction: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *CheckConnectionResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_CheckConnection{CheckConnection: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *ServiceInfoResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_ServiceInfo{ServiceInfo: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *JobStatusResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_JobStatus{JobStatus: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *StartJobResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_StartJob{StartJob: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *StopJobResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_StopJob{StopJob: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *JobProgress) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_JobProgress{JobProgress: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *JobResult) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_JobResult{JobResult: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *GetVersionsResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_GetVersions{GetVersions: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *PBMSwitchPITRResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_PbmSwitchPitr{PbmSwitchPitr: m}
}
+// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
func (m *AgentLogsResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
return &AgentMessage_AgentLogs{AgentLogs: m}
}
// A list of ServerMessage response payloads.
+// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
func (m *Pong) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_Pong{Pong: m}
}
+// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
func (m *StateChangedResponse) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_StateChanged{StateChanged: m}
}
+// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
func (m *QANCollectResponse) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_QanCollect{QanCollect: m}
}
+// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
func (m *ActionResultResponse) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_ActionResult{ActionResult: m}
}
// A list of ServerMessage request payloads.
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *Ping) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_Ping{Ping: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *SetStateRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_SetState{SetState: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *StartActionRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_StartAction{StartAction: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *StopActionRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_StopAction{StopAction: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *CheckConnectionRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_CheckConnection{CheckConnection: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *StartJobRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_StartJob{StartJob: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *StopJobRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_StopJob{StopJob: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *JobStatusRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_JobStatus{JobStatus: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *GetVersionsRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_GetVersions{GetVersions: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *PBMSwitchPITRRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_PbmSwitchPitr{PbmSwitchPitr: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *AgentLogsRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_AgentLogs{AgentLogs: m}
}
+// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
func (m *ServiceInfoRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
return &ServerMessage_ServiceInfo{ServiceInfo: m}
}
diff --git a/api/inventorypb/agents.go b/api/inventorypb/agents.go
index 578b3f389c..97277314af 100644
--- a/api/inventorypb/agents.go
+++ b/api/inventorypb/agents.go
@@ -1,3 +1,4 @@
+// Package inventorypb ...
// Copyright (C) 2023 Percona LLC
//
// This program is free software: you can redistribute it and/or modify
@@ -12,7 +13,6 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
package inventorypb
//go-sumtype:decl Agent
diff --git a/api/inventorypb/agents.pb.gw.go b/api/inventorypb/agents.pb.gw.go
index 1c45bf9c26..73084b65e7 100644
--- a/api/inventorypb/agents.pb.gw.go
+++ b/api/inventorypb/agents.pb.gw.go
@@ -37,11 +37,7 @@ func request_Agents_ListAgents_0(ctx context.Context, marshaler runtime.Marshale
var protoReq ListAgentsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Agents_ListAgents_0(ctx context.Context, marshaler runtime.Ma
var protoReq ListAgentsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Agents_GetAgent_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq GetAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Agents_GetAgent_0(ctx context.Context, marshaler runtime.Mars
var protoReq GetAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Agents_GetAgentLogs_0(ctx context.Context, marshaler runtime.Marsha
var protoReq GetAgentLogsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Agents_GetAgentLogs_0(ctx context.Context, marshaler runtime.
var protoReq GetAgentLogsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Agents_AddPMMAgent_0(ctx context.Context, marshaler runtime.Marshal
var protoReq AddPMMAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Agents_AddPMMAgent_0(ctx context.Context, marshaler runtime.M
var protoReq AddPMMAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Agents_AddNodeExporter_0(ctx context.Context, marshaler runtime.Mar
var protoReq AddNodeExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Agents_AddNodeExporter_0(ctx context.Context, marshaler runti
var protoReq AddNodeExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Agents_ChangeNodeExporter_0(ctx context.Context, marshaler runtime.
var protoReq ChangeNodeExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Agents_ChangeNodeExporter_0(ctx context.Context, marshaler ru
var protoReq ChangeNodeExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Agents_AddMySQLdExporter_0(ctx context.Context, marshaler runtime.M
var protoReq AddMySQLdExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Agents_AddMySQLdExporter_0(ctx context.Context, marshaler run
var protoReq AddMySQLdExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_Agents_ChangeMySQLdExporter_0(ctx context.Context, marshaler runtim
var protoReq ChangeMySQLdExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_Agents_ChangeMySQLdExporter_0(ctx context.Context, marshaler
var protoReq ChangeMySQLdExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -293,11 +229,7 @@ func request_Agents_AddMongoDBExporter_0(ctx context.Context, marshaler runtime.
var protoReq AddMongoDBExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -309,11 +241,7 @@ func local_request_Agents_AddMongoDBExporter_0(ctx context.Context, marshaler ru
var protoReq AddMongoDBExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -325,11 +253,7 @@ func request_Agents_ChangeMongoDBExporter_0(ctx context.Context, marshaler runti
var protoReq ChangeMongoDBExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -341,11 +265,7 @@ func local_request_Agents_ChangeMongoDBExporter_0(ctx context.Context, marshaler
var protoReq ChangeMongoDBExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -357,11 +277,7 @@ func request_Agents_AddPostgresExporter_0(ctx context.Context, marshaler runtime
var protoReq AddPostgresExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -373,11 +289,7 @@ func local_request_Agents_AddPostgresExporter_0(ctx context.Context, marshaler r
var protoReq AddPostgresExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -389,11 +301,7 @@ func request_Agents_ChangePostgresExporter_0(ctx context.Context, marshaler runt
var protoReq ChangePostgresExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -405,11 +313,7 @@ func local_request_Agents_ChangePostgresExporter_0(ctx context.Context, marshale
var protoReq ChangePostgresExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -421,11 +325,7 @@ func request_Agents_AddProxySQLExporter_0(ctx context.Context, marshaler runtime
var protoReq AddProxySQLExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -437,11 +337,7 @@ func local_request_Agents_AddProxySQLExporter_0(ctx context.Context, marshaler r
var protoReq AddProxySQLExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -453,11 +349,7 @@ func request_Agents_ChangeProxySQLExporter_0(ctx context.Context, marshaler runt
var protoReq ChangeProxySQLExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -469,11 +361,7 @@ func local_request_Agents_ChangeProxySQLExporter_0(ctx context.Context, marshale
var protoReq ChangeProxySQLExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -485,11 +373,7 @@ func request_Agents_AddQANMySQLPerfSchemaAgent_0(ctx context.Context, marshaler
var protoReq AddQANMySQLPerfSchemaAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -501,11 +385,7 @@ func local_request_Agents_AddQANMySQLPerfSchemaAgent_0(ctx context.Context, mars
var protoReq AddQANMySQLPerfSchemaAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -517,11 +397,7 @@ func request_Agents_ChangeQANMySQLPerfSchemaAgent_0(ctx context.Context, marshal
var protoReq ChangeQANMySQLPerfSchemaAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -533,11 +409,7 @@ func local_request_Agents_ChangeQANMySQLPerfSchemaAgent_0(ctx context.Context, m
var protoReq ChangeQANMySQLPerfSchemaAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -549,11 +421,7 @@ func request_Agents_AddQANMySQLSlowlogAgent_0(ctx context.Context, marshaler run
var protoReq AddQANMySQLSlowlogAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -565,11 +433,7 @@ func local_request_Agents_AddQANMySQLSlowlogAgent_0(ctx context.Context, marshal
var protoReq AddQANMySQLSlowlogAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -581,11 +445,7 @@ func request_Agents_ChangeQANMySQLSlowlogAgent_0(ctx context.Context, marshaler
var protoReq ChangeQANMySQLSlowlogAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -597,11 +457,7 @@ func local_request_Agents_ChangeQANMySQLSlowlogAgent_0(ctx context.Context, mars
var protoReq ChangeQANMySQLSlowlogAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -613,11 +469,7 @@ func request_Agents_AddQANMongoDBProfilerAgent_0(ctx context.Context, marshaler
var protoReq AddQANMongoDBProfilerAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -629,11 +481,7 @@ func local_request_Agents_AddQANMongoDBProfilerAgent_0(ctx context.Context, mars
var protoReq AddQANMongoDBProfilerAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -645,11 +493,7 @@ func request_Agents_ChangeQANMongoDBProfilerAgent_0(ctx context.Context, marshal
var protoReq ChangeQANMongoDBProfilerAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -661,11 +505,7 @@ func local_request_Agents_ChangeQANMongoDBProfilerAgent_0(ctx context.Context, m
var protoReq ChangeQANMongoDBProfilerAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -677,11 +517,7 @@ func request_Agents_AddQANPostgreSQLPgStatementsAgent_0(ctx context.Context, mar
var protoReq AddQANPostgreSQLPgStatementsAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -693,11 +529,7 @@ func local_request_Agents_AddQANPostgreSQLPgStatementsAgent_0(ctx context.Contex
var protoReq AddQANPostgreSQLPgStatementsAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -709,11 +541,7 @@ func request_Agents_ChangeQANPostgreSQLPgStatementsAgent_0(ctx context.Context,
var protoReq ChangeQANPostgreSQLPgStatementsAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -725,11 +553,7 @@ func local_request_Agents_ChangeQANPostgreSQLPgStatementsAgent_0(ctx context.Con
var protoReq ChangeQANPostgreSQLPgStatementsAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -741,11 +565,7 @@ func request_Agents_AddQANPostgreSQLPgStatMonitorAgent_0(ctx context.Context, ma
var protoReq AddQANPostgreSQLPgStatMonitorAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -757,11 +577,7 @@ func local_request_Agents_AddQANPostgreSQLPgStatMonitorAgent_0(ctx context.Conte
var protoReq AddQANPostgreSQLPgStatMonitorAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -773,11 +589,7 @@ func request_Agents_ChangeQANPostgreSQLPgStatMonitorAgent_0(ctx context.Context,
var protoReq ChangeQANPostgreSQLPgStatMonitorAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -789,11 +601,7 @@ func local_request_Agents_ChangeQANPostgreSQLPgStatMonitorAgent_0(ctx context.Co
var protoReq ChangeQANPostgreSQLPgStatMonitorAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -805,11 +613,7 @@ func request_Agents_AddRDSExporter_0(ctx context.Context, marshaler runtime.Mars
var protoReq AddRDSExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -821,11 +625,7 @@ func local_request_Agents_AddRDSExporter_0(ctx context.Context, marshaler runtim
var protoReq AddRDSExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -837,11 +637,7 @@ func request_Agents_ChangeRDSExporter_0(ctx context.Context, marshaler runtime.M
var protoReq ChangeRDSExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -853,11 +649,7 @@ func local_request_Agents_ChangeRDSExporter_0(ctx context.Context, marshaler run
var protoReq ChangeRDSExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -869,11 +661,7 @@ func request_Agents_AddExternalExporter_0(ctx context.Context, marshaler runtime
var protoReq AddExternalExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -885,11 +673,7 @@ func local_request_Agents_AddExternalExporter_0(ctx context.Context, marshaler r
var protoReq AddExternalExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -901,11 +685,7 @@ func request_Agents_ChangeExternalExporter_0(ctx context.Context, marshaler runt
var protoReq ChangeExternalExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -917,11 +697,7 @@ func local_request_Agents_ChangeExternalExporter_0(ctx context.Context, marshale
var protoReq ChangeExternalExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -933,11 +709,7 @@ func request_Agents_AddAzureDatabaseExporter_0(ctx context.Context, marshaler ru
var protoReq AddAzureDatabaseExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -949,11 +721,7 @@ func local_request_Agents_AddAzureDatabaseExporter_0(ctx context.Context, marsha
var protoReq AddAzureDatabaseExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -965,11 +733,7 @@ func request_Agents_ChangeAzureDatabaseExporter_0(ctx context.Context, marshaler
var protoReq ChangeAzureDatabaseExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -981,11 +745,7 @@ func local_request_Agents_ChangeAzureDatabaseExporter_0(ctx context.Context, mar
var protoReq ChangeAzureDatabaseExporterRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -997,11 +757,7 @@ func request_Agents_RemoveAgent_0(ctx context.Context, marshaler runtime.Marshal
var protoReq RemoveAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -1013,11 +769,7 @@ func local_request_Agents_RemoveAgent_0(ctx context.Context, marshaler runtime.M
var protoReq RemoveAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/inventorypb/nodes.pb.gw.go b/api/inventorypb/nodes.pb.gw.go
index 9789ecfcb6..8c7dbb33f2 100644
--- a/api/inventorypb/nodes.pb.gw.go
+++ b/api/inventorypb/nodes.pb.gw.go
@@ -37,11 +37,7 @@ func request_Nodes_ListNodes_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq ListNodesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Nodes_ListNodes_0(ctx context.Context, marshaler runtime.Mars
var protoReq ListNodesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Nodes_GetNode_0(ctx context.Context, marshaler runtime.Marshaler, c
var protoReq GetNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Nodes_GetNode_0(ctx context.Context, marshaler runtime.Marsha
var protoReq GetNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Nodes_AddNode_0(ctx context.Context, marshaler runtime.Marshaler, c
var protoReq AddNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Nodes_AddNode_0(ctx context.Context, marshaler runtime.Marsha
var protoReq AddNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Nodes_AddGenericNode_0(ctx context.Context, marshaler runtime.Marsh
var protoReq AddGenericNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Nodes_AddGenericNode_0(ctx context.Context, marshaler runtime
var protoReq AddGenericNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Nodes_AddContainerNode_0(ctx context.Context, marshaler runtime.Mar
var protoReq AddContainerNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Nodes_AddContainerNode_0(ctx context.Context, marshaler runti
var protoReq AddContainerNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Nodes_AddRemoteNode_0(ctx context.Context, marshaler runtime.Marsha
var protoReq AddRemoteNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Nodes_AddRemoteNode_0(ctx context.Context, marshaler runtime.
var protoReq AddRemoteNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Nodes_AddRemoteRDSNode_0(ctx context.Context, marshaler runtime.Mar
var protoReq AddRemoteRDSNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Nodes_AddRemoteRDSNode_0(ctx context.Context, marshaler runti
var protoReq AddRemoteRDSNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_Nodes_AddRemoteAzureDatabaseNode_0(ctx context.Context, marshaler r
var protoReq AddRemoteAzureDatabaseNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_Nodes_AddRemoteAzureDatabaseNode_0(ctx context.Context, marsh
var protoReq AddRemoteAzureDatabaseNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -293,11 +229,7 @@ func request_Nodes_RemoveNode_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq RemoveNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -309,11 +241,7 @@ func local_request_Nodes_RemoveNode_0(ctx context.Context, marshaler runtime.Mar
var protoReq RemoveNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/inventorypb/services.pb.gw.go b/api/inventorypb/services.pb.gw.go
index d9964442e0..86c751ab6d 100644
--- a/api/inventorypb/services.pb.gw.go
+++ b/api/inventorypb/services.pb.gw.go
@@ -37,11 +37,7 @@ func request_Services_ListServices_0(ctx context.Context, marshaler runtime.Mars
var protoReq ListServicesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Services_ListServices_0(ctx context.Context, marshaler runtim
var protoReq ListServicesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Services_ListActiveServiceTypes_0(ctx context.Context, marshaler ru
var protoReq ListActiveServiceTypesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Services_ListActiveServiceTypes_0(ctx context.Context, marsha
var protoReq ListActiveServiceTypesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Services_GetService_0(ctx context.Context, marshaler runtime.Marsha
var protoReq GetServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Services_GetService_0(ctx context.Context, marshaler runtime.
var protoReq GetServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Services_AddMySQLService_0(ctx context.Context, marshaler runtime.M
var protoReq AddMySQLServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Services_AddMySQLService_0(ctx context.Context, marshaler run
var protoReq AddMySQLServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Services_AddMongoDBService_0(ctx context.Context, marshaler runtime
var protoReq AddMongoDBServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Services_AddMongoDBService_0(ctx context.Context, marshaler r
var protoReq AddMongoDBServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Services_AddPostgreSQLService_0(ctx context.Context, marshaler runt
var protoReq AddPostgreSQLServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Services_AddPostgreSQLService_0(ctx context.Context, marshale
var protoReq AddPostgreSQLServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Services_AddProxySQLService_0(ctx context.Context, marshaler runtim
var protoReq AddProxySQLServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Services_AddProxySQLService_0(ctx context.Context, marshaler
var protoReq AddProxySQLServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_Services_AddHAProxyService_0(ctx context.Context, marshaler runtime
var protoReq AddHAProxyServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_Services_AddHAProxyService_0(ctx context.Context, marshaler r
var protoReq AddHAProxyServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -293,11 +229,7 @@ func request_Services_AddExternalService_0(ctx context.Context, marshaler runtim
var protoReq AddExternalServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -309,11 +241,7 @@ func local_request_Services_AddExternalService_0(ctx context.Context, marshaler
var protoReq AddExternalServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -325,11 +253,7 @@ func request_Services_RemoveService_0(ctx context.Context, marshaler runtime.Mar
var protoReq RemoveServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -341,11 +265,7 @@ func local_request_Services_RemoveService_0(ctx context.Context, marshaler runti
var protoReq RemoveServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -357,11 +277,7 @@ func request_Services_AddCustomLabels_0(ctx context.Context, marshaler runtime.M
var protoReq AddCustomLabelsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -373,11 +289,7 @@ func local_request_Services_AddCustomLabels_0(ctx context.Context, marshaler run
var protoReq AddCustomLabelsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -389,11 +301,7 @@ func request_Services_RemoveCustomLabels_0(ctx context.Context, marshaler runtim
var protoReq RemoveCustomLabelsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -405,11 +313,7 @@ func local_request_Services_RemoveCustomLabels_0(ctx context.Context, marshaler
var protoReq RemoveCustomLabelsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -421,11 +325,7 @@ func request_Services_ChangeService_0(ctx context.Context, marshaler runtime.Mar
var protoReq ChangeServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -437,11 +337,7 @@ func local_request_Services_ChangeService_0(ctx context.Context, marshaler runti
var protoReq ChangeServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/actions.pb.gw.go b/api/managementpb/actions.pb.gw.go
index afb3efb2f4..e46087f895 100644
--- a/api/managementpb/actions.pb.gw.go
+++ b/api/managementpb/actions.pb.gw.go
@@ -37,11 +37,7 @@ func request_Actions_GetAction_0(ctx context.Context, marshaler runtime.Marshale
var protoReq GetActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Actions_GetAction_0(ctx context.Context, marshaler runtime.Ma
var protoReq GetActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Actions_StartMySQLExplainAction_0(ctx context.Context, marshaler ru
var protoReq StartMySQLExplainActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Actions_StartMySQLExplainAction_0(ctx context.Context, marsha
var protoReq StartMySQLExplainActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Actions_StartMySQLExplainJSONAction_0(ctx context.Context, marshale
var protoReq StartMySQLExplainJSONActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Actions_StartMySQLExplainJSONAction_0(ctx context.Context, ma
var protoReq StartMySQLExplainJSONActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Actions_StartMySQLExplainTraditionalJSONAction_0(ctx context.Contex
var protoReq StartMySQLExplainTraditionalJSONActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Actions_StartMySQLExplainTraditionalJSONAction_0(ctx context.
var protoReq StartMySQLExplainTraditionalJSONActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Actions_StartMySQLShowCreateTableAction_0(ctx context.Context, mars
var protoReq StartMySQLShowCreateTableActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Actions_StartMySQLShowCreateTableAction_0(ctx context.Context
var protoReq StartMySQLShowCreateTableActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Actions_StartMySQLShowTableStatusAction_0(ctx context.Context, mars
var protoReq StartMySQLShowTableStatusActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Actions_StartMySQLShowTableStatusAction_0(ctx context.Context
var protoReq StartMySQLShowTableStatusActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Actions_StartMySQLShowIndexAction_0(ctx context.Context, marshaler
var protoReq StartMySQLShowIndexActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Actions_StartMySQLShowIndexAction_0(ctx context.Context, mars
var protoReq StartMySQLShowIndexActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_Actions_StartPostgreSQLShowCreateTableAction_0(ctx context.Context,
var protoReq StartPostgreSQLShowCreateTableActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_Actions_StartPostgreSQLShowCreateTableAction_0(ctx context.Co
var protoReq StartPostgreSQLShowCreateTableActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -293,11 +229,7 @@ func request_Actions_StartPostgreSQLShowIndexAction_0(ctx context.Context, marsh
var protoReq StartPostgreSQLShowIndexActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -309,11 +241,7 @@ func local_request_Actions_StartPostgreSQLShowIndexAction_0(ctx context.Context,
var protoReq StartPostgreSQLShowIndexActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -325,11 +253,7 @@ func request_Actions_StartMongoDBExplainAction_0(ctx context.Context, marshaler
var protoReq StartMongoDBExplainActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -341,11 +265,7 @@ func local_request_Actions_StartMongoDBExplainAction_0(ctx context.Context, mars
var protoReq StartMongoDBExplainActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -357,11 +277,7 @@ func request_Actions_StartPTSummaryAction_0(ctx context.Context, marshaler runti
var protoReq StartPTSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -373,11 +289,7 @@ func local_request_Actions_StartPTSummaryAction_0(ctx context.Context, marshaler
var protoReq StartPTSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -389,11 +301,7 @@ func request_Actions_StartPTPgSummaryAction_0(ctx context.Context, marshaler run
var protoReq StartPTPgSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -405,11 +313,7 @@ func local_request_Actions_StartPTPgSummaryAction_0(ctx context.Context, marshal
var protoReq StartPTPgSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -421,11 +325,7 @@ func request_Actions_StartPTMongoDBSummaryAction_0(ctx context.Context, marshale
var protoReq StartPTMongoDBSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -437,11 +337,7 @@ func local_request_Actions_StartPTMongoDBSummaryAction_0(ctx context.Context, ma
var protoReq StartPTMongoDBSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -453,11 +349,7 @@ func request_Actions_StartPTMySQLSummaryAction_0(ctx context.Context, marshaler
var protoReq StartPTMySQLSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -469,11 +361,7 @@ func local_request_Actions_StartPTMySQLSummaryAction_0(ctx context.Context, mars
var protoReq StartPTMySQLSummaryActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -485,11 +373,7 @@ func request_Actions_CancelAction_0(ctx context.Context, marshaler runtime.Marsh
var protoReq CancelActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -501,11 +385,7 @@ func local_request_Actions_CancelAction_0(ctx context.Context, marshaler runtime
var protoReq CancelActionRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/agent/agent.pb.gw.go b/api/managementpb/agent/agent.pb.gw.go
index 9329b46d39..b323fbec6b 100644
--- a/api/managementpb/agent/agent.pb.gw.go
+++ b/api/managementpb/agent/agent.pb.gw.go
@@ -37,11 +37,7 @@ func request_Agent_ListAgents_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq ListAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Agent_ListAgents_0(ctx context.Context, marshaler runtime.Mar
var protoReq ListAgentRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/alerting/alerting.pb.gw.go b/api/managementpb/alerting/alerting.pb.gw.go
index 419b71ea2f..4c41f9acdf 100644
--- a/api/managementpb/alerting/alerting.pb.gw.go
+++ b/api/managementpb/alerting/alerting.pb.gw.go
@@ -37,11 +37,7 @@ func request_Alerting_ListTemplates_0(ctx context.Context, marshaler runtime.Mar
var protoReq ListTemplatesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Alerting_ListTemplates_0(ctx context.Context, marshaler runti
var protoReq ListTemplatesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Alerting_CreateTemplate_0(ctx context.Context, marshaler runtime.Ma
var protoReq CreateTemplateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Alerting_CreateTemplate_0(ctx context.Context, marshaler runt
var protoReq CreateTemplateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Alerting_UpdateTemplate_0(ctx context.Context, marshaler runtime.Ma
var protoReq UpdateTemplateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Alerting_UpdateTemplate_0(ctx context.Context, marshaler runt
var protoReq UpdateTemplateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Alerting_DeleteTemplate_0(ctx context.Context, marshaler runtime.Ma
var protoReq DeleteTemplateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Alerting_DeleteTemplate_0(ctx context.Context, marshaler runt
var protoReq DeleteTemplateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Alerting_CreateRule_0(ctx context.Context, marshaler runtime.Marsha
var protoReq CreateRuleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Alerting_CreateRule_0(ctx context.Context, marshaler runtime.
var protoReq CreateRuleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/annotation.pb.gw.go b/api/managementpb/annotation.pb.gw.go
index ebcf79c3f5..e251b9b1b5 100644
--- a/api/managementpb/annotation.pb.gw.go
+++ b/api/managementpb/annotation.pb.gw.go
@@ -37,11 +37,7 @@ func request_Annotation_AddAnnotation_0(ctx context.Context, marshaler runtime.M
var protoReq AddAnnotationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Annotation_AddAnnotation_0(ctx context.Context, marshaler run
var protoReq AddAnnotationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/azure/azure.pb.gw.go b/api/managementpb/azure/azure.pb.gw.go
index 07de32ff10..fb8c0f2248 100644
--- a/api/managementpb/azure/azure.pb.gw.go
+++ b/api/managementpb/azure/azure.pb.gw.go
@@ -37,11 +37,7 @@ func request_AzureDatabase_DiscoverAzureDatabase_0(ctx context.Context, marshale
var protoReq DiscoverAzureDatabaseRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_AzureDatabase_DiscoverAzureDatabase_0(ctx context.Context, ma
var protoReq DiscoverAzureDatabaseRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_AzureDatabase_AddAzureDatabase_0(ctx context.Context, marshaler run
var protoReq AddAzureDatabaseRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_AzureDatabase_AddAzureDatabase_0(ctx context.Context, marshal
var protoReq AddAzureDatabaseRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/backup/artifacts.pb.gw.go b/api/managementpb/backup/artifacts.pb.gw.go
index f80aa72372..ddcb1d1c7c 100644
--- a/api/managementpb/backup/artifacts.pb.gw.go
+++ b/api/managementpb/backup/artifacts.pb.gw.go
@@ -37,11 +37,7 @@ func request_Artifacts_ListArtifacts_0(ctx context.Context, marshaler runtime.Ma
var protoReq ListArtifactsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Artifacts_ListArtifacts_0(ctx context.Context, marshaler runt
var protoReq ListArtifactsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Artifacts_DeleteArtifact_0(ctx context.Context, marshaler runtime.M
var protoReq DeleteArtifactRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Artifacts_DeleteArtifact_0(ctx context.Context, marshaler run
var protoReq DeleteArtifactRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Artifacts_ListPitrTimeranges_0(ctx context.Context, marshaler runti
var protoReq ListPitrTimerangesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Artifacts_ListPitrTimeranges_0(ctx context.Context, marshaler
var protoReq ListPitrTimerangesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/backup/backups.pb.gw.go b/api/managementpb/backup/backups.pb.gw.go
index ad56562fe5..edf589bbfd 100644
--- a/api/managementpb/backup/backups.pb.gw.go
+++ b/api/managementpb/backup/backups.pb.gw.go
@@ -37,11 +37,7 @@ func request_Backups_StartBackup_0(ctx context.Context, marshaler runtime.Marsha
var protoReq StartBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Backups_StartBackup_0(ctx context.Context, marshaler runtime.
var protoReq StartBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Backups_ListArtifactCompatibleServices_0(ctx context.Context, marsh
var protoReq ListArtifactCompatibleServicesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Backups_ListArtifactCompatibleServices_0(ctx context.Context,
var protoReq ListArtifactCompatibleServicesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Backups_RestoreBackup_0(ctx context.Context, marshaler runtime.Mars
var protoReq RestoreBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Backups_RestoreBackup_0(ctx context.Context, marshaler runtim
var protoReq RestoreBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Backups_ScheduleBackup_0(ctx context.Context, marshaler runtime.Mar
var protoReq ScheduleBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Backups_ScheduleBackup_0(ctx context.Context, marshaler runti
var protoReq ScheduleBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Backups_ListScheduledBackups_0(ctx context.Context, marshaler runti
var protoReq ListScheduledBackupsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Backups_ListScheduledBackups_0(ctx context.Context, marshaler
var protoReq ListScheduledBackupsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Backups_ChangeScheduledBackup_0(ctx context.Context, marshaler runt
var protoReq ChangeScheduledBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Backups_ChangeScheduledBackup_0(ctx context.Context, marshale
var protoReq ChangeScheduledBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Backups_RemoveScheduledBackup_0(ctx context.Context, marshaler runt
var protoReq RemoveScheduledBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Backups_RemoveScheduledBackup_0(ctx context.Context, marshale
var protoReq RemoveScheduledBackupRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_Backups_GetLogs_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq GetLogsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_Backups_GetLogs_0(ctx context.Context, marshaler runtime.Mars
var protoReq GetLogsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/backup/locations.pb.gw.go b/api/managementpb/backup/locations.pb.gw.go
index 04abab82c8..0cdc541361 100644
--- a/api/managementpb/backup/locations.pb.gw.go
+++ b/api/managementpb/backup/locations.pb.gw.go
@@ -37,11 +37,7 @@ func request_Locations_ListLocations_0(ctx context.Context, marshaler runtime.Ma
var protoReq ListLocationsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Locations_ListLocations_0(ctx context.Context, marshaler runt
var protoReq ListLocationsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Locations_AddLocation_0(ctx context.Context, marshaler runtime.Mars
var protoReq AddLocationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Locations_AddLocation_0(ctx context.Context, marshaler runtim
var protoReq AddLocationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Locations_ChangeLocation_0(ctx context.Context, marshaler runtime.M
var protoReq ChangeLocationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Locations_ChangeLocation_0(ctx context.Context, marshaler run
var protoReq ChangeLocationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Locations_RemoveLocation_0(ctx context.Context, marshaler runtime.M
var protoReq RemoveLocationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Locations_RemoveLocation_0(ctx context.Context, marshaler run
var protoReq RemoveLocationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Locations_TestLocationConfig_0(ctx context.Context, marshaler runti
var protoReq TestLocationConfigRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Locations_TestLocationConfig_0(ctx context.Context, marshaler
var protoReq TestLocationConfigRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/backup/restores.pb.gw.go b/api/managementpb/backup/restores.pb.gw.go
index cab260bb0e..3fe9900838 100644
--- a/api/managementpb/backup/restores.pb.gw.go
+++ b/api/managementpb/backup/restores.pb.gw.go
@@ -37,11 +37,7 @@ func request_RestoreHistory_ListRestoreHistory_0(ctx context.Context, marshaler
var protoReq ListRestoreHistoryRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_RestoreHistory_ListRestoreHistory_0(ctx context.Context, mars
var protoReq ListRestoreHistoryRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/checks.pb.gw.go b/api/managementpb/checks.pb.gw.go
index ab78dffe20..8e92fcd1c4 100644
--- a/api/managementpb/checks.pb.gw.go
+++ b/api/managementpb/checks.pb.gw.go
@@ -37,11 +37,7 @@ func request_SecurityChecks_ListFailedServices_0(ctx context.Context, marshaler
var protoReq ListFailedServicesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_SecurityChecks_ListFailedServices_0(ctx context.Context, mars
var protoReq ListFailedServicesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_SecurityChecks_GetFailedChecks_0(ctx context.Context, marshaler run
var protoReq GetFailedChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_SecurityChecks_GetFailedChecks_0(ctx context.Context, marshal
var protoReq GetFailedChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_SecurityChecks_ToggleCheckAlert_0(ctx context.Context, marshaler ru
var protoReq ToggleCheckAlertRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_SecurityChecks_ToggleCheckAlert_0(ctx context.Context, marsha
var protoReq ToggleCheckAlertRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_SecurityChecks_GetSecurityCheckResults_0(ctx context.Context, marsh
var protoReq GetSecurityCheckResultsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_SecurityChecks_GetSecurityCheckResults_0(ctx context.Context,
var protoReq GetSecurityCheckResultsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_SecurityChecks_StartSecurityChecks_0(ctx context.Context, marshaler
var protoReq StartSecurityChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_SecurityChecks_StartSecurityChecks_0(ctx context.Context, mar
var protoReq StartSecurityChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_SecurityChecks_ListSecurityChecks_0(ctx context.Context, marshaler
var protoReq ListSecurityChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_SecurityChecks_ListSecurityChecks_0(ctx context.Context, mars
var protoReq ListSecurityChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_SecurityChecks_ListAdvisors_0(ctx context.Context, marshaler runtim
var protoReq ListAdvisorsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_SecurityChecks_ListAdvisors_0(ctx context.Context, marshaler
var protoReq ListAdvisorsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_SecurityChecks_ChangeSecurityChecks_0(ctx context.Context, marshale
var protoReq ChangeSecurityChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_SecurityChecks_ChangeSecurityChecks_0(ctx context.Context, ma
var protoReq ChangeSecurityChecksRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/dump/dump.pb.gw.go b/api/managementpb/dump/dump.pb.gw.go
index 97f94a9292..796eff39b0 100644
--- a/api/managementpb/dump/dump.pb.gw.go
+++ b/api/managementpb/dump/dump.pb.gw.go
@@ -37,11 +37,7 @@ func request_Dumps_StartDump_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq StartDumpRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Dumps_StartDump_0(ctx context.Context, marshaler runtime.Mars
var protoReq StartDumpRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Dumps_ListDumps_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq ListDumpsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Dumps_ListDumps_0(ctx context.Context, marshaler runtime.Mars
var protoReq ListDumpsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Dumps_DeleteDump_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq DeleteDumpRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Dumps_DeleteDump_0(ctx context.Context, marshaler runtime.Mar
var protoReq DeleteDumpRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Dumps_GetDumpLogs_0(ctx context.Context, marshaler runtime.Marshale
var protoReq GetLogsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Dumps_GetDumpLogs_0(ctx context.Context, marshaler runtime.Ma
var protoReq GetLogsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Dumps_UploadDump_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq UploadDumpRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Dumps_UploadDump_0(ctx context.Context, marshaler runtime.Mar
var protoReq UploadDumpRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/external.pb.gw.go b/api/managementpb/external.pb.gw.go
index 315f8a4d17..d225a6a8fb 100644
--- a/api/managementpb/external.pb.gw.go
+++ b/api/managementpb/external.pb.gw.go
@@ -37,11 +37,7 @@ func request_External_AddExternal_0(ctx context.Context, marshaler runtime.Marsh
var protoReq AddExternalRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_External_AddExternal_0(ctx context.Context, marshaler runtime
var protoReq AddExternalRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/haproxy.pb.gw.go b/api/managementpb/haproxy.pb.gw.go
index dba51d5a1e..0b93307efa 100644
--- a/api/managementpb/haproxy.pb.gw.go
+++ b/api/managementpb/haproxy.pb.gw.go
@@ -37,11 +37,7 @@ func request_HAProxy_AddHAProxy_0(ctx context.Context, marshaler runtime.Marshal
var protoReq AddHAProxyRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_HAProxy_AddHAProxy_0(ctx context.Context, marshaler runtime.M
var protoReq AddHAProxyRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/json/client/rds/add_rds_responses.go b/api/managementpb/json/client/rds/add_rds_responses.go
index 66474eb916..8b51a6a1f8 100644
--- a/api/managementpb/json/client/rds/add_rds_responses.go
+++ b/api/managementpb/json/client/rds/add_rds_responses.go
@@ -222,6 +222,9 @@ type AddRDSBody struct {
// Limit of databases for auto-discovery.
AutoDiscoveryLimit int32 `json:"auto_discovery_limit,omitempty"`
+
+ // Disable parsing comments from queries and showing them in QAN.
+ DisableCommentsParsing bool `json:"disable_comments_parsing,omitempty"`
}
// Validate validates this add RDS body
diff --git a/api/managementpb/json/managementpb.json b/api/managementpb/json/managementpb.json
index cd7ee82e88..ae3cc1e524 100644
--- a/api/managementpb/json/managementpb.json
+++ b/api/managementpb/json/managementpb.json
@@ -5245,6 +5245,11 @@
"type": "boolean",
"x-order": 24
},
+ "disable_comments_parsing": {
+ "description": "Disable parsing comments from queries and showing them in QAN.",
+ "type": "boolean",
+ "x-order": 31
+ },
"disable_enhanced_metrics": {
"description": "Disable enhanced metrics.",
"type": "boolean",
diff --git a/api/managementpb/mongodb.pb.gw.go b/api/managementpb/mongodb.pb.gw.go
index bf71ae102f..04a494dfbf 100644
--- a/api/managementpb/mongodb.pb.gw.go
+++ b/api/managementpb/mongodb.pb.gw.go
@@ -37,11 +37,7 @@ func request_MongoDB_AddMongoDB_0(ctx context.Context, marshaler runtime.Marshal
var protoReq AddMongoDBRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_MongoDB_AddMongoDB_0(ctx context.Context, marshaler runtime.M
var protoReq AddMongoDBRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/mysql.pb.gw.go b/api/managementpb/mysql.pb.gw.go
index bde4f775fe..446217a8df 100644
--- a/api/managementpb/mysql.pb.gw.go
+++ b/api/managementpb/mysql.pb.gw.go
@@ -37,11 +37,7 @@ func request_MySQL_AddMySQL_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq AddMySQLRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_MySQL_AddMySQL_0(ctx context.Context, marshaler runtime.Marsh
var protoReq AddMySQLRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/node.pb.gw.go b/api/managementpb/node.pb.gw.go
index 988d0a2e24..c3e2defda0 100644
--- a/api/managementpb/node.pb.gw.go
+++ b/api/managementpb/node.pb.gw.go
@@ -37,11 +37,7 @@ func request_Node_RegisterNode_0(ctx context.Context, marshaler runtime.Marshale
var protoReq RegisterNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Node_RegisterNode_0(ctx context.Context, marshaler runtime.Ma
var protoReq RegisterNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/node/node.pb.gw.go b/api/managementpb/node/node.pb.gw.go
index 13c3ff3c92..6a13fbf480 100644
--- a/api/managementpb/node/node.pb.gw.go
+++ b/api/managementpb/node/node.pb.gw.go
@@ -37,11 +37,7 @@ func request_MgmtNode_ListNodes_0(ctx context.Context, marshaler runtime.Marshal
var protoReq ListNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_MgmtNode_ListNodes_0(ctx context.Context, marshaler runtime.M
var protoReq ListNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_MgmtNode_GetNode_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq GetNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_MgmtNode_GetNode_0(ctx context.Context, marshaler runtime.Mar
var protoReq GetNodeRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/postgresql.pb.gw.go b/api/managementpb/postgresql.pb.gw.go
index 85b4b2ee38..9a38e8aed6 100644
--- a/api/managementpb/postgresql.pb.gw.go
+++ b/api/managementpb/postgresql.pb.gw.go
@@ -37,11 +37,7 @@ func request_PostgreSQL_AddPostgreSQL_0(ctx context.Context, marshaler runtime.M
var protoReq AddPostgreSQLRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_PostgreSQL_AddPostgreSQL_0(ctx context.Context, marshaler run
var protoReq AddPostgreSQLRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/proxysql.pb.gw.go b/api/managementpb/proxysql.pb.gw.go
index 3101c325a3..76d01d4d09 100644
--- a/api/managementpb/proxysql.pb.gw.go
+++ b/api/managementpb/proxysql.pb.gw.go
@@ -37,11 +37,7 @@ func request_ProxySQL_AddProxySQL_0(ctx context.Context, marshaler runtime.Marsh
var protoReq AddProxySQLRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_ProxySQL_AddProxySQL_0(ctx context.Context, marshaler runtime
var protoReq AddProxySQLRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/rds.pb.go b/api/managementpb/rds.pb.go
index e77a001e09..0e5d28b1d0 100644
--- a/api/managementpb/rds.pb.go
+++ b/api/managementpb/rds.pb.go
@@ -362,6 +362,8 @@ type AddRDSRequest struct {
Database string `protobuf:"bytes,30,opt,name=database,proto3" json:"database,omitempty"`
// Limit of databases for auto-discovery.
AutoDiscoveryLimit int32 `protobuf:"varint,31,opt,name=auto_discovery_limit,json=autoDiscoveryLimit,proto3" json:"auto_discovery_limit,omitempty"`
+ // Disable parsing comments from queries and showing them in QAN.
+ DisableCommentsParsing bool `protobuf:"varint,32,opt,name=disable_comments_parsing,json=disableCommentsParsing,proto3" json:"disable_comments_parsing,omitempty"`
}
func (x *AddRDSRequest) Reset() {
@@ -613,6 +615,13 @@ func (x *AddRDSRequest) GetAutoDiscoveryLimit() int32 {
return 0
}
+func (x *AddRDSRequest) GetDisableCommentsParsing() bool {
+ if x != nil {
+ return x.DisableCommentsParsing
+ }
+ return false
+}
+
type AddRDSResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -772,7 +781,7 @@ var file_managementpb_rds_proto_rawDesc = []byte{
0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x44, 0x53, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x52, 0x0c, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
- 0x73, 0x22, 0xde, 0x0a, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x52, 0x65, 0x71, 0x75,
+ 0x73, 0x22, 0x98, 0x0b, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x72, 0x65,
0x67, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
@@ -854,84 +863,87 @@ var file_managementpb_rds_proto_rawDesc = []byte{
0x30, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61,
0x75, 0x74, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69,
- 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x61, 0x62, 0x65, 0x6c,
- 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
- 0x38, 0x01, 0x22, 0xda, 0x04, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
- 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x44, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,
- 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x64, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72,
- 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x76, 0x65,
- 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x44, 0x53, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65,
- 0x72, 0x52, 0x0b, 0x72, 0x64, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x2d,
- 0x0a, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
- 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x42, 0x0a,
- 0x0f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f,
- 0x72, 0x79, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x64, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65,
- 0x72, 0x52, 0x0e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x64, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65,
- 0x72, 0x12, 0x54, 0x0a, 0x14, 0x71, 0x61, 0x6e, 0x5f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70,
- 0x65, 0x72, 0x66, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x22, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x51, 0x41, 0x4e, 0x4d,
- 0x79, 0x53, 0x51, 0x4c, 0x50, 0x65, 0x72, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x41, 0x67,
- 0x65, 0x6e, 0x74, 0x52, 0x12, 0x71, 0x61, 0x6e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x50, 0x65, 0x72,
- 0x66, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74,
- 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69,
- 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65,
- 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74,
- 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x12, 0x4c, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72,
- 0x65, 0x73, 0x71, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
- 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
- 0x52, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x45, 0x78, 0x70, 0x6f,
- 0x72, 0x74, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x1b, 0x71, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x74,
- 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x67, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65,
- 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x76, 0x65,
- 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x51, 0x41, 0x4e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65,
- 0x53, 0x51, 0x4c, 0x50, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x41,
- 0x67, 0x65, 0x6e, 0x74, 0x52, 0x19, 0x71, 0x61, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65,
- 0x73, 0x71, 0x6c, 0x50, 0x67, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2a,
- 0x69, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x44, 0x53, 0x45, 0x6e,
- 0x67, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52,
- 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41,
- 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45,
- 0x52, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x10, 0x01, 0x12, 0x1b, 0x0a,
- 0x17, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x50, 0x4f,
- 0x53, 0x54, 0x47, 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x32, 0xae, 0x02, 0x0a, 0x03, 0x52,
- 0x44, 0x53, 0x12, 0xa1, 0x01, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52,
- 0x44, 0x53, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
- 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x44, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
- 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x44, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x51, 0x92, 0x41, 0x28, 0x12, 0x0c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76,
- 0x65, 0x72, 0x20, 0x52, 0x44, 0x53, 0x1a, 0x18, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
- 0x73, 0x20, 0x52, 0x44, 0x53, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e,
- 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x52, 0x44, 0x53, 0x2f, 0x44, 0x69,
- 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x82, 0x01, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x52, 0x44,
- 0x53, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41,
- 0x64, 0x64, 0x52, 0x44, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x92, 0x41, 0x1d, 0x12, 0x07, 0x41,
- 0x64, 0x64, 0x20, 0x52, 0x44, 0x53, 0x1a, 0x12, 0x41, 0x64, 0x64, 0x73, 0x20, 0x52, 0x44, 0x53,
- 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b,
- 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
- 0x65, 0x6e, 0x74, 0x2f, 0x52, 0x44, 0x53, 0x2f, 0x41, 0x64, 0x64, 0x42, 0x8b, 0x01, 0x0a, 0x0e,
- 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08,
- 0x52, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68,
- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70,
- 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
- 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
- 0x65, 0x6e, 0x74, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
- 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x4d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x74, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x20, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x1a, 0x3f, 0x0a, 0x11, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xda, 0x04, 0x0a,
+ 0x0e, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x2c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x52, 0x44, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a,
+ 0x0c, 0x72, 0x64, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
+ 0x52, 0x44, 0x53, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x64, 0x73,
+ 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x6d, 0x79, 0x73, 0x71,
+ 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74,
+ 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x52, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x42, 0x0a, 0x0f, 0x6d, 0x79, 0x73, 0x71, 0x6c,
+ 0x64, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x79, 0x53,
+ 0x51, 0x4c, 0x64, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x6d, 0x79, 0x73,
+ 0x71, 0x6c, 0x64, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x14, 0x71,
+ 0x61, 0x6e, 0x5f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x73, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x76, 0x65,
+ 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x51, 0x41, 0x4e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x50, 0x65,
+ 0x72, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x71,
+ 0x61, 0x6e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x50, 0x65, 0x72, 0x66, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f,
+ 0x72, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c,
+ 0x12, 0x4c, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x5f, 0x65,
+ 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72,
+ 0x65, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x52, 0x12, 0x70, 0x6f, 0x73, 0x74,
+ 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x69,
+ 0x0a, 0x1b, 0x71, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c,
+ 0x5f, 0x70, 0x67, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
+ 0x51, 0x41, 0x4e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x50, 0x67, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x19,
+ 0x71, 0x61, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x50, 0x67, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2a, 0x69, 0x0a, 0x11, 0x44, 0x69, 0x73,
+ 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x44, 0x53, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x1f,
+ 0x0a, 0x1b, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x45,
+ 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12,
+ 0x16, 0x0a, 0x12, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x52, 0x44, 0x53, 0x5f,
+ 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x49, 0x53, 0x43, 0x4f,
+ 0x56, 0x45, 0x52, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, 0x45, 0x53,
+ 0x51, 0x4c, 0x10, 0x02, 0x32, 0xae, 0x02, 0x0a, 0x03, 0x52, 0x44, 0x53, 0x12, 0xa1, 0x01, 0x0a,
+ 0x0b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x44, 0x53, 0x12, 0x1e, 0x2e, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76,
+ 0x65, 0x72, 0x52, 0x44, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76,
+ 0x65, 0x72, 0x52, 0x44, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x92,
+ 0x41, 0x28, 0x12, 0x0c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x52, 0x44, 0x53,
+ 0x1a, 0x18, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x20, 0x52, 0x44, 0x53, 0x20,
+ 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20,
+ 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x2f, 0x52, 0x44, 0x53, 0x2f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
+ 0x12, 0x82, 0x01, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x12, 0x19, 0x2e, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x44, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x41, 0x92, 0x41, 0x1d, 0x12, 0x07, 0x41, 0x64, 0x64, 0x20, 0x52, 0x44, 0x53,
+ 0x1a, 0x12, 0x41, 0x64, 0x64, 0x73, 0x20, 0x52, 0x44, 0x53, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61,
+ 0x6e, 0x63, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f,
+ 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x52, 0x44,
+ 0x53, 0x2f, 0x41, 0x64, 0x64, 0x42, 0x8b, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x52, 0x64, 0x73, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03,
+ 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0xe2, 0x02, 0x16,
+ 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65,
+ 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/api/managementpb/rds.pb.gw.go b/api/managementpb/rds.pb.gw.go
index b07e7b7196..ebb010a7da 100644
--- a/api/managementpb/rds.pb.gw.go
+++ b/api/managementpb/rds.pb.gw.go
@@ -37,11 +37,7 @@ func request_RDS_DiscoverRDS_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq DiscoverRDSRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_RDS_DiscoverRDS_0(ctx context.Context, marshaler runtime.Mars
var protoReq DiscoverRDSRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_RDS_AddRDS_0(ctx context.Context, marshaler runtime.Marshaler, clie
var protoReq AddRDSRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_RDS_AddRDS_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq AddRDSRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/rds.pb.validate.go b/api/managementpb/rds.pb.validate.go
index fe7d684fa0..f11c482138 100644
--- a/api/managementpb/rds.pb.validate.go
+++ b/api/managementpb/rds.pb.validate.go
@@ -524,6 +524,8 @@ func (m *AddRDSRequest) validate(all bool) error {
// no validation rules for AutoDiscoveryLimit
+ // no validation rules for DisableCommentsParsing
+
if len(errors) > 0 {
return AddRDSRequestMultiError(errors)
}
diff --git a/api/managementpb/rds.proto b/api/managementpb/rds.proto
index a214130871..fbb70f3760 100644
--- a/api/managementpb/rds.proto
+++ b/api/managementpb/rds.proto
@@ -116,6 +116,8 @@ message AddRDSRequest {
string database = 30;
// Limit of databases for auto-discovery.
int32 auto_discovery_limit = 31;
+ // Disable parsing comments from queries and showing them in QAN.
+ bool disable_comments_parsing = 32;
}
message AddRDSResponse {
diff --git a/api/managementpb/role/role.pb.gw.go b/api/managementpb/role/role.pb.gw.go
index 08f67280cf..41f56e50c1 100644
--- a/api/managementpb/role/role.pb.gw.go
+++ b/api/managementpb/role/role.pb.gw.go
@@ -37,11 +37,7 @@ func request_Role_CreateRole_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq CreateRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Role_CreateRole_0(ctx context.Context, marshaler runtime.Mars
var protoReq CreateRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Role_UpdateRole_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq UpdateRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Role_UpdateRole_0(ctx context.Context, marshaler runtime.Mars
var protoReq UpdateRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Role_DeleteRole_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq DeleteRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Role_DeleteRole_0(ctx context.Context, marshaler runtime.Mars
var protoReq DeleteRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Role_GetRole_0(ctx context.Context, marshaler runtime.Marshaler, cl
var protoReq GetRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Role_GetRole_0(ctx context.Context, marshaler runtime.Marshal
var protoReq GetRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Role_ListRoles_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq ListRolesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Role_ListRoles_0(ctx context.Context, marshaler runtime.Marsh
var protoReq ListRolesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Role_AssignRoles_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq AssignRolesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Role_AssignRoles_0(ctx context.Context, marshaler runtime.Mar
var protoReq AssignRolesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Role_SetDefaultRole_0(ctx context.Context, marshaler runtime.Marsha
var protoReq SetDefaultRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Role_SetDefaultRole_0(ctx context.Context, marshaler runtime.
var protoReq SetDefaultRoleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/service.pb.gw.go b/api/managementpb/service.pb.gw.go
index c8998723c2..526cded652 100644
--- a/api/managementpb/service.pb.gw.go
+++ b/api/managementpb/service.pb.gw.go
@@ -37,11 +37,7 @@ func request_Service_RemoveService_0(ctx context.Context, marshaler runtime.Mars
var protoReq RemoveServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Service_RemoveService_0(ctx context.Context, marshaler runtim
var protoReq RemoveServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/managementpb/service/service.pb.gw.go b/api/managementpb/service/service.pb.gw.go
index 12ebf2d2db..bce9792f1d 100644
--- a/api/managementpb/service/service.pb.gw.go
+++ b/api/managementpb/service/service.pb.gw.go
@@ -37,11 +37,7 @@ func request_MgmtService_ListServices_0(ctx context.Context, marshaler runtime.M
var protoReq ListServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_MgmtService_ListServices_0(ctx context.Context, marshaler run
var protoReq ListServiceRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/platformpb/platform.pb.gw.go b/api/platformpb/platform.pb.gw.go
index 914bb13a95..8e6187c064 100644
--- a/api/platformpb/platform.pb.gw.go
+++ b/api/platformpb/platform.pb.gw.go
@@ -37,11 +37,7 @@ func request_Platform_Connect_0(ctx context.Context, marshaler runtime.Marshaler
var protoReq ConnectRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Platform_Connect_0(ctx context.Context, marshaler runtime.Mar
var protoReq ConnectRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_Platform_Disconnect_0(ctx context.Context, marshaler runtime.Marsha
var protoReq DisconnectRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_Platform_Disconnect_0(ctx context.Context, marshaler runtime.
var protoReq DisconnectRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_Platform_SearchOrganizationTickets_0(ctx context.Context, marshaler
var protoReq SearchOrganizationTicketsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_Platform_SearchOrganizationTickets_0(ctx context.Context, mar
var protoReq SearchOrganizationTicketsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_Platform_SearchOrganizationEntitlements_0(ctx context.Context, mars
var protoReq SearchOrganizationEntitlementsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_Platform_SearchOrganizationEntitlements_0(ctx context.Context
var protoReq SearchOrganizationEntitlementsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_Platform_GetContactInformation_0(ctx context.Context, marshaler run
var protoReq GetContactInformationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_Platform_GetContactInformation_0(ctx context.Context, marshal
var protoReq GetContactInformationRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_Platform_ServerInfo_0(ctx context.Context, marshaler runtime.Marsha
var protoReq ServerInfoRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_Platform_ServerInfo_0(ctx context.Context, marshaler runtime.
var protoReq ServerInfoRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_Platform_UserStatus_0(ctx context.Context, marshaler runtime.Marsha
var protoReq UserStatusRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_Platform_UserStatus_0(ctx context.Context, marshaler runtime.
var protoReq UserStatusRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/qanpb/filters.pb.gw.go b/api/qanpb/filters.pb.gw.go
index 74cec79c58..06834af53b 100644
--- a/api/qanpb/filters.pb.gw.go
+++ b/api/qanpb/filters.pb.gw.go
@@ -37,11 +37,7 @@ func request_Filters_Get_0(ctx context.Context, marshaler runtime.Marshaler, cli
var protoReq FiltersRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Filters_Get_0(ctx context.Context, marshaler runtime.Marshale
var protoReq FiltersRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/qanpb/metrics_names.pb.gw.go b/api/qanpb/metrics_names.pb.gw.go
index fbe185c590..c74c921e8a 100644
--- a/api/qanpb/metrics_names.pb.gw.go
+++ b/api/qanpb/metrics_names.pb.gw.go
@@ -37,11 +37,7 @@ func request_MetricsNames_GetMetricsNames_0(ctx context.Context, marshaler runti
var protoReq MetricsNamesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_MetricsNames_GetMetricsNames_0(ctx context.Context, marshaler
var protoReq MetricsNamesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/qanpb/object_details.pb.gw.go b/api/qanpb/object_details.pb.gw.go
index 08f454da3e..18286bd649 100644
--- a/api/qanpb/object_details.pb.gw.go
+++ b/api/qanpb/object_details.pb.gw.go
@@ -37,11 +37,7 @@ func request_ObjectDetails_GetMetrics_0(ctx context.Context, marshaler runtime.M
var protoReq MetricsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_ObjectDetails_GetMetrics_0(ctx context.Context, marshaler run
var protoReq MetricsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +61,7 @@ func request_ObjectDetails_GetQueryExample_0(ctx context.Context, marshaler runt
var protoReq QueryExampleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -85,11 +73,7 @@ func local_request_ObjectDetails_GetQueryExample_0(ctx context.Context, marshale
var protoReq QueryExampleRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +85,7 @@ func request_ObjectDetails_GetLabels_0(ctx context.Context, marshaler runtime.Ma
var protoReq ObjectDetailsLabelsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +97,7 @@ func local_request_ObjectDetails_GetLabels_0(ctx context.Context, marshaler runt
var protoReq ObjectDetailsLabelsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +109,7 @@ func request_ObjectDetails_GetQueryPlan_0(ctx context.Context, marshaler runtime
var protoReq QueryPlanRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +121,7 @@ func local_request_ObjectDetails_GetQueryPlan_0(ctx context.Context, marshaler r
var protoReq QueryPlanRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +133,7 @@ func request_ObjectDetails_GetHistogram_0(ctx context.Context, marshaler runtime
var protoReq HistogramRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +145,7 @@ func local_request_ObjectDetails_GetHistogram_0(ctx context.Context, marshaler r
var protoReq HistogramRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +157,7 @@ func request_ObjectDetails_QueryExists_0(ctx context.Context, marshaler runtime.
var protoReq QueryExistsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +169,7 @@ func local_request_ObjectDetails_QueryExists_0(ctx context.Context, marshaler ru
var protoReq QueryExistsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +181,7 @@ func request_ObjectDetails_ExplainFingerprintByQueryID_0(ctx context.Context, ma
var protoReq ExplainFingerprintByQueryIDRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +193,7 @@ func local_request_ObjectDetails_ExplainFingerprintByQueryID_0(ctx context.Conte
var protoReq ExplainFingerprintByQueryIDRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +205,7 @@ func request_ObjectDetails_SchemaByQueryID_0(ctx context.Context, marshaler runt
var protoReq SchemaByQueryIDRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +217,7 @@ func local_request_ObjectDetails_SchemaByQueryID_0(ctx context.Context, marshale
var protoReq SchemaByQueryIDRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/qanpb/profile.pb.gw.go b/api/qanpb/profile.pb.gw.go
index ae55db87db..dd6d54183d 100644
--- a/api/qanpb/profile.pb.gw.go
+++ b/api/qanpb/profile.pb.gw.go
@@ -37,11 +37,7 @@ func request_Profile_GetReport_0(ctx context.Context, marshaler runtime.Marshale
var protoReq ReportRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_Profile_GetReport_0(ctx context.Context, marshaler runtime.Ma
var protoReq ReportRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/serverpb/server.pb.gw.go b/api/serverpb/server.pb.gw.go
index fc1eecf255..af0c17dcf8 100644
--- a/api/serverpb/server.pb.gw.go
+++ b/api/serverpb/server.pb.gw.go
@@ -85,11 +85,7 @@ func request_Server_LeaderHealthCheck_0(ctx context.Context, marshaler runtime.M
var protoReq LeaderHealthCheckRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -101,11 +97,7 @@ func local_request_Server_LeaderHealthCheck_0(ctx context.Context, marshaler run
var protoReq LeaderHealthCheckRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -117,11 +109,7 @@ func request_Server_CheckUpdates_0(ctx context.Context, marshaler runtime.Marsha
var protoReq CheckUpdatesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -133,11 +121,7 @@ func local_request_Server_CheckUpdates_0(ctx context.Context, marshaler runtime.
var protoReq CheckUpdatesRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -149,11 +133,7 @@ func request_Server_StartUpdate_0(ctx context.Context, marshaler runtime.Marshal
var protoReq StartUpdateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -165,11 +145,7 @@ func local_request_Server_StartUpdate_0(ctx context.Context, marshaler runtime.M
var protoReq StartUpdateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -181,11 +157,7 @@ func request_Server_UpdateStatus_0(ctx context.Context, marshaler runtime.Marsha
var protoReq UpdateStatusRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -197,11 +169,7 @@ func local_request_Server_UpdateStatus_0(ctx context.Context, marshaler runtime.
var protoReq UpdateStatusRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -213,11 +181,7 @@ func request_Server_GetSettings_0(ctx context.Context, marshaler runtime.Marshal
var protoReq GetSettingsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -229,11 +193,7 @@ func local_request_Server_GetSettings_0(ctx context.Context, marshaler runtime.M
var protoReq GetSettingsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -245,11 +205,7 @@ func request_Server_ChangeSettings_0(ctx context.Context, marshaler runtime.Mars
var protoReq ChangeSettingsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -261,11 +217,7 @@ func local_request_Server_ChangeSettings_0(ctx context.Context, marshaler runtim
var protoReq ChangeSettingsRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -277,11 +229,7 @@ func request_Server_AWSInstanceCheck_0(ctx context.Context, marshaler runtime.Ma
var protoReq AWSInstanceCheckRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -293,11 +241,7 @@ func local_request_Server_AWSInstanceCheck_0(ctx context.Context, marshaler runt
var protoReq AWSInstanceCheckRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/swagger/swagger-dev.json b/api/swagger/swagger-dev.json
index 7cc5c585d6..8cd38b8003 100644
--- a/api/swagger/swagger-dev.json
+++ b/api/swagger/swagger-dev.json
@@ -23700,6 +23700,11 @@
"type": "integer",
"format": "int32",
"x-order": 30
+ },
+ "disable_comments_parsing": {
+ "description": "Disable parsing comments from queries and showing them in QAN.",
+ "type": "boolean",
+ "x-order": 31
}
}
}
diff --git a/api/swagger/swagger.json b/api/swagger/swagger.json
index 6567cd08a9..62e03eedba 100644
--- a/api/swagger/swagger.json
+++ b/api/swagger/swagger.json
@@ -20028,6 +20028,11 @@
"type": "integer",
"format": "int32",
"x-order": 30
+ },
+ "disable_comments_parsing": {
+ "description": "Disable parsing comments from queries and showing them in QAN.",
+ "type": "boolean",
+ "x-order": 31
}
}
}
diff --git a/api/uieventspb/server.pb.gw.go b/api/uieventspb/server.pb.gw.go
index 44705a12f0..f11e823e3e 100644
--- a/api/uieventspb/server.pb.gw.go
+++ b/api/uieventspb/server.pb.gw.go
@@ -37,11 +37,7 @@ func request_UIEvents_Store_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq StoreRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -53,11 +49,7 @@ func local_request_UIEvents_Store_0(ctx context.Context, marshaler runtime.Marsh
var protoReq StoreRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/api/userpb/user.pb.gw.go b/api/userpb/user.pb.gw.go
index 1355ff4a7f..0260c29b7e 100644
--- a/api/userpb/user.pb.gw.go
+++ b/api/userpb/user.pb.gw.go
@@ -53,11 +53,7 @@ func request_User_UpdateUser_0(ctx context.Context, marshaler runtime.Marshaler,
var protoReq UserUpdateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
@@ -69,11 +65,7 @@ func local_request_User_UpdateUser_0(ctx context.Context, marshaler runtime.Mars
var protoReq UserUpdateRequest
var metadata runtime.ServerMetadata
- newReader, berr := utilities.IOReaderFactory(req.Body)
- if berr != nil {
- return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
- }
- if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
diff --git a/build/ansible/roles/nginx/files/ssl/generate-ssl-certificate b/build/ansible/roles/nginx/files/ssl/generate-ssl-certificate
index 1e92bc920b..bd17858ec9 100644
--- a/build/ansible/roles/nginx/files/ssl/generate-ssl-certificate
+++ b/build/ansible/roles/nginx/files/ssl/generate-ssl-certificate
@@ -4,6 +4,40 @@ set -o errexit
mkdir -p /srv/nginx
+# Check if /srv/nginx is writable
+# if not, check if the user provided the certificate files and use them.
+if [ ! -w "/srv/nginx" ]; then
+ echo "Directory /srv/nginx is not writable";
+ error=false
+ if [ ! -e /srv/nginx/certificate.key ]; then
+ echo "The file /srv/nginx/certificate.key does not exist." >&2
+ error=true
+ fi
+
+ if [ ! -e /srv/nginx/certificate.crt ]; then
+ echo "The file /srv/nginx/certificate.crt does not exist." >&2
+ error=true
+ fi
+
+ if [ ! -e /srv/nginx/ca-certs.pem ]; then
+ echo "The file /srv/nginx/ca-certs.pem does not exist." >&2
+ error=true
+ fi
+
+ if [ ! -e /srv/nginx/dhparam.pem ]; then
+ echo "The file /srv/nginx/dhparam.pem does not exist." >&2
+ error=true
+ fi
+
+ if [ "$error" = true ]; then
+ echo "Exiting due to missing file(s)." >&2
+ exit 1;
+ fi
+
+ echo "Using user provided certificate.";
+ exit 0;
+fi
+
if [ ! -e /srv/nginx/dhparam.pem ]; then
cp /etc/nginx/ssl/dhparam.pem /srv/nginx/dhparam.pem
fi
@@ -17,8 +51,8 @@ if [ ! -e /srv/nginx/certificate.conf ]; then
cp /etc/nginx/ssl/certificate.conf /srv/nginx/certificate.conf
fi
-if [ ! -e /srv/nginx/certificate.key -o ! -e /srv/nginx/certificate.crt ]; then
- if [ ! -e /etc/nginx/ssl/certificate.key -o ! -e /etc/nginx/ssl/certificate.crt ]; then
+if [ ! -e /srv/nginx/certificate.key ] || [ ! -e /srv/nginx/certificate.crt ]; then
+ if [ ! -e /etc/nginx/ssl/certificate.key ] || [ ! -e /etc/nginx/ssl/certificate.crt ]; then
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/nginx/ssl/certificate.key \
-out /etc/nginx/ssl/certificate.crt \
diff --git a/build/packages/deb/files b/build/packages/deb/files
index f317731e45..3729488bbb 100644
--- a/build/packages/deb/files
+++ b/build/packages/deb/files
@@ -52,3 +52,4 @@ install -m 0660 example-queries-postgres.yml $RPM_BUILD_ROOT/usr/local/percona/p
install -m 0660 example-queries-postgres.yml $RPM_BUILD_ROOT/usr/local/percona/pmm/collectors/custom-queries/postgresql/medium-resolution/
install -m 0660 example-queries-postgres.yml $RPM_BUILD_ROOT/usr/local/percona/pmm/collectors/custom-queries/postgresql/high-resolution/
install -m 0660 queries-postgres-uptime.yml $RPM_BUILD_ROOT/usr/local/percona/pmm/collectors/custom-queries/postgresql/high-resolution/
+install -m 0660 queries.yaml $RPM_BUILD_ROOT/usr/local/percona/pmm2/collectors/custom-queries/postgresql/low-resolution/
diff --git a/build/packages/deb/install b/build/packages/deb/install
index 56231bcd7f..077a48b89d 100644
--- a/build/packages/deb/install
+++ b/build/packages/deb/install
@@ -23,3 +23,4 @@ example-queries-postgres.yml /usr/local/percona/pmm/collectors/custom-queries/po
example-queries-postgres.yml /usr/local/percona/pmm/collectors/custom-queries/postgresql/medium-resolution/
example-queries-postgres.yml /usr/local/percona/pmm/collectors/custom-queries/postgresql/high-resolution/
queries-postgres-uptime.yml /usr/local/percona/pmm/collectors/custom-queries/postgresql/high-resolution/
+queries.yaml /usr/local/percona/pmm2/collectors/custom-queries/postgresql/low-resolution/
diff --git a/build/packages/deb/rules b/build/packages/deb/rules
index 9d0f552f37..67ed642f6b 100644
--- a/build/packages/deb/rules
+++ b/build/packages/deb/rules
@@ -62,6 +62,7 @@ override_dh_auto_install:
cp -f distro/queries-mysqld-group-replication.yml $(TMP)/queries-mysqld-group-replication.yml
cp -f distro/example-queries-postgres.yml $(TMP)/example-queries-postgres.yml
cp -f distro/queries-postgres-uptime.yml $(TMP)/queries-postgres-uptime.yml
+ cp -f distro/queries.yaml $(TMP)/queries.yaml
cp -f distro/pt-summary $(TMP)/pt-summary
cp -f distro/pt-mysql-summary $(TMP)/pt-mysql-summary
cp -f distro/pt-mongodb-summary $(TMP)/pt-mongodb-summary
diff --git a/build/scripts/build-client-packages b/build/scripts/build-client-packages
index 352d246d6a..4f7ebfdec2 100755
--- a/build/scripts/build-client-packages
+++ b/build/scripts/build-client-packages
@@ -360,6 +360,7 @@ build_source_deb(){
mv queries-mysqld-group-replication.yml ../${NAME}-${VERSION}_all/distro/
mv example-queries-postgres.yml ../${NAME}-${VERSION}_all/distro/
mv queries-postgres-uptime.yml ../${NAME}-${VERSION}_all/distro/
+ mv queries.yaml ../${NAME}-${VERSION}_all/distro/
mv debian ../${NAME}-${VERSION}_all/
mv config/pmm-agent.service ../${NAME}-${VERSION}_all/debian/pmm-client.pmm-agent.service
cd ../
diff --git a/cli-tests/package-lock.json b/cli-tests/package-lock.json
index 467393717a..521d15dde8 100644
--- a/cli-tests/package-lock.json
+++ b/cli-tests/package-lock.json
@@ -9,9 +9,9 @@
"version": "1.0.0",
"dependencies": {
"@playwright/test": "^1.34.2",
- "@types/luxon": "^3.3.0",
- "dotenv": "^16.3.1",
- "luxon": "^3.3.0",
+ "@types/luxon": "^3.4.0",
+ "dotenv": "^16.4.0",
+ "luxon": "^3.4.4",
"playwright": "^1.33.0",
"promise-retry": "^2.0.1",
"shelljs": "^0.8.5",
@@ -20,13 +20,13 @@
"devDependencies": {
"@types/promise-retry": "^1.1.3",
"@types/shelljs": "^0.8.12",
- "@typescript-eslint/eslint-plugin": "^6.15.0",
- "@typescript-eslint/parser": "^6.14.0",
+ "@typescript-eslint/eslint-plugin": "^7.0.1",
+ "@typescript-eslint/parser": "^7.0.1",
"eslint": "8.56",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-plugin-import": "^2.29.0",
- "eslint-plugin-playwright": "^0.20.0"
+ "eslint-plugin-playwright": "^1.1.0"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -214,9 +214,9 @@
"dev": true
},
"node_modules/@types/luxon": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.0.tgz",
- "integrity": "sha512-uKRI5QORDnrGFYgcdAVnHvEIvEZ8noTpP/Bg+HeUzZghwinDlIS87DEenV5r1YoOF9G4x600YsUXLWZ19rmTmg=="
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.0.tgz",
+ "integrity": "sha512-PEVoA4MOfSsFNaPrZjIUGUZujBDxnO/tj2A2N9KfzlR+pNgpBdDuk0TmRvSMAVUP5q4q8IkMEZ8UOp3MIr+QgA=="
},
"node_modules/@types/minimatch": {
"version": "5.1.2",
@@ -245,9 +245,9 @@
"dev": true
},
"node_modules/@types/semver": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
- "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz",
+ "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==",
"dev": true
},
"node_modules/@types/shelljs": {
@@ -261,16 +261,16 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz",
- "integrity": "sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.1.tgz",
+ "integrity": "sha512-OLvgeBv3vXlnnJGIAgCLYKjgMEU+wBGj07MQ/nxAaON+3mLzX7mJbhRYrVGiVvFiXtwFlkcBa/TtmglHy0UbzQ==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.15.0",
- "@typescript-eslint/type-utils": "6.15.0",
- "@typescript-eslint/utils": "6.15.0",
- "@typescript-eslint/visitor-keys": "6.15.0",
+ "@typescript-eslint/scope-manager": "7.0.1",
+ "@typescript-eslint/type-utils": "7.0.1",
+ "@typescript-eslint/utils": "7.0.1",
+ "@typescript-eslint/visitor-keys": "7.0.1",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
@@ -286,8 +286,8 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -296,15 +296,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.14.0.tgz",
- "integrity": "sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.1.tgz",
+ "integrity": "sha512-8GcRRZNzaHxKzBPU3tKtFNing571/GwPBeCvmAUw0yBtfE2XVd0zFKJIMSWkHJcPQi0ekxjIts6L/rrZq5cxGQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "6.14.0",
- "@typescript-eslint/types": "6.14.0",
- "@typescript-eslint/typescript-estree": "6.14.0",
- "@typescript-eslint/visitor-keys": "6.14.0",
+ "@typescript-eslint/scope-manager": "7.0.1",
+ "@typescript-eslint/types": "7.0.1",
+ "@typescript-eslint/typescript-estree": "7.0.1",
+ "@typescript-eslint/visitor-keys": "7.0.1",
"debug": "^4.3.4"
},
"engines": {
@@ -315,7 +315,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -323,14 +323,14 @@
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz",
- "integrity": "sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==",
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.1.tgz",
+ "integrity": "sha512-v7/T7As10g3bcWOOPAcbnMDuvctHzCFYCG/8R4bK4iYzdFqsZTbXGln0cZNVcwQcwewsYU2BJLay8j0/4zOk4w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.14.0",
- "@typescript-eslint/visitor-keys": "6.14.0"
+ "@typescript-eslint/types": "7.0.1",
+ "@typescript-eslint/visitor-keys": "7.0.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -340,31 +340,15 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.14.0.tgz",
- "integrity": "sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==",
- "dev": true,
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz",
- "integrity": "sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==",
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.0.1.tgz",
+ "integrity": "sha512-YtT9UcstTG5Yqy4xtLiClm1ZpM/pWVGFnkAa90UfdkkZsR1eP2mR/1jbHeYp8Ay1l1JHPyGvoUYR6o3On5Nhmw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.14.0",
- "@typescript-eslint/visitor-keys": "6.14.0",
+ "@typescript-eslint/typescript-estree": "7.0.1",
+ "@typescript-eslint/utils": "7.0.1",
"debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
"engines": {
@@ -374,38 +358,20 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz",
- "integrity": "sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "6.14.0",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz",
- "integrity": "sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==",
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.1.tgz",
+ "integrity": "sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg==",
"dev": true,
- "dependencies": {
- "@typescript-eslint/types": "6.15.0",
- "@typescript-eslint/visitor-keys": "6.15.0"
- },
"engines": {
"node": "^16.0.0 || >=18.0.0"
},
@@ -414,15 +380,19 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/type-utils": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz",
- "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==",
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.1.tgz",
+ "integrity": "sha512-SO9wHb6ph0/FN5OJxH4MiPscGah5wjOd0RRpaLvuBv9g8565Fgu0uMySFEPqwPHiQU90yzJ2FjRYKGrAhS1xig==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.15.0",
- "@typescript-eslint/utils": "6.15.0",
+ "@typescript-eslint/types": "7.0.1",
+ "@typescript-eslint/visitor-keys": "7.0.1",
"debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "9.0.3",
+ "semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
"engines": {
@@ -432,67 +402,48 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/types": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz",
- "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "dependencies": {
+ "balanced-match": "^1.0.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz",
- "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.15.0",
- "@typescript-eslint/visitor-keys": "6.15.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": ">=16 || 14 >=14.17"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz",
- "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.1.tgz",
+ "integrity": "sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.15.0",
- "@typescript-eslint/types": "6.15.0",
- "@typescript-eslint/typescript-estree": "6.15.0",
+ "@typescript-eslint/scope-manager": "7.0.1",
+ "@typescript-eslint/types": "7.0.1",
+ "@typescript-eslint/typescript-estree": "7.0.1",
"semver": "^7.5.4"
},
"engines": {
@@ -503,16 +454,16 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^8.56.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz",
- "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.1.tgz",
+ "integrity": "sha512-hwAgrOyk++RTXrP4KzCg7zB2U0xt7RUU0ZdMSCsqF3eKUwkdXUMyTb0qdCuji7VIbcpG62kKTU9M1J1c9UpFBw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.15.0",
+ "@typescript-eslint/types": "7.0.1",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
@@ -895,9 +846,9 @@
}
},
"node_modules/dotenv": {
- "version": "16.3.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
- "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
+ "version": "16.4.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.0.tgz",
+ "integrity": "sha512-WvImr5kpN5NGNn7KaDjJnLTh5rDVLZiDf/YLA8T1ZEZEBZNEDOE+mnkS0PVjPax8ZxBP5zC5SLMB3/9VV5de9g==",
"engines": {
"node": ">=12"
},
@@ -1221,13 +1172,16 @@
}
},
"node_modules/eslint-plugin-playwright": {
- "version": "0.20.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.20.0.tgz",
- "integrity": "sha512-JWTSwUyPPipSOm6AK8z78bQXtKRCykvhSGUewcmZuxstSZ5oGsykW2JaRXJQ2IIfzKJToCBeKD2ISc8Li8qVEQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.1.0.tgz",
+ "integrity": "sha512-HYh91H2I5Tf7HZ2LNnP7l9bRbharWomN1RzXMA/8KcTf1UDoc7OJxulny2O5QWxghBJk0MoElG6sil0fkPwnSA==",
"dev": true,
"dependencies": {
"globals": "^13.23.0"
},
+ "engines": {
+ "node": ">=16.6.0"
+ },
"peerDependencies": {
"eslint": ">=7",
"eslint-plugin-jest": ">=25"
@@ -2137,9 +2091,9 @@
}
},
"node_modules/luxon": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz",
- "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==",
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz",
+ "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==",
"engines": {
"node": ">=12"
}
diff --git a/cli-tests/package.json b/cli-tests/package.json
index d4a139a9d2..c4f87a4dfa 100644
--- a/cli-tests/package.json
+++ b/cli-tests/package.json
@@ -13,9 +13,9 @@
},
"dependencies": {
"@playwright/test": "^1.34.2",
- "@types/luxon": "^3.3.0",
- "dotenv": "^16.3.1",
- "luxon": "^3.3.0",
+ "@types/luxon": "^3.4.0",
+ "dotenv": "^16.4.0",
+ "luxon": "^3.4.4",
"playwright": "^1.33.0",
"promise-retry": "^2.0.1",
"shelljs": "^0.8.5",
@@ -24,12 +24,12 @@
"devDependencies": {
"@types/promise-retry": "^1.1.3",
"@types/shelljs": "^0.8.12",
- "@typescript-eslint/eslint-plugin": "^6.15.0",
- "@typescript-eslint/parser": "^6.14.0",
+ "@typescript-eslint/eslint-plugin": "^7.0.1",
+ "@typescript-eslint/parser": "^7.0.1",
"eslint": "8.56",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-plugin-import": "^2.29.0",
- "eslint-plugin-playwright": "^0.20.0"
+ "eslint-plugin-playwright": "^1.1.0"
}
}
diff --git a/go.mod b/go.mod
index 21e8791448..51ea1ae7e5 100644
--- a/go.mod
+++ b/go.mod
@@ -18,35 +18,35 @@ replace github.com/ClickHouse/clickhouse-go/151 => github.com/ClickHouse/clickho
require (
github.com/AlekSi/pointer v1.2.0
github.com/ClickHouse/clickhouse-go/151 v0.0.0-00010101000000-000000000000
- github.com/ClickHouse/clickhouse-go/v2 v2.15.0
+ github.com/ClickHouse/clickhouse-go/v2 v2.18.0
github.com/DATA-DOG/go-sqlmock v1.5.0
github.com/alecthomas/kong v0.8.0
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137
- github.com/aws/aws-sdk-go v1.49.1
+ github.com/aws/aws-sdk-go v1.50.1
github.com/blang/semver v3.5.1+incompatible
- github.com/brianvoe/gofakeit/v6 v6.26.0
- github.com/charmbracelet/bubbles v0.16.1
- github.com/charmbracelet/bubbletea v0.24.1
- github.com/charmbracelet/lipgloss v0.9.0
+ github.com/brianvoe/gofakeit/v6 v6.28.0
+ github.com/charmbracelet/bubbles v0.18.0
+ github.com/charmbracelet/bubbletea v0.25.0
+ github.com/charmbracelet/lipgloss v0.9.1
github.com/davecgh/go-spew v1.1.1
- github.com/docker/docker v24.0.6+incompatible
- github.com/docker/go-connections v0.4.0
+ github.com/docker/docker v25.0.1+incompatible
+ github.com/docker/go-connections v0.5.0
github.com/envoyproxy/protoc-gen-validate v1.0.2
- github.com/go-co-op/gocron v1.36.0
- github.com/go-openapi/errors v0.20.4
+ github.com/go-co-op/gocron v1.37.0
+ github.com/go-openapi/errors v0.21.0
github.com/go-openapi/runtime v0.26.0
- github.com/go-openapi/strfmt v0.21.7
- github.com/go-openapi/swag v0.22.3
- github.com/go-openapi/validate v0.22.1
+ github.com/go-openapi/strfmt v0.21.8
+ github.com/go-openapi/swag v0.22.5
+ github.com/go-openapi/validate v0.22.3
github.com/go-sql-driver/mysql v1.7.1
github.com/gogo/status v1.1.1
- github.com/golang-migrate/migrate/v4 v4.16.1
+ github.com/golang-migrate/migrate/v4 v4.17.0
github.com/golang/protobuf v1.5.3
- github.com/google/uuid v1.4.0
+ github.com/google/uuid v1.6.0
github.com/grafana/grafana-api-golang-client v0.27.0
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
- github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0
+ github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0
github.com/hashicorp/go-version v1.6.0
github.com/hashicorp/raft v1.6.0
github.com/jmoiron/sqlx v1.3.5
@@ -62,24 +62,24 @@ require (
github.com/pkg/errors v0.9.1
github.com/pkg/sftp v1.13.6
github.com/pmezard/go-difflib v1.0.0
- github.com/prometheus/client_golang v1.17.0
- github.com/prometheus/common v0.45.0
+ github.com/prometheus/client_golang v1.18.0
+ github.com/prometheus/common v0.47.0
github.com/ramr/go-reaper v0.2.1
github.com/robfig/cron/v3 v3.0.1
github.com/sirupsen/logrus v1.9.3
github.com/stretchr/objx v0.5.0
github.com/stretchr/testify v1.8.4
- go.mongodb.org/mongo-driver v1.13.1
+ go.mongodb.org/mongo-driver v1.14.0
go.starlark.net v0.0.0-20230717150657-8a3343210976
- golang.org/x/crypto v0.16.0
- golang.org/x/sync v0.5.0
- golang.org/x/sys v0.15.0
+ golang.org/x/crypto v0.19.0
+ golang.org/x/sync v0.6.0
+ golang.org/x/sys v0.17.0
golang.org/x/text v0.14.0
- golang.org/x/tools v0.16.0
- google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d
- google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d
- google.golang.org/grpc v1.59.0
- google.golang.org/protobuf v1.31.0
+ golang.org/x/tools v0.18.0
+ google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917
+ google.golang.org/grpc v1.61.0
+ google.golang.org/protobuf v1.32.0
gopkg.in/alecthomas/kingpin.v2 v2.2.6
gopkg.in/reform.v1 v1.5.1
gopkg.in/yaml.v3 v3.0.1
@@ -88,58 +88,60 @@ require (
require (
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
+ github.com/distribution/reference v0.5.0 // indirect
github.com/fatih/color v1.13.0 // indirect
- github.com/go-logr/logr v1.2.4 // indirect
+ github.com/felixge/httpsnoop v1.0.3 // indirect
+ github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a // indirect
- github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
+ github.com/golang-jwt/jwt/v5 v5.2.0 // indirect
github.com/google/btree v1.0.0 // indirect
github.com/hashicorp/go-hclog v1.5.0 // indirect
github.com/hashicorp/go-msgpack/v2 v2.1.1 // indirect
github.com/hashicorp/go-uuid v1.0.2 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
- github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
github.com/miekg/dns v1.1.26 // indirect
github.com/mwitkow/go-proto-validators v0.3.2 // indirect
github.com/posener/complete v1.2.3 // indirect
github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab // indirect
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect
- go.opentelemetry.io/otel/metric v1.19.0 // indirect
+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 // indirect
+ go.opentelemetry.io/otel/metric v1.22.0 // indirect
+ go.opentelemetry.io/otel/sdk v1.22.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
- golang.org/x/time v0.3.0 // indirect
- google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+ google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
)
require (
- github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 // indirect
- github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0
- github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1
+ github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0
- github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 // indirect
+ github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1 // indirect
github.com/ClickHouse/ch-go v0.58.2 // indirect
github.com/ClickHouse/clickhouse-go v1.5.4 // indirect
github.com/HdrHistogram/hdrhistogram-go v1.1.2
github.com/Microsoft/go-winio v0.6.1 // indirect
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
- github.com/andybalholm/brotli v1.0.6 // indirect
+ github.com/andybalholm/brotli v1.1.0 // indirect
github.com/armon/go-metrics v0.4.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/charmbracelet/harmonica v0.2.0 // indirect
github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 // indirect
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
- github.com/docker/distribution v2.8.2+incompatible // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/go-faster/city v1.0.1 // indirect
github.com/go-faster/errors v0.6.1 // indirect
github.com/go-openapi/analysis v0.21.4 // indirect
- github.com/go-openapi/jsonpointer v0.19.6 // indirect
- github.com/go-openapi/jsonreference v0.20.2 // indirect
+ github.com/go-openapi/jsonpointer v0.20.1 // indirect
+ github.com/go-openapi/jsonreference v0.20.3 // indirect
github.com/go-openapi/loads v0.21.2 // indirect
- github.com/go-openapi/spec v0.20.8 // indirect
+ github.com/go-openapi/spec v0.20.12 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
@@ -173,14 +175,14 @@ require (
github.com/muesli/termenv v0.15.2 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
- github.com/opencontainers/image-spec v1.1.0-rc4 // indirect
+ github.com/opencontainers/image-spec v1.1.0-rc5 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
- github.com/paulmach/orb v0.10.0 // indirect
+ github.com/paulmach/orb v0.11.1 // indirect
github.com/pierrec/lz4/v4 v4.1.18 // indirect
- github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
- github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
- github.com/prometheus/procfs v0.11.1 // indirect
- github.com/rivo/uniseg v0.2.0 // indirect
+ github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
+ github.com/prometheus/client_model v0.5.0 // indirect
+ github.com/prometheus/procfs v0.12.0 // indirect
+ github.com/rivo/uniseg v0.4.6 // indirect
github.com/rs/xid v1.5.0 // indirect
github.com/segmentio/asm v1.2.0 // indirect
github.com/shopspring/decimal v1.3.1 // indirect
@@ -188,11 +190,11 @@ require (
github.com/xdg-go/scram v1.1.2 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect
- go.opentelemetry.io/otel v1.19.0 // indirect
- go.opentelemetry.io/otel/trace v1.19.0 // indirect
- golang.org/x/mod v0.14.0 // indirect
- golang.org/x/net v0.19.0 // indirect
- golang.org/x/term v0.15.0 // indirect
+ go.opentelemetry.io/otel v1.22.0 // indirect
+ go.opentelemetry.io/otel/trace v1.22.0 // indirect
+ golang.org/x/mod v0.15.0 // indirect
+ golang.org/x/net v0.21.0 // indirect
+ golang.org/x/term v0.17.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gotest.tools/v3 v3.3.0 // indirect
)
diff --git a/go.sum b/go.sum
index 7226bb2904..f796d7c5e7 100644
--- a/go.sum
+++ b/go.sum
@@ -34,18 +34,18 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
github.com/AlekSi/pointer v1.1.0/go.mod h1:y7BvfRI3wXPWKXEBhU71nbnIEEZX0QTSB2Bj48UJIZE=
github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w=
github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs=
-github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs=
-github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 h1:lGlwhPtrX6EVml1hO0ivjkUxsSyl4dsiw9qcA1k/3IQ=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1/go.mod h1:RKUqNu35KJYcVG/fqTRqmuXJZYNhYkBrnC/hX7yGbTA=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 h1:sO0/P7g68FrryJzljemN+6GTssUXdANk6aJ7T1ZxnsQ=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1/go.mod h1:h8hyGFDsU5HMivxiS2iYFZsgDbU9OnnJ163x5UGVKYo=
+github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 h1:6oNBlSdi1QqM1PNW7FPA6xOGA5UNsXnkaYZz9vdPGhA=
+github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 h1:zLzoX5+W2l95UJoVwiyNS4dX8vHyQ6x2xRLoBBL9wMk=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0/go.mod h1:wVEOJfGTj0oPAUGA1JuRAvz/lxXQsWW16axmHPP47Bk=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
-github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk=
-github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1 h1:DzHpqpoJVaCgOUdVHxE8QB52S6NiVdDQvGlny1qvPqA=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/ClickHouse/ch-go v0.58.2 h1:jSm2szHbT9MCAB1rJ3WuCJqmGLi5UTjlNu+f530UTS0=
@@ -54,8 +54,8 @@ github.com/ClickHouse/clickhouse-go v1.5.1 h1:I8zVFZTz80crCs0FFEBJooIxsPcV0xfthz
github.com/ClickHouse/clickhouse-go v1.5.1/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0=
github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
-github.com/ClickHouse/clickhouse-go/v2 v2.15.0 h1:G0hTKyO8fXXR1bGnZ0DY3vTG01xYfOGW76zgjg5tmC4=
-github.com/ClickHouse/clickhouse-go/v2 v2.15.0/go.mod h1:kXt1SRq0PIRa6aKZD7TnFnY9PQKmc2b13sHtOYcK6cQ=
+github.com/ClickHouse/clickhouse-go/v2 v2.18.0 h1:O1LicIeg2JS2V29fKRH4+yT3f6jvvcJBm506dpVQ4mQ=
+github.com/ClickHouse/clickhouse-go/v2 v2.18.0/go.mod h1:ztQvX6wm7kAbhJslS87EXEhOVNY/TObXwyURnGju5FQ=
github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
@@ -85,8 +85,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
-github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI=
-github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
+github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M=
+github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA=
@@ -95,8 +95,8 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
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 v1.49.1 h1:Dsamcd8d/nNb3A+bZ0ucfGl0vGZsW5wlRW0vhoYGoeQ=
-github.com/aws/aws-sdk-go v1.49.1/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
+github.com/aws/aws-sdk-go v1.50.1 h1:AwnLUM7TcH9vMZqA4TcDKmGfLmDW5VXwT5tPH6kXylo=
+github.com/aws/aws-sdk-go v1.50.1/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
@@ -111,20 +111,22 @@ github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdn
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/brianvoe/gofakeit v3.18.0+incompatible h1:wDOmHc9DLG4nRjUVVaxA+CEglKOW72Y5+4WNxUIkjM8=
github.com/brianvoe/gofakeit v3.18.0+incompatible/go.mod h1:kfwdRA90vvNhPutZWfH7WPaDzUjz+CZFqG+rPkOjGOc=
-github.com/brianvoe/gofakeit/v6 v6.26.0 h1:DzJHo4K6RrAbglU6cReh+XqoaunuUMZ8OAQGXrYsXt8=
-github.com/brianvoe/gofakeit/v6 v6.26.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs=
+github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4=
+github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs=
+github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
+github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY=
-github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc=
-github.com/charmbracelet/bubbletea v0.24.1 h1:LpdYfnu+Qc6XtvMz6d/6rRY71yttHTP5HtrjMgWvixc=
-github.com/charmbracelet/bubbletea v0.24.1/go.mod h1:rK3g/2+T8vOSEkNHvtq40umJpeVYDn6bLaqbgzhL/hg=
+github.com/charmbracelet/bubbles v0.18.0 h1:PYv1A036luoBGroX6VWjQIE9Syf2Wby2oOl/39KLfy0=
+github.com/charmbracelet/bubbles v0.18.0/go.mod h1:08qhZhtIwzgrtBjAcJnij1t1H0ZRjwHyGsy6AL11PSw=
+github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM=
+github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg=
github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ=
github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao=
-github.com/charmbracelet/lipgloss v0.9.0 h1:BHIM7U4vX77xGEld8GrTKspBMtSv7j0wxPCH73nrdxE=
-github.com/charmbracelet/lipgloss v0.9.0/go.mod h1:h8KDyaivONasw1Bhb4nWiKlk4P1wHPly+3+3v6EFMmA=
+github.com/charmbracelet/lipgloss v0.9.1 h1:PNyd3jvaJbg4jRHKWXnCj1akQm4rh8dbEzN1p/u1KWg=
+github.com/charmbracelet/lipgloss v0.9.1/go.mod h1:1mPmG4cxScwUQALAAnacHaigiiHB9Pmr+v1VEawJl6I=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@@ -137,22 +139,24 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY=
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
+github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
+github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk=
github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
-github.com/dhui/dktest v0.3.16 h1:i6gq2YQEtcrjKbeJpBkWjE8MmLZPYllcjOFbTZuPDnw=
-github.com/dhui/dktest v0.3.16/go.mod h1:gYaA3LRmM8Z4vJl2MA0THIigJoZrwOansEOsp+kqxp0=
+github.com/dhui/dktest v0.4.0 h1:z05UmuXZHO/bgj/ds2bGMBu8FI4WA+Ag/m3ghL+om7M=
+github.com/dhui/dktest v0.4.0/go.mod h1:v/Dbz1LgCBOi2Uki2nUqLBGa83hWBGFMu5MrgMDCc78=
+github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
+github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
-github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
-github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/docker v24.0.6+incompatible h1:hceabKCtUgDqPu+qm0NgsaXf28Ljf4/pWFL7xjWWDgE=
-github.com/docker/docker v24.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
-github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/docker v25.0.1+incompatible h1:k5TYd5rIVQRSqcTwCID+cyVA0yRg86+Pcrz1ls0/frA=
+github.com/docker/docker v25.0.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
+github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
@@ -166,9 +170,11 @@ github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
+github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
+github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
-github.com/go-co-op/gocron v1.36.0 h1:sEmAwg57l4JWQgzaVWYfKZ+w13uHOqeOtwjo72Ll5Wc=
-github.com/go-co-op/gocron v1.36.0/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
+github.com/go-co-op/gocron v1.37.0 h1:ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0=
+github.com/go-co-op/gocron v1.37.0/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
github.com/go-faster/city v1.0.1 h1:4WAxSZ3V2Ws4QRDrscLEDcibJY8uf41H6AhXDrNDcGw=
github.com/go-faster/city v1.0.1/go.mod h1:jKcUJId49qdW3L1qKHH/3wPeUstCVpVSXTM6vO3VcTw=
github.com/go-faster/errors v0.6.1 h1:nNIPOBkprlKzkThvS/0YaX8Zs9KewLCOSFQS5BU06FI=
@@ -183,42 +189,36 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
-github.com/go-logr/logr v1.2.4/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/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.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc=
github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo=
-github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.20.4 h1:unTcVm6PispJsMECE3zWgvG4xTiKda1LIR5rCRWLG6M=
-github.com/go-openapi/errors v0.20.4/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk=
+github.com/go-openapi/errors v0.21.0 h1:FhChC/duCnfoLj1gZ0BgaBmzhJC2SL/sJr8a2vAobSY=
+github.com/go-openapi/errors v0.21.0/go.mod h1:jxNTMUxRCKj65yb/okJGEtahVd7uvWnuWfj53bse4ho=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
-github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
+github.com/go-openapi/jsonpointer v0.20.1 h1:MkK4VEIEZMj4wT9PmjaUmGflVBr9nvud4Q4UVFbDoBE=
+github.com/go-openapi/jsonpointer v0.20.1/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs=
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
-github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
-github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
-github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
+github.com/go-openapi/jsonreference v0.20.3 h1:EjGcjTW8pD1mRis6+w/gmoBdqv5+RbE9B85D1NgDOVQ=
+github.com/go-openapi/jsonreference v0.20.3/go.mod h1:FviDZ46i9ivh810gqzFLl5NttD5q3tSlMLqLr6okedM=
github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro=
github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw=
github.com/go-openapi/runtime v0.26.0 h1:HYOFtG00FM1UvqrcxbEJg/SwvDRvYLQKGhw2zaQjTcc=
github.com/go-openapi/runtime v0.26.0/go.mod h1:QgRGeZwrUcSHdeh4Ka9Glvo0ug1LC5WyE+EV88plZrQ=
-github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
-github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg=
-github.com/go-openapi/strfmt v0.21.7 h1:rspiXgNWgeUzhjo1YU01do6qsahtJNByjLVbPLNHb8k=
-github.com/go-openapi/strfmt v0.21.7/go.mod h1:adeGTkxE44sPyLk0JV235VQAO/ZXUr8KAzYjclFs3ew=
+github.com/go-openapi/strfmt v0.21.8 h1:VYBUoKYRLAlgKDrIxR/I0lKrztDQ0tuTDrbhLVP8Erg=
+github.com/go-openapi/strfmt v0.21.8/go.mod h1:adeGTkxE44sPyLk0JV235VQAO/ZXUr8KAzYjclFs3ew=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
-github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
-github.com/go-openapi/validate v0.22.1 h1:G+c2ub6q47kfX1sOBLwIQwzBVt8qmOAARyo/9Fqs9NU=
-github.com/go-openapi/validate v0.22.1/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
+github.com/go-openapi/swag v0.22.5 h1:fVS63IE3M0lsuWRzuom3RLwUMVI2peDH01s6M70ugys=
+github.com/go-openapi/swag v0.22.5/go.mod h1:Gl91UqO+btAM0plGGxHqJcQZ1ZTy6jbmridBTsDy8A0=
+github.com/go-openapi/validate v0.22.3 h1:KxG9mu5HBRYbecRb37KRCihvGGtND2aXziBAv0NNfyI=
+github.com/go-openapi/validate v0.22.3/go.mod h1:kVxh31KbfsxU8ZyoHaDbLBWU5CnMdqBUEtadQ2G4d5M=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
@@ -227,30 +227,6 @@ github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobs/pretty v0.0.0-20180724170744-09732c25a95b h1:/vQ+oYKu+JoyaMPDsv5FzwuL2wwWBgBbtj/YLCi4LuA=
github.com/gobs/pretty v0.0.0-20180724170744-09732c25a95b/go.mod h1:Xo4aNUOrJnVruqWQJBtW6+bTBDTniY8yZum5rF3b5jw=
-github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
-github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
-github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
-github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
-github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
-github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
-github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
-github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
-github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
-github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
-github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
-github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
-github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
-github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
-github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
-github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
-github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
-github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
-github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
-github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
-github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
-github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
-github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
-github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a h1:dR8+Q0uO5S2ZBcs2IH6VBKYwSxPo2vYCYq0ot0mu7xA=
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
@@ -258,18 +234,16 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a
github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
-github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/gogo/status v1.1.1 h1:DuHXlSFHNKqTQ+/ACf5Vs6r4X/dH2EgIzR9Vr+H65kg=
github.com/gogo/status v1.1.1/go.mod h1:jpG3dM5QPcqu19Hg8lkUhBFBa3TcLs1DG7+2Jqci7oU=
-github.com/golang-migrate/migrate/v4 v4.16.1 h1:O+0C55RbMN66pWm5MjO6mw0px6usGpY0+bkSGW9zCo0=
-github.com/golang-migrate/migrate/v4 v4.16.1/go.mod h1:qXiwa/3Zeqaltm1MxOCZDYysW/F6folYiBgBG03l9hc=
+github.com/golang-jwt/jwt/v5 v5.2.0 h1:d/ix8ftRUorsN+5eMIlF4T6J8CAt9rch3My2winC1Jw=
+github.com/golang-jwt/jwt/v5 v5.2.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
+github.com/golang-migrate/migrate/v4 v4.17.0 h1:rd40H3QXU0AA4IoLllFcEAEo9dYKRHYND2gB4p7xcaU=
+github.com/golang-migrate/migrate/v4 v4.17.0/go.mod h1:+Cp2mtLP4/aXDTKb9wmXYitdrNx2HGs45rbWAo6OsKM=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
-github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -314,8 +288,8 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+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/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -328,16 +302,17 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/grafana/grafana-api-golang-client v0.27.0 h1:zIwMXcbCB4n588i3O2N6HfNcQogCNTd/vPkEXTr7zX8=
github.com/grafana/grafana-api-golang-client v0.27.0/go.mod h1:uNLZEmgKtTjHBtCQMwNn3qsx2mpMb8zU+7T4Xv3NR9Y=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 h1:RtRsiaGvWxcwd8y3BiRZxsylPT8hLWZ5SPcfI+3IDNk=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0/go.mod h1:TzP6duP4Py2pHLVPPQp42aoYI92+PCrVotyR5e8Vqlk=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -377,7 +352,6 @@ github.com/hashicorp/raft v1.6.0/go.mod h1:Xil5pDgeGwRWuX4uPUmwa+7Vagg4N804dz6mh
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
-github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
github.com/jackc/pgx v3.6.2+incompatible h1:2zP5OD7kiyR3xzRYMhOcXVvkDZsImVXfj+yIyTQf3/o=
github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
@@ -388,7 +362,6 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
-github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jotaen/kong-completion v0.0.5 h1:IGs/bw0BUMXDSAGooncsUwgg9EXcRNHeindSXApkM00=
@@ -406,8 +379,6 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
-github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
-github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
@@ -418,7 +389,6 @@ github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02
github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
@@ -446,8 +416,6 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
-github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
-github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
@@ -468,8 +436,6 @@ github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
-github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k=
github.com/miekg/dns v1.1.26 h1:gPxPSwALAeHJSjarOs00QjVdV9QoBvc1D2ujQUr5BzU=
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
@@ -516,18 +482,17 @@ github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
-github.com/opencontainers/image-spec v1.1.0-rc4 h1:oOxKUJWnFC4YGHCCMNql1x4YaDfYBTS5Y4x/Cgeo1E0=
-github.com/opencontainers/image-spec v1.1.0-rc4/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
+github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI=
+github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/paulmach/orb v0.10.0 h1:guVYVqzxHE/CQ1KpfGO077TR0ATHSNjp4s6XGLn3W9s=
-github.com/paulmach/orb v0.10.0/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU=
+github.com/paulmach/orb v0.11.1 h1:3koVegMC4X/WeiXYz9iswopaTwMem53NzTJuTF20JzU=
+github.com/paulmach/orb v0.11.1/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU=
github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY=
-github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/percona-lab/crypto v0.0.0-20231108144114-756dfb24eaf2 h1:FaO5loTAkRzVhyKWYRHg/ii9oWXNsqv89H/kGl9Cb5I=
github.com/percona-lab/crypto v0.0.0-20231108144114-756dfb24eaf2/go.mod h1:aSyBXtGhRzSMdne9jbl3+PPMVS0IgOWF6Llc+HB5uUU=
github.com/percona-platform/saas v0.0.0-20230728161159-ad6bdeb8a3d9 h1:KkOH+Y4sVRP7qvRtTDmfPFNjjQcwU2054/jNl9DZhEo=
@@ -546,8 +511,8 @@ github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ=
github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
-github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
-github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
+github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
+github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -565,44 +530,43 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
-github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
-github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
+github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk=
+github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM=
-github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
+github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
+github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
github.com/prometheus/common v0.31.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
-github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM=
-github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
+github.com/prometheus/common v0.47.0 h1:p5Cz0FNHo7SnWOmWmoRozVcjEp0bIVU8cV7OShpjL1k=
+github.com/prometheus/common v0.47.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI=
-github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY=
+github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
+github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/ramr/go-reaper v0.2.1 h1:zww+wlQOvTjBZuk1920R/e0GFEb6O7+B0WQLV6dM924=
github.com/ramr/go-reaper v0.2.1/go.mod h1:AVypdzrcCXjSc/JYnlXl8TsB+z84WyFzxWE8Jh0MOJc=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rivo/uniseg v0.4.6 h1:Sovz9sDSwbOz9tgUy8JpT+KgCkPYJEN/oYzlJiYTNLg=
+github.com/rivo/uniseg v0.4.6/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab h1:ZjX6I48eZSFetPb41dHudEyVr5v953N15TsNZXlkcWY=
github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab/go.mod h1:/PfPXh0EntGc3QAAyUaviy4S9tzy4Zp0e2ilq4voC6E=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
-github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
-github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
-github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
+github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
+github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
@@ -614,13 +578,10 @@ github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFR
github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
-github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -635,7 +596,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
@@ -643,11 +603,9 @@ github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
-github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g=
github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
-github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8=
github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8=
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
@@ -659,25 +617,31 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
-go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAVEYRhCXrA8=
go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g=
-go.mongodb.org/mongo-driver v1.13.1 h1:YIc7HTYsKndGK4RFzJ3covLz1byri52x0IoMB0Pt/vk=
-go.mongodb.org/mongo-driver v1.13.1/go.mod h1:wcDf1JBCXy2mOW0bWHwO/IOYqdca1MPCwDtFu/Z9+eo=
+go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
+go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
-go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
-go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
-go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
-go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
-go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
-go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
-go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0/go.mod h1:62CPTSry9QZtOaSsE3tOzhx6LzDhHnXJ6xHeMNNiM6Q=
+go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y=
+go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 h1:9M3+rhx7kZCIQQhQRYaZCdNu1V73tm4TvXs2ntl98C4=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0/go.mod h1:noq80iT8rrHP1SfybmPiRGc9dc5M8RPmGvtwo7Oo7tc=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY=
+go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg=
+go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY=
+go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw=
+go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc=
+go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0=
+go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo=
+go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
+go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
go.starlark.net v0.0.0-20230717150657-8a3343210976 h1:7ljYNcZU84T2N0tZdDgvL7U3M4iFmglAUUU1gRFE/2Q=
go.starlark.net v0.0.0-20230717150657-8a3343210976/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
@@ -700,8 +664,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g=
-golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k=
+golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea h1:vLCWI/yYrdEHyN2JzIzPO3aaQJHQdp89IZBA/+azVC4=
+golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -725,8 +689,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
-golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
+golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -761,21 +725,20 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
-golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
+golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
-golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
+golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ=
+golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -785,8 +748,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
-golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
+golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -794,11 +757,9 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -830,7 +791,6 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -845,23 +805,22 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
-golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
+golang.org/x/sys v0.17.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.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
-golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
-golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
+golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
@@ -884,14 +843,10 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
@@ -930,8 +885,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
-golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
+golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -963,8 +918,8 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
-google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
+google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -996,12 +951,12 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY=
-google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
-google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
-google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
+google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 h1:YJ5pD9rF8o9Qtta0Cmy9rdBwkSjrTCT6XTiUQVOtIos=
+google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0vFTBPy+tFSGvXEd3z+BcoG1k7EHbqm+YBsY=
+google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 h1:rcS6EyEaoCO52hQDupoSfrxI3R6C2Tq741is7X8OvnM=
+google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.mod h1:CmlNWB9lSezaYELKS5Ym1r44VrrbPUa7JTvw+6MbpJ0=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 h1:6G8oQ016D88m1xAKljMlBOOGWDZkes4kMhgGFlf8WcQ=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917/go.mod h1:xtjpI3tXFPP051KaWnhvxkiubL/6dJ18vLVf7q2pTOU=
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -1015,8 +970,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
-google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
+google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0=
+google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
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=
@@ -1030,8 +985,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
-google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/managed/cmd/pmm-managed-init/main.go b/managed/cmd/pmm-managed-init/main.go
index 8aa0046e3b..2a3a076ea7 100644
--- a/managed/cmd/pmm-managed-init/main.go
+++ b/managed/cmd/pmm-managed-init/main.go
@@ -12,7 +12,7 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
+// Package main provides the entry point for the pmm-managed-init application.
package main
import (
diff --git a/managed/cmd/pmm-managed-starlark/main.go b/managed/cmd/pmm-managed-starlark/main.go
index f976d67a7f..b574e8db9c 100644
--- a/managed/cmd/pmm-managed-starlark/main.go
+++ b/managed/cmd/pmm-managed-starlark/main.go
@@ -12,7 +12,7 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
+// Package main.
package main
import (
diff --git a/managed/cmd/pmm-managed/main.go b/managed/cmd/pmm-managed/main.go
index 9c1585503e..4a19840da2 100644
--- a/managed/cmd/pmm-managed/main.go
+++ b/managed/cmd/pmm-managed/main.go
@@ -12,7 +12,7 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
+// Package main provides the entry point for the update application.
package main
import (
diff --git a/managed/models/action_helpers_test.go b/managed/models/action_helpers_test.go
index 735881a0db..3c530710d4 100644
--- a/managed/models/action_helpers_test.go
+++ b/managed/models/action_helpers_test.go
@@ -118,8 +118,12 @@ func TestCleanupResults(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.Querier, func(t *testing.T)) {
t.Helper()
+
+ var q *reform.Querier
+ var teardown func(t *testing.T)
+
db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
tx, err := db.Begin()
require.NoError(t, err)
@@ -158,7 +162,7 @@ func TestCleanupResults(t *testing.T) {
t.Helper()
require.NoError(t, tx.Rollback())
}
- return //nolint:nakedret
+ return q, teardown
}
t.Run("CheckActionResultByID", func(t *testing.T) {
diff --git a/managed/models/agent_helpers_test.go b/managed/models/agent_helpers_test.go
index 1fbbb118f6..55652f3384 100644
--- a/managed/models/agent_helpers_test.go
+++ b/managed/models/agent_helpers_test.go
@@ -45,12 +45,12 @@ func TestAgentHelpers(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.Querier, func(t *testing.T)) {
t.Helper()
db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
tx, err := db.Begin()
require.NoError(t, err)
- q = tx.Querier
+ q := tx.Querier
for _, str := range []reform.Struct{
&models.Node{
@@ -188,11 +188,11 @@ func TestAgentHelpers(t *testing.T) {
require.NoError(t, q.Insert(str))
}
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
require.NoError(t, tx.Rollback())
}
- return //nolint:nakedret
+ return q, teardown
}
t.Run("AgentsForNode", func(t *testing.T) {
diff --git a/managed/models/agent_model.go b/managed/models/agent_model.go
index 0233183e77..2068c937b8 100644
--- a/managed/models/agent_model.go
+++ b/managed/models/agent_model.go
@@ -301,6 +301,7 @@ func (s *Agent) DBConfig(service *Service) *DBConfig {
}
}
+// DSNParams represents the parameters for configuring a Data Source Name (DSN).
type DSNParams struct {
DialTimeout time.Duration
Database string
@@ -492,17 +493,15 @@ func (s *Agent) DSN(service *Service, dsnParams DSNParams, tdp *DelimiterPair) s
}
q.Set("sslmode", sslmode)
- if s.PostgreSQLOptions != nil {
- if files := s.Files(); len(files) != 0 {
- for key := range files {
- switch key {
- case caFilePlaceholder:
- q.Add("sslrootcert", tdp.Left+".TextFiles."+caFilePlaceholder+tdp.Right)
- case certificateFilePlaceholder:
- q.Add("sslcert", tdp.Left+".TextFiles."+certificateFilePlaceholder+tdp.Right)
- case certificateKeyFilePlaceholder:
- q.Add("sslkey", tdp.Left+".TextFiles."+certificateKeyFilePlaceholder+tdp.Right)
- }
+ if files := s.Files(); len(files) != 0 {
+ for key := range files {
+ switch key {
+ case caFilePlaceholder:
+ q.Add("sslrootcert", tdp.Left+".TextFiles."+caFilePlaceholder+tdp.Right)
+ case certificateFilePlaceholder:
+ q.Add("sslcert", tdp.Left+".TextFiles."+certificateFilePlaceholder+tdp.Right)
+ case certificateKeyFilePlaceholder:
+ q.Add("sslkey", tdp.Left+".TextFiles."+certificateKeyFilePlaceholder+tdp.Right)
}
}
}
@@ -609,30 +608,47 @@ func (s Agent) Files() map[string]string {
switch s.AgentType {
case MySQLdExporterType, QANMySQLPerfSchemaAgentType, QANMySQLSlowlogAgentType:
if s.MySQLOptions != nil {
- return map[string]string{
- "tlsCa": s.MySQLOptions.TLSCa,
- "tlsCert": s.MySQLOptions.TLSCert,
- "tlsKey": s.MySQLOptions.TLSKey,
+ files := make(map[string]string)
+ if s.MySQLOptions.TLSCa != "" {
+ files["tlsCa"] = s.MySQLOptions.TLSCa
+ }
+ if s.MySQLOptions.TLSCert != "" {
+ files["tlsCert"] = s.MySQLOptions.TLSCert
+ }
+ if s.MySQLOptions.TLSKey != "" {
+ files["tlsKey"] = s.MySQLOptions.TLSKey
}
+ return files
}
return nil
case ProxySQLExporterType:
return nil
case QANMongoDBProfilerAgentType, MongoDBExporterType:
if s.MongoDBOptions != nil {
- return map[string]string{
- caFilePlaceholder: s.MongoDBOptions.TLSCa,
- certificateKeyFilePlaceholder: s.MongoDBOptions.TLSCertificateKey,
+ files := make(map[string]string)
+ if s.MongoDBOptions.TLSCa != "" {
+ files[caFilePlaceholder] = s.MongoDBOptions.TLSCa
}
+ if s.MongoDBOptions.TLSCertificateKey != "" {
+ files[certificateKeyFilePlaceholder] = s.MongoDBOptions.TLSCertificateKey
+ }
+ return files
}
return nil
case PostgresExporterType, QANPostgreSQLPgStatementsAgentType, QANPostgreSQLPgStatMonitorAgentType:
if s.PostgreSQLOptions != nil {
- return map[string]string{
- caFilePlaceholder: s.PostgreSQLOptions.SSLCa,
- certificateFilePlaceholder: s.PostgreSQLOptions.SSLCert,
- certificateKeyFilePlaceholder: s.PostgreSQLOptions.SSLKey,
+ files := make(map[string]string)
+
+ if s.PostgreSQLOptions.SSLCa != "" {
+ files[caFilePlaceholder] = s.PostgreSQLOptions.SSLCa
+ }
+ if s.PostgreSQLOptions.SSLCert != "" {
+ files[certificateFilePlaceholder] = s.PostgreSQLOptions.SSLCert
+ }
+ if s.PostgreSQLOptions.SSLKey != "" {
+ files[certificateKeyFilePlaceholder] = s.PostgreSQLOptions.SSLKey
}
+ return files
}
return nil
default:
diff --git a/managed/models/agent_model_test.go b/managed/models/agent_model_test.go
index 72a5885c4d..a8a09de5ad 100644
--- a/managed/models/agent_model_test.go
+++ b/managed/models/agent_model_test.go
@@ -257,6 +257,12 @@ func TestPostgresAgentTLS(t *testing.T) {
agent.TLSSkipVerify = testCase.tlsSkipVerify
assert.Equal(t, testCase.expected, agent.DSN(service, models.DSNParams{DialTimeout: time.Second, Database: "database"}, nil))
})
+ t.Run(fmt.Sprintf("AutodiscoveryLimit set TLS:%v/TLSSkipVerify:%v", testCase.tls, testCase.tlsSkipVerify), func(t *testing.T) {
+ agent.TLS = testCase.tls
+ agent.TLSSkipVerify = testCase.tlsSkipVerify
+ agent.PostgreSQLOptions = &models.PostgreSQLOptions{AutoDiscoveryLimit: 10}
+ assert.Equal(t, testCase.expected, agent.DSN(service, models.DSNParams{DialTimeout: time.Second, Database: "database"}, nil))
+ })
}
}
@@ -378,12 +384,12 @@ func TestExporterURL(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.Querier, func(t *testing.T)) {
t.Helper()
db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
tx, err := db.Begin()
require.NoError(t, err)
- q = tx.Querier
+ q := tx.Querier
for _, str := range []reform.Struct{
&models.Node{
@@ -498,11 +504,11 @@ func TestExporterURL(t *testing.T) {
require.NoError(t, q.Insert(str), "failed to INSERT %+v", str)
}
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
require.NoError(t, tx.Rollback())
}
- return //nolint:nakedret
+ return q, teardown
}
t.Run("ExporterURL", func(t *testing.T) {
diff --git a/managed/models/agentversion.go b/managed/models/agentversion.go
index 272b19e4de..701dd113b5 100644
--- a/managed/models/agentversion.go
+++ b/managed/models/agentversion.go
@@ -23,6 +23,7 @@ import (
"gopkg.in/reform.v1"
)
+// PMMAgentMinVersionForPostgreSQLSSLSni is the minimum required version of PMM Agent.
var PMMAgentMinVersionForPostgreSQLSSLSni = version.Must(version.NewVersion("2.41.0-0"))
// AgentNotSupportedError is used when the target PMM agent doesn't support the requested functionality.
@@ -71,6 +72,7 @@ func IsAgentSupported(agentModel *Agent, functionalityPrefix string, pmmMinVersi
return nil
}
+// IsPostgreSQLSSLSniSupported checks if PostgreSQL SSL SNI is supported by the PMM Agent.
func IsPostgreSQLSSLSniSupported(q *reform.Querier, pmmAgentID string) (bool, error) {
err := PMMAgentSupported(q, pmmAgentID, "postgresql SSL sni check", PMMAgentMinVersionForPostgreSQLSSLSni)
switch {
diff --git a/managed/models/artifact_helpers.go b/managed/models/artifact_helpers.go
index ed8a95a0cd..70f03c06fd 100644
--- a/managed/models/artifact_helpers.go
+++ b/managed/models/artifact_helpers.go
@@ -148,7 +148,7 @@ func FindArtifactByName(q *reform.Querier, name string) (*Artifact, error) {
err := q.FindOneTo(artifact, "name", name)
if err != nil {
if errors.Is(err, reform.ErrNoRows) {
- return nil, errors.Wrapf(ErrNotFound, "backup artifact with name %q not found.", name)
+ return nil, errors.Wrapf(ErrNotFound, "backup artifact with name %q not found.", name) //nolint:revive
}
return nil, errors.WithStack(err)
}
diff --git a/managed/models/artifact_model.go b/managed/models/artifact_model.go
index 2ec01b4c6b..88b4f62e0e 100644
--- a/managed/models/artifact_model.go
+++ b/managed/models/artifact_model.go
@@ -142,6 +142,7 @@ type Metadata struct {
BackupToolData *BackupToolData `json:"backup_tool_data"`
}
+// MetadataList is a list of metadata associated with artifacts.
type MetadataList []Metadata
// Value implements database/sql/driver.Valuer interface. Should be defined on the value.
diff --git a/managed/models/database.go b/managed/models/database.go
index d18b05bc83..0228cbcc40 100644
--- a/managed/models/database.go
+++ b/managed/models/database.go
@@ -12,7 +12,11 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
+// Package models provides the data models for the managed package.
+//
+// Package models provides functionality for handling database models and related tasks.
+//
//nolint:lll
package models
@@ -1259,7 +1263,7 @@ func setupFixture1(q *reform.Querier, params SetupDBParams) error {
return nil
}
-func setupFixture2(q *reform.Querier, username, password string) error {
+func setupFixture2(q *reform.Querier, username, password string) error { //nolint:revive
// TODO add clickhouse_exporter
return nil
diff --git a/managed/models/dsn_helpers_test.go b/managed/models/dsn_helpers_test.go
index 242e8542be..4c8574618e 100644
--- a/managed/models/dsn_helpers_test.go
+++ b/managed/models/dsn_helpers_test.go
@@ -43,12 +43,12 @@ func TestFindDSNByServiceID(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.Querier, func(t *testing.T)) {
t.Helper()
db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
tx, err := db.Begin()
require.NoError(t, err)
- q = tx.Querier
+ q := tx.Querier
for _, str := range []reform.Struct{
&models.Node{
@@ -165,11 +165,11 @@ func TestFindDSNByServiceID(t *testing.T) {
require.NoError(t, q.Insert(str))
}
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
require.NoError(t, tx.Rollback())
}
- return //nolint:nakedret
+ return q, teardown
}
t.Run("FindDSNByServiceIDandPMMAgentIDWithNoAgent", func(t *testing.T) {
diff --git a/managed/models/dump.go b/managed/models/dump.go
index d7adcee5c7..97b4e02314 100644
--- a/managed/models/dump.go
+++ b/managed/models/dump.go
@@ -22,14 +22,15 @@ import (
"gopkg.in/reform.v1"
)
+// DumpStatus represents the status of a dump process.
+//
//go:generate ../../bin/reform
-
type DumpStatus string
const (
- DumpStatusInProgress = DumpStatus("in_progress")
- DumpStatusSuccess = DumpStatus("success")
- DumpStatusError = DumpStatus("error")
+ DumpStatusInProgress = DumpStatus("in_progress") //nolint:revive
+ DumpStatusSuccess = DumpStatus("success") //nolint:revive
+ DumpStatusError = DumpStatus("error") //nolint:revive
)
// Validate validates Dumps status.
diff --git a/managed/models/dump_helpers.go b/managed/models/dump_helpers.go
index b5c0626ef1..dc4beb1072 100644
--- a/managed/models/dump_helpers.go
+++ b/managed/models/dump_helpers.go
@@ -50,6 +50,7 @@ type DumpFilters struct {
Status DumpStatus
}
+// CreateDumpParams represents the parameters for creating a dump.
type CreateDumpParams struct {
ServiceNames []string
StartTime *time.Time
@@ -58,6 +59,7 @@ type CreateDumpParams struct {
IgnoreLoad bool
}
+// Validate checks the validity of CreateDumpParams.
func (p *CreateDumpParams) Validate() error {
if p.StartTime != nil && p.EndTime != nil && p.StartTime.After(*p.EndTime) {
return errors.Errorf("dump start time can't be greater than end time")
@@ -66,6 +68,7 @@ func (p *CreateDumpParams) Validate() error {
return nil
}
+// CreateDump creates a dump using the specified parameters.
func CreateDump(q *reform.Querier, params CreateDumpParams) (*Dump, error) {
if err := params.Validate(); err != nil {
return nil, errors.Wrap(err, "invalid dump creation params")
@@ -165,6 +168,7 @@ func FindDumpByID(q *reform.Querier, id string) (*Dump, error) {
return dump, nil
}
+// UpdateDumpStatus updates the status of a dump with the given ID.
func UpdateDumpStatus(q *reform.Querier, id string, status DumpStatus) error {
dump, err := FindDumpByID(q, id)
if err != nil {
diff --git a/managed/models/node_helpers_test.go b/managed/models/node_helpers_test.go
index e7c64fe5df..4b96aabdb5 100644
--- a/managed/models/node_helpers_test.go
+++ b/managed/models/node_helpers_test.go
@@ -43,12 +43,12 @@ func TestNodeHelpers(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.Querier, func(t *testing.T)) {
t.Helper()
db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
tx, err := db.Begin()
require.NoError(t, err)
- q = tx.Querier
+ q := tx.Querier
for _, str := range []reform.Struct{
&models.Node{
@@ -111,11 +111,11 @@ func TestNodeHelpers(t *testing.T) {
require.NoError(t, q.Insert(str), "failed to INSERT %+v", str)
}
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
require.NoError(t, tx.Rollback())
}
- return //nolint:nakedret
+ return q, teardown
}
t.Run("CreateNode", func(t *testing.T) {
diff --git a/managed/models/percona_sso_model_helpers.go b/managed/models/percona_sso_model_helpers.go
index 4f9b6a112e..67c716983a 100644
--- a/managed/models/percona_sso_model_helpers.go
+++ b/managed/models/percona_sso_model_helpers.go
@@ -31,7 +31,8 @@ import (
)
var (
- perconaSSOMtx sync.Mutex
+ perconaSSOMtx sync.Mutex
+ // ErrNotConnectedToPortal is an error indicating that PMM Server is not connected to the Portal.
ErrNotConnectedToPortal = errors.New("PMM Server is not connected to Portal")
)
diff --git a/managed/models/scheduled_tasks_helpers.go b/managed/models/scheduled_tasks_helpers.go
index be58f5eaf5..067c9aa0e2 100644
--- a/managed/models/scheduled_tasks_helpers.go
+++ b/managed/models/scheduled_tasks_helpers.go
@@ -383,6 +383,7 @@ func (s *ScheduledTask) ServiceID() (string, error) {
return data.ServiceID, nil
}
+// CommonBackupData returns the common backup data for the scheduled task.
func (s *ScheduledTask) CommonBackupData() (*CommonBackupTaskData, error) {
if s.Data != nil {
switch s.Type {
diff --git a/managed/models/service_helpers_test.go b/managed/models/service_helpers_test.go
index b042aa7a1c..876b7ce606 100644
--- a/managed/models/service_helpers_test.go
+++ b/managed/models/service_helpers_test.go
@@ -43,12 +43,12 @@ func TestServiceHelpers(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.Querier, func(t *testing.T)) {
t.Helper()
db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
tx, err := db.Begin()
require.NoError(t, err)
- q = tx.Querier
+ q := tx.Querier
for _, str := range []reform.Struct{
&models.Node{
@@ -140,11 +140,11 @@ func TestServiceHelpers(t *testing.T) {
require.NoError(t, q.Insert(str))
}
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
require.NoError(t, tx.Rollback())
}
- return //nolint:nakedret
+ return q, teardown
}
t.Run("FindServices", func(t *testing.T) {
diff --git a/managed/models/service_model.go b/managed/models/service_model.go
index f05446e945..126720ccd8 100644
--- a/managed/models/service_model.go
+++ b/managed/models/service_model.go
@@ -25,14 +25,16 @@ import (
// ServiceType represents Service type as stored in databases:
// pmm-managed's PostgreSQL, qan-api's ClickHouse, and VictoriaMetrics.
-type ServiceType string
-
-type ServiceStandardLabelsParams struct {
- Cluster *string
- Environment *string
- ReplicationSet *string
- ExternalGroup *string
-}
+type (
+ ServiceType string
+ // ServiceStandardLabelsParams represents the parameters for standard labels in a service.
+ ServiceStandardLabelsParams struct {
+ Cluster *string
+ Environment *string
+ ReplicationSet *string
+ ExternalGroup *string
+ }
+)
// Service types (in the same order as in services.proto).
const (
diff --git a/managed/models/template_helpers.go b/managed/models/template_helpers.go
index 7c0ca1ee57..071db6e7e9 100644
--- a/managed/models/template_helpers.go
+++ b/managed/models/template_helpers.go
@@ -174,10 +174,11 @@ func RemoveTemplate(q *reform.Querier, name string) error {
return nil
}
+// ConvertTemplate converts an alert template to the internal representation.
func ConvertTemplate(template *alert.Template, source Source) (*Template, error) {
p, err := ConvertParamsDefinitions(template.Params)
if err != nil {
- return nil, errors.Errorf("invalid rule template parameters: %v.", err)
+ return nil, errors.Errorf("invalid rule template parameters: %v.", err) //nolint:revive
}
yaml, err := alert.ToYAML([]alert.Template{*template})
diff --git a/managed/models/victoriametrics_params.go b/managed/models/victoriametrics_params.go
index 14a86a5d41..2acc22cac2 100644
--- a/managed/models/victoriametrics_params.go
+++ b/managed/models/victoriametrics_params.go
@@ -29,7 +29,8 @@ const (
// BasePrometheusConfigPath - basic path with prometheus config,
// that user can mount to container.
BasePrometheusConfigPath = "/srv/prometheus/prometheus.base.yml"
- VMBaseURL = "http://127.0.0.1:9090/prometheus/"
+ // VMBaseURL is the base URL for VictoriaMetrics.
+ VMBaseURL = "http://127.0.0.1:9090/prometheus/"
)
// VictoriaMetricsParams - defines flags and settings for victoriametrics.
@@ -100,14 +101,17 @@ func (vmp *VictoriaMetricsParams) loadVMAlertParams() error {
return nil
}
+// ExternalVM returns true if VictoriaMetrics is configured to run externally.
func (vmp *VictoriaMetricsParams) ExternalVM() bool {
return vmp.url.Hostname() != "127.0.0.1"
}
+// URL returns the base URL for VictoriaMetrics.
func (vmp *VictoriaMetricsParams) URL() string {
return vmp.url.String()
}
+// URLFor returns the URL for a specific path in VictoriaMetrics.
func (vmp *VictoriaMetricsParams) URLFor(path string) (*url.URL, error) {
if path == "" {
return vmp.url, nil
diff --git a/managed/services/agents/agents.go b/managed/services/agents/agents.go
index 17ad039e26..a4fe1bc2d2 100644
--- a/managed/services/agents/agents.go
+++ b/managed/services/agents/agents.go
@@ -143,7 +143,7 @@ func ensureAuthParams(exporter *models.Agent, params *agentpb.SetStateRequest_Ag
}
// getExporterListenAddress returns the appropriate listen address to use for a given exporter.
-func getExporterListenAddress(node *models.Node, exporter *models.Agent) string {
+func getExporterListenAddress(_ *models.Node, exporter *models.Agent) string {
switch {
case exporter.ExposeExporter:
return "0.0.0.0"
diff --git a/managed/services/agents/channel/channel.go b/managed/services/agents/channel/channel.go
index 5e36142352..448010495e 100644
--- a/managed/services/agents/channel/channel.go
+++ b/managed/services/agents/channel/channel.go
@@ -67,7 +67,7 @@ type Response struct {
Error error
}
-type Stream interface {
+type Stream interface { //nolint:revive
Send(*agentpb.ServerMessage) error
Recv() (*agentpb.AgentMessage, error)
}
diff --git a/managed/services/agents/jobs.go b/managed/services/agents/jobs.go
index 35eaba8b9d..ba9477f099 100644
--- a/managed/services/agents/jobs.go
+++ b/managed/services/agents/jobs.go
@@ -67,6 +67,7 @@ func NewJobsService(db *reform.DB, registry *Registry, retention retentionServic
}
}
+// RestartJob restarts a job with the given jobID.
func (s *JobsService) RestartJob(ctx context.Context, jobID string) error {
var job *models.Job
var artifact *models.Artifact
diff --git a/managed/services/agents/mongodb.go b/managed/services/agents/mongodb.go
index 971593fb5f..37cac807af 100644
--- a/managed/services/agents/mongodb.go
+++ b/managed/services/agents/mongodb.go
@@ -40,6 +40,7 @@ var (
newMongoExporterPMMVersion = version.MustParse("2.9.99")
v2_24_99 = version.MustParse("2.24.99")
v2_25_99 = version.MustParse("2.25.99")
+ v2_41_1 = version.MustParse("2.41.1-0")
)
// mongodbExporterConfig returns desired configuration of mongodb_exporter process.
@@ -54,7 +55,14 @@ func mongodbExporterConfig(node *models.Node, service *models.Service, exporter
// Starting with PMM 2.25.0, we change the discovering-mode making it to discover all databases.
// Until now, discovering mode was not working properly and was enabled only if mongodb.collstats-colls=
// was specified in the command line.
+ // Starting with PMM 2.41.1 we added shards collector.
switch {
+ case !pmmAgentVersion.Less(v2_41_1): // >= 2.41.1
+ args = v226Args(exporter, tdp, listenAddress)
+
+ if exporter.MongoDBOptions != nil && exporter.MongoDBOptions.EnableAllCollectors {
+ args = append(args, "--collector.shards")
+ }
case !pmmAgentVersion.Less(v2_25_99): // >= 2.26
args = v226Args(exporter, tdp, listenAddress)
case !pmmAgentVersion.Less(v2_24_99): // >= 2.25
@@ -232,22 +240,18 @@ func defaultCollectors(collectAll bool) map[string]collectorArgs {
enabled: true,
enableParam: "--collector.replicasetstatus",
},
- // disabled until we have better information on the resources usage impact
"collstats": {
enabled: collectAll,
enableParam: "--collector.collstats",
},
- // disabled until we have better information on the resources usage impact
"dbstats": {
enabled: collectAll,
enableParam: "--collector.dbstats",
},
- // disabled until we have better information on the resources usage impact
"indexstats": {
enabled: collectAll,
enableParam: "--collector.indexstats",
},
- // disabled until we have better information on the resources usage impact
"topmetrics": {
enabled: collectAll,
enableParam: "--collector.topmetrics",
diff --git a/managed/services/agents/mongodb_test.go b/managed/services/agents/mongodb_test.go
index 2f11b0940f..8accc04e9e 100644
--- a/managed/services/agents/mongodb_test.go
+++ b/managed/services/agents/mongodb_test.go
@@ -231,6 +231,161 @@ func TestMongodbExporterConfig226(t *testing.T) {
})
}
+func TestMongodbExporterConfig2411(t *testing.T) {
+ pmmAgentVersion := version.MustParse("2.41.1")
+ node := &models.Node{
+ Address: "1.2.3.4",
+ }
+ mongodb := &models.Service{
+ Address: pointer.ToString("1.2.3.4"),
+ Port: pointer.ToUint16(27017),
+ }
+ exporter := &models.Agent{
+ AgentID: "agent-id",
+ AgentType: models.MongoDBExporterType,
+ Username: pointer.ToString("username"),
+ Password: pointer.ToString("s3cur3 p@$$w0r4."),
+ AgentPassword: pointer.ToString("agent-password"),
+ }
+ actual, err := mongodbExporterConfig(node, mongodb, exporter, redactSecrets, pmmAgentVersion)
+ expected := &agentpb.SetStateRequest_AgentProcess{
+ Type: inventorypb.AgentType_MONGODB_EXPORTER,
+ TemplateLeftDelim: "{{",
+ TemplateRightDelim: "}}",
+ Args: []string{
+ "--collector.diagnosticdata",
+ "--collector.replicasetstatus",
+ "--compatible-mode",
+ "--discovering-mode",
+ "--mongodb.global-conn-pool",
+ "--web.listen-address=0.0.0.0:{{ .listen_port }}",
+ "--web.config={{ .TextFiles.webConfigPlaceholder }}",
+ },
+ Env: []string{
+ "MONGODB_URI=mongodb://username:s3cur3%20p%40$$w0r4.@1.2.3.4:27017/?connectTimeoutMS=1000&directConnection=true&serverSelectionTimeoutMS=1000",
+ },
+ RedactWords: []string{"s3cur3 p@$$w0r4.", "agent-password"},
+ TextFiles: map[string]string{
+ "webConfigPlaceholder": "basic_auth_users:\n pmm: agent-password\n",
+ },
+ }
+ require.NoError(t, err)
+ requireNoDuplicateFlags(t, actual.Args)
+ require.Equal(t, expected.Args, actual.Args)
+ require.Equal(t, expected.Env, actual.Env)
+ require.Equal(t, expected, actual)
+
+ t.Run("Having collstats limit", func(t *testing.T) {
+ exporter.MongoDBOptions = &models.MongoDBOptions{
+ StatsCollections: []string{"col1", "col2", "col3"},
+ CollectionsLimit: 79014,
+ }
+ expected.Args = []string{
+ "--collector.collstats-limit=79014",
+ "--collector.diagnosticdata",
+ "--collector.replicasetstatus",
+ "--compatible-mode",
+ "--discovering-mode",
+ "--mongodb.collstats-colls=col1,col2,col3",
+ "--mongodb.global-conn-pool",
+ "--mongodb.indexstats-colls=col1,col2,col3",
+ "--web.listen-address=0.0.0.0:{{ .listen_port }}",
+ "--web.config={{ .TextFiles.webConfigPlaceholder }}",
+ }
+ actual, err := mongodbExporterConfig(node, mongodb, exporter, exposeSecrets, pmmAgentVersion)
+ require.NoError(t, err)
+ require.Equal(t, expected.Args, actual.Args)
+ })
+
+ t.Run("Enabling all collectors with non zero limit", func(t *testing.T) {
+ exporter.MongoDBOptions = &models.MongoDBOptions{
+ StatsCollections: []string{"col1", "col2", "col3"},
+ CollectionsLimit: 79014,
+ EnableAllCollectors: true,
+ }
+
+ expected.Args = []string{
+ "--collector.collstats",
+ "--collector.collstats-limit=79014",
+ "--collector.dbstats",
+ "--collector.diagnosticdata",
+ "--collector.indexstats",
+ "--collector.replicasetstatus",
+ "--collector.shards",
+ "--collector.topmetrics",
+ "--compatible-mode",
+ "--discovering-mode",
+ "--mongodb.collstats-colls=col1,col2,col3",
+ "--mongodb.global-conn-pool",
+ "--mongodb.indexstats-colls=col1,col2,col3",
+ "--web.listen-address=0.0.0.0:{{ .listen_port }}",
+ "--web.config={{ .TextFiles.webConfigPlaceholder }}",
+ }
+ actual, err := mongodbExporterConfig(node, mongodb, exporter, exposeSecrets, pmmAgentVersion)
+ require.NoError(t, err)
+ require.Equal(t, expected.Args, actual.Args)
+ })
+
+ t.Run("Enabling all collectors", func(t *testing.T) {
+ exporter.MongoDBOptions = &models.MongoDBOptions{
+ EnableAllCollectors: true,
+ StatsCollections: []string{"db1.col1.one", "db2.col2", "db3"},
+ }
+
+ expected.Args = []string{
+ "--collector.collstats",
+ "--collector.collstats-limit=0",
+ "--collector.dbstats",
+ "--collector.diagnosticdata",
+ "--collector.indexstats",
+ "--collector.replicasetstatus",
+ "--collector.shards",
+ "--collector.topmetrics",
+ "--compatible-mode",
+ "--discovering-mode",
+ // this should be here even if limit=0 because it could be used to filter dbstats
+ // since dbstats is not depending the number of collections present in the db.
+ "--mongodb.collstats-colls=db1.col1.one,db2.col2,db3",
+ "--mongodb.global-conn-pool",
+ "--mongodb.indexstats-colls=db1.col1.one,db2.col2,db3",
+ "--web.listen-address=0.0.0.0:{{ .listen_port }}",
+ "--web.config={{ .TextFiles.webConfigPlaceholder }}",
+ }
+ actual, err := mongodbExporterConfig(node, mongodb, exporter, exposeSecrets, pmmAgentVersion)
+ require.NoError(t, err)
+ require.Equal(t, expected.Args, actual.Args)
+ })
+
+ t.Run("collstats-limit=-1 -> automatically set the limit", func(t *testing.T) {
+ exporter.MongoDBOptions = &models.MongoDBOptions{
+ EnableAllCollectors: true,
+ StatsCollections: []string{"db1.col1.one", "db2.col2", "db3"},
+ CollectionsLimit: -1,
+ }
+
+ expected.Args = []string{
+ "--collector.collstats",
+ "--collector.collstats-limit=200", // 200 is the default for auto-set
+ "--collector.dbstats",
+ "--collector.diagnosticdata",
+ "--collector.indexstats",
+ "--collector.replicasetstatus",
+ "--collector.shards",
+ "--collector.topmetrics",
+ "--compatible-mode",
+ "--discovering-mode",
+ "--mongodb.collstats-colls=db1.col1.one,db2.col2,db3",
+ "--mongodb.global-conn-pool",
+ "--mongodb.indexstats-colls=db1.col1.one,db2.col2,db3",
+ "--web.listen-address=0.0.0.0:{{ .listen_port }}",
+ "--web.config={{ .TextFiles.webConfigPlaceholder }}",
+ }
+ actual, err := mongodbExporterConfig(node, mongodb, exporter, exposeSecrets, pmmAgentVersion)
+ require.NoError(t, err)
+ require.Equal(t, expected.Args, actual.Args)
+ })
+}
+
func TestMongodbExporterConfig(t *testing.T) {
pmmAgentVersion := version.MustParse("2.0.0")
node := &models.Node{
diff --git a/managed/services/agents/registry.go b/managed/services/agents/registry.go
index 6db039248f..a9cad30d51 100644
--- a/managed/services/agents/registry.go
+++ b/managed/services/agents/registry.go
@@ -417,6 +417,7 @@ func (r *Registry) Collect(ch chan<- prom.Metric) {
r.mClockDrift.Collect(ch)
}
+// KickAll sends a signal to all registered agents in the registry to perform a kick action.
func (r *Registry) KickAll(ctx context.Context) {
for _, agentInfo := range r.agents {
r.Kick(ctx, agentInfo.id)
diff --git a/managed/services/agents/service_info_broker.go b/managed/services/agents/service_info_broker.go
index 74f7713a6b..60a1813697 100644
--- a/managed/services/agents/service_info_broker.go
+++ b/managed/services/agents/service_info_broker.go
@@ -183,7 +183,7 @@ func (c *ServiceInfoBroker) GetInfoFromService(ctx context.Context, q *reform.Qu
msg := sInfo.Error
if msg == context.Canceled.Error() || msg == context.DeadlineExceeded.Error() {
msg = fmt.Sprintf("timeout (%s)", msg)
- return status.Error(codes.FailedPrecondition, fmt.Sprintf("Connection check failed: %s.", msg))
+ return status.Error(codes.FailedPrecondition, fmt.Sprintf("failed to get connection service info: %s.", msg))
}
stype := service.ServiceType
diff --git a/managed/services/agents/versioner.go b/managed/services/agents/versioner.go
index e278fb87d0..1bc5563603 100644
--- a/managed/services/agents/versioner.go
+++ b/managed/services/agents/versioner.go
@@ -56,8 +56,12 @@ type Software interface {
// Mysqld represents mysqld software.
type Mysqld struct{}
-func (*Mysqld) isSoftware() {}
+func (*Mysqld) isSoftware() {}
+
+// Name returns the software name for Mysqld.{}.
func (*Mysqld) Name() models.SoftwareName { return models.MysqldSoftwareName }
+
+// GetVersionRequest returns the GetVersionsRequest_Software for Mysqld.
func (*Mysqld) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
return &agentpb.GetVersionsRequest_Software{
Software: &agentpb.GetVersionsRequest_Software_Mysqld{},
@@ -67,8 +71,12 @@ func (*Mysqld) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
// Xtrabackup represents xtrabackup software.
type Xtrabackup struct{}
-func (*Xtrabackup) isSoftware() {}
+func (*Xtrabackup) isSoftware() {}
+
+// Name returns the software name for Xtrabackup.
func (*Xtrabackup) Name() models.SoftwareName { return models.XtrabackupSoftwareName }
+
+// GetVersionRequest returns the GetVersionsRequest_Software for Xtrabackup.
func (*Xtrabackup) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
return &agentpb.GetVersionsRequest_Software{
Software: &agentpb.GetVersionsRequest_Software_Xtrabackup{},
@@ -78,8 +86,12 @@ func (*Xtrabackup) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
// Xbcloud represents xbcloud software.
type Xbcloud struct{}
-func (*Xbcloud) isSoftware() {}
+func (*Xbcloud) isSoftware() {}
+
+// Name returns the software name for Qpress.
func (*Xbcloud) Name() models.SoftwareName { return models.XbcloudSoftwareName }
+
+// GetVersionRequest returns the GetVersionsRequest_Software for Qpress.
func (*Xbcloud) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
return &agentpb.GetVersionsRequest_Software{
Software: &agentpb.GetVersionsRequest_Software_Xbcloud{},
@@ -89,8 +101,12 @@ func (*Xbcloud) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
// Qpress represents qpress software.
type Qpress struct{}
-func (*Qpress) isSoftware() {}
+func (*Qpress) isSoftware() {}
+
+// Name returns the software name for Qpress.
func (*Qpress) Name() models.SoftwareName { return models.QpressSoftwareName }
+
+// GetVersionRequest returns the GetVersionsRequest for Qpress.
func (*Qpress) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
return &agentpb.GetVersionsRequest_Software{
Software: &agentpb.GetVersionsRequest_Software_Qpress{},
@@ -100,8 +116,12 @@ func (*Qpress) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
// MongoDB represents mongod software.
type MongoDB struct{}
-func (*MongoDB) isSoftware() {}
+func (*MongoDB) isSoftware() {}
+
+// Name returns the software name for MongoDB.
func (*MongoDB) Name() models.SoftwareName { return models.MongoDBSoftwareName }
+
+// GetVersionRequest returns the GetVersionsRequest_Software for Qpress.
func (*MongoDB) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
return &agentpb.GetVersionsRequest_Software{
Software: &agentpb.GetVersionsRequest_Software_Mongod{},
@@ -111,8 +131,12 @@ func (*MongoDB) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
// PBM represents pbm software.
type PBM struct{}
-func (*PBM) isSoftware() {}
+func (*PBM) isSoftware() {}
+
+// Name returns the software name for PBM.
func (*PBM) Name() models.SoftwareName { return models.PBMSoftwareName }
+
+// GetVersionRequest returns the GetVersionsRequest for PBM.
func (*PBM) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
return &agentpb.GetVersionsRequest_Software{
Software: &agentpb.GetVersionsRequest_Software_Pbm{},
diff --git a/managed/services/backup/deps.go b/managed/services/backup/deps.go
index ba3bbb72ff..d0b86a799c 100644
--- a/managed/services/backup/deps.go
+++ b/managed/services/backup/deps.go
@@ -108,6 +108,7 @@ type pbmPITRService interface {
GetPITRFiles(ctx context.Context, locationClient Storage, location *models.BackupLocation, artifact *models.Artifact, until *time.Time) ([]*oplogChunk, error)
}
+// Storage represents the interface for interacting with storage.
type Storage interface {
// FileStat returns file info. It returns error if file is empty or not exists.
FileStat(ctx context.Context, endpoint, accessKey, secretKey, bucketName, name string) (minio.FileInfo, error)
diff --git a/managed/services/backup/metrics.go b/managed/services/backup/metrics.go
index 1aa661deca..7f717262ba 100644
--- a/managed/services/backup/metrics.go
+++ b/managed/services/backup/metrics.go
@@ -34,6 +34,7 @@ const (
prometheusSubsystem = "backups"
)
+// MetricsCollector is responsible for collecting metrics related to backup.
type MetricsCollector struct {
db *reform.DB
l *logrus.Entry
@@ -41,6 +42,7 @@ type MetricsCollector struct {
mArtifactsDesc *prom.Desc
}
+// NewMetricsCollector creates a new instance of MetricsCollector.
func NewMetricsCollector(db *reform.DB) *MetricsCollector {
return &MetricsCollector{
db: db,
@@ -56,10 +58,12 @@ func NewMetricsCollector(db *reform.DB) *MetricsCollector {
}
}
+// Describe sends the metrics descriptions to the provided channel.
func (c *MetricsCollector) Describe(ch chan<- *prom.Desc) {
ch <- c.mArtifactsDesc
}
+// Collect sends the collected metrics to the provided channel.
func (c *MetricsCollector) Collect(ch chan<- prom.Metric) {
ctx, cancelCtx := context.WithTimeout(context.Background(), requestTimeout)
defer cancelCtx()
diff --git a/managed/services/backup/pitr_timerange_service.go b/managed/services/backup/pitr_timerange_service.go
index 84050aa139..8dc956da40 100644
--- a/managed/services/backup/pitr_timerange_service.go
+++ b/managed/services/backup/pitr_timerange_service.go
@@ -181,7 +181,7 @@ func (s *PBMPITRService) ListPITRTimeranges(ctx context.Context, storage Storage
// trimTimelines adds one second to the Start value of every timeline record. Required to fit PBM values.
func trimTimelines(timelines []Timeline) {
for i := range timelines {
- timelines[i].Start += 1
+ timelines[i].Start += 1 //nolint:revive
}
}
diff --git a/managed/services/checks/checks.go b/managed/services/checks/checks.go
index 2c668b8189..cced2f6a86 100644
--- a/managed/services/checks/checks.go
+++ b/managed/services/checks/checks.go
@@ -370,6 +370,7 @@ func (s *Service) GetAdvisors() ([]check.Advisor, error) {
return res, nil
}
+// GetChecks retrieves a map of checks from the service.
func (s *Service) GetChecks() (map[string]check.Check, error) {
cs, err := models.FindCheckSettings(s.db.Querier)
if err != nil {
@@ -1438,7 +1439,7 @@ func (s *Service) loadLocalChecks(file string) ([]check.Check, error) {
for _, c := range checks {
if c.Advisor != "dev" {
- return nil, errors.Errorf("Local checks are supposed to be linked to the 'dev' advisor.")
+ return nil, errors.Errorf("Local checks are supposed to be linked to the 'dev' advisor.") //nolint:revive
}
}
diff --git a/managed/services/dump/dump.go b/managed/services/dump/dump.go
index 4f028eb452..c35126c0fc 100644
--- a/managed/services/dump/dump.go
+++ b/managed/services/dump/dump.go
@@ -37,6 +37,7 @@ import (
"github.com/percona/pmm/managed/models"
)
+// ErrDumpAlreadyRunning is an exported error indicating that pmm-dump is already running.
var ErrDumpAlreadyRunning = status.Error(codes.FailedPrecondition, "pmm-dump already running.")
const (
@@ -44,6 +45,7 @@ const (
dumpsDir = "/srv/dump"
)
+// Service represents the dump service.
type Service struct {
l *logrus.Entry
@@ -55,6 +57,7 @@ type Service struct {
cancel context.CancelFunc
}
+// New creates a new instance of the dump service..
func New(db *reform.DB) *Service {
return &Service{
l: logrus.WithField("component", "management/backup/backup"),
@@ -62,6 +65,7 @@ func New(db *reform.DB) *Service {
}
}
+// Params represents the parameters for configuring the dump service.
type Params struct {
APIKey string
Cookie string
@@ -74,6 +78,7 @@ type Params struct {
IgnoreLoad bool
}
+// StartDump initiates the process of creating and managing dumps in the dump service.
func (s *Service) StartDump(params *Params) (string, error) {
// Check if some pmm-dump already running.
if !s.running.CompareAndSwap(false, true) {
@@ -175,6 +180,7 @@ func (s *Service) StartDump(params *Params) (string, error) {
return dump.ID, nil
}
+// DeleteDump removes a specific dump associated with the dump service.
func (s *Service) DeleteDump(dumpID string) error {
dump, err := models.FindDumpByID(s.db.Querier, dumpID)
if err != nil {
@@ -199,6 +205,7 @@ func (s *Service) DeleteDump(dumpID string) error {
return nil
}
+// GetFilePathsForDumps retrieves the file paths associated with the dumps managed by the dump service.
func (s *Service) GetFilePathsForDumps(dumpIDs []string) (map[string]string, error) {
dumps, err := models.FindDumpsByIDs(s.db.Querier, dumpIDs)
if err != nil {
@@ -272,6 +279,7 @@ func (s *Service) saveLogChunk(dumpID string, chunkN uint32, text string, last b
return nil
}
+// StopDump stops the ongoing dump process in the dump service.
func (s *Service) StopDump() {
s.rw.RLock()
defer s.rw.RUnlock()
diff --git a/managed/services/grafana/client.go b/managed/services/grafana/client.go
index 31f43878ec..724eb01388 100644
--- a/managed/services/grafana/client.go
+++ b/managed/services/grafana/client.go
@@ -14,8 +14,6 @@
// along with this program. If not, see .
// Package grafana provides facilities for working with Grafana.
-//
-
package grafana
import (
@@ -205,7 +203,6 @@ func (c *Client) GetUserID(ctx context.Context) (int, error) {
var m map[string]interface{}
err = c.do(ctx, http.MethodGet, "/api/user", "", authHeaders, nil, &m)
-
if err != nil {
return 0, err
}
diff --git a/managed/services/ha/highavailability.go b/managed/services/ha/highavailability.go
index cec144b4d8..20bfcb33eb 100644
--- a/managed/services/ha/highavailability.go
+++ b/managed/services/ha/highavailability.go
@@ -32,6 +32,7 @@ import (
"github.com/percona/pmm/managed/models"
)
+// Service represents the high-availability service.
type Service struct {
params *models.HAParams
bootstrapCluster bool
@@ -50,20 +51,24 @@ type Service struct {
memberlist *memberlist.Memberlist
}
+// Apply applies a log entry to the high-availability service.
func (s *Service) Apply(logEntry *raft.Log) interface{} {
s.l.Printf("raft: got a message: %s", string(logEntry.Data))
s.receivedMessages <- logEntry.Data
return nil
}
+// Snapshot returns a snapshot of the high-availability service.
func (s *Service) Snapshot() (raft.FSMSnapshot, error) { //nolint:ireturn
return nil, nil
}
+// Restore restores the high availability service to a previous state.
func (s *Service) Restore(_ io.ReadCloser) error {
return nil
}
+// New provides a new instance of the high availability service.
func New(params *models.HAParams) *Service {
return &Service{
params: params,
@@ -77,6 +82,7 @@ func New(params *models.HAParams) *Service {
}
}
+// Run runs the high availability service.
func (s *Service) Run(ctx context.Context) error {
s.wg.Add(1)
go func() {
@@ -290,6 +296,7 @@ func (s *Service) runLeaderObserver(ctx context.Context) {
}
}
+// AddLeaderService adds a leader service to the high availability service.
func (s *Service) AddLeaderService(leaderService LeaderService) {
err := s.services.Add(leaderService)
if err != nil {
@@ -297,6 +304,7 @@ func (s *Service) AddLeaderService(leaderService LeaderService) {
}
}
+// BroadcastMessage broadcasts a message from the high availability service.
func (s *Service) BroadcastMessage(message []byte) {
if s.params.Enabled {
s.rw.RLock()
@@ -307,12 +315,14 @@ func (s *Service) BroadcastMessage(message []byte) {
}
}
+// IsLeader checks if the current instance of the high availability service is the leader.
func (s *Service) IsLeader() bool {
s.rw.RLock()
defer s.rw.RUnlock()
return (s.raftNode != nil && s.raftNode.State() == raft.Leader) || !s.params.Enabled
}
+// Bootstrap performs the necessary steps to initialize the high availability service.
func (s *Service) Bootstrap() bool {
return s.params.Bootstrap || !s.params.Enabled
}
diff --git a/managed/services/ha/leaderservice.go b/managed/services/ha/leaderservice.go
index 9ec5185629..9c251d2f50 100644
--- a/managed/services/ha/leaderservice.go
+++ b/managed/services/ha/leaderservice.go
@@ -20,12 +20,14 @@ import (
"sync"
)
+// LeaderService represents a leader service in the high-availability setup.
type LeaderService interface {
Start(ctx context.Context) error
Stop()
ID() string
}
+// StandardService represents a standard service in the high-availability setup.
type StandardService struct {
id string
@@ -33,6 +35,7 @@ type StandardService struct {
stopFunc func()
}
+// NewStandardService creates a new standard service.
func NewStandardService(id string, startFunc func(context.Context) error, stopFunc func()) *StandardService {
return &StandardService{
id: id,
@@ -41,18 +44,22 @@ func NewStandardService(id string, startFunc func(context.Context) error, stopFu
}
}
+// ID returns the ID of the standard service.
func (s *StandardService) ID() string {
return s.id
}
+// Start starts the standard service.
func (s *StandardService) Start(ctx context.Context) error {
return s.startFunc(ctx)
}
+// Stop stops the standard service.
func (s *StandardService) Stop() {
s.stopFunc()
}
+// ContextService represents a context service.
type ContextService struct {
id string
@@ -62,6 +69,7 @@ type ContextService struct {
cancel context.CancelFunc
}
+// NewContextService creates a new context service.
func NewContextService(id string, startFunc func(context.Context) error) *ContextService {
return &ContextService{
id: id,
@@ -69,10 +77,12 @@ func NewContextService(id string, startFunc func(context.Context) error) *Contex
}
}
+// ID returns the ID of the context service.
func (s *ContextService) ID() string {
return s.id
}
+// Start starts the context service.
func (s *ContextService) Start(ctx context.Context) error {
s.m.Lock()
ctx, s.cancel = context.WithCancel(ctx)
@@ -80,6 +90,7 @@ func (s *ContextService) Start(ctx context.Context) error {
return s.startFunc(ctx)
}
+// Stop stops the context service.
func (s *ContextService) Stop() {
s.m.Lock()
defer s.m.Unlock()
diff --git a/managed/services/inventory/agents.go b/managed/services/inventory/agents.go
index f39535eb9a..15ad1709f4 100644
--- a/managed/services/inventory/agents.go
+++ b/managed/services/inventory/agents.go
@@ -113,7 +113,7 @@ func (as *AgentsService) changeAgent(agentID string, common *inventorypb.ChangeC
// List selects all Agents in a stable order for a given service.
//
//nolint:unparam
-func (as *AgentsService) List(ctx context.Context, filters models.AgentFilters) ([]inventorypb.Agent, error) {
+func (as *AgentsService) List(_ context.Context, filters models.AgentFilters) ([]inventorypb.Agent, error) {
var res []inventorypb.Agent
e := as.db.InTransaction(func(tx *reform.TX) error {
got := 0
@@ -149,7 +149,7 @@ func (as *AgentsService) List(ctx context.Context, filters models.AgentFilters)
}
// Get selects a single Agent by ID.
-func (as *AgentsService) Get(ctx context.Context, id string) (inventorypb.Agent, error) { //nolint:ireturn,unparam
+func (as *AgentsService) Get(_ context.Context, id string) (inventorypb.Agent, error) { //nolint:ireturn
var res inventorypb.Agent
e := as.db.InTransaction(func(tx *reform.TX) error {
row, err := models.FindAgentByID(tx.Querier, id)
@@ -181,7 +181,7 @@ func (as *AgentsService) Logs(ctx context.Context, id string, limit uint32) ([]s
// AddPMMAgent inserts pmm-agent Agent with given parameters.
//
//nolint:unparam
-func (as *AgentsService) AddPMMAgent(ctx context.Context, req *inventorypb.AddPMMAgentRequest) (*inventorypb.PMMAgent, error) {
+func (as *AgentsService) AddPMMAgent(_ context.Context, req *inventorypb.AddPMMAgentRequest) (*inventorypb.PMMAgent, error) {
var res *inventorypb.PMMAgent
e := as.db.InTransaction(func(tx *reform.TX) error {
row, err := models.CreatePMMAgent(tx.Querier, req.RunsOnNodeId, req.CustomLabels)
diff --git a/managed/services/inventory/grpc/agents_server.go b/managed/services/inventory/grpc/agents_server.go
index 3e4277d394..76c4de99db 100644
--- a/managed/services/inventory/grpc/agents_server.go
+++ b/managed/services/inventory/grpc/agents_server.go
@@ -497,7 +497,7 @@ func (s *agentsServer) AddExternalExporter(ctx context.Context, req *inventorypb
return res, nil
}
-func (s *agentsServer) ChangeExternalExporter(ctx context.Context, req *inventorypb.ChangeExternalExporterRequest) (*inventorypb.ChangeExternalExporterResponse, error) {
+func (s *agentsServer) ChangeExternalExporter(_ context.Context, req *inventorypb.ChangeExternalExporterRequest) (*inventorypb.ChangeExternalExporterResponse, error) {
agent, err := s.s.ChangeExternalExporter(req)
if err != nil {
return nil, err
diff --git a/managed/services/inventory/grpc/services_server.go b/managed/services/inventory/grpc/services_server.go
index 0a6207ce87..76168d3af2 100644
--- a/managed/services/inventory/grpc/services_server.go
+++ b/managed/services/inventory/grpc/services_server.go
@@ -99,7 +99,7 @@ func (s *servicesServer) ListServices(ctx context.Context, req *inventorypb.List
// ListActiveServiceTypes returns list of active Services.
func (s *servicesServer) ListActiveServiceTypes(
ctx context.Context,
- req *inventorypb.ListActiveServiceTypesRequest,
+ req *inventorypb.ListActiveServiceTypesRequest, //nolint:revive
) (*inventorypb.ListActiveServiceTypesResponse, error) {
types, err := s.s.ListActiveServiceTypes(ctx)
if err != nil {
diff --git a/managed/services/inventory/inventory_metrics.go b/managed/services/inventory/inventory_metrics.go
index d390b95b73..74407d0c3d 100644
--- a/managed/services/inventory/inventory_metrics.go
+++ b/managed/services/inventory/inventory_metrics.go
@@ -36,19 +36,20 @@ const (
prometheusSubsystem = "inventory"
)
+// Metric represents a metric for inventory purposes.
type Metric struct {
labels []string
value float64
}
-//goland:noinspection GoNameStartsWithPackageName
-type InventoryMetrics struct {
+// InventoryMetrics represents a collection of inventory metrics.
+type InventoryMetrics struct { //nolint:revive
db *reform.DB
registry agentsRegistry
}
-//goland:noinspection GoNameStartsWithPackageName
-type InventoryMetricsCollector struct {
+// InventoryMetricsCollector collects inventory metrics.
+type InventoryMetricsCollector struct { //nolint:revive
mAgentsDesc *prom.Desc
mNodesDesc *prom.Desc
mServicesDesc *prom.Desc
@@ -56,6 +57,7 @@ type InventoryMetricsCollector struct {
metrics inventoryMetrics
}
+// NewInventoryMetrics creates a new instance of InventoryMetrics.
func NewInventoryMetrics(db *reform.DB, registry agentsRegistry) *InventoryMetrics {
return &InventoryMetrics{
db: db,
@@ -63,6 +65,7 @@ func NewInventoryMetrics(db *reform.DB, registry agentsRegistry) *InventoryMetri
}
}
+// NewInventoryMetricsCollector creates a new instance of InventoryMetricsCollector.
func NewInventoryMetricsCollector(metrics inventoryMetrics) *InventoryMetricsCollector {
return &InventoryMetricsCollector{
mAgentsDesc: prom.NewDesc(
@@ -94,6 +97,7 @@ func getRunsOnNodeIDByPMMAgentID(agents []*models.Agent, pmmAgentID string) stri
return ""
}
+// GetAgentMetrics retrieves agent metrics from InventoryMetrics.
func (i *InventoryMetrics) GetAgentMetrics(ctx context.Context) ([]Metric, error) {
metrics := []Metric{}
@@ -157,6 +161,7 @@ func (i *InventoryMetrics) GetAgentMetrics(ctx context.Context) ([]Metric, error
return metrics, nil
}
+// GetNodeMetrics retrieves node metrics from InventoryMetrics.
func (i *InventoryMetrics) GetNodeMetrics(ctx context.Context) ([]Metric, error) {
var metrics []Metric
@@ -186,6 +191,7 @@ func (i *InventoryMetrics) GetNodeMetrics(ctx context.Context) ([]Metric, error)
return metrics, nil
}
+// GetServiceMetrics retrieves service metrics from InventoryMetrics.
func (i *InventoryMetrics) GetServiceMetrics(ctx context.Context) ([]Metric, error) {
var metrics []Metric
@@ -214,10 +220,12 @@ func (i *InventoryMetrics) GetServiceMetrics(ctx context.Context) ([]Metric, err
return metrics, nil
}
+// Describe describes the InventoryMetricsCollector for Prometheus.
func (i *InventoryMetricsCollector) Describe(ch chan<- *prom.Desc) {
prom.DescribeByCollect(i, ch)
}
+// Collect collects metrics for the InventoryMetricsCollector.
func (i *InventoryMetricsCollector) Collect(ch chan<- prom.Metric) {
ctx, cancelCtx := context.WithTimeout(context.Background(), requestTimeout)
defer cancelCtx()
diff --git a/managed/services/inventory/services.go b/managed/services/inventory/services.go
index 89e6d3b966..f9774b54b2 100644
--- a/managed/services/inventory/services.go
+++ b/managed/services/inventory/services.go
@@ -56,7 +56,7 @@ func NewServicesService(
// List selects all Services in a stable order.
//
//nolint:unparam
-func (ss *ServicesService) List(ctx context.Context, filters models.ServiceFilters) ([]inventorypb.Service, error) {
+func (ss *ServicesService) List(_ context.Context, filters models.ServiceFilters) ([]inventorypb.Service, error) {
var servicesM []*models.Service
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -80,7 +80,7 @@ func (ss *ServicesService) List(ctx context.Context, filters models.ServiceFilte
// ListActiveServiceTypes lists all active Service Types
//
//nolint:unparam
-func (ss *ServicesService) ListActiveServiceTypes(ctx context.Context) ([]inventorypb.ServiceType, error) {
+func (ss *ServicesService) ListActiveServiceTypes(_ context.Context) ([]inventorypb.ServiceType, error) {
var types []models.ServiceType
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -112,7 +112,7 @@ func (ss *ServicesService) ListActiveServiceTypes(ctx context.Context) ([]invent
}
// Get selects a single Service by ID.
-func (ss *ServicesService) Get(ctx context.Context, id string) (inventorypb.Service, error) { //nolint:unparam,ireturn
+func (ss *ServicesService) Get(_ context.Context, id string) (inventorypb.Service, error) { //nolint:ireturn
service := &models.Service{}
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -133,7 +133,7 @@ func (ss *ServicesService) Get(ctx context.Context, id string) (inventorypb.Serv
// AddMySQL inserts MySQL Service with given parameters.
//
//nolint:dupl,unparam
-func (ss *ServicesService) AddMySQL(ctx context.Context, params *models.AddDBMSServiceParams) (*inventorypb.MySQLService, error) {
+func (ss *ServicesService) AddMySQL(_ context.Context, params *models.AddDBMSServiceParams) (*inventorypb.MySQLService, error) {
service := &models.Service{}
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -160,7 +160,7 @@ func (ss *ServicesService) AddMySQL(ctx context.Context, params *models.AddDBMSS
// AddMongoDB inserts MongoDB Service with given parameters.
//
//nolint:dupl,unparam
-func (ss *ServicesService) AddMongoDB(ctx context.Context, params *models.AddDBMSServiceParams) (*inventorypb.MongoDBService, error) {
+func (ss *ServicesService) AddMongoDB(_ context.Context, params *models.AddDBMSServiceParams) (*inventorypb.MongoDBService, error) {
service := &models.Service{}
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -184,7 +184,7 @@ func (ss *ServicesService) AddMongoDB(ctx context.Context, params *models.AddDBM
// AddPostgreSQL inserts PostgreSQL Service with given parameters.
//
//nolint:dupl,unparam
-func (ss *ServicesService) AddPostgreSQL(ctx context.Context, params *models.AddDBMSServiceParams) (*inventorypb.PostgreSQLService, error) {
+func (ss *ServicesService) AddPostgreSQL(_ context.Context, params *models.AddDBMSServiceParams) (*inventorypb.PostgreSQLService, error) {
service := &models.Service{}
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -208,7 +208,7 @@ func (ss *ServicesService) AddPostgreSQL(ctx context.Context, params *models.Add
// AddProxySQL inserts ProxySQL Service with given parameters.
//
//nolint:dupl,unparam
-func (ss *ServicesService) AddProxySQL(ctx context.Context, params *models.AddDBMSServiceParams) (*inventorypb.ProxySQLService, error) {
+func (ss *ServicesService) AddProxySQL(_ context.Context, params *models.AddDBMSServiceParams) (*inventorypb.ProxySQLService, error) {
service := &models.Service{}
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
@@ -251,7 +251,7 @@ func (ss *ServicesService) AddHAProxyService(_ context.Context, params *models.A
// AddExternalService inserts External Service with given parameters.
//
//nolint:dupl,unparam
-func (ss *ServicesService) AddExternalService(ctx context.Context, params *models.AddDBMSServiceParams) (*inventorypb.ExternalService, error) {
+func (ss *ServicesService) AddExternalService(_ context.Context, params *models.AddDBMSServiceParams) (*inventorypb.ExternalService, error) {
service := &models.Service{}
e := ss.db.InTransaction(func(tx *reform.TX) error {
var err error
diff --git a/managed/services/management/backup/artifacts_service.go b/managed/services/management/backup/artifacts_service.go
index c478591a3b..d864546f83 100644
--- a/managed/services/management/backup/artifacts_service.go
+++ b/managed/services/management/backup/artifacts_service.go
@@ -107,7 +107,7 @@ func (s *ArtifactsService) ListArtifacts(context.Context, *backuppb.ListArtifact
// DeleteArtifact deletes specified artifact and its files.
func (s *ArtifactsService) DeleteArtifact(
- ctx context.Context,
+ ctx context.Context, //nolint:revive
req *backuppb.DeleteArtifactRequest,
) (*backuppb.DeleteArtifactResponse, error) {
artifact, err := models.FindArtifactByID(s.db.Querier, req.ArtifactId)
diff --git a/managed/services/management/backup/backups_service.go b/managed/services/management/backup/backups_service.go
index f3d58b3d91..d66b4a075e 100644
--- a/managed/services/management/backup/backups_service.go
+++ b/managed/services/management/backup/backups_service.go
@@ -265,7 +265,7 @@ func (s *BackupsService) ScheduleBackup(ctx context.Context, req *backuppb.Sched
}
// ListScheduledBackups lists all tasks related to a backup.
-func (s *BackupsService) ListScheduledBackups(ctx context.Context, req *backuppb.ListScheduledBackupsRequest) (*backuppb.ListScheduledBackupsResponse, error) {
+func (s *BackupsService) ListScheduledBackups(ctx context.Context, req *backuppb.ListScheduledBackupsRequest) (*backuppb.ListScheduledBackupsResponse, error) { //nolint:revive,lll
tasks, err := models.FindScheduledTasks(s.db.Querier, models.ScheduledTasksFilter{
Types: []models.ScheduledTaskType{
models.ScheduledMySQLBackupTask,
@@ -446,7 +446,7 @@ func (s *BackupsService) RemoveScheduledBackup(ctx context.Context, req *backupp
}
// GetLogs returns logs from the underlying tools for a backup/restore job.
-func (s *BackupsService) GetLogs(ctx context.Context, req *backuppb.GetLogsRequest) (*backuppb.GetLogsResponse, error) {
+func (s *BackupsService) GetLogs(_ context.Context, req *backuppb.GetLogsRequest) (*backuppb.GetLogsResponse, error) {
jobsFilter := models.JobsFilter{
Types: []models.JobType{
models.MySQLBackupJob,
diff --git a/managed/services/management/backup/locations_service.go b/managed/services/management/backup/locations_service.go
index a81dca8aa0..537bb01411 100644
--- a/managed/services/management/backup/locations_service.go
+++ b/managed/services/management/backup/locations_service.go
@@ -58,7 +58,7 @@ func (s *LocationsService) Enabled() bool {
}
// ListLocations returns list of all available backup locations.
-func (s *LocationsService) ListLocations(ctx context.Context, req *backuppb.ListLocationsRequest) (*backuppb.ListLocationsResponse, error) {
+func (s *LocationsService) ListLocations(_ context.Context, _ *backuppb.ListLocationsRequest) (*backuppb.ListLocationsResponse, error) {
locations, err := models.FindBackupLocations(s.db.Querier)
if err != nil {
return nil, err
@@ -222,7 +222,7 @@ func (s *LocationsService) TestLocationConfig(
}
// RemoveLocation removes backup location.
-func (s *LocationsService) RemoveLocation(ctx context.Context, req *backuppb.RemoveLocationRequest) (*backuppb.RemoveLocationResponse, error) {
+func (s *LocationsService) RemoveLocation(_ context.Context, req *backuppb.RemoveLocationRequest) (*backuppb.RemoveLocationResponse, error) {
mode := models.RemoveRestrict
if req.Force {
mode = models.RemoveCascade
diff --git a/managed/services/management/checks.go b/managed/services/management/checks.go
index d1d8049c2b..012f58b72d 100644
--- a/managed/services/management/checks.go
+++ b/managed/services/management/checks.go
@@ -172,7 +172,7 @@ func (s *ChecksAPIService) GetFailedChecks(ctx context.Context, req *managementp
}
// ToggleCheckAlert toggles the silence state of the check with the provided alertID.
-func (s *ChecksAPIService) ToggleCheckAlert(ctx context.Context, req *managementpb.ToggleCheckAlertRequest) (*managementpb.ToggleCheckAlertResponse, error) {
+func (s *ChecksAPIService) ToggleCheckAlert(ctx context.Context, req *managementpb.ToggleCheckAlertRequest) (*managementpb.ToggleCheckAlertResponse, error) { //nolint:revive,lll
return nil, status.Error(codes.NotFound, "Advisor alerts silencing is not supported anymore.")
}
@@ -250,6 +250,7 @@ func (s *ChecksAPIService) ListSecurityChecks(_ context.Context, _ *managementpb
return &managementpb.ListSecurityChecksResponse{Checks: res}, nil
}
+// ListAdvisors retrieves a list of advisors based on the provided request.
func (s *ChecksAPIService) ListAdvisors(_ context.Context, _ *managementpb.ListAdvisorsRequest) (*managementpb.ListAdvisorsResponse, error) {
disChecks, err := s.checksService.GetDisabledChecks()
if err != nil {
diff --git a/managed/services/management/common/common.go b/managed/services/management/common/common.go
index 9697e70451..5a901ce90b 100644
--- a/managed/services/management/common/common.go
+++ b/managed/services/management/common/common.go
@@ -30,6 +30,7 @@ import (
// ErrClusterLocked is returned when there is an unfinished job that doesn't allow to change service cluster name.
var ErrClusterLocked = errors.New("cluster/service is locked")
+// MgmtServices represents a collection of management services.
type MgmtServices struct {
BackupsService *managementbackup.BackupsService
ArtifactsService *managementbackup.ArtifactsService
diff --git a/managed/services/management/dump/dump.go b/managed/services/management/dump/dump.go
index 6ea6026c6b..98b20794b1 100644
--- a/managed/services/management/dump/dump.go
+++ b/managed/services/management/dump/dump.go
@@ -42,6 +42,7 @@ import (
"github.com/percona/pmm/managed/services/grafana"
)
+// Service represents a structure for managing dump-related operations.
type Service struct {
db *reform.DB
l *logrus.Entry
@@ -52,6 +53,7 @@ type Service struct {
dumpv1beta1.UnimplementedDumpsServer
}
+// New creates a new instance of the Service with the provided dependencies.
func New(db *reform.DB, grafanaClient *grafana.Client, dumpService dumpService) *Service {
return &Service{
db: db,
@@ -61,6 +63,7 @@ func New(db *reform.DB, grafanaClient *grafana.Client, dumpService dumpService)
}
}
+// StartDump starts a dump based on the provided context and request.
func (s *Service) StartDump(ctx context.Context, req *dumpv1beta1.StartDumpRequest) (*dumpv1beta1.StartDumpResponse, error) {
md, ok := metadata.FromIncomingContext(ctx)
if !ok {
@@ -137,6 +140,7 @@ func (s *Service) StartDump(ctx context.Context, req *dumpv1beta1.StartDumpReque
return &dumpv1beta1.StartDumpResponse{DumpId: dumpID}, nil
}
+// ListDumps lists dumps based on the provided context and request.
func (s *Service) ListDumps(_ context.Context, _ *dumpv1beta1.ListDumpsRequest) (*dumpv1beta1.ListDumpsResponse, error) {
dumps, err := models.FindDumps(s.db.Querier, models.DumpFilters{})
if err != nil {
@@ -158,6 +162,7 @@ func (s *Service) ListDumps(_ context.Context, _ *dumpv1beta1.ListDumpsRequest)
}, nil
}
+// DeleteDump deletes a dump based on the provided context and request.
func (s *Service) DeleteDump(_ context.Context, req *dumpv1beta1.DeleteDumpRequest) (*dumpv1beta1.DeleteDumpResponse, error) {
for _, id := range req.DumpIds {
if err := s.dumpService.DeleteDump(id); err != nil {
@@ -168,6 +173,7 @@ func (s *Service) DeleteDump(_ context.Context, req *dumpv1beta1.DeleteDumpReque
return &dumpv1beta1.DeleteDumpResponse{}, nil
}
+// GetDumpLogs retrieves dump logs based on the provided context and request.
func (s *Service) GetDumpLogs(_ context.Context, req *dumpv1beta1.GetLogsRequest) (*dumpv1beta1.GetLogsResponse, error) {
filter := models.DumpLogsFilter{
DumpID: req.DumpId,
@@ -199,6 +205,7 @@ func (s *Service) GetDumpLogs(_ context.Context, req *dumpv1beta1.GetLogsRequest
return res, nil
}
+// UploadDump uploads a dump based on the provided context and request.
func (s *Service) UploadDump(_ context.Context, req *dumpv1beta1.UploadDumpRequest) (*dumpv1beta1.UploadDumpResponse, error) {
filePaths, err := s.dumpService.GetFilePathsForDumps(req.DumpIds)
if err != nil {
diff --git a/managed/services/management/external.go b/managed/services/management/external.go
index 7bb3253f8c..138d03f8cf 100644
--- a/managed/services/management/external.go
+++ b/managed/services/management/external.go
@@ -48,6 +48,7 @@ func NewExternalService(db *reform.DB, vmdb prometheusService, state agentsState
}
}
+// AddExternal adds an external service based on the provided request.
func (e *ExternalService) AddExternal(ctx context.Context, req *managementpb.AddExternalRequest) (*managementpb.AddExternalResponse, error) {
res := &managementpb.AddExternalResponse{}
var pmmAgentID *string
diff --git a/managed/services/management/grpc/actions_server.go b/managed/services/management/grpc/actions_server.go
index b1c2ba947a..da05fdac73 100644
--- a/managed/services/management/grpc/actions_server.go
+++ b/managed/services/management/grpc/actions_server.go
@@ -51,7 +51,7 @@ func NewActionsServer(a *agents.ActionsService, db *reform.DB) managementpb.Acti
}
// GetAction gets an action result.
-func (s *actionsServer) GetAction(ctx context.Context, req *managementpb.GetActionRequest) (*managementpb.GetActionResponse, error) {
+func (s *actionsServer) GetAction(ctx context.Context, req *managementpb.GetActionRequest) (*managementpb.GetActionResponse, error) { //nolint:revive
res, err := models.FindActionResultByID(s.db.Querier, req.ActionId)
if err != nil {
return nil, err
diff --git a/managed/services/management/haproxy.go b/managed/services/management/haproxy.go
index 320b7bd1b5..94731d6de5 100644
--- a/managed/services/management/haproxy.go
+++ b/managed/services/management/haproxy.go
@@ -48,6 +48,7 @@ func NewHAProxyService(db *reform.DB, vmdb prometheusService, state agentsStateU
}
}
+// AddHAProxy adds an HAProxy service based on the provided request.
func (e HAProxyService) AddHAProxy(ctx context.Context, req *managementpb.AddHAProxyRequest) (*managementpb.AddHAProxyResponse, error) {
res := &managementpb.AddHAProxyResponse{}
var pmmAgentID *string
diff --git a/managed/services/management/node_mgmt_test.go b/managed/services/management/node_mgmt_test.go
index 87bb250a4b..3fd3c7a014 100644
--- a/managed/services/management/node_mgmt_test.go
+++ b/managed/services/management/node_mgmt_test.go
@@ -44,7 +44,7 @@ func TestMgmtNodeService(t *testing.T) {
t.Run("ListNodes", func(t *testing.T) {
now = models.Now()
- setup := func(t *testing.T) (ctx context.Context, s *MgmtNodeService, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (context.Context, *MgmtNodeService, func(t *testing.T)) {
t.Helper()
origNowF := models.Now
@@ -52,7 +52,7 @@ func TestMgmtNodeService(t *testing.T) {
return now
}
- ctx = logger.Set(context.Background(), t.Name())
+ ctx := logger.Set(context.Background(), t.Name())
uuid.SetRand(&tests.IDReader{})
sqlDB := testdb.Open(t, models.SetupFixtures, nil)
@@ -64,9 +64,9 @@ func TestMgmtNodeService(t *testing.T) {
vmClient := &mockVictoriaMetricsClient{}
vmClient.Test(t)
- s = NewMgmtNodeService(db, ar, vmClient)
+ s := NewMgmtNodeService(db, ar, vmClient)
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
models.Now = origNowF
uuid.SetRand(nil)
@@ -75,7 +75,7 @@ func TestMgmtNodeService(t *testing.T) {
ar.AssertExpectations(t)
}
- return //nolint:nakedret
+ return ctx, s, teardown
}
const (
@@ -239,14 +239,14 @@ func TestMgmtNodeService(t *testing.T) {
t.Run("GetNode", func(t *testing.T) {
now := models.Now()
- setup := func(t *testing.T) (ctx context.Context, s *MgmtNodeService, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (context.Context, *MgmtNodeService, func(t *testing.T)) {
t.Helper()
origNowF := models.Now
models.Now = func() time.Time {
return now
}
- ctx = logger.Set(context.Background(), t.Name())
+ ctx := logger.Set(context.Background(), t.Name())
uuid.SetRand(&tests.IDReader{})
sqlDB := testdb.Open(t, models.SetupFixtures, nil)
@@ -258,9 +258,9 @@ func TestMgmtNodeService(t *testing.T) {
vmClient := &mockVictoriaMetricsClient{}
vmClient.Test(t)
- s = NewMgmtNodeService(db, ar, vmClient)
+ s := NewMgmtNodeService(db, ar, vmClient)
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
models.Now = origNowF
uuid.SetRand(nil)
@@ -269,7 +269,7 @@ func TestMgmtNodeService(t *testing.T) {
ar.AssertExpectations(t)
}
- return //nolint:nakedret
+ return ctx, s, teardown
}
t.Run("should query the node by its id", func(t *testing.T) {
diff --git a/managed/services/management/rds.go b/managed/services/management/rds.go
index 74f9df84d7..2ff44d2c30 100644
--- a/managed/services/management/rds.go
+++ b/managed/services/management/rds.go
@@ -368,13 +368,14 @@ func (s *RDSService) AddRDS(ctx context.Context, req *managementpb.AddRDSRequest
// add MySQL PerfSchema QAN Agent
if req.QanMysqlPerfschema {
qanAgent, err := models.CreateAgent(tx.Querier, models.QANMySQLPerfSchemaAgentType, &models.CreateAgentParams{
- PMMAgentID: models.PMMServerAgentID,
- ServiceID: service.ServiceID,
- Username: req.Username,
- Password: req.Password,
- TLS: req.Tls,
- TLSSkipVerify: req.TlsSkipVerify,
- QueryExamplesDisabled: req.DisableQueryExamples,
+ PMMAgentID: models.PMMServerAgentID,
+ ServiceID: service.ServiceID,
+ Username: req.Username,
+ Password: req.Password,
+ TLS: req.Tls,
+ TLSSkipVerify: req.TlsSkipVerify,
+ QueryExamplesDisabled: req.DisableQueryExamples,
+ CommentsParsingDisabled: req.DisableCommentsParsing,
})
if err != nil {
return err
@@ -446,16 +447,17 @@ func (s *RDSService) AddRDS(ctx context.Context, req *managementpb.AddRDSRequest
}
}
- // add MySQL PerfSchema QAN Agent
+ // add PostgreSQL Pgstatements QAN Agent
if req.QanPostgresqlPgstatements {
qanAgent, err := models.CreateAgent(tx.Querier, models.QANPostgreSQLPgStatementsAgentType, &models.CreateAgentParams{
- PMMAgentID: models.PMMServerAgentID,
- ServiceID: service.ServiceID,
- Username: req.Username,
- Password: req.Password,
- TLS: req.Tls,
- TLSSkipVerify: req.TlsSkipVerify,
- QueryExamplesDisabled: req.DisableQueryExamples,
+ PMMAgentID: models.PMMServerAgentID,
+ ServiceID: service.ServiceID,
+ Username: req.Username,
+ Password: req.Password,
+ TLS: req.Tls,
+ TLSSkipVerify: req.TlsSkipVerify,
+ QueryExamplesDisabled: req.DisableQueryExamples,
+ CommentsParsingDisabled: req.DisableCommentsParsing,
})
if err != nil {
return err
diff --git a/managed/services/management/rds_test.go b/managed/services/management/rds_test.go
index bd21fbbdc6..40ea6b8569 100644
--- a/managed/services/management/rds_test.go
+++ b/managed/services/management/rds_test.go
@@ -80,6 +80,7 @@ func TestRDSService(t *testing.T) {
"ap-southeast-3",
"ap-southeast-4",
"ca-central-1",
+ "ca-west-1",
"cn-north-1",
"cn-northwest-1",
"eu-central-1",
diff --git a/managed/services/platform/platform.go b/managed/services/platform/platform.go
index 4b75510ed9..90df9c0506 100644
--- a/managed/services/platform/platform.go
+++ b/managed/services/platform/platform.go
@@ -203,6 +203,7 @@ func (s *Service) forceDisconnect(ctx context.Context) error {
return nil
}
+// UpdateSupervisordConfigurations updates supervisord configurations for the service.
func (s *Service) UpdateSupervisordConfigurations(ctx context.Context) error {
settings, err := models.GetSettings(s.db)
if err != nil {
@@ -378,6 +379,7 @@ func (s *Service) GetContactInformation(ctx context.Context, _ *platformpb.GetCo
return response, nil
}
+// ServerInfo retrieves server information based on the provided context and request.
func (s *Service) ServerInfo(ctx context.Context, _ *platformpb.ServerInfoRequest) (*platformpb.ServerInfoResponse, error) {
settings, err := models.GetSettings(s.db)
if err != nil {
diff --git a/managed/services/scheduler/scheduler.go b/managed/services/scheduler/scheduler.go
index bce97c3832..829dc0ab33 100644
--- a/managed/services/scheduler/scheduler.go
+++ b/managed/services/scheduler/scheduler.go
@@ -251,7 +251,6 @@ func (s *Service) wrapTask(task Task, id string) func() {
_, err = models.ChangeScheduledTask(s.db.Querier, id, models.ChangeScheduledTaskParams{
Running: pointer.ToBool(true),
})
-
if err != nil {
l.Errorf("failed to change running state: %v", err)
}
diff --git a/managed/services/server/server.go b/managed/services/server/server.go
index 7f30ca880c..61c314bbaf 100644
--- a/managed/services/server/server.go
+++ b/managed/services/server/server.go
@@ -202,7 +202,7 @@ func (s *Server) Version(ctx context.Context, req *serverpb.VersionRequest) (*se
// Readiness returns an error when some PMM Server component is not ready yet or is being restarted.
// It can be used as for Docker health check or Kubernetes readiness probe.
-func (s *Server) Readiness(ctx context.Context, req *serverpb.ReadinessRequest) (*serverpb.ReadinessResponse, error) {
+func (s *Server) Readiness(ctx context.Context, req *serverpb.ReadinessRequest) (*serverpb.ReadinessResponse, error) { //nolint:revive
var notReady bool
for n, svc := range map[string]healthChecker{
"grafana": s.grafanaClient,
@@ -225,7 +225,7 @@ func (s *Server) Readiness(ctx context.Context, req *serverpb.ReadinessRequest)
// LeaderHealthCheck checks if the instance is the leader in a cluster.
// Returns an error if the instance isn't the leader.
// It's used for HA purpose.
-func (s *Server) LeaderHealthCheck(ctx context.Context, req *serverpb.LeaderHealthCheckRequest) (*serverpb.LeaderHealthCheckResponse, error) {
+func (s *Server) LeaderHealthCheck(ctx context.Context, req *serverpb.LeaderHealthCheckRequest) (*serverpb.LeaderHealthCheckResponse, error) { //nolint:revive
if s.haService.IsLeader() {
return &serverpb.LeaderHealthCheckResponse{}, nil
}
@@ -305,7 +305,7 @@ func (s *Server) CheckUpdates(ctx context.Context, req *serverpb.CheckUpdatesReq
}
// StartUpdate starts PMM Server update.
-func (s *Server) StartUpdate(ctx context.Context, req *serverpb.StartUpdateRequest) (*serverpb.StartUpdateResponse, error) {
+func (s *Server) StartUpdate(ctx context.Context, req *serverpb.StartUpdateRequest) (*serverpb.StartUpdateResponse, error) { //nolint:revive
s.envRW.RLock()
updatesDisabled := s.envSettings.DisableUpdates
s.envRW.RUnlock()
@@ -453,7 +453,7 @@ func (s *Server) convertSettings(settings *models.Settings, connectedToPlatform
}
// GetSettings returns current PMM Server settings.
-func (s *Server) GetSettings(ctx context.Context, req *serverpb.GetSettingsRequest) (*serverpb.GetSettingsResponse, error) {
+func (s *Server) GetSettings(ctx context.Context, req *serverpb.GetSettingsRequest) (*serverpb.GetSettingsResponse, error) { //nolint:revive
s.envRW.RLock()
defer s.envRW.RUnlock()
@@ -710,7 +710,7 @@ func (s *Server) writeSSHKey(sshKey string) error {
}
// AWSInstanceCheck checks AWS EC2 instance ID.
-func (s *Server) AWSInstanceCheck(ctx context.Context, req *serverpb.AWSInstanceCheckRequest) (*serverpb.AWSInstanceCheckResponse, error) {
+func (s *Server) AWSInstanceCheck(ctx context.Context, req *serverpb.AWSInstanceCheckRequest) (*serverpb.AWSInstanceCheckResponse, error) { //nolint:revive
if err := s.awsInstanceChecker.check(req.InstanceId); err != nil {
return nil, err
}
diff --git a/managed/services/supervisord/supervisord.go b/managed/services/supervisord/supervisord.go
index d3a5c310fd..2d94414418 100644
--- a/managed/services/supervisord/supervisord.go
+++ b/managed/services/supervisord/supervisord.go
@@ -22,6 +22,7 @@ import (
"context"
"fmt"
"io"
+ "io/fs"
"net/url"
"os"
"os/exec"
@@ -47,9 +48,17 @@ import (
)
const (
- defaultClickhouseDatabase = "pmm"
- defaultClickhouseAddr = "127.0.0.1:9000"
- defaultClickhouseDataSourceAddr = "127.0.0.1:8123"
+ defaultClickhouseDatabase = "pmm"
+ defaultClickhouseAddr = "127.0.0.1:9000"
+ defaultClickhouseDataSourceAddr = "127.0.0.1:8123"
+ defaultVMSearchMaxQueryLen = "1MB"
+ defaultVMSearchLatencyOffset = "5s"
+ defaultVMSearchMaxUniqueTimeseries = "100000000"
+ defaultVMSearchMaxSamplesPerQuery = "1500000000"
+ defaultVMSearchMaxQueueDuration = "30s"
+ defaultVMSearchMaxQueryDuration = "90s"
+ defaultVMSearchLogSlowQueryDuration = "30s"
+ defaultVMPromscrapeStreamParse = "true"
)
// Service is responsible for interactions with Supervisord via supervisorctl.
@@ -255,7 +264,7 @@ func (s *Service) StartUpdate() (uint32, error) {
// remove existing log file
err := os.Remove(pmmUpdatePerformLog)
- if err != nil && os.IsNotExist(err) {
+ if err != nil && errors.Is(err, fs.ErrNotExist) {
err = nil
}
if err != nil {
@@ -290,7 +299,7 @@ func (s *Service) StartUpdate() (uint32, error) {
s.l.Warnf("Unexpected log file size: %+v", fi)
}
offset = uint32(fi.Size())
- case os.IsNotExist(err):
+ case errors.Is(err, fs.ErrNotExist):
// that's expected as we remove this file above
default:
s.l.Warn(err)
@@ -419,22 +428,39 @@ func (s *Service) marshalConfig(tmpl *template.Template, settings *models.Settin
clickhousePoolSize := getValueFromENV("PERCONA_TEST_PMM_CLICKHOUSE_POOL_SIZE", "")
clickhouseBlockSize := getValueFromENV("PERCONA_TEST_PMM_CLICKHOUSE_BLOCK_SIZE", "")
clickhouseAddrPair := strings.SplitN(clickhouseAddr, ":", 2)
+ vmSearchDisableCache := getValueFromENV("VM_search_disableCache", strconv.FormatBool(!settings.VictoriaMetrics.CacheEnabled))
+ vmSearchMaxQueryLen := getValueFromENV("VM_search_maxQueryLen", defaultVMSearchMaxQueryLen)
+ vmSearchLatencyOffset := getValueFromENV("VM_search_latencyOffset", defaultVMSearchLatencyOffset)
+ vmSearchMaxUniqueTimeseries := getValueFromENV("VM_search_maxUniqueTimeseries", defaultVMSearchMaxUniqueTimeseries)
+ vmSearchMaxSamplesPerQuery := getValueFromENV("VM_search_maxSamplesPerQuery", defaultVMSearchMaxSamplesPerQuery)
+ vmSearchMaxQueueDuration := getValueFromENV("VM_search_maxQueueDuration", defaultVMSearchMaxQueueDuration)
+ vmSearchMaxQueryDuration := getValueFromENV("VM_search_maxQueryDuration", defaultVMSearchMaxQueryDuration)
+ vmSearchLogSlowQueryDuration := getValueFromENV("VM_search_logSlowQueryDuration", defaultVMSearchLogSlowQueryDuration)
+ vmPromscrapeStreamParse := getValueFromENV("VM_promscrape_streamParse", defaultVMPromscrapeStreamParse)
templateParams := map[string]interface{}{
- "DataRetentionHours": int(settings.DataRetention.Hours()),
- "DataRetentionDays": int(settings.DataRetention.Hours() / 24),
- "VMAlertFlags": s.vmParams.VMAlertFlags,
- "VMDBCacheDisable": !settings.VictoriaMetrics.CacheEnabled,
- "VMURL": s.vmParams.URL(),
- "ExternalVM": s.vmParams.ExternalVM(),
- "InterfaceToBind": envvars.GetInterfaceToBind(),
- "ClickhouseAddr": clickhouseAddr,
- "ClickhouseDataSourceAddr": clickhouseDataSourceAddr,
- "ClickhouseDatabase": clickhouseDatabase,
- "ClickhousePoolSize": clickhousePoolSize,
- "ClickhouseBlockSize": clickhouseBlockSize,
- "ClickhouseHost": clickhouseAddrPair[0],
- "ClickhousePort": clickhouseAddrPair[1],
+ "DataRetentionHours": int(settings.DataRetention.Hours()),
+ "DataRetentionDays": int(settings.DataRetention.Hours() / 24),
+ "VMAlertFlags": s.vmParams.VMAlertFlags,
+ "VMSearchDisableCache": vmSearchDisableCache,
+ "VMSearchMaxQueryLen": vmSearchMaxQueryLen,
+ "VMSearchLatencyOffset": vmSearchLatencyOffset,
+ "VMSearchMaxUniqueTimeseries": vmSearchMaxUniqueTimeseries,
+ "VMSearchMaxSamplesPerQuery": vmSearchMaxSamplesPerQuery,
+ "VMSearchMaxQueueDuration": vmSearchMaxQueueDuration,
+ "VMSearchMaxQueryDuration": vmSearchMaxQueryDuration,
+ "VMSearchLogSlowQueryDuration": vmSearchLogSlowQueryDuration,
+ "VMPromscrapeStreamParse": vmPromscrapeStreamParse,
+ "VMURL": s.vmParams.URL(),
+ "ExternalVM": s.vmParams.ExternalVM(),
+ "InterfaceToBind": envvars.GetInterfaceToBind(),
+ "ClickhouseAddr": clickhouseAddr,
+ "ClickhouseDataSourceAddr": clickhouseDataSourceAddr,
+ "ClickhouseDatabase": clickhouseDatabase,
+ "ClickhousePoolSize": clickhousePoolSize,
+ "ClickhouseBlockSize": clickhouseBlockSize,
+ "ClickhouseHost": clickhouseAddrPair[0],
+ "ClickhousePort": clickhouseAddrPair[1],
}
s.addPostgresParams(templateParams)
@@ -442,14 +468,13 @@ func (s *Service) marshalConfig(tmpl *template.Template, settings *models.Settin
templateParams["PMMServerHost"] = ""
if settings.PMMPublicAddress != "" {
- publicURL, err := url.Parse(settings.PMMPublicAddress)
- if err != nil {
- return nil, errors.Wrap(err, "failed to parse PMM public address.")
+ pmmPublicAddress := settings.PMMPublicAddress
+ if !strings.HasPrefix(pmmPublicAddress, "https://") && !strings.HasPrefix(pmmPublicAddress, "http://") {
+ pmmPublicAddress = fmt.Sprintf("https://%s", pmmPublicAddress)
}
- if publicURL.Host == "" {
- if publicURL, err = url.Parse(fmt.Sprintf("https://%s", settings.PMMPublicAddress)); err != nil {
- return nil, errors.Wrap(err, "failed to parse PMM public address.")
- }
+ publicURL, err := url.Parse(pmmPublicAddress)
+ if err != nil {
+ return nil, errors.Wrap(err, "failed to parse PMM public address.") //nolint:revive
}
templateParams["PMMServerHost"] = publicURL.Host
}
@@ -511,7 +536,7 @@ func (s *Service) saveConfigAndReload(name string, cfg []byte) (bool, error) {
// read existing content
path := filepath.Join(s.configDir, name+".ini")
oldCfg, err := os.ReadFile(path) //nolint:gosec
- if os.IsNotExist(err) {
+ if errors.Is(err, fs.ErrNotExist) {
err = nil
}
if err != nil {
@@ -617,15 +642,15 @@ command =
--retentionPeriod={{ .DataRetentionDays }}d
--storageDataPath=/srv/victoriametrics/data
--httpListenAddr={{ .InterfaceToBind }}:9090
- --search.disableCache={{ .VMDBCacheDisable }}
- --search.maxQueryLen=1MB
- --search.latencyOffset=5s
- --search.maxUniqueTimeseries=100000000
- --search.maxSamplesPerQuery=1500000000
- --search.maxQueueDuration=30s
- --search.logSlowQueryDuration=30s
- --search.maxQueryDuration=90s
- --promscrape.streamParse=true
+ --search.disableCache={{ .VMSearchDisableCache }}
+ --search.maxQueryLen={{ .VMSearchMaxQueryLen }}
+ --search.latencyOffset={{ .VMSearchLatencyOffset }}
+ --search.maxUniqueTimeseries={{ .VMSearchMaxUniqueTimeseries }}
+ --search.maxSamplesPerQuery={{ .VMSearchMaxSamplesPerQuery }}
+ --search.maxQueueDuration={{ .VMSearchMaxQueueDuration }}
+ --search.logSlowQueryDuration={{ .VMSearchLogSlowQueryDuration }}
+ --search.maxQueryDuration={{ .VMSearchMaxQueryDuration }}
+ --promscrape.streamParse={{ .VMPromscrapeStreamParse }}
--http.pathPrefix=/prometheus
--envflag.enable
--envflag.prefix=VM_
diff --git a/managed/services/supervisord/supervisord_test.go b/managed/services/supervisord/supervisord_test.go
index 1aea3d39cc..b0fe8ef8b3 100644
--- a/managed/services/supervisord/supervisord_test.go
+++ b/managed/services/supervisord/supervisord_test.go
@@ -29,9 +29,10 @@ import (
"github.com/percona/pmm/managed/models"
)
+const gRPCMessageMaxSize = uint32(100 * 1024 * 1024)
+
func TestConfig(t *testing.T) {
t.Parallel()
- gRPCMessageMaxSize := uint32(100 * 1024 * 1024)
pmmUpdateCheck := NewPMMUpdateChecker(logrus.WithField("component", "supervisord/pmm-update-checker_logs"))
configDir := filepath.Join("..", "..", "testdata", "supervisord.d")
@@ -49,7 +50,8 @@ func TestConfig(t *testing.T) {
}
s := New(configDir, pmmUpdateCheck, &models.Params{VMParams: vmParams, PGParams: pgParams, HAParams: &models.HAParams{}}, gRPCMessageMaxSize)
settings := &models.Settings{
- DataRetention: 30 * 24 * time.Hour,
+ DataRetention: 30 * 24 * time.Hour,
+ PMMPublicAddress: "192.168.0.42:8443",
}
settings.VictoriaMetrics.CacheEnabled = false
@@ -70,6 +72,55 @@ func TestConfig(t *testing.T) {
}
}
+func TestConfigVictoriaMetricsEnvvars(t *testing.T) {
+ pmmUpdateCheck := NewPMMUpdateChecker(logrus.WithField("component", "supervisord/pmm-update-checker_logs"))
+ configDir := filepath.Join("..", "..", "testdata", "supervisord.d")
+ vmParams, err := models.NewVictoriaMetricsParams(models.BasePrometheusConfigPath, models.VMBaseURL)
+ require.NoError(t, err)
+ pgParams := &models.PGParams{
+ Addr: "127.0.0.1:5432",
+ DBName: "postgres",
+ DBUsername: "db_username",
+ DBPassword: "db_password",
+ SSLMode: "verify",
+ SSLCAPath: "path-to-CA-cert",
+ SSLKeyPath: "path-to-key",
+ SSLCertPath: "path-to-cert",
+ }
+ s := New(configDir, pmmUpdateCheck, &models.Params{VMParams: vmParams, PGParams: pgParams, HAParams: &models.HAParams{}}, gRPCMessageMaxSize)
+ settings := &models.Settings{
+ DataRetention: 30 * 24 * time.Hour,
+ PMMPublicAddress: "192.168.0.42:8443",
+ }
+ settings.VictoriaMetrics.CacheEnabled = false
+
+ // Test environment variables being passed to VictoriaMetrics.
+ t.Setenv("VM_search_maxQueryLen", "2MB")
+ t.Setenv("VM_search_latencyOffset", "10s")
+ t.Setenv("VM_search_maxUniqueTimeseries", "500000000")
+ t.Setenv("VM_search_maxSamplesPerQuery", "1600000000")
+ t.Setenv("VM_search_maxQueueDuration", "100s")
+ t.Setenv("VM_search_logSlowQueryDuration", "300s")
+ t.Setenv("VM_search_maxQueryDuration", "9s")
+ t.Setenv("VM_promscrape_streamParse", "false")
+
+ for _, tmpl := range templates.Templates() {
+ n := tmpl.Name()
+ if n != "victoriametrics" { // just test the VM template
+ continue
+ }
+
+ tmpl := tmpl
+ t.Run(tmpl.Name(), func(t *testing.T) {
+ expected, err := os.ReadFile(filepath.Join(configDir, tmpl.Name()+"_envvars.ini")) //nolint:gosec
+ require.NoError(t, err)
+ actual, err := s.marshalConfig(tmpl, settings, nil)
+ require.NoError(t, err)
+ assert.Equal(t, string(expected), string(actual))
+ })
+ }
+}
+
func TestParseStatus(t *testing.T) {
t.Parallel()
diff --git a/managed/services/telemetry/config.default.yml b/managed/services/telemetry/config.default.yml
index c20443b82f..4e9aae6820 100644
--- a/managed/services/telemetry/config.default.yml
+++ b/managed/services/telemetry/config.default.yml
@@ -64,6 +64,14 @@ telemetry:
- metric_name: "pmm_server_updates_disabled"
column: "updates_disabled"
+ - id: PMMServerFirstServiceAdded
+ source: PMMDB_SELECT
+ query: EXTRACT(EPOCH FROM y.created_at::timestamp) - EXTRACT(EPOCH FROM x.created_at::timestamp) AS value_difference_sec FROM services x JOIN services y ON y.service_name != 'pmm-server-postgresql' WHERE x.service_name = 'pmm-server-postgresql' AND y.created_at = (SELECT MIN(created_at) FROM services WHERE service_name != 'pmm-server-postgresql');
+ summary: "Difference between PMM installation and the first real service added to PMM"
+ data:
+ - metric_name: "pmm_server_first_service_added_sec"
+ column: "value_difference_sec"
+
# Services Information
- id: MySQLVersion
source: VM
@@ -641,6 +649,22 @@ telemetry:
- metric_name: "pmm_server_node_os_version"
label: "release"
+ - id: PMMClientNodeOSName
+ source: VM
+ query: node_uname_info{node_id!="pmm-server"}
+ summary: "PMM Client node OS name"
+ data:
+ - metric_name: "pmm_client_node_os_name"
+ label: "sysname"
+
+ - id: PMMClientNodeOSVersion
+ source: VM
+ query: node_uname_info{node_id!="pmm-server"}
+ summary: "PMM Client node OS version"
+ data:
+ - metric_name: "pmm_client_node_os_version"
+ label: "release"
+
- id: PMMOSNameAndVersion
source: VM
query: node_os_info{node_id=~"pmm-server"}
diff --git a/managed/services/telemetry/config.go b/managed/services/telemetry/config.go
index 361aa4a561..006d0fb3ba 100644
--- a/managed/services/telemetry/config.go
+++ b/managed/services/telemetry/config.go
@@ -169,9 +169,11 @@ type ReportingConfig struct {
//go:embed config.default.yml
var defaultConfig string
+// ExtensionType represents the type of telemetry extension.
type ExtensionType string
const (
+ // UIEventsExtension is a constant for the UI events telemetry extension.
UIEventsExtension = ExtensionType("UIEventsExtension")
)
diff --git a/managed/services/telemetry/datasource_grafanadb_select.go b/managed/services/telemetry/datasource_grafanadb_select.go
index 9361ff93c4..172f9acc7c 100644
--- a/managed/services/telemetry/datasource_grafanadb_select.go
+++ b/managed/services/telemetry/datasource_grafanadb_select.go
@@ -52,7 +52,7 @@ func NewDsGrafanaDBSelect(config DSConfigGrafanaDB, l *logrus.Entry) DataSource
}
}
-func (d *dsGrafanaDBSelect) Init(ctx context.Context) error {
+func (d *dsGrafanaDBSelect) Init(ctx context.Context) error { //nolint:revive
db, err := openGrafanaDBConnection(d.config, d.l)
if err != nil {
return err
@@ -99,6 +99,6 @@ func (d *dsGrafanaDBSelect) FetchMetrics(ctx context.Context, config Config) ([]
return fetchMetricsFromDB(ctx, d.l, d.config.Timeout, d.db, config)
}
-func (d *dsGrafanaDBSelect) Dispose(ctx context.Context) error {
+func (d *dsGrafanaDBSelect) Dispose(ctx context.Context) error { //nolint:revive
return d.db.Close()
}
diff --git a/managed/services/telemetry/datasource_pmmdb_select.go b/managed/services/telemetry/datasource_pmmdb_select.go
index 09c9249b8c..bc230cb2b9 100644
--- a/managed/services/telemetry/datasource_pmmdb_select.go
+++ b/managed/services/telemetry/datasource_pmmdb_select.go
@@ -98,10 +98,10 @@ func (d *dsPmmDBSelect) FetchMetrics(ctx context.Context, config Config) ([]*pmm
return fetchMetricsFromDB(ctx, d.l, d.config.Timeout, d.db, config)
}
-func (d *dsPmmDBSelect) Init(ctx context.Context) error {
+func (d *dsPmmDBSelect) Init(ctx context.Context) error { //nolint:revive
return nil
}
-func (d *dsPmmDBSelect) Dispose(ctx context.Context) error {
+func (d *dsPmmDBSelect) Dispose(ctx context.Context) error { //nolint:revive
return nil
}
diff --git a/managed/services/telemetry/datasource_qandb_select.go b/managed/services/telemetry/datasource_qandb_select.go
index b458a0872c..17e20e583c 100644
--- a/managed/services/telemetry/datasource_qandb_select.go
+++ b/managed/services/telemetry/datasource_qandb_select.go
@@ -73,10 +73,10 @@ func (d *dsQanDBSelect) FetchMetrics(ctx context.Context, config Config) ([]*pmm
return fetchMetricsFromDB(ctx, d.l, d.config.Timeout, d.db, config)
}
-func (d *dsQanDBSelect) Init(ctx context.Context) error {
+func (d *dsQanDBSelect) Init(ctx context.Context) error { //nolint:revive
return nil
}
-func (d *dsQanDBSelect) Dispose(ctx context.Context) error {
+func (d *dsQanDBSelect) Dispose(ctx context.Context) error { //nolint:revive
return nil
}
diff --git a/managed/services/telemetry/datasource_victoria_metrics.go b/managed/services/telemetry/datasource_victoria_metrics.go
index 1757a774ac..91d8b77659 100644
--- a/managed/services/telemetry/datasource_victoria_metrics.go
+++ b/managed/services/telemetry/datasource_victoria_metrics.go
@@ -99,10 +99,10 @@ func (d *dataSourceVictoriaMetrics) FetchMetrics(ctx context.Context, config Con
return metrics, nil
}
-func (d *dataSourceVictoriaMetrics) Init(ctx context.Context) error {
+func (d *dataSourceVictoriaMetrics) Init(ctx context.Context) error { //nolint:revive
return nil
}
-func (d *dataSourceVictoriaMetrics) Dispose(ctx context.Context) error {
+func (d *dataSourceVictoriaMetrics) Dispose(ctx context.Context) error { //nolint:revive
return nil
}
diff --git a/managed/services/telemetry/telemetry.go b/managed/services/telemetry/telemetry.go
index d6951ae405..4106cee802 100644
--- a/managed/services/telemetry/telemetry.go
+++ b/managed/services/telemetry/telemetry.go
@@ -412,6 +412,7 @@ func (s *Service) send(ctx context.Context, report *reporter.ReportRequest) erro
}
}
+// Format returns the formatted representation of the provided server metric.
func (s *Service) Format(report *pmmv1.ServerMetric) string {
var builder strings.Builder
for _, m := range report.Metrics {
diff --git a/managed/services/telemetry/uievents/uievents.go b/managed/services/telemetry/uievents/uievents.go
index e66be330ba..7e58ca1f88 100644
--- a/managed/services/telemetry/uievents/uievents.go
+++ b/managed/services/telemetry/uievents/uievents.go
@@ -50,6 +50,7 @@ type Service struct {
uievents.UnimplementedUIEventsServer
}
+// DashboardUsageStat represents a structure for dashboard usage statistics.
type DashboardUsageStat struct {
title string
uid string
@@ -57,6 +58,7 @@ type DashboardUsageStat struct {
loadTime *hdrhistogram.Histogram
}
+// ComponentsUsageStat represents a structure for component usage statistics.
type ComponentsUsageStat struct {
uid string
useCount int32
@@ -93,6 +95,7 @@ func (s *Service) ScheduleCleanup(ctx context.Context) {
}()
}
+// FetchMetrics fetches metrics for the service based on the provided context and telemetry configuration.
func (s *Service) FetchMetrics(_ context.Context, _ telemetry.Config) ([]*pmmv1.ServerMetric_Metric, error) { //nolint:unparam
s.stateM.RLock()
defer s.stateM.RUnlock()
diff --git a/managed/services/types.go b/managed/services/types.go
index 646fee0ffc..805d2b7bc0 100644
--- a/managed/services/types.go
+++ b/managed/services/types.go
@@ -35,6 +35,7 @@ type Target struct {
TLSSkipVerify bool
}
+// Copy creates a copy of the Target instance.
func (t *Target) Copy() Target {
labels := make(map[string]string, len(t.Labels))
for k, v := range t.Labels {
diff --git a/managed/services/versioncache/errors.go b/managed/services/versioncache/errors.go
index 9ae6404f2d..7a0eba21b5 100644
--- a/managed/services/versioncache/errors.go
+++ b/managed/services/versioncache/errors.go
@@ -14,7 +14,6 @@
// along with this program. If not, see .
// Package versioncache provides service software version cache functionality.
-
package versioncache
import "github.com/pkg/errors"
diff --git a/managed/services/victoriametrics/scrape_configs.go b/managed/services/victoriametrics/scrape_configs.go
index 6ebe6a6453..547d285910 100644
--- a/managed/services/victoriametrics/scrape_configs.go
+++ b/managed/services/victoriametrics/scrape_configs.go
@@ -368,11 +368,16 @@ func scrapeConfigsForMongoDBExporter(s *models.MetricsResolutions, params *scrap
r = append(r, hr)
}
if params.agent.MongoDBOptions != nil && params.agent.MongoDBOptions.EnableAllCollectors {
- lr, err := scrapeConfigForStandardExporter("lr", s.LR, params, []string{
+ defaultCollectors := []string{
"dbstats",
"indexstats",
"collstats",
- })
+ }
+ if params.pmmAgentVersion != nil && !params.pmmAgentVersion.Less(version.MustParse("2.41.1-0")) {
+ defaultCollectors = append(defaultCollectors, "shards")
+ }
+
+ lr, err := scrapeConfigForStandardExporter("lr", s.LR, params, defaultCollectors)
if err != nil {
return nil, err
}
diff --git a/managed/services/victoriametrics/scrape_configs_test.go b/managed/services/victoriametrics/scrape_configs_test.go
index 29d08272dc..c8ac503da9 100644
--- a/managed/services/victoriametrics/scrape_configs_test.go
+++ b/managed/services/victoriametrics/scrape_configs_test.go
@@ -752,7 +752,7 @@ func TestScrapeConfig(t *testing.T) {
ScrapeTimeout: scrapeTimeout(s.LR),
MetricsPath: "/metrics",
Params: map[string][]string{
- "collect[]": {"collstats", "dbstats", "indexstats"},
+ "collect[]": {"collstats", "dbstats", "indexstats", "shards"},
},
HTTPClientConfig: config.HTTPClientConfig{
BasicAuth: &config.BasicAuth{
@@ -784,7 +784,7 @@ func TestScrapeConfig(t *testing.T) {
node: node,
service: service,
agent: agent,
- pmmAgentVersion: version.MustParse("2.26.0"),
+ pmmAgentVersion: version.MustParse("2.41.1"),
})
require.NoError(t, err)
require.Len(t, actual, len(expected))
diff --git a/managed/services/victoriametrics/victoriametrics.go b/managed/services/victoriametrics/victoriametrics.go
index b6356899f0..c3e6cd3763 100644
--- a/managed/services/victoriametrics/victoriametrics.go
+++ b/managed/services/victoriametrics/victoriametrics.go
@@ -258,7 +258,7 @@ func (svc *Service) validateConfig(ctx context.Context, cfg []byte) error {
}
svc.l.Debugf("%s", b)
- args = append(args, "-promscrape.config.strictParse", "true")
+ args = append(args, "-promscrape.config.strictParse=true")
cmd = exec.CommandContext(ctx, "victoriametrics", args...) //nolint:gosec
pdeathsig.Set(cmd, unix.SIGKILL)
diff --git a/managed/testdata/supervisord.d/grafana.ini b/managed/testdata/supervisord.d/grafana.ini
index 38ca8f1540..ba5408a3f4 100644
--- a/managed/testdata/supervisord.d/grafana.ini
+++ b/managed/testdata/supervisord.d/grafana.ini
@@ -6,6 +6,7 @@ command =
/usr/sbin/grafana server
--homepath=/usr/share/grafana
--config=/etc/grafana/grafana.ini
+ cfg:default.server.domain="192.168.0.42:8443"
environment =
PERCONA_TEST_POSTGRES_ADDR="127.0.0.1:5432",
PERCONA_TEST_POSTGRES_DBNAME="postgres",
diff --git a/managed/testdata/supervisord.d/victoriametrics_envvars.ini b/managed/testdata/supervisord.d/victoriametrics_envvars.ini
new file mode 100644
index 0000000000..68453cd44b
--- /dev/null
+++ b/managed/testdata/supervisord.d/victoriametrics_envvars.ini
@@ -0,0 +1,33 @@
+; Managed by pmm-managed. DO NOT EDIT.
+
+[program:victoriametrics]
+priority = 7
+command =
+ /usr/sbin/victoriametrics
+ --promscrape.config=/etc/victoriametrics-promscrape.yml
+ --retentionPeriod=30d
+ --storageDataPath=/srv/victoriametrics/data
+ --httpListenAddr=127.0.0.1:9090
+ --search.disableCache=true
+ --search.maxQueryLen=2MB
+ --search.latencyOffset=10s
+ --search.maxUniqueTimeseries=500000000
+ --search.maxSamplesPerQuery=1600000000
+ --search.maxQueueDuration=100s
+ --search.logSlowQueryDuration=300s
+ --search.maxQueryDuration=9s
+ --promscrape.streamParse=false
+ --http.pathPrefix=/prometheus
+ --envflag.enable
+ --envflag.prefix=VM_
+user = pmm
+autorestart = true
+autostart = true
+startretries = 10
+startsecs = 1
+stopsignal = INT
+stopwaitsecs = 300
+stdout_logfile = /srv/logs/victoriametrics.log
+stdout_logfile_maxbytes = 10MB
+stdout_logfile_backups = 3
+redirect_stderr = true
diff --git a/managed/utils/clean/clean_test.go b/managed/utils/clean/clean_test.go
index f8108b0a85..cd49d52639 100644
--- a/managed/utils/clean/clean_test.go
+++ b/managed/utils/clean/clean_test.go
@@ -36,10 +36,10 @@ func TestCleaner(t *testing.T) {
require.NoError(t, sqlDB.Close())
}()
- setup := func(t *testing.T) (db *reform.DB, q *reform.Querier, teardown func(t *testing.T)) {
+ setup := func(t *testing.T) (*reform.DB, *reform.Querier, func(t *testing.T)) {
t.Helper()
- db = reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
- q = db.Querier
+ db := reform.NewDB(sqlDB, postgresql.Dialect, reform.NewPrintfLogger(t.Logf))
+ q := db.Querier
now, origNowF := models.Now(), models.Now
models.Now = func() time.Time {
// fake "old" rows
@@ -71,11 +71,11 @@ func TestCleaner(t *testing.T) {
}
require.NoError(t, q.Insert(str))
- teardown = func(t *testing.T) {
+ teardown := func(t *testing.T) {
t.Helper()
assert.NoError(t, models.CleanupOldActionResults(db.Querier, models.Now()))
}
- return //nolint:nakedret
+ return db, q, teardown
}
t.Run("CheckActionResultByID", func(t *testing.T) {
diff --git a/managed/utils/envvars/parser.go b/managed/utils/envvars/parser.go
index 58266da869..9e9ad2e0f8 100644
--- a/managed/utils/envvars/parser.go
+++ b/managed/utils/envvars/parser.go
@@ -39,7 +39,8 @@ const (
envEnableAccessControl = "ENABLE_RBAC"
envPlatformAPITimeout = "PERCONA_PLATFORM_API_TIMEOUT"
defaultPlatformAPITimeout = 30 * time.Second
- ENVvmAgentPrefix = "VMAGENT_"
+ // ENVvmAgentPrefix is the prefix for environment variables related to the VM agent.
+ ENVvmAgentPrefix = "VMAGENT_"
)
// InvalidDurationError invalid duration error.
@@ -300,6 +301,7 @@ func GetPlatformPublicKeys() []string {
return nil
}
+// GetInterfaceToBind retrieves the network interface to bind based on environment variables.
func GetInterfaceToBind() string {
return GetEnv(evnInterfaceToBind, "127.0.0.1")
}
diff --git a/managed/utils/interceptors/grpc_extension.go b/managed/utils/interceptors/grpc_extension.go
index 19046adefc..ccd944b206 100644
--- a/managed/utils/interceptors/grpc_extension.go
+++ b/managed/utils/interceptors/grpc_extension.go
@@ -37,14 +37,17 @@ type GRPCMetricsExtension struct {
grpc_prometheus.DefaultExtension
}
+// MetricsNameAdjust adjusts the given metric name and returns the adjusted name.
func (e GRPCMetricsExtension) MetricsNameAdjust(name string) string {
return "pmm_" + name
}
+// ServerStreamMsgReceivedCounterCustomLabels returns custom labels for the server stream message received counter.
func (e *GRPCMetricsExtension) ServerStreamMsgReceivedCounterCustomLabels() []string {
return []string{"caller_origin"}
}
+// ServerStreamMsgReceivedCounterValues returns custom values for the server stream message received counter.
func (e *GRPCMetricsExtension) ServerStreamMsgReceivedCounterValues(ctx context.Context) []string {
return []string{getCallerOriginStr(ctx)}
}
diff --git a/managed/utils/interceptors/interceptors.go b/managed/utils/interceptors/interceptors.go
index 039de49143..8a3a4e7173 100644
--- a/managed/utils/interceptors/interceptors.go
+++ b/managed/utils/interceptors/interceptors.go
@@ -79,6 +79,7 @@ func logRequest(l *logrus.Entry, prefix string, f func() error) (err error) {
return //nolint:nakedret
}
+// UnaryInterceptorType represents the type of a unary gRPC interceptor.
type UnaryInterceptorType = func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)
// Unary adds context logger and Prometheus metrics to unary server RPC.
diff --git a/managed/utils/platform/client.go b/managed/utils/platform/client.go
index 0956f789bd..189ed78e21 100644
--- a/managed/utils/platform/client.go
+++ b/managed/utils/platform/client.go
@@ -282,64 +282,71 @@ func (c *Client) makeRequest(ctx context.Context, accessToken, method, path stri
return bodyBytes, nil
}
+// SsoDetails represents the Single Sign-On details containing information.
type SsoDetails struct {
- GrafanaClientID string `json:"grafana_client_id"` //nolint:tagliatelle
- PMMManagedClientID string `json:"pmm_managed_client_id"` //nolint:tagliatelle
- PMMManagedClientSecret string `json:"pmm_managed_client_secret"` //nolint:tagliatelle
+ GrafanaClientID string `json:"grafana_client_id"`
+ PMMManagedClientID string `json:"pmm_managed_client_id"`
+ PMMManagedClientSecret string `json:"pmm_managed_client_secret"`
Scope string `json:"scope"`
- IssuerURL string `json:"issuer_url"` //nolint:tagliatelle
+ IssuerURL string `json:"issuer_url"`
}
+// ConnectPMMResponse represents the response structure for the ConnectPMM API.
type ConnectPMMResponse struct {
SSODetails *SsoDetails `json:"sso_details"`
OrganizationID string `json:"org_id"`
}
+// SearchOrganizationEntitlementsResponse represents the response structure.
type SearchOrganizationEntitlementsResponse struct {
Entitlement []*EntitlementResponse `json:"entitlements"`
}
+// EntitlementResponse represents the response structure for entitlement-related APIs.
type EntitlementResponse struct {
Number string `json:"number"`
Name string `json:"name"`
Summary string `json:"summary"`
Tier string `json:"tier"`
- TotalUnits string `json:"total_units"` //nolint:tagliatelle
- UnlimitedUnits bool `json:"unlimited_units"` //nolint:tagliatelle
- SupportLevel string `json:"support_level"` //nolint:tagliatelle
- SoftwareFamilies []string `json:"software_families"` //nolint:tagliatelle
- StartDate string `json:"start_date"` //nolint:tagliatelle
- EndDate string `json:"end_date"` //nolint:tagliatelle
+ TotalUnits string `json:"total_units"`
+ UnlimitedUnits bool `json:"unlimited_units"`
+ SupportLevel string `json:"support_level"`
+ SoftwareFamilies []string `json:"software_families"`
+ StartDate string `json:"start_date"`
+ EndDate string `json:"end_date"`
Platform Response `json:"platform"`
}
+// Response represents a generic API response structure.
type Response struct {
- SecurityAdvisor string `json:"security_advisor"` //nolint:tagliatelle
- ConfigAdvisor string `json:"config_advisor"` //nolint:tagliatelle
+ SecurityAdvisor string `json:"security_advisor"`
+ ConfigAdvisor string `json:"config_advisor"`
}
type SearchOrganizationTicketsResponse struct {
Tickets []*TicketResponse `json:"tickets"`
}
+// TicketResponse represents the response structure for ticket-related APIs.
type TicketResponse struct {
Number string `json:"number"`
- ShortDescription string `json:"short_description"` //nolint:tagliatelle
+ ShortDescription string `json:"short_description"`
Priority string `json:"priority"`
State string `json:"state"`
- CreateTime string `json:"create_time"` //nolint:tagliatelle
+ CreateTime string `json:"create_time"`
Department string `json:"department"`
Requester string `json:"requestor"`
- TaskType string `json:"task_type"` //nolint:tagliatelle
+ TaskType string `json:"task_type"`
URL string `json:"url"`
}
+// ContactInformation represents information about a contact.
type ContactInformation struct {
Contacts struct {
CustomerSuccess struct {
Name string `json:"name"`
Email string `json:"email"`
- } `json:"customer_success"` //nolint:tagliatelle
- NewTicketURL string `json:"new_ticket_url"` //nolint:tagliatelle
+ } `json:"customer_success"`
+ NewTicketURL string `json:"new_ticket_url"`
} `json:"contacts"`
}
diff --git a/managed/utils/validators/validators.go b/managed/utils/validators/validators.go
index 8a4fd3d983..89fc58d692 100644
--- a/managed/utils/validators/validators.go
+++ b/managed/utils/validators/validators.go
@@ -25,15 +25,15 @@ import (
const (
// MetricsResolutionMin is the smallest value metric resolution can accept.
- MetricsResolutionMin = time.Second
+ MetricsResolutionMin = time.Second //nolint:revive
// MetricsResolutionMultipleOf is value metrics resolution should be multiple of.
MetricsResolutionMultipleOf = time.Second
// STTCheckIntervalMin is the smallest value STT check intervals can accept.
- STTCheckIntervalMin = time.Second
+ STTCheckIntervalMin = time.Second //nolint:revive
// STTCheckIntervalMultipleOf is value STT check intervals should be multiple of.
STTCheckIntervalMultipleOf = time.Second
// DataRetentionMin is the smallest value data retention can accept.
- DataRetentionMin = 24 * time.Hour
+ DataRetentionMin = 24 * time.Hour //nolint:revive
// DataRetentionMultipleOf is a value of data retention should be multiple of.
DataRetentionMultipleOf = 24 * time.Hour
)
diff --git a/my_changes.patch b/my_changes.patch
new file mode 100644
index 0000000000..7be53d90a2
--- /dev/null
+++ b/my_changes.patch
@@ -0,0 +1,3734 @@
+From c0ebbc60be42078324843e9396f04332b29970cf Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Tue, 9 Jan 2024 07:26:16 +0530
+Subject: [PATCH 01/15] enabled revive rule
+
+---
+ .golangci.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/.golangci.yml b/.golangci.yml
+index ac80308c..6f14244a 100644
+--- a/.golangci.yml
++++ b/.golangci.yml
+@@ -116,7 +116,7 @@ linters:
+ # TODO: carefully review all the rules below and either fix the code
+ # or leave disabled and provide a reason why
+ - tagliatelle
+- - revive
++ #- revive
+ - paralleltest
+ - gocognit
+ - tagalign
+--
+2.34.1
+
+
+From 2351da4171ed16c58c5473fe5aaaa5dbcd56f65d Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Thu, 11 Jan 2024 04:20:49 +0530
+Subject: [PATCH 02/15] parameter 't' seems to be unused renaming it as _
+
+---
+ agent/utils/backoff/backoff_test.go | 2 +-
+ managed/data/gen.go | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/agent/utils/backoff/backoff_test.go b/agent/utils/backoff/backoff_test.go
+index fe10a7e0..fd68d0b7 100644
+--- a/agent/utils/backoff/backoff_test.go
++++ b/agent/utils/backoff/backoff_test.go
+@@ -16,6 +16,6 @@ package backoff
+
+ import "testing"
+
+-func TestBackoff(t *testing.T) {
++func TestBackoff(_ *testing.T) {
+ // we need at least one test per package to correctly calculate coverage
+ }
+diff --git a/managed/data/gen.go b/managed/data/gen.go
+index 13a2804e..ebc918e5 100644
+--- a/managed/data/gen.go
++++ b/managed/data/gen.go
+@@ -23,5 +23,6 @@ import "embed"
+ //go:embed iatemplates/*
+ var IATemplates embed.FS
+
++// OLMCRDs ...
+ //go:embed crds/*
+ var OLMCRDs embed.FS
+--
+2.34.1
+
+
+From bf49ede640783186cdcb04b8bf27588e494578ff Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Thu, 11 Jan 2024 04:22:05 +0530
+Subject: [PATCH 03/15] parameter 'l' seems to be unused, consider removing or
+ renaming it as _
+
+---
+ qan-api2/utils/logger/grpc.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qan-api2/utils/logger/grpc.go b/qan-api2/utils/logger/grpc.go
+index 7fa6342b..5c97a6e6 100644
+--- a/qan-api2/utils/logger/grpc.go
++++ b/qan-api2/utils/logger/grpc.go
+@@ -26,7 +26,7 @@ type GRPC struct {
+ }
+
+ // V reports whether verbosity level l is at least the requested verbose level.
+-func (v *GRPC) V(l int) bool {
++func (v *GRPC) V(_ int) bool {
+ // we don't need real implementation ATM
+ return true
+ }
+--
+2.34.1
+
+
+From 5d5e81e92213f8d3950523d1550702e5b8ae0085 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Thu, 11 Jan 2024 04:38:20 +0530
+Subject: [PATCH 04/15] comment on exported method
+
+---
+ qan-api2/utils/logger/grpc.go | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/qan-api2/utils/logger/grpc.go b/qan-api2/utils/logger/grpc.go
+index 5c97a6e6..c9bff487 100644
+--- a/qan-api2/utils/logger/grpc.go
++++ b/qan-api2/utils/logger/grpc.go
+@@ -34,8 +34,11 @@ func (v *GRPC) V(_ int) bool {
+ // Override InfoXXX methods with TraceXXX to keep gRPC and logrus levels in sync.
+ //
+ //nolint:stylecheck
++// Info logs a message at the Info level.
+ func (v *GRPC) Info(args ...interface{}) { v.Trace(args...) }
++// Infoln logs a message at the Info level
+ func (v *GRPC) Infoln(args ...interface{}) { v.Traceln(args...) }
++// Infof logs a formatted message at the Info level.
+ func (v *GRPC) Infof(format string, args ...interface{}) { v.Tracef(format, args...) }
+
+ // check interfaces.
+--
+2.34.1
+
+
+From 8156995d75d0c72b567ee64e4f7b0141e9bdbd95 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Thu, 11 Jan 2024 04:40:27 +0530
+Subject: [PATCH 05/15] parameter 'l' seems to be unused, consider removing or
+ renaming it as _
+
+---
+ qan-api2/utils/logger/grpc.go | 2 +-
+ utils/logger/grpc.go | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qan-api2/utils/logger/grpc.go b/qan-api2/utils/logger/grpc.go
+index c9bff487..e5b29790 100644
+--- a/qan-api2/utils/logger/grpc.go
++++ b/qan-api2/utils/logger/grpc.go
+@@ -30,7 +30,7 @@ func (v *GRPC) V(_ int) bool {
+ // we don't need real implementation ATM
+ return true
+ }
+-
++// Info logs a message at the Info level.
+ // Override InfoXXX methods with TraceXXX to keep gRPC and logrus levels in sync.
+ //
+ //nolint:stylecheck
+diff --git a/utils/logger/grpc.go b/utils/logger/grpc.go
+index fcc4f221..c8b285a0 100644
+--- a/utils/logger/grpc.go
++++ b/utils/logger/grpc.go
+@@ -26,7 +26,7 @@ type GRPC struct {
+ }
+
+ // V reports whether verbosity level l is at least the requested verbose level.
+-func (v *GRPC) V(l int) bool {
++func (v *GRPC) V(_ int) bool {
+ // we don't need real implementation ATM
+ return true
+ }
+--
+2.34.1
+
+
+From 567d45eace7d01d37881993148223f864e8ca0fc Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Thu, 11 Jan 2024 04:42:23 +0530
+Subject: [PATCH 06/15] comment on exported method
+
+---
+ utils/logger/grpc.go | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/utils/logger/grpc.go b/utils/logger/grpc.go
+index c8b285a0..ee4e3dc7 100644
+--- a/utils/logger/grpc.go
++++ b/utils/logger/grpc.go
+@@ -30,12 +30,14 @@ func (v *GRPC) V(_ int) bool {
+ // we don't need real implementation ATM
+ return true
+ }
+-
++// Info logs a message at the Info level.
+ // override InfoXXX methods with TraceXXX to keep gRPC and logrus levels in sync
+ //
+ //nolint:stylecheck
+ func (v *GRPC) Info(args ...interface{}) { v.Trace(args...) }
++// Infoln logs a message at the Info level.
+ func (v *GRPC) Infoln(args ...interface{}) { v.Traceln(args...) }
++// Infof logs a formatted message at the Info level.
+ func (v *GRPC) Infof(format string, args ...interface{}) { v.Tracef(format, args...) }
+
+ // check interfaces.
+--
+2.34.1
+
+
+From fb8234d9c8a1fff3d11af51bc2260b9b85de1621 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Thu, 11 Jan 2024 04:44:50 +0530
+Subject: [PATCH 07/15] comment for package main
+
+---
+ agent/cmd/pmm-agent-entrypoint/main.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/agent/cmd/pmm-agent-entrypoint/main.go b/agent/cmd/pmm-agent-entrypoint/main.go
+index a8d22267..820a886c 100644
+--- a/agent/cmd/pmm-agent-entrypoint/main.go
++++ b/agent/cmd/pmm-agent-entrypoint/main.go
+@@ -11,7 +11,7 @@
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+-
++// Package main provides the entry point for the PMM Agent.
+ package main
+
+ import (
+--
+2.34.1
+
+
+From be55d95271db963b19207cb946209d85cb5eb4bc Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Fri, 12 Jan 2024 04:13:34 +0530
+Subject: [PATCH 08/15] added nolint for these warnings
+
+---
+ managed/utils/validators/validators.go | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/managed/utils/validators/validators.go b/managed/utils/validators/validators.go
+index 8a4fd3d9..89fc58d6 100644
+--- a/managed/utils/validators/validators.go
++++ b/managed/utils/validators/validators.go
+@@ -25,15 +25,15 @@ import (
+
+ const (
+ // MetricsResolutionMin is the smallest value metric resolution can accept.
+- MetricsResolutionMin = time.Second
++ MetricsResolutionMin = time.Second //nolint:revive
+ // MetricsResolutionMultipleOf is value metrics resolution should be multiple of.
+ MetricsResolutionMultipleOf = time.Second
+ // STTCheckIntervalMin is the smallest value STT check intervals can accept.
+- STTCheckIntervalMin = time.Second
++ STTCheckIntervalMin = time.Second //nolint:revive
+ // STTCheckIntervalMultipleOf is value STT check intervals should be multiple of.
+ STTCheckIntervalMultipleOf = time.Second
+ // DataRetentionMin is the smallest value data retention can accept.
+- DataRetentionMin = 24 * time.Hour
++ DataRetentionMin = 24 * time.Hour //nolint:revive
+ // DataRetentionMultipleOf is a value of data retention should be multiple of.
+ DataRetentionMultipleOf = 24 * time.Hour
+ )
+--
+2.34.1
+
+
+From d1e2d2fdf01b0118afed65ca8199431b7d79ed26 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Fri, 12 Jan 2024 04:28:35 +0530
+Subject: [PATCH 09/15] added nolint for these warnings because required code
+ change
+
+---
+ admin/pkg/client/tarball/tarball.go | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/admin/pkg/client/tarball/tarball.go b/admin/pkg/client/tarball/tarball.go
+index cadd02e7..b1fd26b6 100644
+--- a/admin/pkg/client/tarball/tarball.go
++++ b/admin/pkg/client/tarball/tarball.go
+@@ -87,7 +87,7 @@ func (b *Base) Install(ctx context.Context) error {
+ extractedPath := path.Join(os.TempDir(), fmt.Sprintf("pmm2-client-%s", b.Version))
+ defer os.RemoveAll(extractedPath) //nolint:errcheck
+
+- if err := b.installTarball(ctx, extractedPath); err != nil {
++ if err := b.installTarball(ctx, extractedPath); err != nil { //nolint:revive
+ return err
+ }
+
+@@ -195,7 +195,7 @@ func (b *Base) extractTarball(tarPath string) error {
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
+
+- if err := cmd.Run(); err != nil {
++ if err := cmd.Run(); err != nil { //nolint:revive
+ return err
+ }
+
+@@ -228,7 +228,7 @@ func (b *Base) installTarball(ctx context.Context, extractedPath string) error {
+ cmd.Env = append(cmd.Env, "PMM_DIR="+b.InstallPath)
+ }
+
+- if err := cmd.Run(); err != nil {
++ if err := cmd.Run(); err != nil { //nolint:revive
+ return err
+ }
+
+--
+2.34.1
+
+
+From 1f91ada852c52080817c7043bbd28c054fd2ede0 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Fri, 12 Jan 2024 04:42:51 +0530
+Subject: [PATCH 10/15] comment for the warnings
+
+---
+ admin/pkg/docker/docker.go | 2 +-
+ agent/agents/mysql/slowlog/parser/logger.go | 2 +-
+ agent/utils/version/postgresql.go | 2 +-
+ update/main.go | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/admin/pkg/docker/docker.go b/admin/pkg/docker/docker.go
+index 569bdb2f..cd7d5482 100644
+--- a/admin/pkg/docker/docker.go
++++ b/admin/pkg/docker/docker.go
+@@ -35,7 +35,7 @@ import (
+
+ "github.com/percona/pmm/admin/pkg/common"
+ )
+-
++// ErrPasswordChangeFailed represents an error indicating that password change failed.
+ var ErrPasswordChangeFailed = errors.New("ErrPasswordChangeFailed")
+
+ // Base contains methods to interact with Docker.
+diff --git a/agent/agents/mysql/slowlog/parser/logger.go b/agent/agents/mysql/slowlog/parser/logger.go
+index 2dd916f8..46e4f8af 100644
+--- a/agent/agents/mysql/slowlog/parser/logger.go
++++ b/agent/agents/mysql/slowlog/parser/logger.go
+@@ -13,7 +13,7 @@
+ // limitations under the License.
+
+ package parser
+-
++// Logger defines the interface for a MySQL slow log parser logger.
+ type Logger interface {
+ Warnf(format string, v ...interface{})
+ Infof(format string, v ...interface{})
+diff --git a/agent/utils/version/postgresql.go b/agent/utils/version/postgresql.go
+index f88f906a..6ea24025 100644
+--- a/agent/utils/version/postgresql.go
++++ b/agent/utils/version/postgresql.go
+@@ -23,7 +23,7 @@ import (
+ var (
+ postgresDBRegexp = regexp.MustCompile(`PostgreSQL ([\d\.]+)`)
+ )
+-
++// ParsePostgreSQLVersion parses the given PostgreSQL version string.
+ func ParsePostgreSQLVersion(v string) string {
+ m := postgresDBRegexp.FindStringSubmatch(v)
+ if len(m) != 2 {
+diff --git a/update/main.go b/update/main.go
+index e1f87f92..4ecffaf3 100644
+--- a/update/main.go
++++ b/update/main.go
+@@ -12,7 +12,7 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-
++// Package main provides the entry point for the update application.
+ package main
+
+ import (
+--
+2.34.1
+
+
+From 39b2900fc9e32d2025f23c425b7b850d7de39433 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Fri, 12 Jan 2024 04:55:38 +0530
+Subject: [PATCH 11/15] made the changes for the warnings
+
+---
+ agent/agents/mysql/slowlog/parser/parser_bench_test.go | 2 +-
+ agent/config/config.go | 2 +-
+ agent/config/logger.go | 2 +-
+ agent/utils/mongo_fix/mongo_fix.go | 4 ++--
+ agent/utils/mongo_fix/mongo_fix_test.go | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/agent/agents/mysql/slowlog/parser/parser_bench_test.go b/agent/agents/mysql/slowlog/parser/parser_bench_test.go
+index 26f466dd..947827f1 100644
+--- a/agent/agents/mysql/slowlog/parser/parser_bench_test.go
++++ b/agent/agents/mysql/slowlog/parser/parser_bench_test.go
+@@ -54,7 +54,7 @@ func benchmarkFile(b *testing.B, name string) {
+ b.StartTimer()
+
+ go p.Run()
+- for p.Parse() != nil {
++ for p.Parse() != nil { //nolint:revive
+ }
+
+ b.StopTimer()
+diff --git a/agent/config/config.go b/agent/config/config.go
+index 551ce451..9ba26d69 100644
+--- a/agent/config/config.go
++++ b/agent/config/config.go
+@@ -169,7 +169,7 @@ type Config struct { //nolint:musttag
+
+ // ConfigFileDoesNotExistError error is returned from Get method if configuration file is expected,
+ // but does not exist.
+-type ConfigFileDoesNotExistError string
++type ConfigFileDoesNotExistError string //nolint:revive
+
+ func (e ConfigFileDoesNotExistError) Error() string {
+ return fmt.Sprintf("configuration file %s does not exist", string(e))
+diff --git a/agent/config/logger.go b/agent/config/logger.go
+index a2930f37..6915fb0e 100644
+--- a/agent/config/logger.go
++++ b/agent/config/logger.go
+@@ -27,7 +27,7 @@ type gRPCLogger struct {
+ }
+
+ // V reports whether verbosity level l is at least the requested verbose level.
+-func (v *gRPCLogger) V(l int) bool {
++func (v *gRPCLogger) V(_ int) bool {
+ // we don't need real implementation ATM
+ return true
+ }
+diff --git a/agent/utils/mongo_fix/mongo_fix.go b/agent/utils/mongo_fix/mongo_fix.go
+index ea56431b..66784e1f 100644
+--- a/agent/utils/mongo_fix/mongo_fix.go
++++ b/agent/utils/mongo_fix/mongo_fix.go
+@@ -12,8 +12,8 @@
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+
+-//nolint:stylecheck
+-package mongo_fix
++//nolint:stylecheck,revive
++package mongo_fix //nolint:revive
+
+ import (
+ "net/url"
+diff --git a/agent/utils/mongo_fix/mongo_fix_test.go b/agent/utils/mongo_fix/mongo_fix_test.go
+index 146a6135..6716e489 100644
+--- a/agent/utils/mongo_fix/mongo_fix_test.go
++++ b/agent/utils/mongo_fix/mongo_fix_test.go
+@@ -13,7 +13,7 @@
+ // limitations under the License.
+
+ //nolint:stylecheck
+-package mongo_fix
++package mongo_fix //nolint:revive
+
+ import (
+ "net/url"
+--
+2.34.1
+
+
+From 9cf495cf975ad5127329ef5e983044fea8228c06 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Tue, 16 Jan 2024 04:00:00 +0530
+Subject: [PATCH 12/15] added comments and used nolint were required
+
+---
+ admin/agentlocal/agentlocal.go | 12 +++++------
+ api-tests/helpers.go | 20 +++++++++----------
+ managed/models/agent_model.go | 2 +-
+ managed/models/artifact_model.go | 2 +-
+ managed/models/database.go | 6 +++---
+ managed/models/dump.go | 2 +-
+ managed/models/dump_helpers.go | 2 +-
+ managed/models/models.go | 2 +-
+ managed/models/percona_sso_model_helpers.go | 1 +
+ managed/models/scheduled_tasks_helpers.go | 2 +-
+ managed/models/service_model.go | 2 +-
+ managed/models/victoriametrics_params.go | 1 +
+ managed/services/dump/dump.go | 16 +++++++--------
+ managed/services/ha/highavailability.go | 20 +++++++++----------
+ managed/services/ha/leaderservice.go | 22 ++++++++++-----------
+ managed/utils/envvars/parser.go | 3 ++-
+ utils/sqlmetrics/sqlmetrics.go | 4 ++--
+ 17 files changed, 61 insertions(+), 58 deletions(-)
+
+diff --git a/admin/agentlocal/agentlocal.go b/admin/agentlocal/agentlocal.go
+index 26a7aa18..feca0599 100644
+--- a/admin/agentlocal/agentlocal.go
++++ b/admin/agentlocal/agentlocal.go
+@@ -45,14 +45,14 @@ func SetTransport(ctx context.Context, debug bool, port uint32) {
+
+ client.Default.SetTransport(transport)
+ }
+-
++// NetworkInfo represents information about the network.
+ type NetworkInfo bool
+
+ const (
+- RequestNetworkInfo NetworkInfo = true
+- DoNotRequestNetworkInfo NetworkInfo = false
+- Localhost = "127.0.0.1"
+- DefaultPMMAgentListenPort = 7777
++ RequestNetworkInfo NetworkInfo = true //nolint:revive
++ DoNotRequestNetworkInfo NetworkInfo = false //nolint:revive
++ Localhost = "127.0.0.1"//nolint:revive
++ DefaultPMMAgentListenPort = 7777//nolint:revive
+ )
+
+ // ErrNotSetUp is returned by GetStatus when pmm-agent is running, but not set up.
+@@ -80,7 +80,7 @@ type Status struct {
+
+ ConnectionUptime float32 `json:"connection_uptime"`
+ }
+-
++// AgentStatus represents the status of the agent.
+ type AgentStatus struct {
+ AgentID string `json:"agent_id"`
+ AgentType string `json:"agent_type"`
+diff --git a/api-tests/helpers.go b/api-tests/helpers.go
+index 5ef69250..47a6bc40 100644
+--- a/api-tests/helpers.go
++++ b/api-tests/helpers.go
+@@ -31,7 +31,7 @@ import (
+ "github.com/percona/pmm/api/inventorypb/json/client/nodes"
+ "github.com/percona/pmm/api/inventorypb/json/client/services"
+ )
+-
++// ErrorResponse represents the response structure for error scenarios.
+ type ErrorResponse interface {
+ Code() int
+ }
+@@ -79,8 +79,8 @@ func AssertAPIErrorf(t TestingT, actual error, httpStatus int, grpcCode codes.Co
+ // (e.g. the line number in the proto file).
+ assert.Contains(t, errorField.String(), format)
+ }
+-
+-func ExpectFailure(t *testing.T, link string) *expectedFailureTestingT {
++// ExpectFailure sets up expectations for a test case to fail.
++func ExpectFailure(t *testing.T, link string) *expectedFailureTestingT {//nolint:revive
+ t.Helper()
+ return &expectedFailureTestingT{
+ t: t,
+@@ -127,7 +127,7 @@ func (tt *expectedFailureTestingT) Check() {
+
+ tt.t.Fatalf("%s expected to fail, but didn't: %s", tt.Name(), tt.link)
+ }
+-
++// RemoveNodes removes specified nodes.
+ func RemoveNodes(t TestingT, nodeIDs ...string) {
+ t.Helper()
+
+@@ -143,7 +143,7 @@ func RemoveNodes(t TestingT, nodeIDs ...string) {
+ assert.NotNil(t, res)
+ }
+ }
+-
++// RemoveServices removes specified services.
+ func RemoveServices(t TestingT, serviceIDs ...string) {
+ t.Helper()
+
+@@ -160,7 +160,7 @@ func RemoveServices(t TestingT, serviceIDs ...string) {
+ assert.NotNil(t, res)
+ }
+ }
+-
++// RemoveAgents removes specified agents
+ func RemoveAgents(t TestingT, agentIDs ...string) {
+ t.Helper()
+
+@@ -176,7 +176,7 @@ func RemoveAgents(t TestingT, agentIDs ...string) {
+ assert.NotNil(t, res)
+ }
+ }
+-
++// AddGenericNode adds a generic node.
+ func AddGenericNode(t TestingT, nodeName string) *nodes.AddGenericNodeOKBodyGeneric {
+ t.Helper()
+
+@@ -194,7 +194,7 @@ func AddGenericNode(t TestingT, nodeName string) *nodes.AddGenericNodeOKBodyGene
+ require.NotNil(t, res.Payload.Generic)
+ return res.Payload.Generic
+ }
+-
++// AddRemoteNode adds a remote node.
+ func AddRemoteNode(t TestingT, nodeName string) *nodes.AddRemoteNodeOKBody {
+ t.Helper()
+
+@@ -210,7 +210,7 @@ func AddRemoteNode(t TestingT, nodeName string) *nodes.AddRemoteNodeOKBody {
+ require.NotNil(t, res)
+ return res.Payload
+ }
+-
++// AddNode adds a node.
+ func AddNode(t TestingT, nodeBody *nodes.AddNodeBody) *nodes.AddNodeOKBody {
+ t.Helper()
+
+@@ -225,7 +225,7 @@ func AddNode(t TestingT, nodeBody *nodes.AddNodeBody) *nodes.AddNodeOKBody {
+
+ return res.Payload
+ }
+-
++// AddPMMAgent adds a PMM agent.
+ func AddPMMAgent(t TestingT, nodeID string) *agents.AddPMMAgentOKBody {
+ t.Helper()
+
+diff --git a/managed/models/agent_model.go b/managed/models/agent_model.go
+index 0233183e..c556b26b 100644
+--- a/managed/models/agent_model.go
++++ b/managed/models/agent_model.go
+@@ -300,7 +300,7 @@ func (s *Agent) DBConfig(service *Service) *DBConfig {
+ Socket: pointer.GetString(service.Socket),
+ }
+ }
+-
++// DSNParams represents the parameters for configuring a Data Source Name (DSN).
+ type DSNParams struct {
+ DialTimeout time.Duration
+ Database string
+diff --git a/managed/models/artifact_model.go b/managed/models/artifact_model.go
+index 2ec01b4c..e7e90895 100644
+--- a/managed/models/artifact_model.go
++++ b/managed/models/artifact_model.go
+@@ -141,7 +141,7 @@ type Metadata struct {
+ RestoreTo *time.Time `json:"restore_to"`
+ BackupToolData *BackupToolData `json:"backup_tool_data"`
+ }
+-
++// MetadataList is a list of metadata associated with artifacts.
+ type MetadataList []Metadata
+
+ // Value implements database/sql/driver.Valuer interface. Should be defined on the value.
+diff --git a/managed/models/database.go b/managed/models/database.go
+index 4880f07f..a512ea61 100644
+--- a/managed/models/database.go
++++ b/managed/models/database.go
+@@ -12,7 +12,7 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-
++// Package models provides functionality for handling database models and related tasks.
+ //nolint:lll
+ package models
+
+@@ -1156,7 +1156,7 @@ func migrateDB(db *reform.DB, params SetupDBParams) error {
+ if err = setupFixture1(tx.Querier, params); err != nil {
+ return err
+ }
+- if err = setupFixture2(tx.Querier, params.Username, params.Password); err != nil {
++ if err = setupFixture2(tx.Querier, params.Username, params.Password); err != nil {//nolint:revive
+ return err
+ }
+ return nil
+@@ -1246,7 +1246,7 @@ func setupFixture1(q *reform.Querier, params SetupDBParams) error {
+ return nil
+ }
+
+-func setupFixture2(q *reform.Querier, username, password string) error {
++func setupFixture2(q *reform.Querier, username, password string) error {//nolint:revive
+ // TODO add clickhouse_exporter
+
+ return nil
+diff --git a/managed/models/dump.go b/managed/models/dump.go
+index d7adcee5..dfcbedeb 100644
+--- a/managed/models/dump.go
++++ b/managed/models/dump.go
+@@ -23,7 +23,7 @@ import (
+ )
+
+ //go:generate ../../bin/reform
+-
++// DumpStatus represents the status of a dump process.
+ type DumpStatus string
+
+ const (
+diff --git a/managed/models/dump_helpers.go b/managed/models/dump_helpers.go
+index b5c0626e..65c307a8 100644
+--- a/managed/models/dump_helpers.go
++++ b/managed/models/dump_helpers.go
+@@ -49,7 +49,7 @@ type DumpFilters struct {
+ // Return only dumps by specified status.
+ Status DumpStatus
+ }
+-
++// CreateDumpParams represents the parameters for creating a dump.
+ type CreateDumpParams struct {
+ ServiceNames []string
+ StartTime *time.Time
+diff --git a/managed/models/models.go b/managed/models/models.go
+index 2ee68f37..c1024ea4 100644
+--- a/managed/models/models.go
++++ b/managed/models/models.go
+@@ -230,7 +230,7 @@ const (
+ Bool = ParamType("bool")
+ String = ParamType("string")
+ )
+-
++// ParamUnit represents the unit of a parameter.
+ type ParamUnit string
+
+ const (
+diff --git a/managed/models/percona_sso_model_helpers.go b/managed/models/percona_sso_model_helpers.go
+index 4f9b6a11..5fdd313f 100644
+--- a/managed/models/percona_sso_model_helpers.go
++++ b/managed/models/percona_sso_model_helpers.go
+@@ -32,6 +32,7 @@ import (
+
+ var (
+ perconaSSOMtx sync.Mutex
++ // ErrNotConnectedToPortal is an error indicating that PMM Server is not connected to the Portal.
+ ErrNotConnectedToPortal = errors.New("PMM Server is not connected to Portal")
+ )
+
+diff --git a/managed/models/scheduled_tasks_helpers.go b/managed/models/scheduled_tasks_helpers.go
+index be58f5ea..18a7e4b2 100644
+--- a/managed/models/scheduled_tasks_helpers.go
++++ b/managed/models/scheduled_tasks_helpers.go
+@@ -382,7 +382,7 @@ func (s *ScheduledTask) ServiceID() (string, error) {
+ }
+ return data.ServiceID, nil
+ }
+-
++// CommonBackupData returns the common backup data for the scheduled task.
+ func (s *ScheduledTask) CommonBackupData() (*CommonBackupTaskData, error) {
+ if s.Data != nil {
+ switch s.Type {
+diff --git a/managed/models/service_model.go b/managed/models/service_model.go
+index f05446e9..7a8e4b27 100644
+--- a/managed/models/service_model.go
++++ b/managed/models/service_model.go
+@@ -26,7 +26,7 @@ import (
+ // ServiceType represents Service type as stored in databases:
+ // pmm-managed's PostgreSQL, qan-api's ClickHouse, and VictoriaMetrics.
+ type ServiceType string
+-
++// ServiceStandardLabelsParams represents the parameters for standard labels in a service.
+ type ServiceStandardLabelsParams struct {
+ Cluster *string
+ Environment *string
+diff --git a/managed/models/victoriametrics_params.go b/managed/models/victoriametrics_params.go
+index 14a86a5d..112467ce 100644
+--- a/managed/models/victoriametrics_params.go
++++ b/managed/models/victoriametrics_params.go
+@@ -29,6 +29,7 @@ const (
+ // BasePrometheusConfigPath - basic path with prometheus config,
+ // that user can mount to container.
+ BasePrometheusConfigPath = "/srv/prometheus/prometheus.base.yml"
++ // VMBaseURL is the base URL for VictoriaMetrics.
+ VMBaseURL = "http://127.0.0.1:9090/prometheus/"
+ )
+
+diff --git a/managed/services/dump/dump.go b/managed/services/dump/dump.go
+index 4f028eb4..7d9faf92 100644
+--- a/managed/services/dump/dump.go
++++ b/managed/services/dump/dump.go
+@@ -36,14 +36,14 @@ import (
+
+ "github.com/percona/pmm/managed/models"
+ )
+-
++// ErrDumpAlreadyRunning is an exported error indicating that pmm-dump is already running.
+ var ErrDumpAlreadyRunning = status.Error(codes.FailedPrecondition, "pmm-dump already running.")
+
+ const (
+ pmmDumpBin = "pmm-dump"
+ dumpsDir = "/srv/dump"
+ )
+-
++// Service represents the dump service.
+ type Service struct {
+ l *logrus.Entry
+
+@@ -54,14 +54,14 @@ type Service struct {
+ rw sync.RWMutex
+ cancel context.CancelFunc
+ }
+-
++// New creates a new instance of the dump service..
+ func New(db *reform.DB) *Service {
+ return &Service{
+ l: logrus.WithField("component", "management/backup/backup"),
+ db: db,
+ }
+ }
+-
++// Params represents the parameters for configuring the dump service.
+ type Params struct {
+ APIKey string
+ Cookie string
+@@ -73,7 +73,7 @@ type Params struct {
+ ExportQAN bool
+ IgnoreLoad bool
+ }
+-
++// StartDump initiates the process of creating and managing dumps in the dump service.
+ func (s *Service) StartDump(params *Params) (string, error) {
+ // Check if some pmm-dump already running.
+ if !s.running.CompareAndSwap(false, true) {
+@@ -174,7 +174,7 @@ func (s *Service) StartDump(params *Params) (string, error) {
+
+ return dump.ID, nil
+ }
+-
++// DeleteDump removes a specific dump associated with the dump service.
+ func (s *Service) DeleteDump(dumpID string) error {
+ dump, err := models.FindDumpByID(s.db.Querier, dumpID)
+ if err != nil {
+@@ -198,7 +198,7 @@ func (s *Service) DeleteDump(dumpID string) error {
+
+ return nil
+ }
+-
++// GetFilePathsForDumps retrieves the file paths associated with the dumps managed by the dump service.
+ func (s *Service) GetFilePathsForDumps(dumpIDs []string) (map[string]string, error) {
+ dumps, err := models.FindDumpsByIDs(s.db.Querier, dumpIDs)
+ if err != nil {
+@@ -271,7 +271,7 @@ func (s *Service) saveLogChunk(dumpID string, chunkN uint32, text string, last b
+
+ return nil
+ }
+-
++// StopDump stops the ongoing dump process in the dump service.
+ func (s *Service) StopDump() {
+ s.rw.RLock()
+ defer s.rw.RUnlock()
+diff --git a/managed/services/ha/highavailability.go b/managed/services/ha/highavailability.go
+index cec144b4..fb0cab97 100644
+--- a/managed/services/ha/highavailability.go
++++ b/managed/services/ha/highavailability.go
+@@ -31,7 +31,7 @@ import (
+
+ "github.com/percona/pmm/managed/models"
+ )
+-
++// Service represents the high-availability service.
+ type Service struct {
+ params *models.HAParams
+ bootstrapCluster bool
+@@ -49,21 +49,21 @@ type Service struct {
+ raftNode *raft.Raft
+ memberlist *memberlist.Memberlist
+ }
+-
++// Apply applies a log entry to the high-availability service.
+ func (s *Service) Apply(logEntry *raft.Log) interface{} {
+ s.l.Printf("raft: got a message: %s", string(logEntry.Data))
+ s.receivedMessages <- logEntry.Data
+ return nil
+ }
+-
++// Snapshot returns a snapshot of the high-availability service.
+ func (s *Service) Snapshot() (raft.FSMSnapshot, error) { //nolint:ireturn
+ return nil, nil
+ }
+-
++// Restore restores the high availability service to a previous state.
+ func (s *Service) Restore(_ io.ReadCloser) error {
+ return nil
+ }
+-
++//Service provides new instance of the high availability service.
+ func New(params *models.HAParams) *Service {
+ return &Service{
+ params: params,
+@@ -76,7 +76,7 @@ func New(params *models.HAParams) *Service {
+ wg: &sync.WaitGroup{},
+ }
+ }
+-
++// Run runs the high availability service.
+ func (s *Service) Run(ctx context.Context) error {
+ s.wg.Add(1)
+ go func() {
+@@ -289,14 +289,14 @@ func (s *Service) runLeaderObserver(ctx context.Context) {
+ }
+ }
+ }
+-
++// AddLeaderService adds a leader service to the high availability service.
+ func (s *Service) AddLeaderService(leaderService LeaderService) {
+ err := s.services.Add(leaderService)
+ if err != nil {
+ s.l.Errorf("couldn't add HA service: +%v", err)
+ }
+ }
+-
++// BroadcastMessage broadcasts a message from the high availability service.
+ func (s *Service) BroadcastMessage(message []byte) {
+ if s.params.Enabled {
+ s.rw.RLock()
+@@ -306,13 +306,13 @@ func (s *Service) BroadcastMessage(message []byte) {
+ s.receivedMessages <- message
+ }
+ }
+-
++// IsLeader checks if the current instance of the high availability service is the leader.
+ func (s *Service) IsLeader() bool {
+ s.rw.RLock()
+ defer s.rw.RUnlock()
+ return (s.raftNode != nil && s.raftNode.State() == raft.Leader) || !s.params.Enabled
+ }
+-
++// Bootstrap performs the necessary steps to initialize the high availability service.
+ func (s *Service) Bootstrap() bool {
+ return s.params.Bootstrap || !s.params.Enabled
+ }
+diff --git a/managed/services/ha/leaderservice.go b/managed/services/ha/leaderservice.go
+index 9ec51856..fc776bf4 100644
+--- a/managed/services/ha/leaderservice.go
++++ b/managed/services/ha/leaderservice.go
+@@ -19,20 +19,20 @@ import (
+ "context"
+ "sync"
+ )
+-
++// LeaderService represents a leader service in the high-availability setup.
+ type LeaderService interface {
+ Start(ctx context.Context) error
+ Stop()
+ ID() string
+ }
+-
++// StandardService represents a standard service in the high-availability setup.
+ type StandardService struct {
+ id string
+
+ startFunc func(context.Context) error
+ stopFunc func()
+ }
+-
++// NewStandardService creates a new standard service.
+ func NewStandardService(id string, startFunc func(context.Context) error, stopFunc func()) *StandardService {
+ return &StandardService{
+ id: id,
+@@ -40,19 +40,19 @@ func NewStandardService(id string, startFunc func(context.Context) error, stopFu
+ stopFunc: stopFunc,
+ }
+ }
+-
++// ID returns the ID of the standard service.
+ func (s *StandardService) ID() string {
+ return s.id
+ }
+-
++// Start starts the standard service.
+ func (s *StandardService) Start(ctx context.Context) error {
+ return s.startFunc(ctx)
+ }
+-
++// Stop stops the standard service.
+ func (s *StandardService) Stop() {
+ s.stopFunc()
+ }
+-
++// ContextService represents a context service.
+ type ContextService struct {
+ id string
+
+@@ -61,25 +61,25 @@ type ContextService struct {
+ m sync.Mutex
+ cancel context.CancelFunc
+ }
+-
++// NewContextService creates a new context service.
+ func NewContextService(id string, startFunc func(context.Context) error) *ContextService {
+ return &ContextService{
+ id: id,
+ startFunc: startFunc,
+ }
+ }
+-
++// ID returns the ID of the context service.
+ func (s *ContextService) ID() string {
+ return s.id
+ }
+-
++// Start starts the context service.
+ func (s *ContextService) Start(ctx context.Context) error {
+ s.m.Lock()
+ ctx, s.cancel = context.WithCancel(ctx)
+ s.m.Unlock()
+ return s.startFunc(ctx)
+ }
+-
++// Stop stops the context service.
+ func (s *ContextService) Stop() {
+ s.m.Lock()
+ defer s.m.Unlock()
+diff --git a/managed/utils/envvars/parser.go b/managed/utils/envvars/parser.go
+index 780aca14..790d0ac3 100644
+--- a/managed/utils/envvars/parser.go
++++ b/managed/utils/envvars/parser.go
+@@ -42,6 +42,7 @@ const (
+ envEnableAccessControl = "ENABLE_RBAC"
+ envPlatformAPITimeout = "PERCONA_PLATFORM_API_TIMEOUT"
+ defaultPlatformAPITimeout = 30 * time.Second
++ // ENVvmAgentPrefix is the prefix for environment variables related to the VM agent.
+ ENVvmAgentPrefix = "VMAGENT_"
+ )
+
+@@ -315,7 +316,7 @@ func GetPlatformPublicKeys() []string {
+
+ return nil
+ }
+-
++// GetInterfaceToBind retrieves the network interface to bind based on environment variables.
+ func GetInterfaceToBind() string {
+ return GetEnv(evnInterfaceToBind, "127.0.0.1")
+ }
+diff --git a/utils/sqlmetrics/sqlmetrics.go b/utils/sqlmetrics/sqlmetrics.go
+index 00a582ef..af284598 100644
+--- a/utils/sqlmetrics/sqlmetrics.go
++++ b/utils/sqlmetrics/sqlmetrics.go
+@@ -84,7 +84,7 @@ func NewCollector(driver, dbName string, db *sql.DB) *Collector {
+ nil, constLabels),
+ }
+ }
+-
++//nolint:revive
+ func (c *Collector) Describe(ch chan<- *prom.Desc) {
+ ch <- c.maxOpenConnections
+
+@@ -97,7 +97,7 @@ func (c *Collector) Describe(ch chan<- *prom.Desc) {
+ ch <- c.maxIdleClosed
+ ch <- c.maxLifetimeClosed
+ }
+-
++//nolint:revive
+ func (c *Collector) Collect(ch chan<- prom.Metric) {
+ stats := c.db.Stats()
+
+--
+2.34.1
+
+
+From c3143dcb942b9e03b89a4e0be39c9ed0de006b1a Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Tue, 16 Jan 2024 23:38:58 +0530
+Subject: [PATCH 13/15] added comments and nolint were needed
+
+---
+ 2 | 201 ++++++++++++++++++
+ admin/cli/cli.go | 4 +-
+ admin/cmd/pmm-admin/main.go | 2 +-
+ admin/cmd/pmm/main.go | 2 +-
+ admin/commands/base.go | 8 +-
+ .../inventory/add_agent_external_exporter.go | 2 +-
+ .../inventory/add_agent_mongodb_exporter.go | 2 +-
+ .../inventory/add_agent_mysqld_exporter.go | 2 +-
+ .../inventory/add_agent_node_exporter.go | 2 +-
+ .../commands/inventory/add_agent_pmm_agent.go | 2 +-
+ .../inventory/add_agent_postgres_exporter.go | 2 +-
+ .../inventory/add_agent_proxysql_exporter.go | 2 +-
+ .../add_agent_qan_mongodb_profiler_agent.go | 2 +-
+ .../add_agent_qan_mysql_perfschema_agent.go | 2 +-
+ .../add_agent_qan_mysql_slowlog_agent.go | 2 +-
+ ...d_agent_qan_postgres_pgstatements_agent.go | 2 +-
+ ..._agent_qan_postgres_pgstatmonitor_agent.go | 2 +-
+ .../inventory/add_agent_rds_exporter.go | 2 +-
+ .../commands/inventory/add_node_container.go | 2 +-
+ admin/commands/inventory/add_node_generic.go | 2 +-
+ admin/commands/inventory/add_node_remote.go | 2 +-
+ .../commands/inventory/add_node_remote_rds.go | 2 +-
+ .../inventory/add_service_external.go | 2 +-
+ .../commands/inventory/add_service_haproxy.go | 2 +-
+ .../commands/inventory/add_service_mongodb.go | 2 +-
+ admin/commands/inventory/add_service_mysql.go | 2 +-
+ .../inventory/add_service_postgresql.go | 2 +-
+ .../inventory/add_service_proxysql.go | 2 +-
+ admin/commands/inventory/inventory.go | 2 +-
+ admin/commands/inventory/list_agents.go | 2 +-
+ admin/commands/inventory/list_nodes.go | 2 +-
+ admin/commands/inventory/list_services.go | 2 +-
+ admin/commands/inventory/remove_agent.go | 2 +-
+ admin/commands/inventory/remove_node.go | 2 +-
+ admin/commands/inventory/remove_service.go | 2 +-
+ admin/commands/list.go | 2 +-
+ admin/commands/management/add_external.go | 4 +-
+ .../management/add_external_serverless.go | 4 +-
+ admin/commands/management/add_haproxy.go | 4 +-
+ admin/commands/management/add_mongodb.go | 12 +-
+ admin/commands/management/add_mysql.go | 10 +-
+ admin/commands/management/add_postgresql.go | 12 +-
+ admin/commands/management/add_proxysql.go | 12 +-
+ admin/commands/management/register.go | 2 +-
+ admin/commands/management/remove.go | 2 +-
+ admin/commands/management/unregister.go | 2 +-
+ admin/commands/pmm/client/upgrade.go | 2 +-
+ admin/commands/pmm/server/docker/base.go | 2 +-
+ admin/commands/pmm/server/docker/upgrade.go | 2 +-
+ admin/commands/status.go | 2 +-
+ agent/agentlocal/agent_local.go | 2 +-
+ agent/agents/agents_test.go | 2 +-
+ agent/runner/jobs/mysql_restore_job.go | 2 +-
+ agent/runner/jobs/pbm_helpers.go | 4 +-
+ api-tests/management/helpers.go | 4 +-
+ api/agentpb/agent.go | 72 +++----
+ api/inventorypb/agents.go | 2 +-
+ managed/cmd/pmm-managed-init/main.go | 2 +-
+ managed/models/agentversion.go | 4 +-
+ managed/models/artifact_helpers.go | 2 +-
+ managed/models/database.go | 2 +-
+ managed/models/dump.go | 6 +-
+ managed/models/dump_helpers.go | 6 +-
+ managed/models/models.go | 3 +-
+ managed/models/role_helpers.go | 2 +-
+ managed/models/service_helpers.go | 2 +-
+ managed/models/settings_helpers.go | 2 +-
+ managed/models/template_helpers.go | 4 +-
+ managed/models/victoriametrics_params.go | 6 +-
+ managed/services/agents/agents.go | 2 +-
+ managed/services/agents/registry.go | 2 +-
+ managed/services/agents/versioner.go | 15 +-
+ managed/services/checks/checks.go | 4 +-
+ managed/services/grafana/client.go | 2 -
+ managed/services/management/checks.go | 2 +-
+ managed/services/management/dump/dump.go | 14 +-
+ managed/services/management/external.go | 2 +-
+ managed/services/management/haproxy.go | 2 +-
+ managed/services/platform/platform.go | 4 +-
+ managed/services/server/server.go | 11 +-
+ managed/services/supervisord/supervisord.go | 4 +-
+ managed/services/telemetry/config.go | 3 +-
+ .../telemetry/datasource_pmmdb_select.go | 4 +-
+ .../telemetry/datasource_victoria_metrics.go | 4 +-
+ managed/services/telemetry/telemetry.go | 2 +-
+ .../services/telemetry/uievents/uievents.go | 7 +-
+ managed/services/types.go | 2 +-
+ managed/utils/interceptors/grpc_extension.go | 6 +-
+ managed/utils/interceptors/interceptors.go | 2 +-
+ managed/utils/platform/client.go | 16 +-
+ qan-api2/db.go | 2 +-
+ 91 files changed, 400 insertions(+), 192 deletions(-)
+ create mode 100644 2
+
+diff --git a/2 b/2
+new file mode 100644
+index 00000000..9ef37dce
+--- /dev/null
++++ b/2
+@@ -0,0 +1,201 @@
++// Copyright (C) 2023 Percona LLC
++//
++// Licensed under the Apache License, Version 2.0 (the "License");
++// you may not use this file except in compliance with the License.
++// You may obtain a copy of the License at
++//
++// http://www.apache.org/licenses/LICENSE-2.0
++//
++// Unless required by applicable law or agreed to in writing, software
++// distributed under the License is distributed on an "AS IS" BASIS,
++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++// See the License for the specific language governing permissions and
++// limitations under the License.
++
++package client
++
++import (
++ "context"
++ "fmt"
++ "os"
++ "os/exec"
++ "strings"
++
++ "github.com/sirupsen/logrus"
++
++ "github.com/percona/pmm/admin/cli/flags"
++ "github.com/percona/pmm/admin/commands"
++ "github.com/percona/pmm/admin/pkg/client"
++ "github.com/percona/pmm/admin/pkg/client/tarball"
++ "github.com/percona/pmm/admin/pkg/common"
++)
++
++// UpgradeCommand is used by Kong for CLI flags and commands.
++type UpgradeCommand struct {
++ Distribution string `enum:"autodetect,package-manager,tarball,docker" default:"autodetect" help:"Type of PMM Client distribution. One of: autodetect,package-manager,tarball,docker"` //nolint:lll
++ Version string `name:"use-version" help:"PMM Client version to upgrade to (default: latest)"`
++
++ InstallPath string `group:"Tarball flags" default:"/usr/local/percona/pmm2" help:"Path where PMM Client is installed"`
++ User string `group:"Tarball flags" help:"Set file ownership instead of the current user"`
++ Group string `group:"Tarball flags" help:"Set group ownership instead of the current group"`
++ SkipChecksum bool `group:"Tarball flags" help:"Skip checksum validation of the downloaded files"`
++}
++
++type distributionType string
++
++const (
++ distributionAutodetect distributionType = "autodetect"
++ distributionPackageManager distributionType = "package-manager"
++ distributionTar distributionType = "tarball"
++ distributionDocker distributionType = "docker"
++)
++
++const versionLatest = "latest"
++
++type packageManager int
++
++const (
++ dnf packageManager = iota
++ yum
++ apt
++)
++
++type upgradeResult struct{}
++
++// Result is a command run result.
++func (res *upgradeResult) Result() {}
++
++// String stringifies command result.
++func (res *upgradeResult) String() string {
++ return "ok"
++}
++
++// RunCmdWithContext runs install command.
++func (c *UpgradeCommand) RunCmdWithContext(ctx context.Context, _ *flags.GlobalFlags) (commands.Result, error) {
++ distributionType, err := c.distributionType(ctx)
++ if err != nil {
++ return nil, err
++ }
++
++ switch distributionType {
++ case client.PackageManager:
++ err = c.upgradeViaPackageManager(ctx)
++ case client.Tarball:
++ err = c.upgradeViaTarball(ctx)
++ default:
++ logrus.Panicf("Unsupported distribution type %q", distributionType)
++ }
++
++ if err != nil {
++ return nil, err
++ }
++
++ return &upgradeResult{}, nil
++}
++
++func (c *UpgradeCommand) distributionType(ctx context.Context) (client.DistributionType, error) {
++ var distType client.DistributionType
++ var err error
++ switch distributionType(c.Distribution) {
++ case distributionAutodetect:
++ distType, err = client.DetectDistributionType(ctx, c.InstallPath)
++ if err != nil {
++ return client.Unknown, err
++ }
++ case distributionPackageManager:
++ distType = client.PackageManager
++ case distributionTar:
++ distType = client.Tarball
++ case distributionDocker:
++ distType = client.Docker
++ }
++
++ return distType, nil
++}
++
++func (c *UpgradeCommand) upgradeViaTarball(ctx context.Context) error {
++ t := tarball.Base{
++ InstallPath: c.InstallPath,
++ User: c.User,
++ Group: c.Group,
++ Version: c.Version,
++ SkipChecksum: c.SkipChecksum,
++ IsUpgrade: true,
++ }
++ if err := t.Install(ctx); err != nil {//nolint:revive
++ return err
++ }
++
++ return nil
++}
++
++func (c *UpgradeCommand) upgradeViaPackageManager(ctx context.Context) error {
++ cmds, err := c.getUpgradeCommands()
++ if err != nil {
++ return err
++ }
++
++ for _, cmd := range cmds {
++ logrus.Infof("Running command %q", strings.Join(cmd, " "))
++
++ cmd := exec.CommandContext(ctx, cmd[0], cmd[1:]...) //nolint:gosec
++ cmd.Stdin = os.Stdin
++ cmd.Stdout = os.Stdout
++ cmd.Stderr = os.Stderr
++
++ if err := cmd.Run(); err != nil {
++ return err
++ }
++ }
++
++ return nil
++}
++
++// ErrNoUpgradeCommandFound is returned when yum/dnf/apt/... Package manager cannot be detected.
++var ErrNoUpgradeCommandFound = fmt.Errorf("NoUpgradeCommandFound")
++
++func (c *UpgradeCommand) getUpgradeCommands() ([][]string, error) {
++ cmd, err := common.DetectPackageManager()
++ if err != nil {
++ return nil, err
++ }
++
++ switch cmd {
++ case common.Dnf:
++ return [][]string{
++ {"dnf", "upgrade", "-y", fmt.Sprintf("pmm2-client%s", c.getVersionSuffix(dnf))},
++ }, nil
++ case common.Yum:
++ return [][]string{
++ {"yum", "upgrade", "-y", fmt.Sprintf("pmm2-client%s", c.getVersionSuffix(yum))},
++ }, nil
++ case common.Apt:
++ return [][]string{
++ {"percona-release", "enable", "pmm2-client", "release"},
++ {"apt", "update"},
++ {"apt", "install", "--only-upgrade", "-y", fmt.Sprintf("pmm2-client%s", c.getVersionSuffix(apt))},
++ }, nil
++ case common.UnknownPackageManager:
++ return nil, fmt.Errorf("%w: cannot detect package manager (yum/dnf/apt)", ErrNoUpgradeCommandFound)
++ }
++
++ return nil, fmt.Errorf("%w: cannot detect package manager (yum/dnf/apt)", ErrNoUpgradeCommandFound)
++}
++
++func (c *UpgradeCommand) getVersionSuffix(pm packageManager) string {
++ if c.Version == "" || c.Version == versionLatest {
++ return ""
++ }
++
++ switch pm {
++ case dnf:
++ return fmt.Sprintf("-%s", c.Version)
++ case yum:
++ return fmt.Sprintf("-%s", c.Version)
++ case apt:
++ return fmt.Sprintf("=%s*", c.Version)
++ }
++
++ logrus.Panic("Invalid package manager provided")
++ return ""
++}
+diff --git a/admin/cli/cli.go b/admin/cli/cli.go
+index 9db76727..65dbc65b 100644
+--- a/admin/cli/cli.go
++++ b/admin/cli/cli.go
+@@ -67,7 +67,7 @@ type PMMAdminCommands struct {
+ func (c *PMMAdminCommands) Run(ctx *kong.Context, globals *flags.GlobalFlags) error {
+ return run(ctx, globals)
+ }
+-
++// GetGlobalFlags returns the global flags for PMMAdminCommands.
+ func (c *PMMAdminCommands) GetGlobalFlags() *flags.GlobalFlags {
+ return &c.GlobalFlags
+ }
+@@ -80,7 +80,7 @@ type PMMCommands struct {
+ Client client.BaseCommand `cmd:"" help:"PMM client related commands"`
+ Completion commands.CompletionCommand `cmd:"" help:"Outputs shell code for initialising tab completions"`
+ }
+-
++// GetGlobalFlags returns the global flags for PMMAdminCommands.
+ func (c *PMMCommands) GetGlobalFlags() *flags.GlobalFlags {
+ return &c.GlobalFlags
+ }
+diff --git a/admin/cmd/pmm-admin/main.go b/admin/cmd/pmm-admin/main.go
+index c376184e..199c4796 100644
+--- a/admin/cmd/pmm-admin/main.go
++++ b/admin/cmd/pmm-admin/main.go
+@@ -11,7 +11,7 @@
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+-
++// Package main
+ package main
+
+ import (
+diff --git a/admin/cmd/pmm/main.go b/admin/cmd/pmm/main.go
+index 6800636f..d796d43b 100644
+--- a/admin/cmd/pmm/main.go
++++ b/admin/cmd/pmm/main.go
+@@ -11,7 +11,7 @@
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+-
++// Package main
+ package main
+
+ import (
+diff --git a/admin/commands/base.go b/admin/commands/base.go
+index 92897899..d20c4649 100644
+--- a/admin/commands/base.go
++++ b/admin/commands/base.go
+@@ -110,17 +110,17 @@ func ReadFromSource(src string) (*Credentials, error) {
+
+ return &creds, nil
+ }
+-
++// ErrorResponse defines the interface for error responses.
+ type ErrorResponse interface {
+ error
+ Code() int
+ }
+-
++// Error represents an error with additional information.
+ type Error struct {
+ Code int `json:"code"`
+ Error string `json:"error"`
+ }
+-
++// GetError converts an ErrorResponse to an Error.
+ func GetError(err ErrorResponse) Error {
+ v := reflect.ValueOf(err)
+ p := v.Elem().FieldByName("Payload")
+@@ -130,7 +130,7 @@ func GetError(err ErrorResponse) Error {
+ Error: e.String(),
+ }
+ }
+-
++// ParseTemplate parses the input text into a template.Template.
+ func ParseTemplate(text string) *template.Template {
+ t := template.New("").Option("missingkey=error")
+ return template.Must(t.Parse(strings.TrimSpace(text)))
+diff --git a/admin/commands/inventory/add_agent_external_exporter.go b/admin/commands/inventory/add_agent_external_exporter.go
+index 8d83d924..88cb404d 100644
+--- a/admin/commands/inventory/add_agent_external_exporter.go
++++ b/admin/commands/inventory/add_agent_external_exporter.go
+@@ -59,7 +59,7 @@ type AddAgentExternalExporterCommand struct {
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ PushMetrics bool `help:"Enables push metrics model flow, it will be sent to the server by an agent"`
+ }
+-
++// RunCmd executes the AddAgentExternalExporterCommand and returns the result.
+ func (cmd *AddAgentExternalExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_mongodb_exporter.go b/admin/commands/inventory/add_agent_mongodb_exporter.go
+index fb258a39..e40f68b6 100644
+--- a/admin/commands/inventory/add_agent_mongodb_exporter.go
++++ b/admin/commands/inventory/add_agent_mongodb_exporter.go
+@@ -68,7 +68,7 @@ type AddAgentMongodbExporterCommand struct {
+ CollectionsLimit int32 `name:"max-collections-limit" placeholder:"number" help:"Disable collstats & indexstats if there are more than collections"` //nolint:lll
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd executes the AddAgentMongodbExporterCommand and returns the result.
+ func (cmd *AddAgentMongodbExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_mysqld_exporter.go b/admin/commands/inventory/add_agent_mysqld_exporter.go
+index 0753670a..b18271a3 100644
+--- a/admin/commands/inventory/add_agent_mysqld_exporter.go
++++ b/admin/commands/inventory/add_agent_mysqld_exporter.go
+@@ -100,7 +100,7 @@ type AddAgentMysqldExporterCommand struct {
+ DisableCollectors []string `help:"Comma-separated list of collector names to exclude from exporter"`
+ LogLevel string `enum:"debug,info,warn,error" default:"warn" help:"Service logging level. One of: [debug, info, warn, error]"`
+ }
+-
++// RunCmd executes the AddAgentMysqldExporterCommand and returns the result.
+ func (cmd *AddAgentMysqldExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_node_exporter.go b/admin/commands/inventory/add_agent_node_exporter.go
+index 0e8f4f3e..9f5e0d26 100644
+--- a/admin/commands/inventory/add_agent_node_exporter.go
++++ b/admin/commands/inventory/add_agent_node_exporter.go
+@@ -50,7 +50,7 @@ type AddAgentNodeExporterCommand struct {
+ DisableCollectors []string `help:"Comma-separated list of collector names to exclude from exporter"`
+ LogLevel string `enum:"debug,info,warn,error" default:"warn" help:"Service logging level. One of: [debug, info, warn, error]"`
+ }
+-
++// RunCmd runs the command for AddAgentNodeExporterCommand.
+ func (cmd *AddAgentNodeExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &agents.AddNodeExporterParams{
+diff --git a/admin/commands/inventory/add_agent_pmm_agent.go b/admin/commands/inventory/add_agent_pmm_agent.go
+index df8057e7..f27bf553 100644
+--- a/admin/commands/inventory/add_agent_pmm_agent.go
++++ b/admin/commands/inventory/add_agent_pmm_agent.go
+@@ -43,7 +43,7 @@ type AddPMMAgentCommand struct {
+ RunsOnNodeID string `arg:"" help:"Node identifier where this instance runs"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd executes the AddPMMAgentCommand and returns the result.
+ func (cmd *AddPMMAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &agents.AddPMMAgentParams{
+diff --git a/admin/commands/inventory/add_agent_postgres_exporter.go b/admin/commands/inventory/add_agent_postgres_exporter.go
+index 0ee39234..134a9d84 100644
+--- a/admin/commands/inventory/add_agent_postgres_exporter.go
++++ b/admin/commands/inventory/add_agent_postgres_exporter.go
+@@ -67,7 +67,7 @@ type AddAgentPostgresExporterCommand struct {
+ LogLevel string `enum:"debug,info,warn,error" default:"warn" help:"Service logging level. One of: [debug, info, warn, error]"`
+ AutoDiscoveryLimit int32 `default:"0" placeholder:"NUMBER" help:"Auto-discovery will be disabled if there are more than that number of databases (default: server-defined, -1: always disabled)"`
+ }
+-
++// RunCmd executes the AddAgentPostgresExporterCommand and returns the result.
+ func (cmd *AddAgentPostgresExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_proxysql_exporter.go b/admin/commands/inventory/add_agent_proxysql_exporter.go
+index d0e53aa7..5a356b74 100644
+--- a/admin/commands/inventory/add_agent_proxysql_exporter.go
++++ b/admin/commands/inventory/add_agent_proxysql_exporter.go
+@@ -61,7 +61,7 @@ type AddAgentProxysqlExporterCommand struct {
+ DisableCollectors []string `help:"Comma-separated list of collector names to exclude from exporter"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd executes the AddAgentProxysqlExporterCommand and returns the result.
+ func (cmd *AddAgentProxysqlExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &agents.AddProxySQLExporterParams{
+diff --git a/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go b/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go
+index 22fbd3da..47626ecb 100644
+--- a/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go
++++ b/admin/commands/inventory/add_agent_qan_mongodb_profiler_agent.go
+@@ -64,7 +64,7 @@ type AddAgentQANMongoDBProfilerAgentCommand struct {
+ AuthenticationMechanism string `help:"Authentication mechanism. Default is empty. Use MONGODB-X509 for ssl certificates"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd executes the AddAgentQANMongoDBProfilerAgentCommand and returns the result.
+ func (cmd *AddAgentQANMongoDBProfilerAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go b/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go
+index 82492ad3..d1924fbf 100644
+--- a/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go
++++ b/admin/commands/inventory/add_agent_qan_mysql_perfschema_agent.go
+@@ -70,7 +70,7 @@ type AddAgentQANMySQLPerfSchemaAgentCommand struct {
+ TLSKeyFile string `name:"tls-key" help:"Path to client key file"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd runs the command for AddAgentQANMySQLPerfSchemaAgentCommand.
+ func (cmd *AddAgentQANMySQLPerfSchemaAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go b/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go
+index 1ca83e9b..2e645093 100644
+--- a/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go
++++ b/admin/commands/inventory/add_agent_qan_mysql_slowlog_agent.go
+@@ -83,7 +83,7 @@ type AddAgentQANMySQLSlowlogAgentCommand struct {
+ TLSKeyFile string `name:"tls-key" help:"Path to client key file"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd executes the AddAgentQANMySQLSlowlogAgentCommand and returns the result.
+ func (cmd *AddAgentQANMySQLSlowlogAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go b/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go
+index 8800accb..4827f9df 100644
+--- a/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go
++++ b/admin/commands/inventory/add_agent_qan_postgres_pgstatements_agent.go
+@@ -61,7 +61,7 @@ type AddAgentQANPostgreSQLPgStatementsAgentCommand struct {
+ TLSKeyFile string `help:"TLS certificate key file"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd executes the AddAgentQANPostgreSQLPgStatementsAgentCommand and returns the result.
+ func (cmd *AddAgentQANPostgreSQLPgStatementsAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go b/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go
+index 53df775c..1713f647 100644
+--- a/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go
++++ b/admin/commands/inventory/add_agent_qan_postgres_pgstatmonitor_agent.go
+@@ -63,7 +63,7 @@ type AddAgentQANPostgreSQLPgStatMonitorAgentCommand struct {
+ TLSKeyFile string `help:"TLS certificate key file"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd runs the command for AddAgentQANPostgreSQLPgStatMonitorAgentCommand.
+ func (cmd *AddAgentQANPostgreSQLPgStatMonitorAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_agent_rds_exporter.go b/admin/commands/inventory/add_agent_rds_exporter.go
+index 5d694ec7..b53329c9 100644
+--- a/admin/commands/inventory/add_agent_rds_exporter.go
++++ b/admin/commands/inventory/add_agent_rds_exporter.go
+@@ -57,7 +57,7 @@ type AddAgentRDSExporterCommand struct {
+ PushMetrics bool `help:"Enables push metrics model flow, it will be sent to the server by an agent"`
+ LogLevel string `enum:"debug,info,warn,error,fatal" default:"warn" help:"Service logging level. One of: [debug, info, warn, error, fatal]"`
+ }
+-
++// RunCmd executes the AddAgentRDSExporterCommand and returns the result.
+ func (cmd *AddAgentRDSExporterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &agents.AddRDSExporterParams{
+diff --git a/admin/commands/inventory/add_node_container.go b/admin/commands/inventory/add_node_container.go
+index 18fabfe1..fd27c8ac 100644
+--- a/admin/commands/inventory/add_node_container.go
++++ b/admin/commands/inventory/add_node_container.go
+@@ -57,7 +57,7 @@ type AddNodeContainerCommand struct {
+ Az string `help:"Node availability zone"`
+ NodeModel string `help:"Node model"`
+ }
+-
++// RunCmd executes the AddNodeContainerCommand and returns the result.
+ func (cmd *AddNodeContainerCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &nodes.AddContainerNodeParams{
+diff --git a/admin/commands/inventory/add_node_generic.go b/admin/commands/inventory/add_node_generic.go
+index 6bd51dc1..2faaf2d1 100644
+--- a/admin/commands/inventory/add_node_generic.go
++++ b/admin/commands/inventory/add_node_generic.go
+@@ -56,7 +56,7 @@ type AddNodeGenericCommand struct {
+ Az string `help:"Node availability zone"`
+ NodeModel string `help:"Node mddel"`
+ }
+-
++// RunCmd executes the AddNodeGenericCommand and returns the result.
+ func (cmd *AddNodeGenericCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &nodes.AddGenericNodeParams{
+diff --git a/admin/commands/inventory/add_node_remote.go b/admin/commands/inventory/add_node_remote.go
+index 38fef755..22991f45 100644
+--- a/admin/commands/inventory/add_node_remote.go
++++ b/admin/commands/inventory/add_node_remote.go
+@@ -50,7 +50,7 @@ type AddNodeRemoteCommand struct {
+ Region string `help:"Node region"`
+ Az string `help:"Node availability zone"`
+ }
+-
++// RunCmd executes the AddNodeRemoteCommand and returns the result.
+ func (cmd *AddNodeRemoteCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &nodes.AddRemoteNodeParams{
+diff --git a/admin/commands/inventory/add_node_remote_rds.go b/admin/commands/inventory/add_node_remote_rds.go
+index fb045bfb..b656ba35 100644
+--- a/admin/commands/inventory/add_node_remote_rds.go
++++ b/admin/commands/inventory/add_node_remote_rds.go
+@@ -52,7 +52,7 @@ type AddNodeRemoteRDSCommand struct {
+ Az string `help:"Node availability zone"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd executes the AddNodeRemoteRDSCommand and returns the result.
+ func (cmd *AddNodeRemoteRDSCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &nodes.AddRemoteRDSNodeParams{
+diff --git a/admin/commands/inventory/add_service_external.go b/admin/commands/inventory/add_service_external.go
+index 4b957148..2477fe3b 100644
+--- a/admin/commands/inventory/add_service_external.go
++++ b/admin/commands/inventory/add_service_external.go
+@@ -52,7 +52,7 @@ type AddServiceExternalCommand struct {
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ Group string `help:"Group name of external service"`
+ }
+-
++// RunCmd executes the AddServiceExternalCommand and returns the result.
+ func (cmd *AddServiceExternalCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_service_haproxy.go b/admin/commands/inventory/add_service_haproxy.go
+index a7fd48b9..b0729caf 100644
+--- a/admin/commands/inventory/add_service_haproxy.go
++++ b/admin/commands/inventory/add_service_haproxy.go
+@@ -51,7 +51,7 @@ type AddServiceHAProxyCommand struct {
+ ReplicationSet string `placeholder:"rs1" help:"Replication set name"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd executes the AddServiceHAProxyCommand and returns the result.
+ func (cmd *AddServiceHAProxyCommand) RunCmd() (commands.Result, error) {
+ isSupported, err := helpers.IsHAProxySupported()
+ if !isSupported {
+diff --git a/admin/commands/inventory/add_service_mongodb.go b/admin/commands/inventory/add_service_mongodb.go
+index 33143249..27608a5c 100644
+--- a/admin/commands/inventory/add_service_mongodb.go
++++ b/admin/commands/inventory/add_service_mongodb.go
+@@ -59,7 +59,7 @@ type AddServiceMongoDBCommand struct {
+ ReplicationSet string `help:"Replication set name"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd executes the AddServiceMongoDBCommand and returns the result.
+ func (cmd *AddServiceMongoDBCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &services.AddMongoDBServiceParams{
+diff --git a/admin/commands/inventory/add_service_mysql.go b/admin/commands/inventory/add_service_mysql.go
+index ad05f1f0..6ce60032 100644
+--- a/admin/commands/inventory/add_service_mysql.go
++++ b/admin/commands/inventory/add_service_mysql.go
+@@ -59,7 +59,7 @@ type AddServiceMySQLCommand struct {
+ ReplicationSet string `help:"Replication set name"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd runs the command for AddServiceMySQLCommand.
+ func (cmd *AddServiceMySQLCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &services.AddMySQLServiceParams{
+diff --git a/admin/commands/inventory/add_service_postgresql.go b/admin/commands/inventory/add_service_postgresql.go
+index 992c3883..d08826c8 100644
+--- a/admin/commands/inventory/add_service_postgresql.go
++++ b/admin/commands/inventory/add_service_postgresql.go
+@@ -59,7 +59,7 @@ type AddServicePostgreSQLCommand struct {
+ ReplicationSet string `help:"Replication set name"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd executes the AddServicePostgreSQLCommand and returns the result.
+ func (cmd *AddServicePostgreSQLCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/inventory/add_service_proxysql.go b/admin/commands/inventory/add_service_proxysql.go
+index 60f50ea6..086806a8 100644
+--- a/admin/commands/inventory/add_service_proxysql.go
++++ b/admin/commands/inventory/add_service_proxysql.go
+@@ -59,7 +59,7 @@ type AddServiceProxySQLCommand struct {
+ ReplicationSet string `help:"Replication set name"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ }
+-
++// RunCmd executes the AddServiceProxySQLCommand and returns the result.
+ func (cmd *AddServiceProxySQLCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+ params := &services.AddProxySQLServiceParams{
+diff --git a/admin/commands/inventory/inventory.go b/admin/commands/inventory/inventory.go
+index 8de367d9..c492b2b5 100644
+--- a/admin/commands/inventory/inventory.go
++++ b/admin/commands/inventory/inventory.go
+@@ -22,7 +22,7 @@ import (
+ )
+
+ // InventoryCommand is used by Kong for CLI flags and commands.
+-type InventoryCommand struct {
++type InventoryCommand struct {//nolint:revive
+ List ListCommand `cmd:"" help:"List inventory commands"`
+ Add AddCommand `cmd:"" help:"Add to inventory commands"`
+ Remove RemoveCommand `cmd:"" help:"Remove from inventory commands"`
+diff --git a/admin/commands/inventory/list_agents.go b/admin/commands/inventory/list_agents.go
+index 22ffc6da..77708638 100644
+--- a/admin/commands/inventory/list_agents.go
++++ b/admin/commands/inventory/list_agents.go
+@@ -100,7 +100,7 @@ type ListAgentsCommand struct {
+ NodeID string `help:"Filter by Node identifier"`
+ AgentType string `help:"Filter by Agent type"`
+ }
+-
++// RunCmd executes the ListAgentsCommand and returns the result.
+ func (cmd *ListAgentsCommand) RunCmd() (commands.Result, error) {
+ agentType, err := formatTypeValue(acceptableAgentTypes, cmd.AgentType)
+ if err != nil {
+diff --git a/admin/commands/inventory/list_nodes.go b/admin/commands/inventory/list_nodes.go
+index e9febcd0..be451cea 100644
+--- a/admin/commands/inventory/list_nodes.go
++++ b/admin/commands/inventory/list_nodes.go
+@@ -62,7 +62,7 @@ func (res *listNodesResult) String() string {
+ type ListNodesCommand struct {
+ NodeType string `help:"Filter by Node type"`
+ }
+-
++// RunCmd executes the ListNodesCommand and returns the result.
+ func (cmd *ListNodesCommand) RunCmd() (commands.Result, error) {
+ nodeType, err := formatTypeValue(acceptableNodeTypes, cmd.NodeType)
+ if err != nil {
+diff --git a/admin/commands/inventory/list_services.go b/admin/commands/inventory/list_services.go
+index d3808fb8..13551aec 100644
+--- a/admin/commands/inventory/list_services.go
++++ b/admin/commands/inventory/list_services.go
+@@ -77,7 +77,7 @@ type ListServicesCommand struct {
+ ServiceType string `help:"Filter by Service type"`
+ ExternalGroup string `help:"Filter by external group"`
+ }
+-
++// RunCmd executes the ListServicesCommand and returns the result.
+ func (cmd *ListServicesCommand) RunCmd() (commands.Result, error) {
+ serviceType, err := formatTypeValue(acceptableServiceTypes, cmd.ServiceType)
+ if err != nil {
+diff --git a/admin/commands/inventory/remove_agent.go b/admin/commands/inventory/remove_agent.go
+index ff04ba8c..3b8b4912 100644
+--- a/admin/commands/inventory/remove_agent.go
++++ b/admin/commands/inventory/remove_agent.go
+@@ -37,7 +37,7 @@ type RemoveAgentCommand struct {
+ AgentID string `arg:"" optional:"" help:"Agent ID"`
+ Force bool `help:"Remove agent with all dependencies"`
+ }
+-
++// RunCmd executes the RemoveAgentCommand and returns the result.
+ func (cmd *RemoveAgentCommand) RunCmd() (commands.Result, error) {
+ params := &agents.RemoveAgentParams{
+ Body: agents.RemoveAgentBody{
+diff --git a/admin/commands/inventory/remove_node.go b/admin/commands/inventory/remove_node.go
+index 6184a597..58223734 100644
+--- a/admin/commands/inventory/remove_node.go
++++ b/admin/commands/inventory/remove_node.go
+@@ -37,7 +37,7 @@ type RemoveNodeCommand struct {
+ NodeID string `arg:"" optional:"" help:"Node ID"`
+ Force bool `help:"Remove node with all dependencies"`
+ }
+-
++// RunCmd runs the command for RemoveNodeCommand.
+ func (cmd *RemoveNodeCommand) RunCmd() (commands.Result, error) {
+ params := &nodes.RemoveNodeParams{
+ Body: nodes.RemoveNodeBody{
+diff --git a/admin/commands/inventory/remove_service.go b/admin/commands/inventory/remove_service.go
+index 551a28ca..52bca44c 100644
+--- a/admin/commands/inventory/remove_service.go
++++ b/admin/commands/inventory/remove_service.go
+@@ -37,7 +37,7 @@ type RemoveServiceCommand struct {
+ ServiceID string `arg:"" optional:"" help:"Service ID"`
+ Force bool `help:"Remove service with all dependencies"`
+ }
+-
++// RunCmd executes the RemoveServiceCommand and returns the result.
+ func (cmd *RemoveServiceCommand) RunCmd() (commands.Result, error) {
+ params := &services.RemoveServiceParams{
+ Body: services.RemoveServiceBody{
+diff --git a/admin/commands/list.go b/admin/commands/list.go
+index 10e145c0..616ede1c 100644
+--- a/admin/commands/list.go
++++ b/admin/commands/list.go
+@@ -122,7 +122,7 @@ func convertTabs(template string) (string, error) {
+ type ListCommand struct {
+ NodeID string `help:"Node ID (default is autodetected)"`
+ }
+-
++// RunCmd executes the List command and returns the result.
+ func (cmd *ListCommand) RunCmd() (Result, error) {
+ if cmd.NodeID == "" {
+ status, err := agentlocal.GetStatus(agentlocal.DoNotRequestNetworkInfo)
+diff --git a/admin/commands/management/add_external.go b/admin/commands/management/add_external.go
+index 0b9ee64f..dd7c2979 100644
+--- a/admin/commands/management/add_external.go
++++ b/admin/commands/management/add_external.go
+@@ -72,7 +72,7 @@ type AddExternalCommand struct {
+ Group string `default:"${externalDefaultGroupExporter}" help:"Group name of external service (default: ${externalDefaultGroupExporter})"`
+ SkipConnectionCheck bool `help:"Skip exporter connection checks"`
+ }
+-
++// GetCredentials returns the credentials for AddExternalCommand.
+ func (cmd *AddExternalCommand) GetCredentials() error {
+ creds, err := commands.ReadFromSource(cmd.CredentialsSource)
+ if err != nil {
+@@ -84,7 +84,7 @@ func (cmd *AddExternalCommand) GetCredentials() error {
+
+ return nil
+ }
+-
++// RunCmd runs the command for AddExternalCommand.
+ func (cmd *AddExternalCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/add_external_serverless.go b/admin/commands/management/add_external_serverless.go
+index f7a7d08c..2d4f54dd 100644
+--- a/admin/commands/management/add_external_serverless.go
++++ b/admin/commands/management/add_external_serverless.go
+@@ -87,7 +87,7 @@ if you specify --host you must provide all other parameters needed to build the
+ or even you can specify --address instead of host and port as individual parameters.
+ `
+ }
+-
++// GetCredentials returns the credentials for AddExternalServerlessCommand.
+ func (cmd *AddExternalServerlessCommand) GetCredentials() error {
+ creds, err := commands.ReadFromSource(cmd.CredentialsSource)
+ if err != nil {
+@@ -99,7 +99,7 @@ func (cmd *AddExternalServerlessCommand) GetCredentials() error {
+
+ return nil
+ }
+-
++// RunCmd runs the command for AddExternalServerlessCommand.
+ func (cmd *AddExternalServerlessCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/add_haproxy.go b/admin/commands/management/add_haproxy.go
+index b6e7c556..6b829a89 100644
+--- a/admin/commands/management/add_haproxy.go
++++ b/admin/commands/management/add_haproxy.go
+@@ -62,7 +62,7 @@ type AddHAProxyCommand struct {
+ MetricsMode string `enum:"${metricsModesEnum}" default:"auto" help:"Metrics flow mode, can be push - agent will push metrics, pull - server scrape metrics from agent or auto - chosen by server"`
+ SkipConnectionCheck bool `help:"Skip connection check"`
+ }
+-
++// GetCredentials returns the credentials for AddHAProxyCommand.
+ func (cmd *AddHAProxyCommand) GetCredentials() error {
+ creds, err := commands.ReadFromSource(cmd.CredentialsSource)
+ if err != nil {
+@@ -74,7 +74,7 @@ func (cmd *AddHAProxyCommand) GetCredentials() error {
+
+ return nil
+ }
+-
++// RunCmd runs the command for AddHAProxyCommand.
+ func (cmd *AddHAProxyCommand) RunCmd() (commands.Result, error) {
+ isSupported, err := helpers.IsHAProxySupported()
+ if !isSupported {
+diff --git a/admin/commands/management/add_mongodb.go b/admin/commands/management/add_mongodb.go
+index 1d9fa14b..5369eb51 100644
+--- a/admin/commands/management/add_mongodb.go
++++ b/admin/commands/management/add_mongodb.go
+@@ -87,23 +87,23 @@ type AddMongoDBCommand struct {
+ AddCommonFlags
+ AddLogLevelFatalFlags
+ }
+-
++// GetServiceName returns the service name for AddMongoDBCommand.
+ func (cmd *AddMongoDBCommand) GetServiceName() string {
+ return cmd.ServiceName
+ }
+-
++// GetAddress returns the address for AddMongoDBCommand.
+ func (cmd *AddMongoDBCommand) GetAddress() string {
+ return cmd.Address
+ }
+-
++// GetDefaultAddress returns the default address for AddMongoDBCommand.
+ func (cmd *AddMongoDBCommand) GetDefaultAddress() string {
+ return "127.0.0.1:27017"
+ }
+-
++// GetSocket returns the socket for AddMongoDBCommand.
+ func (cmd *AddMongoDBCommand) GetSocket() string {
+ return cmd.Socket
+ }
+-
++// GetCredentials returns the credentials for AddMongoDBCommand.
+ func (cmd *AddMongoDBCommand) GetCredentials() error {
+ creds, err := commands.ReadFromSource(cmd.CredentialsSource)
+ if err != nil {
+@@ -116,7 +116,7 @@ func (cmd *AddMongoDBCommand) GetCredentials() error {
+
+ return nil
+ }
+-
++// RunCmd runs the command for AddMongoDBCommand.
+ func (cmd *AddMongoDBCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/add_mysql.go b/admin/commands/management/add_mysql.go
+index 79a5820d..91f074b9 100644
+--- a/admin/commands/management/add_mysql.go
++++ b/admin/commands/management/add_mysql.go
+@@ -125,23 +125,23 @@ type AddMySQLCommand struct {
+ AddCommonFlags
+ AddLogLevelNoFatalFlags
+ }
+-
++// GetServiceName returns the service name for AddMySQLCommand.
+ func (cmd *AddMySQLCommand) GetServiceName() string {
+ return cmd.ServiceName
+ }
+-
++// GetAddress returns the address for AddMySQLCommand.
+ func (cmd *AddMySQLCommand) GetAddress() string {
+ return cmd.Address
+ }
+-
++// GetDefaultAddress returns the default address for AddMySQLCommand.
+ func (cmd *AddMySQLCommand) GetDefaultAddress() string {
+ return "127.0.0.1:3306"
+ }
+-
++// GetSocket returns the socket for AddMySQLCommand.
+ func (cmd *AddMySQLCommand) GetSocket() string {
+ return cmd.Socket
+ }
+-
++// RunCmd runs the command for AddMySQLCommand
+ func (cmd *AddMySQLCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/add_postgresql.go b/admin/commands/management/add_postgresql.go
+index e2fc461e..ecab8d7b 100644
+--- a/admin/commands/management/add_postgresql.go
++++ b/admin/commands/management/add_postgresql.go
+@@ -79,23 +79,23 @@ type AddPostgreSQLCommand struct {
+ AddCommonFlags
+ AddLogLevelNoFatalFlags
+ }
+-
++// GetServiceName returns the service name for AddPostgreSQLCommand.
+ func (cmd *AddPostgreSQLCommand) GetServiceName() string {
+ return cmd.ServiceName
+ }
+-
++// GetAddress returns the address for AddPostgreSQLCommand.
+ func (cmd *AddPostgreSQLCommand) GetAddress() string {
+ return cmd.Address
+ }
+-
++// GetDefaultAddress returns the default address for AddPostgreSQLCommand.
+ func (cmd *AddPostgreSQLCommand) GetDefaultAddress() string {
+ return "127.0.0.1:5432"
+ }
+-
++// GetSocket returns the socket for AddPostgreSQLCommand
+ func (cmd *AddPostgreSQLCommand) GetSocket() string {
+ return cmd.Socket
+ }
+-
++// GetCredentials returns the credentials for AddPostgreSQLCommand.
+ func (cmd *AddPostgreSQLCommand) GetCredentials() error {
+ creds, err := commands.ReadFromSource(cmd.CredentialsSource)
+ if err != nil {
+@@ -108,7 +108,7 @@ func (cmd *AddPostgreSQLCommand) GetCredentials() error {
+
+ return nil
+ }
+-
++// RunCmd runs the command for AddPostgreSQLCommand.
+ func (cmd *AddPostgreSQLCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/add_proxysql.go b/admin/commands/management/add_proxysql.go
+index 5f3da141..c508df95 100644
+--- a/admin/commands/management/add_proxysql.go
++++ b/admin/commands/management/add_proxysql.go
+@@ -69,23 +69,23 @@ type AddProxySQLCommand struct {
+ AddCommonFlags
+ AddLogLevelFatalFlags
+ }
+-
++// GetServiceName returns the service name for AddProxySQLCommand.
+ func (cmd *AddProxySQLCommand) GetServiceName() string {
+ return cmd.ServiceName
+ }
+-
++// GetAddress returns the address for AddProxySQLCommand.
+ func (cmd *AddProxySQLCommand) GetAddress() string {
+ return cmd.Address
+ }
+-
++// GetDefaultAddress returns the default address for AddProxySQLCommand.
+ func (cmd *AddProxySQLCommand) GetDefaultAddress() string {
+ return "127.0.0.1:6032"
+ }
+-
++// GetSocket returns the socket for AddProxySQLCommand.
+ func (cmd *AddProxySQLCommand) GetSocket() string {
+ return cmd.Socket
+ }
+-
++// GetCredentials returns the credentials for AddProxySQLCommand.
+ func (cmd *AddProxySQLCommand) GetCredentials() error {
+ creds, err := commands.ReadFromSource(cmd.CredentialsSource)
+ if err != nil {
+@@ -98,7 +98,7 @@ func (cmd *AddProxySQLCommand) GetCredentials() error {
+
+ return nil
+ }
+-
++// RunCmd runs the command for AddProxySQLCommand.
+ func (cmd *AddProxySQLCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/register.go b/admin/commands/management/register.go
+index b075eb53..d1df03e1 100644
+--- a/admin/commands/management/register.go
++++ b/admin/commands/management/register.go
+@@ -66,7 +66,7 @@ type RegisterCommand struct {
+ MetricsMode string `enum:"${metricsModesEnum}" default:"auto" help:"Metrics flow mode, can be push - agent will push metrics, pull - server scrape metrics from agent or auto - chosen by server"`
+ DisableCollectors []string `help:"Comma-separated list of collector names to exclude from exporter"`
+ }
+-
++// RunCmd runs the command for RegisterCommand.
+ func (cmd *RegisterCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseCustomLabels(cmd.CustomLabels)
+
+diff --git a/admin/commands/management/remove.go b/admin/commands/management/remove.go
+index 94b1107e..98871df1 100644
+--- a/admin/commands/management/remove.go
++++ b/admin/commands/management/remove.go
+@@ -43,7 +43,7 @@ type RemoveCommand struct {
+ ServiceName string `arg:"" default:"" help:"Service name"`
+ ServiceID string `help:"Service ID"`
+ }
+-
++// RunCmd runs the command for RemoveCommand.
+ func (cmd *RemoveCommand) RunCmd() (commands.Result, error) {
+ if cmd.ServiceID == "" && cmd.ServiceName == "" {
+ // Automatic service lookup during removal
+diff --git a/admin/commands/management/unregister.go b/admin/commands/management/unregister.go
+index 7632b344..09990193 100644
+--- a/admin/commands/management/unregister.go
++++ b/admin/commands/management/unregister.go
+@@ -44,7 +44,7 @@ type UnregisterCommand struct {
+ Force bool `help:"Remove this node with all dependencies"`
+ NodeName string `help:"Node name (autodetected default: ${hostname})"`
+ }
+-
++// RunCmd runs the command for UnregisterCommand.
+ func (cmd *UnregisterCommand) RunCmd() (commands.Result, error) {
+ var nodeName string
+ var nodeID string
+diff --git a/admin/commands/pmm/client/upgrade.go b/admin/commands/pmm/client/upgrade.go
+index b61c39c5..9ef37dce 100644
+--- a/admin/commands/pmm/client/upgrade.go
++++ b/admin/commands/pmm/client/upgrade.go
+@@ -122,7 +122,7 @@ func (c *UpgradeCommand) upgradeViaTarball(ctx context.Context) error {
+ SkipChecksum: c.SkipChecksum,
+ IsUpgrade: true,
+ }
+- if err := t.Install(ctx); err != nil {
++ if err := t.Install(ctx); err != nil {//nolint:revive
+ return err
+ }
+
+diff --git a/admin/commands/pmm/server/docker/base.go b/admin/commands/pmm/server/docker/base.go
+index 32a16a82..30223353 100644
+--- a/admin/commands/pmm/server/docker/base.go
++++ b/admin/commands/pmm/server/docker/base.go
+@@ -69,7 +69,7 @@ func installDocker(ctx context.Context, dockerFn Functions) error {
+ }
+
+ logrus.Infoln("Installing Docker")
+- if err = dockerFn.InstallDocker(ctx); err != nil {
++ if err = dockerFn.InstallDocker(ctx); err != nil {//nolint:revive
+ return err
+ }
+
+diff --git a/admin/commands/pmm/server/docker/upgrade.go b/admin/commands/pmm/server/docker/upgrade.go
+index c8ce3a41..b7e54ecf 100644
+--- a/admin/commands/pmm/server/docker/upgrade.go
++++ b/admin/commands/pmm/server/docker/upgrade.go
+@@ -74,7 +74,7 @@ func (u *upgradeResult) String() string {
+ }
+
+ // RunCmdWithContext runs upgrade command.
+-func (c *UpgradeCommand) RunCmdWithContext(ctx context.Context, globals *flags.GlobalFlags) (commands.Result, error) { //nolint:unparam
++func (c *UpgradeCommand) RunCmdWithContext(ctx context.Context, globals *flags.GlobalFlags) (commands.Result, error) { //nolint:unparam,revive
+ logrus.Info("Starting PMM Server upgrade via Docker")
+
+ d, err := prepareDocker(ctx, c.dockerFn, prepareOpts{install: false})
+diff --git a/admin/commands/status.go b/admin/commands/status.go
+index b46281f0..9395cb12 100644
+--- a/admin/commands/status.go
++++ b/admin/commands/status.go
+@@ -127,7 +127,7 @@ func (cmd *StatusCommand) RunCmd() (Result, error) {
+ return newStatusResult(status), nil
+ }
+
+- return nil, errors.Errorf("Failed to get PMM Agent status from local pmm-agent: %s.", err) //nolint:golint
++ return nil, errors.Errorf("Failed to get PMM Agent status from local pmm-agent: %s.", err) //nolint:golint,revive
+ default:
+ time.Sleep(1 * time.Second)
+ }
+diff --git a/agent/agentlocal/agent_local.go b/agent/agentlocal/agent_local.go
+index d23f2a82..b4adb321 100644
+--- a/agent/agentlocal/agent_local.go
++++ b/agent/agentlocal/agent_local.go
+@@ -365,7 +365,7 @@ func addData(zipW *zip.Writer, name string, data []byte) error {
+ }
+
+ // ZipLogs Handle function for generate zip file with logs.
+-func (s *Server) ZipLogs(w http.ResponseWriter, r *http.Request) {
++func (s *Server) ZipLogs(w http.ResponseWriter, r *http.Request) {//nolint:revive
+ zipBuffer := &bytes.Buffer{}
+ zipWriter := zip.NewWriter(zipBuffer)
+
+diff --git a/agent/agents/agents_test.go b/agent/agents/agents_test.go
+index 49a11eca..60eb612b 100644
+--- a/agent/agents/agents_test.go
++++ b/agent/agents/agents_test.go
+@@ -15,7 +15,7 @@
+ package agents
+
+ import "testing"
+-
++// TestAgents is a test function for the Agents module.
+ func TestAgents(t *testing.T) {
+ // we need at least one test per package to correctly calculate coverage
+ }
+diff --git a/agent/runner/jobs/mysql_restore_job.go b/agent/runner/jobs/mysql_restore_job.go
+index 0c8fb7ab..dbe2414b 100644
+--- a/agent/runner/jobs/mysql_restore_job.go
++++ b/agent/runner/jobs/mysql_restore_job.go
+@@ -228,7 +228,7 @@ func (j *MySQLRestoreJob) restoreMySQLFromS3(ctx context.Context, targetDirector
+ }
+
+ wrapError := func(err error) error {
+- return errors.Wrapf(err, "stderr: %s\n stdout: %s\n", stderr.String(), stdout.String())
++ return errors.Wrapf(err, "stderr: %s\n stdout: %s\n", stderr.String(), stdout.String())//nolint:revive
+ }
+
+ if err := xbcloudCmd.Start(); err != nil {
+diff --git a/agent/runner/jobs/pbm_helpers.go b/agent/runner/jobs/pbm_helpers.go
+index 0ede9508..b3683791 100644
+--- a/agent/runner/jobs/pbm_helpers.go
++++ b/agent/runner/jobs/pbm_helpers.go
+@@ -335,7 +335,7 @@ func findPITRRestoreName(ctx context.Context, dbURL *string, restoreInfo *pbmRes
+ return "", errors.Errorf("failed to start restore")
+ }
+ continue
+- } else {
++ } else {//nolint:revive
+ return entry.Name, nil
+ }
+ case <-ctx.Done():
+@@ -379,7 +379,7 @@ func waitForPBMRestore(ctx context.Context, l logrus.FieldLogger, dbURL *string,
+ maxRetryCount--
+ l.Warnf("PMM failed to get backup restore status and will retry: %s", err)
+ continue
+- } else {
++ } else {//nolint:revive
+ return errors.Wrap(err, "failed to get restore status")
+ }
+ }
+diff --git a/api-tests/management/helpers.go b/api-tests/management/helpers.go
+index 9a69dd3e..f68deede 100644
+--- a/api-tests/management/helpers.go
++++ b/api-tests/management/helpers.go
+@@ -33,7 +33,7 @@ import (
+
+ // AgentStatusUnknown means agent is not connected and we don't know anything about its status.
+ var AgentStatusUnknown = inventorypb.AgentStatus_name[int32(inventorypb.AgentStatus_UNKNOWN)]
+-
++// RegisterGenericNode registers a generic node using the provided parameters.
+ func RegisterGenericNode(t pmmapitests.TestingT, body node.RegisterNodeBody) (string, string) {
+ t.Helper()
+ params := node.RegisterNodeParams{
+@@ -118,7 +118,7 @@ func assertNodeCreated(t pmmapitests.TestingT, nodeID string, expectedResult nod
+ assert.NoError(t, err)
+ assert.Equal(t, expectedResult, *nodeOK.Payload)
+ }
+-
++// RemovePMMAgentWithSubAgents removes a PMM Agent along with its sub-agents.
+ func RemovePMMAgentWithSubAgents(t pmmapitests.TestingT, pmmAgentID string) {
+ t.Helper()
+
+diff --git a/api/agentpb/agent.go b/api/agentpb/agent.go
+index 1b59732a..aae3bb38 100644
+--- a/api/agentpb/agent.go
++++ b/api/agentpb/agent.go
+@@ -54,154 +54,154 @@ type ServerRequestPayload interface {
+ sealed()
+ }
+
+-// A list of AgentMessage request payloads.
+
++// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
+ func (m *Ping) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_Ping{Ping: m}
+ }
+-
++// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
+ func (m *StateChangedRequest) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_StateChanged{StateChanged: m}
+ }
+-
++// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
+ func (m *QANCollectRequest) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_QanCollect{QanCollect: m}
+ }
+-
++// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
+ func (m *ActionResultRequest) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_ActionResult{ActionResult: m}
+ }
+-
++// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
+ func (m *JobProgress) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_JobProgress{JobProgress: m}
+ }
+-
++// AgentMessageRequestPayload returns the payload for the AgentMessageRequest.
+ func (m *JobResult) AgentMessageRequestPayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_JobResult{JobResult: m}
+ }
+
+-// A list of AgentMessage response payloads.
+
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *Pong) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_Pong{Pong: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *SetStateResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_SetState{SetState: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *StartActionResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_StartAction{StartAction: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *StopActionResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_StopAction{StopAction: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *CheckConnectionResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_CheckConnection{CheckConnection: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *ServiceInfoResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_ServiceInfo{ServiceInfo: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *JobStatusResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_JobStatus{JobStatus: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *StartJobResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_StartJob{StartJob: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *StopJobResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_StopJob{StopJob: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *JobProgress) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_JobProgress{JobProgress: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *JobResult) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_JobResult{JobResult: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *GetVersionsResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_GetVersions{GetVersions: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *PBMSwitchPITRResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_PbmSwitchPitr{PbmSwitchPitr: m}
+ }
+-
++// AgentMessageResponsePayload returns the payload for the AgentMessageResponse.
+ func (m *AgentLogsResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn
+ return &AgentMessage_AgentLogs{AgentLogs: m}
+ }
+
+-// A list of ServerMessage response payloads.
+
++// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
+ func (m *Pong) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_Pong{Pong: m}
+ }
+-
++// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
+ func (m *StateChangedResponse) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_StateChanged{StateChanged: m}
+ }
+-
++// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
+ func (m *QANCollectResponse) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_QanCollect{QanCollect: m}
+ }
+-
++// ServerMessageResponsePayload returns the payload for the ServerMessageResponse.
+ func (m *ActionResultResponse) ServerMessageResponsePayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_ActionResult{ActionResult: m}
+ }
+
+-// A list of ServerMessage request payloads.
+
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *Ping) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_Ping{Ping: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *SetStateRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_SetState{SetState: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *StartActionRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_StartAction{StartAction: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *StopActionRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_StopAction{StopAction: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *CheckConnectionRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_CheckConnection{CheckConnection: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *StartJobRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_StartJob{StartJob: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *StopJobRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_StopJob{StopJob: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *JobStatusRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_JobStatus{JobStatus: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *GetVersionsRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_GetVersions{GetVersions: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *PBMSwitchPITRRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_PbmSwitchPitr{PbmSwitchPitr: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *AgentLogsRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_AgentLogs{AgentLogs: m}
+ }
+-
++// ServerMessageRequestPayload returns the payload for the ServerMessageRequestPayload.
+ func (m *ServiceInfoRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn
+ return &ServerMessage_ServiceInfo{ServiceInfo: m}
+ }
+diff --git a/api/inventorypb/agents.go b/api/inventorypb/agents.go
+index 578b3f38..8af5e1e5 100644
+--- a/api/inventorypb/agents.go
++++ b/api/inventorypb/agents.go
+@@ -1,3 +1,4 @@
++// Package inventorypb provides protobuf definitions for agent inventory.
+ // Copyright (C) 2023 Percona LLC
+ //
+ // This program is free software: you can redistribute it and/or modify
+@@ -12,7 +13,6 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-
+ package inventorypb
+
+ //go-sumtype:decl Agent
+diff --git a/managed/cmd/pmm-managed-init/main.go b/managed/cmd/pmm-managed-init/main.go
+index 8aa0046e..4b686f15 100644
+--- a/managed/cmd/pmm-managed-init/main.go
++++ b/managed/cmd/pmm-managed-init/main.go
+@@ -12,7 +12,7 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-
++// Package main provides the entry point for the pmm-managed-init command.
+ package main
+
+ import (
+diff --git a/managed/models/agentversion.go b/managed/models/agentversion.go
+index 272b19e4..719379c3 100644
+--- a/managed/models/agentversion.go
++++ b/managed/models/agentversion.go
+@@ -22,7 +22,7 @@ import (
+ "github.com/pkg/errors"
+ "gopkg.in/reform.v1"
+ )
+-
++// PMMAgentMinVersionForPostgreSQLSSLSni is the minimum required version of PMM Agent
+ var PMMAgentMinVersionForPostgreSQLSSLSni = version.Must(version.NewVersion("2.41.0-0"))
+
+ // AgentNotSupportedError is used when the target PMM agent doesn't support the requested functionality.
+@@ -70,7 +70,7 @@ func IsAgentSupported(agentModel *Agent, functionalityPrefix string, pmmMinVersi
+ }
+ return nil
+ }
+-
++// IsPostgreSQLSSLSniSupported checks if PostgreSQL SSL SNI is supported by the PMM Agent.
+ func IsPostgreSQLSSLSniSupported(q *reform.Querier, pmmAgentID string) (bool, error) {
+ err := PMMAgentSupported(q, pmmAgentID, "postgresql SSL sni check", PMMAgentMinVersionForPostgreSQLSSLSni)
+ switch {
+diff --git a/managed/models/artifact_helpers.go b/managed/models/artifact_helpers.go
+index ed8a95a0..348ffaa8 100644
+--- a/managed/models/artifact_helpers.go
++++ b/managed/models/artifact_helpers.go
+@@ -148,7 +148,7 @@ func FindArtifactByName(q *reform.Querier, name string) (*Artifact, error) {
+ err := q.FindOneTo(artifact, "name", name)
+ if err != nil {
+ if errors.Is(err, reform.ErrNoRows) {
+- return nil, errors.Wrapf(ErrNotFound, "backup artifact with name %q not found.", name)
++ return nil, errors.Wrapf(ErrNotFound, "backup artifact with name %q not found.", name)//nolint:revive
+ }
+ return nil, errors.WithStack(err)
+ }
+diff --git a/managed/models/database.go b/managed/models/database.go
+index a512ea61..ee453e18 100644
+--- a/managed/models/database.go
++++ b/managed/models/database.go
+@@ -1,3 +1,4 @@
++// Package models provides functionality for handling database models and related tasks.
+ // Copyright (C) 2023 Percona LLC
+ //
+ // This program is free software: you can redistribute it and/or modify
+@@ -12,7 +13,6 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-// Package models provides functionality for handling database models and related tasks.
+ //nolint:lll
+ package models
+
+diff --git a/managed/models/dump.go b/managed/models/dump.go
+index dfcbedeb..df5700e5 100644
+--- a/managed/models/dump.go
++++ b/managed/models/dump.go
+@@ -27,9 +27,9 @@ import (
+ type DumpStatus string
+
+ const (
+- DumpStatusInProgress = DumpStatus("in_progress")
+- DumpStatusSuccess = DumpStatus("success")
+- DumpStatusError = DumpStatus("error")
++ DumpStatusInProgress = DumpStatus("in_progress")//nolint:revive
++ DumpStatusSuccess = DumpStatus("success")//nolint:revive
++ DumpStatusError = DumpStatus("error")//nolint:revive
+ )
+
+ // Validate validates Dumps status.
+diff --git a/managed/models/dump_helpers.go b/managed/models/dump_helpers.go
+index 65c307a8..d86f51bf 100644
+--- a/managed/models/dump_helpers.go
++++ b/managed/models/dump_helpers.go
+@@ -57,7 +57,7 @@ type CreateDumpParams struct {
+ ExportQAN bool
+ IgnoreLoad bool
+ }
+-
++// Validate checks the validity of CreateDumpParams.
+ func (p *CreateDumpParams) Validate() error {
+ if p.StartTime != nil && p.EndTime != nil && p.StartTime.After(*p.EndTime) {
+ return errors.Errorf("dump start time can't be greater than end time")
+@@ -65,7 +65,7 @@ func (p *CreateDumpParams) Validate() error {
+
+ return nil
+ }
+-
++// CreateDump creates a dump using the specified parameters.
+ func CreateDump(q *reform.Querier, params CreateDumpParams) (*Dump, error) {
+ if err := params.Validate(); err != nil {
+ return nil, errors.Wrap(err, "invalid dump creation params")
+@@ -164,7 +164,7 @@ func FindDumpByID(q *reform.Querier, id string) (*Dump, error) {
+
+ return dump, nil
+ }
+-
++// UpdateDumpStatus updates the status of a dump with the given ID.
+ func UpdateDumpStatus(q *reform.Querier, id string, status DumpStatus) error {
+ dump, err := FindDumpByID(q, id)
+ if err != nil {
+diff --git a/managed/models/models.go b/managed/models/models.go
+index c1024ea4..ff5dbd57 100644
+--- a/managed/models/models.go
++++ b/managed/models/models.go
+@@ -234,6 +234,7 @@ const (
+ type ParamUnit string
+
+ const (
+- Percent = ParamUnit("%")
++ Percent = ParamUnit("%")//noiint:revive
++ // Seconds ...
+ Seconds = ParamUnit("s")
+ )
+diff --git a/managed/models/role_helpers.go b/managed/models/role_helpers.go
+index da1c2505..9a104776 100644
+--- a/managed/models/role_helpers.go
++++ b/managed/models/role_helpers.go
+@@ -33,7 +33,7 @@ var (
+
+ // CreateRole creates a new role.
+ func CreateRole(q *reform.Querier, role *Role) error {
+- if err := q.Insert(role); err != nil {
++ if err := q.Insert(role); err != nil {//nolint:revive
+ return err
+ }
+
+diff --git a/managed/models/service_helpers.go b/managed/models/service_helpers.go
+index 257fae1f..272742f5 100644
+--- a/managed/models/service_helpers.go
++++ b/managed/models/service_helpers.go
+@@ -440,7 +440,7 @@ func ChangeStandardLabels(q *reform.Querier, serviceID string, labels ServiceSta
+ s.ExternalGroup = *labels.ExternalGroup
+ }
+
+- if err = q.UpdateColumns(s, columns...); err != nil {
++ if err = q.UpdateColumns(s, columns...); err != nil {//nolint:revive
+ return err
+ }
+
+diff --git a/managed/models/settings_helpers.go b/managed/models/settings_helpers.go
+index b439121c..21f8e696 100644
+--- a/managed/models/settings_helpers.go
++++ b/managed/models/settings_helpers.go
+@@ -322,7 +322,7 @@ func UpdateSettings(q reform.DBTX, params *ChangeSettingsParams) (*Settings, err
+
+ func lockRoleForChange(tx *reform.TX, roleID int) error {
+ var r Role
+- if err := FindAndLockRole(tx, roleID, &r); err != nil {
++ if err := FindAndLockRole(tx, roleID, &r); err != nil {//nolint:revive
+ return err
+ }
+
+diff --git a/managed/models/template_helpers.go b/managed/models/template_helpers.go
+index 7c0ca1ee..d13ffc32 100644
+--- a/managed/models/template_helpers.go
++++ b/managed/models/template_helpers.go
+@@ -173,11 +173,11 @@ func RemoveTemplate(q *reform.Querier, name string) error {
+ }
+ return nil
+ }
+-
++// ConvertTemplate converts an alert template to the internal representation.
+ func ConvertTemplate(template *alert.Template, source Source) (*Template, error) {
+ p, err := ConvertParamsDefinitions(template.Params)
+ if err != nil {
+- return nil, errors.Errorf("invalid rule template parameters: %v.", err)
++ return nil, errors.Errorf("invalid rule template parameters: %v.", err)//nolint:revive
+ }
+
+ yaml, err := alert.ToYAML([]alert.Template{*template})
+diff --git a/managed/models/victoriametrics_params.go b/managed/models/victoriametrics_params.go
+index 112467ce..4b1c2a9f 100644
+--- a/managed/models/victoriametrics_params.go
++++ b/managed/models/victoriametrics_params.go
+@@ -100,15 +100,15 @@ func (vmp *VictoriaMetricsParams) loadVMAlertParams() error {
+
+ return nil
+ }
+-
++// ExternalVM returns true if VictoriaMetrics is configured to run externally.
+ func (vmp *VictoriaMetricsParams) ExternalVM() bool {
+ return vmp.url.Hostname() != "127.0.0.1"
+ }
+-
++// URL returns the base URL for VictoriaMetrics.
+ func (vmp *VictoriaMetricsParams) URL() string {
+ return vmp.url.String()
+ }
+-
++// URLFor returns the URL for a specific path in VictoriaMetrics.
+ func (vmp *VictoriaMetricsParams) URLFor(path string) (*url.URL, error) {
+ if path == "" {
+ return vmp.url, nil
+diff --git a/managed/services/agents/agents.go b/managed/services/agents/agents.go
+index 7d71672f..85ff58a4 100644
+--- a/managed/services/agents/agents.go
++++ b/managed/services/agents/agents.go
+@@ -143,7 +143,7 @@ func ensureAuthParams(exporter *models.Agent, params *agentpb.SetStateRequest_Ag
+ }
+
+ // getExporterListenAddress returns the appropriate listen address to use for a given exporter.
+-func getExporterListenAddress(node *models.Node, exporter *models.Agent) string {
++func getExporterListenAddress(node *models.Node, exporter *models.Agent) string {//nolint:revive
+ switch {
+ case exporter.ExposeExporter:
+ return "0.0.0.0"
+diff --git a/managed/services/agents/registry.go b/managed/services/agents/registry.go
+index 6db03924..e9cdf1e1 100644
+--- a/managed/services/agents/registry.go
++++ b/managed/services/agents/registry.go
+@@ -416,7 +416,7 @@ func (r *Registry) Collect(ch chan<- prom.Metric) {
+ r.mRoundTrip.Collect(ch)
+ r.mClockDrift.Collect(ch)
+ }
+-
++// KickAll sends a signal to all registered agents in the registry to perform a kick action.
+ func (r *Registry) KickAll(ctx context.Context) {
+ for _, agentInfo := range r.agents {
+ r.Kick(ctx, agentInfo.id)
+diff --git a/managed/services/agents/versioner.go b/managed/services/agents/versioner.go
+index e278fb87..174d377d 100644
+--- a/managed/services/agents/versioner.go
++++ b/managed/services/agents/versioner.go
+@@ -56,8 +56,10 @@ type Software interface {
+ // Mysqld represents mysqld software.
+ type Mysqld struct{}
+
+-func (*Mysqld) isSoftware() {}
++func (*Mysqld) isSoftware()
++// Name returns the software name for Mysqld.{}
+ func (*Mysqld) Name() models.SoftwareName { return models.MysqldSoftwareName }
++// GetVersionRequest returns the GetVersionsRequest_Software for Mysqld.
+ func (*Mysqld) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ return &agentpb.GetVersionsRequest_Software{
+ Software: &agentpb.GetVersionsRequest_Software_Mysqld{},
+@@ -68,7 +70,9 @@ func (*Mysqld) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ type Xtrabackup struct{}
+
+ func (*Xtrabackup) isSoftware() {}
++// Name returns the software name for Xtrabackup.
+ func (*Xtrabackup) Name() models.SoftwareName { return models.XtrabackupSoftwareName }
++// GetVersionRequest returns the GetVersionsRequest_Software for Xtrabackup.
+ func (*Xtrabackup) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ return &agentpb.GetVersionsRequest_Software{
+ Software: &agentpb.GetVersionsRequest_Software_Xtrabackup{},
+@@ -77,9 +81,10 @@ func (*Xtrabackup) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+
+ // Xbcloud represents xbcloud software.
+ type Xbcloud struct{}
+-
+ func (*Xbcloud) isSoftware() {}
++// Name returns the software name for Xbcloud.
+ func (*Xbcloud) Name() models.SoftwareName { return models.XbcloudSoftwareName }
++// GetVersionRequest returns the GetVersionsRequest_Software for Xbcloud.
+ func (*Xbcloud) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ return &agentpb.GetVersionsRequest_Software{
+ Software: &agentpb.GetVersionsRequest_Software_Xbcloud{},
+@@ -90,7 +95,9 @@ func (*Xbcloud) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ type Qpress struct{}
+
+ func (*Qpress) isSoftware() {}
++// Name returns the software name for Qpress.
+ func (*Qpress) Name() models.SoftwareName { return models.QpressSoftwareName }
++// GetVersionRequest returns the GetVersionsRequest_Software for Qpress.
+ func (*Qpress) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ return &agentpb.GetVersionsRequest_Software{
+ Software: &agentpb.GetVersionsRequest_Software_Qpress{},
+@@ -100,8 +107,10 @@ func (*Qpress) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ // MongoDB represents mongod software.
+ type MongoDB struct{}
+
+-func (*MongoDB) isSoftware() {}
++func (*MongoDB) isSoftware()
++// Name returns the software name for MongoDB.{}
+ func (*MongoDB) Name() models.SoftwareName { return models.MongoDBSoftwareName }
++// GetVersionRequest returns the GetVersionsRequest_Software for Qpress.
+ func (*MongoDB) GetVersionRequest() *agentpb.GetVersionsRequest_Software {
+ return &agentpb.GetVersionsRequest_Software{
+ Software: &agentpb.GetVersionsRequest_Software_Mongod{},
+diff --git a/managed/services/checks/checks.go b/managed/services/checks/checks.go
+index e8499ac6..df7a89e3 100644
+--- a/managed/services/checks/checks.go
++++ b/managed/services/checks/checks.go
+@@ -369,7 +369,7 @@ func (s *Service) GetAdvisors() ([]check.Advisor, error) {
+ }
+ return res, nil
+ }
+-
++// GetChecks retrieves a map of checks from the service.
+ func (s *Service) GetChecks() (map[string]check.Check, error) {
+ cs, err := models.FindCheckSettings(s.db.Querier)
+ if err != nil {
+@@ -1438,7 +1438,7 @@ func (s *Service) loadLocalChecks(file string) ([]check.Check, error) {
+
+ for _, c := range checks {
+ if c.Advisor != "dev" {
+- return nil, errors.Errorf("Local checks are supposed to be linked to the 'dev' advisor.")
++ return nil, errors.Errorf("Local checks are supposed to be linked to the 'dev' advisor.")//nolint:revive
+ }
+ }
+
+diff --git a/managed/services/grafana/client.go b/managed/services/grafana/client.go
+index 8dda69cb..1514c6c7 100644
+--- a/managed/services/grafana/client.go
++++ b/managed/services/grafana/client.go
+@@ -14,8 +14,6 @@
+ // along with this program. If not, see .
+
+ // Package grafana provides facilities for working with Grafana.
+-//
+-
+ package grafana
+
+ import (
+diff --git a/managed/services/management/checks.go b/managed/services/management/checks.go
+index d1d8049c..6a704d24 100644
+--- a/managed/services/management/checks.go
++++ b/managed/services/management/checks.go
+@@ -249,7 +249,7 @@ func (s *ChecksAPIService) ListSecurityChecks(_ context.Context, _ *managementpb
+
+ return &managementpb.ListSecurityChecksResponse{Checks: res}, nil
+ }
+-
++// ListAdvisors retrieves a list of advisors based on the provided request.
+ func (s *ChecksAPIService) ListAdvisors(_ context.Context, _ *managementpb.ListAdvisorsRequest) (*managementpb.ListAdvisorsResponse, error) {
+ disChecks, err := s.checksService.GetDisabledChecks()
+ if err != nil {
+diff --git a/managed/services/management/dump/dump.go b/managed/services/management/dump/dump.go
+index 6ea6026c..fd8c7b8a 100644
+--- a/managed/services/management/dump/dump.go
++++ b/managed/services/management/dump/dump.go
+@@ -41,7 +41,7 @@ import (
+ "github.com/percona/pmm/managed/services/dump"
+ "github.com/percona/pmm/managed/services/grafana"
+ )
+-
++// Service represents a structure for managing dump-related operations.
+ type Service struct {
+ db *reform.DB
+ l *logrus.Entry
+@@ -51,7 +51,7 @@ type Service struct {
+
+ dumpv1beta1.UnimplementedDumpsServer
+ }
+-
++// New creates a new instance of the Service with the provided dependencies.
+ func New(db *reform.DB, grafanaClient *grafana.Client, dumpService dumpService) *Service {
+ return &Service{
+ db: db,
+@@ -60,7 +60,7 @@ func New(db *reform.DB, grafanaClient *grafana.Client, dumpService dumpService)
+ l: logrus.WithField("component", "management/dump"),
+ }
+ }
+-
++// StartDump starts a dump based on the provided context and request.
+ func (s *Service) StartDump(ctx context.Context, req *dumpv1beta1.StartDumpRequest) (*dumpv1beta1.StartDumpResponse, error) {
+ md, ok := metadata.FromIncomingContext(ctx)
+ if !ok {
+@@ -136,7 +136,7 @@ func (s *Service) StartDump(ctx context.Context, req *dumpv1beta1.StartDumpReque
+
+ return &dumpv1beta1.StartDumpResponse{DumpId: dumpID}, nil
+ }
+-
++// ListDumps lists dumps based on the provided context and request.
+ func (s *Service) ListDumps(_ context.Context, _ *dumpv1beta1.ListDumpsRequest) (*dumpv1beta1.ListDumpsResponse, error) {
+ dumps, err := models.FindDumps(s.db.Querier, models.DumpFilters{})
+ if err != nil {
+@@ -157,7 +157,7 @@ func (s *Service) ListDumps(_ context.Context, _ *dumpv1beta1.ListDumpsRequest)
+ Dumps: dumpsResponse,
+ }, nil
+ }
+-
++// DeleteDump deletes a dump based on the provided context and request.
+ func (s *Service) DeleteDump(_ context.Context, req *dumpv1beta1.DeleteDumpRequest) (*dumpv1beta1.DeleteDumpResponse, error) {
+ for _, id := range req.DumpIds {
+ if err := s.dumpService.DeleteDump(id); err != nil {
+@@ -167,7 +167,7 @@ func (s *Service) DeleteDump(_ context.Context, req *dumpv1beta1.DeleteDumpReque
+
+ return &dumpv1beta1.DeleteDumpResponse{}, nil
+ }
+-
++// GetDumpLogs retrieves dump logs based on the provided context and request.
+ func (s *Service) GetDumpLogs(_ context.Context, req *dumpv1beta1.GetLogsRequest) (*dumpv1beta1.GetLogsResponse, error) {
+ filter := models.DumpLogsFilter{
+ DumpID: req.DumpId,
+@@ -198,7 +198,7 @@ func (s *Service) GetDumpLogs(_ context.Context, req *dumpv1beta1.GetLogsRequest
+
+ return res, nil
+ }
+-
++// UploadDump uploads a dump based on the provided context and request.
+ func (s *Service) UploadDump(_ context.Context, req *dumpv1beta1.UploadDumpRequest) (*dumpv1beta1.UploadDumpResponse, error) {
+ filePaths, err := s.dumpService.GetFilePathsForDumps(req.DumpIds)
+ if err != nil {
+diff --git a/managed/services/management/external.go b/managed/services/management/external.go
+index 7bb3253f..b12aa8fe 100644
+--- a/managed/services/management/external.go
++++ b/managed/services/management/external.go
+@@ -47,7 +47,7 @@ func NewExternalService(db *reform.DB, vmdb prometheusService, state agentsState
+ cc: cc,
+ }
+ }
+-
++// AddExternal adds an external service based on the provided request
+ func (e *ExternalService) AddExternal(ctx context.Context, req *managementpb.AddExternalRequest) (*managementpb.AddExternalResponse, error) {
+ res := &managementpb.AddExternalResponse{}
+ var pmmAgentID *string
+diff --git a/managed/services/management/haproxy.go b/managed/services/management/haproxy.go
+index 320b7bd1..6b563a71 100644
+--- a/managed/services/management/haproxy.go
++++ b/managed/services/management/haproxy.go
+@@ -47,7 +47,7 @@ func NewHAProxyService(db *reform.DB, vmdb prometheusService, state agentsStateU
+ cc: cc,
+ }
+ }
+-
++// AddHAProxy adds an HAProxy service based on the provided request.
+ func (e HAProxyService) AddHAProxy(ctx context.Context, req *managementpb.AddHAProxyRequest) (*managementpb.AddHAProxyResponse, error) {
+ res := &managementpb.AddHAProxyResponse{}
+ var pmmAgentID *string
+diff --git a/managed/services/platform/platform.go b/managed/services/platform/platform.go
+index 4b75510e..ff45f5c4 100644
+--- a/managed/services/platform/platform.go
++++ b/managed/services/platform/platform.go
+@@ -202,7 +202,7 @@ func (s *Service) forceDisconnect(ctx context.Context) error {
+ }
+ return nil
+ }
+-
++// UpdateSupervisordConfigurations updates supervisord configurations for the service.
+ func (s *Service) UpdateSupervisordConfigurations(ctx context.Context) error {
+ settings, err := models.GetSettings(s.db)
+ if err != nil {
+@@ -377,7 +377,7 @@ func (s *Service) GetContactInformation(ctx context.Context, _ *platformpb.GetCo
+
+ return response, nil
+ }
+-
++// ServerInfo retrieves server information based on the provided context and request.
+ func (s *Service) ServerInfo(ctx context.Context, _ *platformpb.ServerInfoRequest) (*platformpb.ServerInfoResponse, error) {
+ settings, err := models.GetSettings(s.db)
+ if err != nil {
+diff --git a/managed/services/server/server.go b/managed/services/server/server.go
+index 6db57e23..456fe161 100644
+--- a/managed/services/server/server.go
++++ b/managed/services/server/server.go
+@@ -221,8 +221,7 @@ func (s *Server) Version(ctx context.Context, req *serverpb.VersionRequest) (*se
+ }
+
+ // Readiness returns an error when some PMM Server component is not ready yet or is being restarted.
+-// It can be used as for Docker health check or Kubernetes readiness probe.
+-func (s *Server) Readiness(ctx context.Context, req *serverpb.ReadinessRequest) (*serverpb.ReadinessResponse, error) {
++func (s *Server) Readiness(ctx context.Context, req *serverpb.ReadinessRequest) (*serverpb.ReadinessResponse, error) {//nolint:revive
+ var notReady bool
+ for n, svc := range map[string]healthChecker{
+ "alertmanager": s.alertmanager,
+@@ -246,7 +245,7 @@ func (s *Server) Readiness(ctx context.Context, req *serverpb.ReadinessRequest)
+ // LeaderHealthCheck checks if the instance is the leader in a cluster.
+ // Returns an error if the instance isn't the leader.
+ // It's used for HA purpose.
+-func (s *Server) LeaderHealthCheck(ctx context.Context, req *serverpb.LeaderHealthCheckRequest) (*serverpb.LeaderHealthCheckResponse, error) {
++func (s *Server) LeaderHealthCheck(ctx context.Context, req *serverpb.LeaderHealthCheckRequest) (*serverpb.LeaderHealthCheckResponse, error) {//nolint:revive
+ if s.haService.IsLeader() {
+ return &serverpb.LeaderHealthCheckResponse{}, nil
+ }
+@@ -326,7 +325,7 @@ func (s *Server) CheckUpdates(ctx context.Context, req *serverpb.CheckUpdatesReq
+ }
+
+ // StartUpdate starts PMM Server update.
+-func (s *Server) StartUpdate(ctx context.Context, req *serverpb.StartUpdateRequest) (*serverpb.StartUpdateResponse, error) {
++func (s *Server) StartUpdate(ctx context.Context, req *serverpb.StartUpdateRequest) (*serverpb.StartUpdateResponse, error) {//nolint:revive
+ s.envRW.RLock()
+ updatesDisabled := s.envSettings.DisableUpdates
+ s.envRW.RUnlock()
+@@ -501,7 +500,7 @@ func (s *Server) convertSettings(settings *models.Settings, connectedToPlatform
+ }
+
+ // GetSettings returns current PMM Server settings.
+-func (s *Server) GetSettings(ctx context.Context, req *serverpb.GetSettingsRequest) (*serverpb.GetSettingsResponse, error) {
++func (s *Server) GetSettings(ctx context.Context, req *serverpb.GetSettingsRequest) (*serverpb.GetSettingsResponse, error) {//nolint:revive
+ s.envRW.RLock()
+ defer s.envRW.RUnlock()
+
+@@ -877,7 +876,7 @@ func (s *Server) writeSSHKey(sshKey string) error {
+ }
+
+ // AWSInstanceCheck checks AWS EC2 instance ID.
+-func (s *Server) AWSInstanceCheck(ctx context.Context, req *serverpb.AWSInstanceCheckRequest) (*serverpb.AWSInstanceCheckResponse, error) {
++func (s *Server) AWSInstanceCheck(ctx context.Context, req *serverpb.AWSInstanceCheckRequest) (*serverpb.AWSInstanceCheckResponse, error) {//nolint:revive
+ if err := s.awsInstanceChecker.check(req.InstanceId); err != nil {
+ return nil, err
+ }
+diff --git a/managed/services/supervisord/supervisord.go b/managed/services/supervisord/supervisord.go
+index 33826cd2..125956d5 100644
+--- a/managed/services/supervisord/supervisord.go
++++ b/managed/services/supervisord/supervisord.go
+@@ -445,11 +445,11 @@ func (s *Service) marshalConfig(tmpl *template.Template, settings *models.Settin
+ if settings.PMMPublicAddress != "" {
+ publicURL, err := url.Parse(settings.PMMPublicAddress)
+ if err != nil {
+- return nil, errors.Wrap(err, "failed to parse PMM public address.")
++ return nil, errors.Wrap(err, "failed to parse PMM public address.")//nolint:revive
+ }
+ if publicURL.Host == "" {
+ if publicURL, err = url.Parse(fmt.Sprintf("https://%s", settings.PMMPublicAddress)); err != nil {
+- return nil, errors.Wrap(err, "failed to parse PMM public address.")
++ return nil, errors.Wrap(err, "failed to parse PMM public address.")//nolint:revive
+ }
+ }
+ templateParams["PMMServerHost"] = publicURL.Host
+diff --git a/managed/services/telemetry/config.go b/managed/services/telemetry/config.go
+index 361aa4a5..4783f61a 100644
+--- a/managed/services/telemetry/config.go
++++ b/managed/services/telemetry/config.go
+@@ -168,10 +168,11 @@ type ReportingConfig struct {
+
+ //go:embed config.default.yml
+ var defaultConfig string
+-
++// ExtensionType represents the type of telemetry extension.
+ type ExtensionType string
+
+ const (
++ // UIEventsExtension is a constant for the UI events telemetry extension.
+ UIEventsExtension = ExtensionType("UIEventsExtension")
+ )
+
+diff --git a/managed/services/telemetry/datasource_pmmdb_select.go b/managed/services/telemetry/datasource_pmmdb_select.go
+index 09c9249b..c502e44f 100644
+--- a/managed/services/telemetry/datasource_pmmdb_select.go
++++ b/managed/services/telemetry/datasource_pmmdb_select.go
+@@ -98,10 +98,10 @@ func (d *dsPmmDBSelect) FetchMetrics(ctx context.Context, config Config) ([]*pmm
+ return fetchMetricsFromDB(ctx, d.l, d.config.Timeout, d.db, config)
+ }
+
+-func (d *dsPmmDBSelect) Init(ctx context.Context) error {
++func (d *dsPmmDBSelect) Init(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+
+-func (d *dsPmmDBSelect) Dispose(ctx context.Context) error {
++func (d *dsPmmDBSelect) Dispose(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+diff --git a/managed/services/telemetry/datasource_victoria_metrics.go b/managed/services/telemetry/datasource_victoria_metrics.go
+index 1757a774..507c361f 100644
+--- a/managed/services/telemetry/datasource_victoria_metrics.go
++++ b/managed/services/telemetry/datasource_victoria_metrics.go
+@@ -99,10 +99,10 @@ func (d *dataSourceVictoriaMetrics) FetchMetrics(ctx context.Context, config Con
+ return metrics, nil
+ }
+
+-func (d *dataSourceVictoriaMetrics) Init(ctx context.Context) error {
++func (d *dataSourceVictoriaMetrics) Init(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+
+-func (d *dataSourceVictoriaMetrics) Dispose(ctx context.Context) error {
++func (d *dataSourceVictoriaMetrics) Dispose(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+diff --git a/managed/services/telemetry/telemetry.go b/managed/services/telemetry/telemetry.go
+index d6951ae4..0f4a05bb 100644
+--- a/managed/services/telemetry/telemetry.go
++++ b/managed/services/telemetry/telemetry.go
+@@ -411,7 +411,7 @@ func (s *Service) send(ctx context.Context, report *reporter.ReportRequest) erro
+ }
+ }
+ }
+-
++// Format returns the formatted representation of the provided server metric.
+ func (s *Service) Format(report *pmmv1.ServerMetric) string {
+ var builder strings.Builder
+ for _, m := range report.Metrics {
+diff --git a/managed/services/telemetry/uievents/uievents.go b/managed/services/telemetry/uievents/uievents.go
+index e66be330..bb266200 100644
+--- a/managed/services/telemetry/uievents/uievents.go
++++ b/managed/services/telemetry/uievents/uievents.go
+@@ -1,4 +1,3 @@
+-// Copyright (C) 2023 Percona LLC
+ //
+ // This program is free software: you can redistribute it and/or modify
+ // it under the terms of the GNU Affero General Public License as published by
+@@ -49,14 +48,14 @@ type Service struct {
+
+ uievents.UnimplementedUIEventsServer
+ }
+-
++// DashboardUsageStat represents a structure for dashboard usage statistics.
+ type DashboardUsageStat struct {
+ title string
+ uid string
+ useCount int32
+ loadTime *hdrhistogram.Histogram
+ }
+-
++// ComponentsUsageStat represents a structure for component usage statistics.
+ type ComponentsUsageStat struct {
+ uid string
+ useCount int32
+@@ -92,7 +91,7 @@ func (s *Service) ScheduleCleanup(ctx context.Context) {
+ }
+ }()
+ }
+-
++// FetchMetrics fetches metrics for the service based on the provided context and telemetry configuration.
+ func (s *Service) FetchMetrics(_ context.Context, _ telemetry.Config) ([]*pmmv1.ServerMetric_Metric, error) { //nolint:unparam
+ s.stateM.RLock()
+ defer s.stateM.RUnlock()
+diff --git a/managed/services/types.go b/managed/services/types.go
+index 9573660b..f1c5d570 100644
+--- a/managed/services/types.go
++++ b/managed/services/types.go
+@@ -34,7 +34,7 @@ type Target struct {
+ TDP *models.DelimiterPair
+ TLSSkipVerify bool
+ }
+-
++// Copy creates a copy of the Target instance.
+ func (t *Target) Copy() Target {
+ labels := make(map[string]string, len(t.Labels))
+ for k, v := range t.Labels {
+diff --git a/managed/utils/interceptors/grpc_extension.go b/managed/utils/interceptors/grpc_extension.go
+index 19046ade..3a59efbb 100644
+--- a/managed/utils/interceptors/grpc_extension.go
++++ b/managed/utils/interceptors/grpc_extension.go
+@@ -36,15 +36,15 @@ const (
+ type GRPCMetricsExtension struct {
+ grpc_prometheus.DefaultExtension
+ }
+-
++// MetricsNameAdjust adjusts the given metric name and returns the adjusted name.
+ func (e GRPCMetricsExtension) MetricsNameAdjust(name string) string {
+ return "pmm_" + name
+ }
+-
++// ServerStreamMsgReceivedCounterCustomLabels returns custom labels for the server stream message received counter.
+ func (e *GRPCMetricsExtension) ServerStreamMsgReceivedCounterCustomLabels() []string {
+ return []string{"caller_origin"}
+ }
+-
++// ServerStreamMsgReceivedCounterValues returns custom values for the server stream message received counter.
+ func (e *GRPCMetricsExtension) ServerStreamMsgReceivedCounterValues(ctx context.Context) []string {
+ return []string{getCallerOriginStr(ctx)}
+ }
+diff --git a/managed/utils/interceptors/interceptors.go b/managed/utils/interceptors/interceptors.go
+index 039de491..e9b33754 100644
+--- a/managed/utils/interceptors/interceptors.go
++++ b/managed/utils/interceptors/interceptors.go
+@@ -78,7 +78,7 @@ func logRequest(l *logrus.Entry, prefix string, f func() error) (err error) {
+ err = f()
+ return //nolint:nakedret
+ }
+-
++// UnaryInterceptorType represents the type of a unary gRPC interceptor.
+ type UnaryInterceptorType = func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)
+
+ // Unary adds context logger and Prometheus metrics to unary server RPC.
+diff --git a/managed/utils/platform/client.go b/managed/utils/platform/client.go
+index 0956f789..685b2d0e 100644
+--- a/managed/utils/platform/client.go
++++ b/managed/utils/platform/client.go
+@@ -281,7 +281,7 @@ func (c *Client) makeRequest(ctx context.Context, accessToken, method, path stri
+
+ return bodyBytes, nil
+ }
+-
++// SsoDetails represents the Single Sign-On details containing information
+ type SsoDetails struct {
+ GrafanaClientID string `json:"grafana_client_id"` //nolint:tagliatelle
+ PMMManagedClientID string `json:"pmm_managed_client_id"` //nolint:tagliatelle
+@@ -289,16 +289,16 @@ type SsoDetails struct {
+ Scope string `json:"scope"`
+ IssuerURL string `json:"issuer_url"` //nolint:tagliatelle
+ }
+-
++// ConnectPMMResponse represents the response structure for the ConnectPMM API.
+ type ConnectPMMResponse struct {
+ SSODetails *SsoDetails `json:"sso_details"`
+ OrganizationID string `json:"org_id"`
+ }
+-
++// SearchOrganizationEntitlementsResponse represents the response structure
+ type SearchOrganizationEntitlementsResponse struct {
+ Entitlement []*EntitlementResponse `json:"entitlements"`
+ }
+-
++// EntitlementResponse represents the response structure for entitlement-related APIs.
+ type EntitlementResponse struct {
+ Number string `json:"number"`
+ Name string `json:"name"`
+@@ -312,16 +312,16 @@ type EntitlementResponse struct {
+ EndDate string `json:"end_date"` //nolint:tagliatelle
+ Platform Response `json:"platform"`
+ }
+-
++// Response represents a generic API response structure.
+ type Response struct {
+ SecurityAdvisor string `json:"security_advisor"` //nolint:tagliatelle
+ ConfigAdvisor string `json:"config_advisor"` //nolint:tagliatelle
+ }
+-
++// SearchOrganizationTicketsResponse represents the response structure
+ type SearchOrganizationTicketsResponse struct {
+ Tickets []*TicketResponse `json:"tickets"`
+ }
+-
++// TicketResponse represents the response structure for ticket-related APIs.
+ type TicketResponse struct {
+ Number string `json:"number"`
+ ShortDescription string `json:"short_description"` //nolint:tagliatelle
+@@ -333,7 +333,7 @@ type TicketResponse struct {
+ TaskType string `json:"task_type"` //nolint:tagliatelle
+ URL string `json:"url"`
+ }
+-
++// ContactInformation represents information about a contact.
+ type ContactInformation struct {
+ Contacts struct {
+ CustomerSuccess struct {
+diff --git a/qan-api2/db.go b/qan-api2/db.go
+index 4e0f9d16..f265879c 100644
+--- a/qan-api2/db.go
++++ b/qan-api2/db.go
+@@ -12,7 +12,7 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-
++// Package main ...
+ package main
+
+ import (
+--
+2.34.1
+
+
+From c04a4144b288f2cb44cf154b6f31b45ac2118657 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Wed, 17 Jan 2024 03:19:10 +0530
+Subject: [PATCH 14/15] added comments and used nolint were required
+
+---
+ agent/agentlocal/agent_local.go | 2 +-
+ agent/agents/agents_test.go | 2 +-
+ agent/agents/mongodb/mongodb.go | 2 +-
+ agent/agents/mysql/slowlog/slowlog.go | 2 +-
+ agent/agents/mysql/slowlog/slowlog_test.go | 6 +++---
+ agent/agents/noop/noop.go | 4 ++--
+ agent/agents/noop/noop_test.go | 2 +-
+ agent/agents/postgres/pgstatmonitor/pgstatmonitor.go | 6 +++---
+ .../agents/postgres/pgstatstatements/pgstatstatements.go | 4 ++--
+ agent/agents/supervisor/supervisor.go | 8 ++++----
+ agent/commands/setup.go | 2 +-
+ agent/connectionchecker/connection_checker.go | 2 +-
+ agent/main.go | 2 +-
+ agent/runner/actions/mysql_explain_action.go | 2 +-
+ agent/runner/runner_test.go | 2 +-
+ managed/cmd/pmm-managed-starlark/main.go | 2 +-
+ managed/services/agents/channel/channel.go | 2 +-
+ managed/services/management/checks.go | 2 +-
+ managed/services/telemetry/datasource_grafanadb_select.go | 4 ++--
+ managed/services/telemetry/datasource_qandb_select.go | 2 +-
+ 20 files changed, 30 insertions(+), 30 deletions(-)
+
+diff --git a/agent/agentlocal/agent_local.go b/agent/agentlocal/agent_local.go
+index b4adb321..da651077 100644
+--- a/agent/agentlocal/agent_local.go
++++ b/agent/agentlocal/agent_local.go
+@@ -136,7 +136,7 @@ func (s *Server) Run(ctx context.Context, reloadCh chan bool) {
+ }
+
+ // Status returns current pmm-agent status.
+-func (s *Server) Status(ctx context.Context, req *agentlocalpb.StatusRequest) (*agentlocalpb.StatusResponse, error) {
++func (s *Server) Status(ctx context.Context, req *agentlocalpb.StatusRequest) (*agentlocalpb.StatusResponse, error) {//nolint:revive
+ connected := true
+ md := s.client.GetServerConnectMetadata()
+ if md == nil {
+diff --git a/agent/agents/agents_test.go b/agent/agents/agents_test.go
+index 60eb612b..98b83d68 100644
+--- a/agent/agents/agents_test.go
++++ b/agent/agents/agents_test.go
+@@ -16,6 +16,6 @@ package agents
+
+ import "testing"
+ // TestAgents is a test function for the Agents module.
+-func TestAgents(t *testing.T) {
++func TestAgents(t *testing.T) {//nolint:revive
+ // we need at least one test per package to correctly calculate coverage
+ }
+diff --git a/agent/agents/mongodb/mongodb.go b/agent/agents/mongodb/mongodb.go
+index f3a0dc8d..728bc3c0 100644
+--- a/agent/agents/mongodb/mongodb.go
++++ b/agent/agents/mongodb/mongodb.go
+@@ -104,7 +104,7 @@ func (m *MongoDB) Write(r *report.Report) error {
+ return nil
+ }
+
+-type Profiler interface {
++type Profiler interface {//nolint:revive
+ Start() error
+ Stop() error
+ }
+diff --git a/agent/agents/mysql/slowlog/slowlog.go b/agent/agents/mysql/slowlog/slowlog.go
+index 398c117d..b2c52741 100644
+--- a/agent/agents/mysql/slowlog/slowlog.go
++++ b/agent/agents/mysql/slowlog/slowlog.go
+@@ -715,7 +715,7 @@ func errListsToMap(k, v []uint64) map[uint64]uint64 {
+ }
+
+ // Describe implements prometheus.Collector.
+-func (s *SlowLog) Describe(ch chan<- *prometheus.Desc) {
++func (s *SlowLog) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/agents/mysql/slowlog/slowlog_test.go b/agent/agents/mysql/slowlog/slowlog_test.go
+index f049ef1a..8ba0da38 100644
+--- a/agent/agents/mysql/slowlog/slowlog_test.go
++++ b/agent/agents/mysql/slowlog/slowlog_test.go
+@@ -171,7 +171,7 @@ func TestSlowLog(t *testing.T) {
+ assert.Equal(t, expected, actual)
+
+ cancel()
+- for range s.Changes() {
++ for range s.Changes() {//nolint:revive
+ }
+ })
+
+@@ -222,7 +222,7 @@ func TestSlowLog(t *testing.T) {
+ assert.Equal(t, expected, actual)
+
+ cancel()
+- for range s.Changes() {
++ for range s.Changes() {//nolint:revive
+ }
+ })
+
+@@ -271,7 +271,7 @@ func TestSlowLog(t *testing.T) {
+ assert.Equal(t, expected, actual)
+
+ cancel()
+- for range s.Changes() {
++ for range s.Changes() {//nolint:revive
+ }
+ })
+ }
+diff --git a/agent/agents/noop/noop.go b/agent/agents/noop/noop.go
+index d1081717..8c034d22 100644
+--- a/agent/agents/noop/noop.go
++++ b/agent/agents/noop/noop.go
+@@ -57,12 +57,12 @@ func (n *NoOp) Changes() <-chan agents.Change {
+ }
+
+ // Describe implements prometheus.Collector.
+-func (n *NoOp) Describe(ch chan<- *prometheus.Desc) {
++func (n *NoOp) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+ // Collect implement prometheus.Collector.
+-func (n *NoOp) Collect(ch chan<- prometheus.Metric) {
++func (n *NoOp) Collect(ch chan<- prometheus.Metric) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/agents/noop/noop_test.go b/agent/agents/noop/noop_test.go
+index ccce0193..ab1e3d93 100644
+--- a/agent/agents/noop/noop_test.go
++++ b/agent/agents/noop/noop_test.go
+@@ -16,6 +16,6 @@ package noop
+
+ import "testing"
+
+-func TestNoOp(t *testing.T) {
++func TestNoOp(t *testing.T) {//nolint:revive
+ // we need at least one test per package to correctly calculate coverage
+ }
+diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go
+index f489af40..79d5c54c 100644
+--- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go
++++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go
+@@ -43,7 +43,7 @@ import (
+ const defaultWaitTime = 60 * time.Second
+
+ // PGStatMonitorQAN QAN services connects to PostgreSQL and extracts stats.
+-type PGStatMonitorQAN struct {
++type PGStatMonitorQAN struct {//nolint:revive
+ q *reform.Querier
+ dbCloser io.Closer
+ agentID string
+@@ -715,12 +715,12 @@ func (m *PGStatMonitorQAN) Changes() <-chan agents.Change {
+ }
+
+ // Describe implements prometheus.Collector.
+-func (m *PGStatMonitorQAN) Describe(ch chan<- *prometheus.Desc) {
++func (m *PGStatMonitorQAN) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+ // Collect implement prometheus.Collector.
+-func (m *PGStatMonitorQAN) Collect(ch chan<- prometheus.Metric) {
++func (m *PGStatMonitorQAN) Collect(ch chan<- prometheus.Metric) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements.go b/agent/agents/postgres/pgstatstatements/pgstatstatements.go
+index 2f9a2702..4758dd6f 100644
+--- a/agent/agents/postgres/pgstatstatements/pgstatstatements.go
++++ b/agent/agents/postgres/pgstatstatements/pgstatstatements.go
+@@ -53,7 +53,7 @@ var pgStatVer18 = semver.MustParse("1.8.0")
+ type statementsMap map[int64]*pgStatStatementsExtended
+
+ // PGStatStatementsQAN QAN services connects to PostgreSQL and extracts stats.
+-type PGStatStatementsQAN struct {
++type PGStatStatementsQAN struct {//nolint:revive
+ q *reform.Querier
+ dbCloser io.Closer
+ agentID string
+@@ -409,7 +409,7 @@ func (m *PGStatStatementsQAN) Changes() <-chan agents.Change {
+ }
+
+ // Describe implements prometheus.Collector.
+-func (m *PGStatStatementsQAN) Describe(ch chan<- *prometheus.Desc) {
++func (m *PGStatStatementsQAN) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/agents/supervisor/supervisor.go b/agent/agents/supervisor/supervisor.go
+index d4269809..f2d0cf52 100644
+--- a/agent/agents/supervisor/supervisor.go
++++ b/agent/agents/supervisor/supervisor.go
+@@ -425,9 +425,9 @@ func filter(existing, ap map[string]agentpb.AgentParams) ([]string, []string, []
+ return toStart, toRestart, toStop
+ }
+
+-//nolint:golint,stylecheck
++//nolint:golint,stylecheck,revive
+ const (
+- type_TEST_SLEEP inventorypb.AgentType = 998 // process
++ type_TEST_SLEEP inventorypb.AgentType = 998 // processe
+ type_TEST_NOOP inventorypb.AgentType = 999 // built-in
+ )
+
+@@ -671,11 +671,11 @@ func (s *Supervisor) processParams(agentID string, agentProcess *agentpb.SetStat
+ templateParams["tmp_dir"] = cfg.Paths.TempDir
+ processParams.Path = cfg.Paths.VMAgent
+ default:
+- return nil, errors.Errorf("unhandled agent type %[1]s (%[1]d).", agentProcess.Type)
++ return nil, errors.Errorf("unhandled agent type %[1]s (%[1]d).", agentProcess.Type)//nolint:revive
+ }
+
+ if processParams.Path == "" {
+- return nil, errors.Errorf("no path for agent type %[1]s (%[1]d).", agentProcess.Type)
++ return nil, errors.Errorf("no path for agent type %[1]s (%[1]d).", agentProcess.Type)//nolint:revive
+ }
+
+ tr := &templates.TemplateRenderer{
+diff --git a/agent/commands/setup.go b/agent/commands/setup.go
+index 16db5e6f..0cd218f9 100644
+--- a/agent/commands/setup.go
++++ b/agent/commands/setup.go
+@@ -12,7 +12,7 @@
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+
+-//nolint:forbidigo
++//nolint:forbidigo,revive
+ package commands
+
+ import (
+diff --git a/agent/connectionchecker/connection_checker.go b/agent/connectionchecker/connection_checker.go
+index 98378422..549c5af1 100644
+--- a/agent/connectionchecker/connection_checker.go
++++ b/agent/connectionchecker/connection_checker.go
+@@ -94,7 +94,7 @@ func (cc *ConnectionChecker) sqlPing(ctx context.Context, db *sql.DB) error {
+ return err
+ }
+
+-func (cc *ConnectionChecker) checkMySQLConnection(ctx context.Context, dsn string, files *agentpb.TextFiles, tlsSkipVerify bool, id uint32) *agentpb.CheckConnectionResponse { //nolint:lll,unparam
++func (cc *ConnectionChecker) checkMySQLConnection(ctx context.Context, dsn string, files *agentpb.TextFiles, tlsSkipVerify bool, id uint32) *agentpb.CheckConnectionResponse { //nolint:lll,unparam,revive
+ var res agentpb.CheckConnectionResponse
+ var err error
+
+diff --git a/agent/main.go b/agent/main.go
+index 7bf443c5..46ddb1b2 100644
+--- a/agent/main.go
++++ b/agent/main.go
+@@ -11,7 +11,7 @@
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+-
++// Package main
+ package main
+
+ import (
+diff --git a/agent/runner/actions/mysql_explain_action.go b/agent/runner/actions/mysql_explain_action.go
+index 2ac3ff4c..4a01dd02 100644
+--- a/agent/runner/actions/mysql_explain_action.go
++++ b/agent/runner/actions/mysql_explain_action.go
+@@ -85,7 +85,7 @@ func (a *mysqlExplainAction) Run(ctx context.Context) ([]byte, error) {
+
+ // You cant run Explain on trimmed queries.
+ if strings.HasSuffix(a.params.Query, "...") {
+- return nil, errors.New("EXPLAIN failed because the query was too long and trimmed. Set max-query-length to a larger value.")
++ return nil, errors.New("EXPLAIN failed because the query was too long and trimmed. Set max-query-length to a larger value.")//nolint:revive
+ }
+
+ // Explain is supported only for DML queries.
+diff --git a/agent/runner/runner_test.go b/agent/runner/runner_test.go
+index b5ed9ddb..aa44992e 100644
+--- a/agent/runner/runner_test.go
++++ b/agent/runner/runner_test.go
+@@ -251,7 +251,7 @@ func (t testJob) Timeout() time.Duration {
+ return t.timeout
+ }
+
+-func (t testJob) Run(ctx context.Context, send jobs.Send) error {
++func (t testJob) Run(ctx context.Context, send jobs.Send) error {//nolint:revive
+ <-ctx.Done()
+ return nil
+ }
+diff --git a/managed/cmd/pmm-managed-starlark/main.go b/managed/cmd/pmm-managed-starlark/main.go
+index f976d67a..7fef7c47 100644
+--- a/managed/cmd/pmm-managed-starlark/main.go
++++ b/managed/cmd/pmm-managed-starlark/main.go
+@@ -12,7 +12,7 @@
+ //
+ // You should have received a copy of the GNU Affero General Public License
+ // along with this program. If not, see .
+-
++// Package main
+ package main
+
+ import (
+diff --git a/managed/services/agents/channel/channel.go b/managed/services/agents/channel/channel.go
+index 5e361423..d8d93daa 100644
+--- a/managed/services/agents/channel/channel.go
++++ b/managed/services/agents/channel/channel.go
+@@ -67,7 +67,7 @@ type Response struct {
+ Error error
+ }
+
+-type Stream interface {
++type Stream interface {//nolint:revive
+ Send(*agentpb.ServerMessage) error
+ Recv() (*agentpb.AgentMessage, error)
+ }
+diff --git a/managed/services/management/checks.go b/managed/services/management/checks.go
+index 6a704d24..ea5252f5 100644
+--- a/managed/services/management/checks.go
++++ b/managed/services/management/checks.go
+@@ -172,7 +172,7 @@ func (s *ChecksAPIService) GetFailedChecks(ctx context.Context, req *managementp
+ }
+
+ // ToggleCheckAlert toggles the silence state of the check with the provided alertID.
+-func (s *ChecksAPIService) ToggleCheckAlert(ctx context.Context, req *managementpb.ToggleCheckAlertRequest) (*managementpb.ToggleCheckAlertResponse, error) {
++func (s *ChecksAPIService) ToggleCheckAlert(ctx context.Context, req *managementpb.ToggleCheckAlertRequest) (*managementpb.ToggleCheckAlertResponse, error) {//nolint:revive
+ return nil, status.Error(codes.NotFound, "Advisor alerts silencing is not supported anymore.")
+ }
+
+diff --git a/managed/services/telemetry/datasource_grafanadb_select.go b/managed/services/telemetry/datasource_grafanadb_select.go
+index 9361ff93..887b504d 100644
+--- a/managed/services/telemetry/datasource_grafanadb_select.go
++++ b/managed/services/telemetry/datasource_grafanadb_select.go
+@@ -52,7 +52,7 @@ func NewDsGrafanaDBSelect(config DSConfigGrafanaDB, l *logrus.Entry) DataSource
+ }
+ }
+
+-func (d *dsGrafanaDBSelect) Init(ctx context.Context) error {
++func (d *dsGrafanaDBSelect) Init(ctx context.Context) error {//nolint:revive
+ db, err := openGrafanaDBConnection(d.config, d.l)
+ if err != nil {
+ return err
+@@ -99,6 +99,6 @@ func (d *dsGrafanaDBSelect) FetchMetrics(ctx context.Context, config Config) ([]
+ return fetchMetricsFromDB(ctx, d.l, d.config.Timeout, d.db, config)
+ }
+
+-func (d *dsGrafanaDBSelect) Dispose(ctx context.Context) error {
++func (d *dsGrafanaDBSelect) Dispose(ctx context.Context) error {//nolint:revive
+ return d.db.Close()
+ }
+diff --git a/managed/services/telemetry/datasource_qandb_select.go b/managed/services/telemetry/datasource_qandb_select.go
+index b458a087..60379deb 100644
+--- a/managed/services/telemetry/datasource_qandb_select.go
++++ b/managed/services/telemetry/datasource_qandb_select.go
+@@ -73,7 +73,7 @@ func (d *dsQanDBSelect) FetchMetrics(ctx context.Context, config Config) ([]*pmm
+ return fetchMetricsFromDB(ctx, d.l, d.config.Timeout, d.db, config)
+ }
+
+-func (d *dsQanDBSelect) Init(ctx context.Context) error {
++func (d *dsQanDBSelect) Init(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+
+--
+2.34.1
+
+
+From 4033718466865599ff780a5382dfca61a14621a9 Mon Sep 17 00:00:00 2001
+From: vishwas-sharma2480
+Date: Wed, 17 Jan 2024 04:03:16 +0530
+Subject: [PATCH 15/15] added comments and used nolint were required
+
+---
+ agent/agentlocal/agent_local.go | 2 +-
+ agent/agents/mongodb/mongodb.go | 4 ++--
+ agent/agents/mysql/perfschema/perfschema.go | 2 +-
+ agent/agents/mysql/slowlog/slowlog.go | 2 +-
+ agent/client/basic_auth.go | 2 +-
+ managed/services/management/ia/channels_service.go | 8 ++++----
+ managed/services/management/ia/rules_service.go | 10 +++++-----
+ managed/services/telemetry/datasource_qandb_select.go | 2 +-
+ 8 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/agent/agentlocal/agent_local.go b/agent/agentlocal/agent_local.go
+index da651077..2f0987a9 100644
+--- a/agent/agentlocal/agent_local.go
++++ b/agent/agentlocal/agent_local.go
+@@ -184,7 +184,7 @@ func roundFloat(upTime float32, numAfterDot int) float32 {
+ }
+
+ // Reload reloads pmm-agent and its configuration.
+-func (s *Server) Reload(ctx context.Context, req *agentlocalpb.ReloadRequest) (*agentlocalpb.ReloadResponse, error) {
++func (s *Server) Reload(ctx context.Context, req *agentlocalpb.ReloadRequest) (*agentlocalpb.ReloadResponse, error) {//nolint:revive
+ // sync errors with setup command
+
+ if _, err := s.cfg.Reload(s.l); err != nil {
+diff --git a/agent/agents/mongodb/mongodb.go b/agent/agents/mongodb/mongodb.go
+index 728bc3c0..7c244490 100644
+--- a/agent/agents/mongodb/mongodb.go
++++ b/agent/agents/mongodb/mongodb.go
+@@ -110,12 +110,12 @@ type Profiler interface {//nolint:revive
+ }
+
+ // Describe implements prometheus.Collector.
+-func (m *MongoDB) Describe(ch chan<- *prometheus.Desc) {
++func (m *MongoDB) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+ // Collect implement prometheus.Collector.
+-func (m *MongoDB) Collect(ch chan<- prometheus.Metric) {
++func (m *MongoDB) Collect(ch chan<- prometheus.Metric) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/agents/mysql/perfschema/perfschema.go b/agent/agents/mysql/perfschema/perfschema.go
+index ae4af57d..72c4b5a8 100644
+--- a/agent/agents/mysql/perfschema/perfschema.go
++++ b/agent/agents/mysql/perfschema/perfschema.go
+@@ -462,7 +462,7 @@ func (m *PerfSchema) Changes() <-chan agents.Change {
+ }
+
+ // Describe implements prometheus.Collector.
+-func (m *PerfSchema) Describe(ch chan<- *prometheus.Desc) {
++func (m *PerfSchema) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/agents/mysql/slowlog/slowlog.go b/agent/agents/mysql/slowlog/slowlog.go
+index b2c52741..44ffc718 100644
+--- a/agent/agents/mysql/slowlog/slowlog.go
++++ b/agent/agents/mysql/slowlog/slowlog.go
+@@ -720,7 +720,7 @@ func (s *SlowLog) Describe(ch chan<- *prometheus.Desc) {//nolint:revive
+ }
+
+ // Collect implement prometheus.Collector.
+-func (s *SlowLog) Collect(ch chan<- prometheus.Metric) {
++func (s *SlowLog) Collect(ch chan<- prometheus.Metric) {//nolint:revive
+ // This method is needed to satisfy interface.
+ }
+
+diff --git a/agent/client/basic_auth.go b/agent/client/basic_auth.go
+index 5055250f..a48b19cf 100644
+--- a/agent/client/basic_auth.go
++++ b/agent/client/basic_auth.go
+@@ -27,7 +27,7 @@ type basicAuth struct {
+ }
+
+ // GetRequestMetadata implements credentials.PerRPCCredentials interface.
+-func (b *basicAuth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
++func (b *basicAuth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {//nolint:revive
+ auth := b.username + ":" + b.password
+ enc := base64.StdEncoding.EncodeToString([]byte(auth))
+ return map[string]string{
+diff --git a/managed/services/management/ia/channels_service.go b/managed/services/management/ia/channels_service.go
+index 72cf0de5..5c0f0643 100644
+--- a/managed/services/management/ia/channels_service.go
++++ b/managed/services/management/ia/channels_service.go
+@@ -60,7 +60,7 @@ func (s *ChannelsService) Enabled() bool {
+
+ // ListChannels returns list of available channels.
+ // Deprecated. Do not use.
+-func (s *ChannelsService) ListChannels(ctx context.Context, req *iav1beta1.ListChannelsRequest) (*iav1beta1.ListChannelsResponse, error) { //nolint:staticcheck
++func (s *ChannelsService) ListChannels(ctx context.Context, req *iav1beta1.ListChannelsRequest) (*iav1beta1.ListChannelsResponse, error) { //nolint:staticcheck,revive
+ var pageIndex int
+ var pageSize int
+ if req.PageParams != nil {
+@@ -161,7 +161,7 @@ func (s *ChannelsService) getNotificationChannelsPage(pageIndex, pageSize int) (
+
+ // AddChannel adds new notification channel.
+ // Deprecated. Do not use.
+-func (s *ChannelsService) AddChannel(ctx context.Context, req *iav1beta1.AddChannelRequest) (*iav1beta1.AddChannelResponse, error) { //nolint:staticcheck
++func (s *ChannelsService) AddChannel(ctx context.Context, req *iav1beta1.AddChannelRequest) (*iav1beta1.AddChannelResponse, error) { //nolint:staticcheck,revive
+ params := &models.CreateChannelParams{
+ Summary: req.Summary,
+ Disabled: req.Disabled,
+@@ -212,7 +212,7 @@ func (s *ChannelsService) AddChannel(ctx context.Context, req *iav1beta1.AddChan
+
+ // ChangeChannel changes existing notification channel.
+ // Deprecated. Do not use.
+-func (s *ChannelsService) ChangeChannel(ctx context.Context, req *iav1beta1.ChangeChannelRequest) (*iav1beta1.ChangeChannelResponse, error) { //nolint:staticcheck
++func (s *ChannelsService) ChangeChannel(ctx context.Context, req *iav1beta1.ChangeChannelRequest) (*iav1beta1.ChangeChannelResponse, error) { //nolint:staticcheck,revive
+ params := &models.ChangeChannelParams{
+ Summary: req.Summary,
+ Disabled: req.Disabled,
+@@ -261,7 +261,7 @@ func (s *ChannelsService) ChangeChannel(ctx context.Context, req *iav1beta1.Chan
+
+ // RemoveChannel removes notification channel.
+ // Deprecated. Do not use.
+-func (s *ChannelsService) RemoveChannel(ctx context.Context, req *iav1beta1.RemoveChannelRequest) (*iav1beta1.RemoveChannelResponse, error) { //nolint:staticcheck
++func (s *ChannelsService) RemoveChannel(ctx context.Context, req *iav1beta1.RemoveChannelRequest) (*iav1beta1.RemoveChannelResponse, error) { //nolint:staticcheck,revive
+ e := s.db.InTransaction(func(tx *reform.TX) error {
+ return models.RemoveChannel(tx.Querier, req.ChannelId)
+ })
+diff --git a/managed/services/management/ia/rules_service.go b/managed/services/management/ia/rules_service.go
+index 1e217d91..f80920f0 100644
+--- a/managed/services/management/ia/rules_service.go
++++ b/managed/services/management/ia/rules_service.go
+@@ -272,7 +272,7 @@ func (s *RulesService) writeRuleFile(rule *ruleFile) error {
+
+ // ListAlertRules returns a list of all Integrated Alerting rules.
+ // Deprecated. Do not use.
+-func (s *RulesService) ListAlertRules(ctx context.Context, req *iav1beta1.ListAlertRulesRequest) (*iav1beta1.ListAlertRulesResponse, error) { //nolint:staticcheck
++func (s *RulesService) ListAlertRules(ctx context.Context, req *iav1beta1.ListAlertRulesRequest) (*iav1beta1.ListAlertRulesResponse, error) { //nolint:staticcheck,revive
+ var pageIndex int
+ pageSize := math.MaxInt32
+ if req.PageParams != nil {
+@@ -346,7 +346,7 @@ func (s *RulesService) convertAlertRules(rules []*models.Rule, channels []*model
+
+ // CreateAlertRule creates Integrated Alerting rule.
+ // Deprecated. Do not use.
+-func (s *RulesService) CreateAlertRule(ctx context.Context, req *iav1beta1.CreateAlertRuleRequest) (*iav1beta1.CreateAlertRuleResponse, error) { //nolint:staticcheck
++func (s *RulesService) CreateAlertRule(ctx context.Context, req *iav1beta1.CreateAlertRuleRequest) (*iav1beta1.CreateAlertRuleResponse, error) { //nolint:staticcheck,revive
+ if req.TemplateName != "" && req.SourceRuleId != "" {
+ return nil, status.Errorf(codes.InvalidArgument, "Both template name and source rule id are specified.")
+ }
+@@ -447,7 +447,7 @@ func (s *RulesService) CreateAlertRule(ctx context.Context, req *iav1beta1.Creat
+
+ // UpdateAlertRule updates Integrated Alerting rule.
+ // Deprecated. Do not use.
+-func (s *RulesService) UpdateAlertRule(ctx context.Context, req *iav1beta1.UpdateAlertRuleRequest) (*iav1beta1.UpdateAlertRuleResponse, error) { //nolint:staticcheck
++func (s *RulesService) UpdateAlertRule(ctx context.Context, req *iav1beta1.UpdateAlertRuleRequest) (*iav1beta1.UpdateAlertRuleResponse, error) { //nolint:staticcheck,revive
+ params := &models.ChangeRuleParams{
+ Name: req.Name,
+ Disabled: req.Disabled,
+@@ -496,7 +496,7 @@ func (s *RulesService) UpdateAlertRule(ctx context.Context, req *iav1beta1.Updat
+
+ // ToggleAlertRule allows switching between disabled and enabled states of an Alert Rule.
+ // Deprecated. Do not use.
+-func (s *RulesService) ToggleAlertRule(ctx context.Context, req *iav1beta1.ToggleAlertRuleRequest) (*iav1beta1.ToggleAlertRuleResponse, error) { //nolint:staticcheck
++func (s *RulesService) ToggleAlertRule(ctx context.Context, req *iav1beta1.ToggleAlertRuleRequest) (*iav1beta1.ToggleAlertRuleResponse, error) { //nolint:staticcheck,revive
+ params := &models.ToggleRuleParams{Disabled: parseBooleanFlag(req.Disabled)}
+ e := s.db.InTransaction(func(tx *reform.TX) error {
+ _, err := models.ToggleRule(tx.Querier, req.RuleId, params)
+@@ -513,7 +513,7 @@ func (s *RulesService) ToggleAlertRule(ctx context.Context, req *iav1beta1.Toggl
+
+ // DeleteAlertRule deletes Integrated Alerting rule.
+ // Deprecated. Do not use.
+-func (s *RulesService) DeleteAlertRule(ctx context.Context, req *iav1beta1.DeleteAlertRuleRequest) (*iav1beta1.DeleteAlertRuleResponse, error) { //nolint:staticcheck
++func (s *RulesService) DeleteAlertRule(ctx context.Context, req *iav1beta1.DeleteAlertRuleRequest) (*iav1beta1.DeleteAlertRuleResponse, error) { //nolint:staticcheck,revive
+ e := s.db.InTransaction(func(tx *reform.TX) error {
+ return models.RemoveRule(tx.Querier, req.RuleId)
+ })
+diff --git a/managed/services/telemetry/datasource_qandb_select.go b/managed/services/telemetry/datasource_qandb_select.go
+index 60379deb..ddac88d6 100644
+--- a/managed/services/telemetry/datasource_qandb_select.go
++++ b/managed/services/telemetry/datasource_qandb_select.go
+@@ -77,6 +77,6 @@ func (d *dsQanDBSelect) Init(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+
+-func (d *dsQanDBSelect) Dispose(ctx context.Context) error {
++func (d *dsQanDBSelect) Dispose(ctx context.Context) error {//nolint:revive
+ return nil
+ }
+--
+2.34.1
+
diff --git a/qan-api2/db.go b/qan-api2/db.go
index 4e0f9d1646..060e137f70 100644
--- a/qan-api2/db.go
+++ b/qan-api2/db.go
@@ -12,7 +12,7 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
+// Package main.
package main
import (
diff --git a/qan-api2/exporters/slow_log.go b/qan-api2/exporters/slow_log.go
index db3d6cd0cc..52f37e0075 100644
--- a/qan-api2/exporters/slow_log.go
+++ b/qan-api2/exporters/slow_log.go
@@ -387,7 +387,6 @@ func main() {
// Reached end of slowlog. Send all what we have to API.
return nil
})
-
if err != nil {
if _, ok := err.(closedChannelError); !ok {
log.Fatal("transaction error:", err)
diff --git a/qan-api2/models/data_ingestion.go b/qan-api2/models/data_ingestion.go
index 3817c52ca0..d530832078 100644
--- a/qan-api2/models/data_ingestion.go
+++ b/qan-api2/models/data_ingestion.go
@@ -600,14 +600,15 @@ func (mb *MetricsBucket) Run(ctx context.Context) {
_ = mb.insertBatch(0)
}
-func (mb *MetricsBucket) insertBatch(timeout time.Duration) (err error) {
+func (mb *MetricsBucket) insertBatch(timeout time.Duration) error {
// wait for first request before doing anything, ignore timeout
req, ok := <-mb.requestsCh
if !ok {
mb.l.Warn("Requests channel closed, nothing to store.")
- return //nolint:nakedret
+ return nil
}
+ var err error
var buckets int
start := time.Now()
defer func() {
@@ -629,8 +630,7 @@ func (mb *MetricsBucket) insertBatch(timeout time.Duration) (err error) {
// begin "transaction" and commit or rollback it on exit
var tx *sqlx.Tx
if tx, err = mb.db.Beginx(); err != nil {
- err = errors.Wrap(err, "failed to begin transaction")
- return //nolint:nakedret
+ return errors.Wrap(err, "failed to begin transaction")
}
defer func() {
if err == nil {
@@ -645,8 +645,7 @@ func (mb *MetricsBucket) insertBatch(timeout time.Duration) (err error) {
// prepare INSERT statement and close it on exit
var stmt *sqlx.NamedStmt
if stmt, err = tx.PrepareNamed(insertSQL); err != nil {
- err = errors.Wrap(err, "failed to prepare statement")
- return //nolint:nakedret
+ return errors.Wrap(err, "failed to prepare statement")
}
defer func() {
if e := stmt.Close(); e != nil && err == nil {
@@ -694,8 +693,7 @@ func (mb *MetricsBucket) insertBatch(timeout time.Duration) (err error) {
}
if _, err = stmt.Exec(q); err != nil {
- err = errors.Wrap(err, "failed to exec")
- return //nolint:nakedret
+ return errors.Wrap(err, "failed to exec")
}
}
@@ -704,10 +702,10 @@ func (mb *MetricsBucket) insertBatch(timeout time.Duration) (err error) {
case req, ok = <-mb.requestsCh:
if !ok {
mb.l.Warn("Requests channel closed, exiting.")
- return //nolint:nakedret
+ return nil
}
case <-timeoutCh:
- return //nolint:nakedret
+ return nil
}
}
}
diff --git a/qan-api2/models/metrics.go b/qan-api2/models/metrics.go
index 6daea0014f..6db8380acf 100644
--- a/qan-api2/models/metrics.go
+++ b/qan-api2/models/metrics.go
@@ -1013,7 +1013,6 @@ func (m *Metrics) SchemaByQueryID(ctx context.Context, serviceID, queryID string
res := &qanpb.SchemaByQueryIDReply{}
for rows.Next() {
err = rows.Scan(&res.Schema)
-
if err != nil {
return res, errors.Wrap(err, "failed to scan query")
}
@@ -1065,7 +1064,6 @@ func (m *Metrics) ExplainFingerprintByQueryID(ctx context.Context, serviceID, qu
&fingerprint,
&example,
&res.PlaceholdersCount)
-
if err != nil {
return res, errors.Wrap(err, "failed to scan query")
}
diff --git a/qan-api2/utils/logger/grpc.go b/qan-api2/utils/logger/grpc.go
index 7fa6342b83..80b2ba7d18 100644
--- a/qan-api2/utils/logger/grpc.go
+++ b/qan-api2/utils/logger/grpc.go
@@ -26,16 +26,23 @@ type GRPC struct {
}
// V reports whether verbosity level l is at least the requested verbose level.
-func (v *GRPC) V(l int) bool {
+func (v *GRPC) V(l int) bool { //nolint:revive
// we don't need real implementation ATM
return true
}
+// Info logs a message at the Info level.
// Override InfoXXX methods with TraceXXX to keep gRPC and logrus levels in sync.
//
+// Info logs a message at the Info level.
+//
//nolint:stylecheck
-func (v *GRPC) Info(args ...interface{}) { v.Trace(args...) }
-func (v *GRPC) Infoln(args ...interface{}) { v.Traceln(args...) }
+func (v *GRPC) Info(args ...interface{}) { v.Trace(args...) }
+
+// Infoln logs a message at the Info level.
+func (v *GRPC) Infoln(args ...interface{}) { v.Traceln(args...) }
+
+// Infof logs a formatted message at the Info level.
func (v *GRPC) Infof(format string, args ...interface{}) { v.Tracef(format, args...) }
// check interfaces.
diff --git a/tools/go.mod b/tools/go.mod
index b4ba004ffc..d65a764964 100644
--- a/tools/go.mod
+++ b/tools/go.mod
@@ -8,77 +8,83 @@ require (
github.com/BurntSushi/go-sumtype v0.0.0-20190304192233-fcb4a6205bdc
github.com/Percona-Lab/swagger-order v0.0.0-20191002141859-166b3973d026
github.com/apache/skywalking-eyes v0.5.0
- github.com/bufbuild/buf v1.28.0
+ github.com/bufbuild/buf v1.29.0
github.com/daixiang0/gci v0.12.0
- github.com/envoyproxy/protoc-gen-validate v1.0.2
- github.com/go-delve/delve v1.21.0
+ github.com/envoyproxy/protoc-gen-validate v1.0.4
+ github.com/go-delve/delve v1.22.0
github.com/go-openapi/runtime v0.25.0
github.com/go-openapi/spec v0.20.4
github.com/go-swagger/go-swagger v0.29.0
- github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0
+ github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0
github.com/jstemmer/go-junit-report v1.0.0
github.com/quasilyte/go-consistent v0.6.0
- github.com/reviewdog/reviewdog v0.15.0
+ github.com/reviewdog/reviewdog v0.17.0
github.com/vburenin/ifacemaker v1.2.1
github.com/vektra/mockery/v2 v2.39.1
golang.org/x/perf v0.0.0-20230717203022-1ba3a21238c9
- golang.org/x/tools v0.16.0
+ golang.org/x/tools v0.18.0
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0
google.golang.org/protobuf v1.32.0
gopkg.in/reform.v1 v1.5.1
- mvdan.cc/gofumpt v0.5.0
+ mvdan.cc/gofumpt v0.6.0
)
require (
- buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231106192134-1baebb0a1518.2 // indirect
- buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.31.0-20231107155709-53a0a97ee0bf.2 // indirect
- cloud.google.com/go v0.110.9 // indirect
- cloud.google.com/go/compute v1.23.2 // indirect
+ buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20231115204500-e097f827e652.1 // indirect
+ cloud.google.com/go v0.111.0 // indirect
+ cloud.google.com/go/compute v1.23.3 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/datastore v1.15.0 // indirect
- connectrpc.com/connect v1.12.0 // indirect
- connectrpc.com/otelconnect v0.6.0 // indirect
+ code.gitea.io/sdk/gitea v0.17.1 // indirect
+ connectrpc.com/connect v1.14.0 // indirect
+ connectrpc.com/otelconnect v0.7.0 // indirect
+ dario.cat/mergo v1.0.0 // indirect
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.2.0 // indirect
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
github.com/Microsoft/go-winio v0.6.1 // indirect
- github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect
+ github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794 // indirect
- github.com/acomagu/bufpipe v1.0.4 // indirect
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
- github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230512164433-5d1fd1a340c9 // indirect
+ github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect
- github.com/bradleyfalzon/ghinstallation/v2 v2.6.0 // indirect
- github.com/bufbuild/protocompile v0.6.1-0.20231027200301-089712432bdc // indirect
- github.com/bufbuild/protovalidate-go v0.4.0 // indirect
+ github.com/bradleyfalzon/ghinstallation/v2 v2.9.0 // indirect
+ github.com/bufbuild/protocompile v0.8.0 // indirect
+ github.com/bufbuild/protovalidate-go v0.5.0 // indirect
+ github.com/bufbuild/protoyaml-go v0.1.7 // indirect
+ github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/chigopher/pathlib v0.19.1 // indirect
- github.com/cilium/ebpf v0.7.0 // indirect
- github.com/cloudflare/circl v1.3.3 // indirect
+ github.com/cilium/ebpf v0.11.0 // indirect
+ github.com/cloudflare/circl v1.3.7 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect
github.com/cosiner/argv v0.1.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
+ github.com/cyphar/filepath-securejoin v0.2.4 // indirect
+ github.com/davidmz/go-pageant v1.0.2 // indirect
github.com/denisenkom/go-mssqldb v0.9.0 // indirect
- github.com/derekparker/trie v0.0.0-20221213183930-4c74548207f4 // indirect
+ github.com/derekparker/trie v0.0.0-20230829180723-39f4de51ef7d // indirect
github.com/distribution/reference v0.5.0 // indirect
github.com/docker/cli v24.0.7+incompatible // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
- github.com/docker/docker v24.0.7+incompatible // indirect
- github.com/docker/docker-credential-helpers v0.8.0 // indirect
- github.com/docker/go-connections v0.4.0 // indirect
+ github.com/docker/docker v25.0.0+incompatible // indirect
+ github.com/docker/docker-credential-helpers v0.8.1 // indirect
+ github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/felixge/fgprof v0.9.3 // indirect
- github.com/felixge/httpsnoop v1.0.3 // indirect
+ github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
- github.com/go-chi/chi/v5 v5.0.10 // indirect
+ github.com/go-chi/chi/v5 v5.0.11 // indirect
+ github.com/go-delve/gore v0.11.6 // indirect
github.com/go-delve/liner v1.2.3-0.20220127212407-d32d89dd2a5d // indirect
+ github.com/go-fed/httpsig v1.1.0 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
- github.com/go-git/go-billy/v5 v5.4.1 // indirect
- github.com/go-git/go-git/v5 v5.8.0 // indirect
- github.com/go-logr/logr v1.3.0 // indirect
+ github.com/go-git/go-billy/v5 v5.5.0 // indirect
+ github.com/go-git/go-git/v5 v5.11.0 // indirect
+ github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/analysis v0.21.3 // indirect
github.com/go-openapi/errors v0.20.2 // indirect
@@ -101,33 +107,33 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect
- github.com/golang/glog v1.1.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.3 // indirect
- github.com/google/cel-go v0.18.1 // indirect
+ github.com/google/cel-go v0.19.0 // indirect
github.com/google/go-cmp v0.6.0 // indirect
- github.com/google/go-containerregistry v0.16.1 // indirect
- github.com/google/go-dap v0.9.1 // indirect
+ github.com/google/go-containerregistry v0.18.0 // indirect
+ github.com/google/go-dap v0.11.0 // indirect
github.com/google/go-github/v33 v33.0.0 // indirect
- github.com/google/go-github/v53 v53.2.0 // indirect
- github.com/google/go-github/v55 v55.0.0 // indirect
+ github.com/google/go-github/v57 v57.0.0 // indirect
+ github.com/google/go-github/v58 v58.0.0 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/licensecheck v0.3.1 // indirect
- github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a // indirect
- github.com/google/s2a-go v0.1.4 // indirect
- github.com/google/uuid v1.3.1 // indirect
- github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect
+ github.com/google/pprof v0.0.0-20240117000934-35fc243c5815 // indirect
+ github.com/google/s2a-go v0.1.7 // indirect
+ github.com/google/uuid v1.4.0 // indirect
+ github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
github.com/googleapis/gax-go/v2 v2.12.0 // indirect
github.com/gorilla/handlers v1.5.1 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-retryablehttp v0.7.2 // indirect
- github.com/hashicorp/golang-lru v0.5.4 // indirect
+ github.com/hashicorp/go-version v1.6.0 // indirect
+ github.com/hashicorp/golang-lru v1.0.2 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/haya14busa/go-actions-toolkit v0.0.0-20200105081403-ca0307860f01 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/huandu/xstrings v1.4.0 // indirect
github.com/iancoleman/orderedmap v0.2.0 // indirect
- github.com/iancoleman/strcase v0.2.0 // indirect
+ github.com/iancoleman/strcase v0.3.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jackc/pgx v3.6.2+incompatible // indirect
@@ -138,7 +144,7 @@ require (
github.com/josharian/intern v1.0.0 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/kisielk/gotool v1.0.0 // indirect
- github.com/klauspost/compress v1.17.2 // indirect
+ github.com/klauspost/compress v1.17.4 // indirect
github.com/klauspost/pgzip v1.2.6 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
@@ -147,7 +153,7 @@ require (
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
- github.com/mattn/go-isatty v0.0.17 // indirect
+ github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.13 // indirect
github.com/mattn/go-shellwords v1.0.12 // indirect
github.com/mattn/go-sqlite3 v1.14.6 // indirect
@@ -163,22 +169,22 @@ require (
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect
- github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
+ github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/profile v1.7.0 // indirect
github.com/reva2/bitbucket-insights-api v1.0.0 // indirect
- github.com/reviewdog/errorformat v0.0.0-20230810075619-82e5d4ad20d2 // indirect
+ github.com/reviewdog/errorformat v0.0.0-20231214114315-6dd01ea41b1f // indirect
github.com/reviewdog/go-bitbucket v0.0.0-20201024094602-708c3f6a7de0 // indirect
github.com/rivo/uniseg v0.2.0 // indirect
- github.com/rogpeppe/go-internal v1.10.0 // indirect
+ github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/rs/cors v1.10.1 // indirect
github.com/rs/zerolog v1.29.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sergi/go-diff v1.3.1 // indirect
github.com/shopspring/decimal v1.3.1 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
- github.com/skeema/knownhosts v1.2.0 // indirect
- github.com/spf13/afero v1.9.3 // indirect
+ github.com/skeema/knownhosts v1.2.1 // indirect
+ github.com/spf13/afero v1.10.0 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.8.0 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
@@ -186,42 +192,43 @@ require (
github.com/spf13/viper v1.15.0 // indirect
github.com/stoewer/go-strcase v1.3.0 // indirect
github.com/subosito/gotenv v1.4.2 // indirect
- github.com/tetratelabs/wazero v1.5.0 // indirect
+ github.com/tetratelabs/wazero v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
github.com/vbatts/tar-split v0.11.5 // indirect
github.com/vvakame/sdlog v1.2.0 // indirect
- github.com/xanzy/go-gitlab v0.91.1 // indirect
+ github.com/xanzy/go-gitlab v0.96.0 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
go.mongodb.org/mongo-driver v1.9.0 // indirect
go.opencensus.io v0.24.0 // indirect
- go.opentelemetry.io/otel v1.19.0 // indirect
- go.opentelemetry.io/otel/metric v1.19.0 // indirect
- go.opentelemetry.io/otel/sdk v1.19.0 // indirect
- go.opentelemetry.io/otel/trace v1.19.0 // indirect
- go.starlark.net v0.0.0-20220816155156-cfacd8902214 // indirect
+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect
+ go.opentelemetry.io/otel v1.22.0 // indirect
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 // indirect
+ go.opentelemetry.io/otel/metric v1.22.0 // indirect
+ go.opentelemetry.io/otel/sdk v1.22.0 // indirect
+ go.opentelemetry.io/otel/trace v1.22.0 // indirect
+ go.opentelemetry.io/proto/otlp v1.1.0 // indirect
+ go.starlark.net v0.0.0-20231101134539-556fd59b42f6 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
- golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4 // indirect
- golang.org/x/build v0.0.0-20230905185615-7f65e2bc812a // indirect
- golang.org/x/crypto v0.17.0 // indirect
- golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
- golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
- golang.org/x/mod v0.14.0 // indirect
- golang.org/x/net v0.19.0 // indirect
- golang.org/x/oauth2 v0.12.0 // indirect
- golang.org/x/sync v0.5.0 // indirect
- golang.org/x/sys v0.15.0 // indirect
- golang.org/x/term v0.15.0 // indirect
+ golang.org/x/arch v0.6.0 // indirect
+ golang.org/x/build v0.0.0-20230906094020-6ed658a430ec // indirect
+ golang.org/x/crypto v0.19.0 // indirect
+ golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
+ golang.org/x/mod v0.15.0 // indirect
+ golang.org/x/net v0.21.0 // indirect
+ golang.org/x/oauth2 v0.16.0 // indirect
+ golang.org/x/sync v0.6.0 // indirect
+ golang.org/x/sys v0.17.0 // indirect
+ golang.org/x/term v0.17.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.3.0 // indirect
- golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
- google.golang.org/api v0.128.0 // indirect
- google.golang.org/appengine v1.6.8-0.20221117013220-504804fb50de // indirect
- google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
- google.golang.org/grpc v1.59.0 // indirect
+ google.golang.org/api v0.149.0 // indirect
+ google.golang.org/appengine v1.6.8 // indirect
+ google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac // indirect
+ google.golang.org/grpc v1.60.1 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
diff --git a/tools/go.sum b/tools/go.sum
index 3003f056bf..37b16a1bff 100644
--- a/tools/go.sum
+++ b/tools/go.sum
@@ -1,8 +1,5 @@
-buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20230914171853-63dfe56cc2c4.2/go.mod h1:xafc+XIsTxTy76GJQ1TKgvJWsSugFBqMaN27WhUblew=
-buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231106192134-1baebb0a1518.2 h1:iRWpWLm1nrsCHBVhibqPJQB3iIf3FRsAXioJVU8m6w0=
-buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231106192134-1baebb0a1518.2/go.mod h1:xafc+XIsTxTy76GJQ1TKgvJWsSugFBqMaN27WhUblew=
-buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.31.0-20231107155709-53a0a97ee0bf.2 h1:I8GcUwG2K6XWjgqIyFi3bSsxy9rVTIphcarrOYTbXxQ=
-buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.31.0-20231107155709-53a0a97ee0bf.2/go.mod h1:3Ion4eJWjUDfJyrUXSgtB3zO5ZweZtyvNuEc+fyMBCk=
+buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20231115204500-e097f827e652.1 h1:u0olL4yf2p7Tl5jfsAK5keaFi+JFJuv1CDHrbiXkxkk=
+buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20231115204500-e097f827e652.1/go.mod h1:tiTMKD8j6Pd/D2WzREoweufjzaJKHZg35f/VGcZ2v3I=
cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
@@ -23,24 +20,22 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
-cloud.google.com/go v0.110.9 h1:e7ITSqGFFk4rbz/JFIqZh3G4VEHguhAL4BQcFlWtU68=
-cloud.google.com/go v0.110.9/go.mod h1:rpxevX/0Lqvlbc88b7Sc1SPNdyK1riNBTUU6JXhYNpM=
+cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM=
+cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/compute v1.23.2 h1:nWEMDhgbBkBJjfpVySqU4jgWdc22PLR0o4vEexZHers=
-cloud.google.com/go/compute v1.23.2/go.mod h1:JJ0atRC0J/oWYiiVBmsSsrRnh92DhZPG4hFDcR04Rns=
-cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk=
+cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI=
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg=
cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8=
-cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -51,10 +46,14 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
-connectrpc.com/connect v1.12.0 h1:HwKdOY0lGhhoHdsza+hW55aqHEC64pYpObRNoAgn70g=
-connectrpc.com/connect v1.12.0/go.mod h1:3AGaO6RRGMx5IKFfqbe3hvK1NqLosFNP2BxDYTPmNPo=
-connectrpc.com/otelconnect v0.6.0 h1:VJAdQL9+sgdUw9+7+J+jq8pQo/h1S7tSFv2+vDcR7bU=
-connectrpc.com/otelconnect v0.6.0/go.mod h1:jdcs0uiwXQVmSMgTJ2dAaWR5VbpNd7QKNkuoH7n86RA=
+code.gitea.io/sdk/gitea v0.17.1 h1:3jCPOG2ojbl8AcfaUCRYLT5MUcBMFwS0OSK2mA5Zok8=
+code.gitea.io/sdk/gitea v0.17.1/go.mod h1:aCnBqhHpoEWA180gMbaCtdX9Pl6BWBAuuP2miadoTNM=
+connectrpc.com/connect v1.14.0 h1:PDS+J7uoz5Oui2VEOMcfz6Qft7opQM9hPiKvtGC01pA=
+connectrpc.com/connect v1.14.0/go.mod h1:uoAq5bmhhn43TwhaKdGKN/bZcGtzPW1v+ngDTn5u+8s=
+connectrpc.com/otelconnect v0.7.0 h1:ZH55ZZtcJOTKWWLy3qmL4Pam4RzRWBJFOqTPyAqCXkY=
+connectrpc.com/otelconnect v0.7.0/go.mod h1:Bt2ivBymHZHqxvo4HkJ0EwHuUzQN6k2l0oH+mp/8nwc=
+dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
+dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
github.com/AlekSi/pointer v1.1.0 h1:SSDMPcXD9jSl8FPy9cRzoRaMJtm9g9ggGTxecRUbQoI=
@@ -75,130 +74,111 @@ github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBa
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/Percona-Lab/spec v0.20.5-percona h1:ViCJVq52QIZxpP8/Nv4/nIed+WnqUirNjPtXvHhset4=
github.com/Percona-Lab/spec v0.20.5-percona/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
github.com/Percona-Lab/swagger-order v0.0.0-20191002141859-166b3973d026 h1:jvuxsQEuFpoSVw9HCP4kSF52BXYzTvB7CA3eryQXaRc=
github.com/Percona-Lab/swagger-order v0.0.0-20191002141859-166b3973d026/go.mod h1:rTCUGM0dF3N6kw5DdoxLDWe7FL49OxY13Y0Ev1jS/BQ=
-github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
-github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs=
-github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
+github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
+github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0/go.mod h1:55qNq4vcpkIuHowELi5C8e+1yUHtoLoOUR9QU5j7Tes=
github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794 h1:xlwdaKcTNVW4PtpQb8aKA4Pjy0CdJHEqvFbAnvR5m2g=
github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794/go.mod h1:7e+I0LQFUI9AXWxOfsQROs9xPhoJtbsyWcjJqDd4KPY=
-github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ=
-github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
-github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
-github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230512164433-5d1fd1a340c9 h1:goHVqTbFX3AIo0tzGr14pgfAW2ZfPChKO21Z9MGf/gk=
-github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230512164433-5d1fd1a340c9/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM=
+github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
+github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g=
github.com/apache/skywalking-eyes v0.5.0 h1:X41jAhmnJazHuR5mOGt1nZA7mFaAluf9mvB1JBzr5xI=
github.com/apache/skywalking-eyes v0.5.0/go.mod h1:rwVEbfh8GovISedSOc7nHGrcnkQ7sfTc31iYU5hSpEE=
-github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
-github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
-github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
-github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
-github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
-github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/bmatcuk/doublestar/v2 v2.0.4 h1:6I6oUiT/sU27eE2OFcWqBhL1SwjyvQuOssxT4a1yidI=
github.com/bmatcuk/doublestar/v2 v2.0.4/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw=
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
-github.com/bradleyfalzon/ghinstallation/v2 v2.6.0 h1:IRY7Xy588KylkoycsUhFpW7cdGpy5Y5BPsz4IfuJtGk=
-github.com/bradleyfalzon/ghinstallation/v2 v2.6.0/go.mod h1:oQ3etOwN3TRH4EwgW5/7MxSVMGlMlzG/O8TU7eYdoSk=
+github.com/bradleyfalzon/ghinstallation/v2 v2.9.0 h1:HmxIYqnxubRYcYGRc5v3wUekmo5Wv2uX3gukmWJ0AFk=
+github.com/bradleyfalzon/ghinstallation/v2 v2.9.0/go.mod h1:wmkTDJf8CmVypxE8ijIStFnKoTa6solK5QfdmJrP9KI=
github.com/brianvoe/gofakeit v3.18.0+incompatible h1:wDOmHc9DLG4nRjUVVaxA+CEglKOW72Y5+4WNxUIkjM8=
github.com/brianvoe/gofakeit v3.18.0+incompatible/go.mod h1:kfwdRA90vvNhPutZWfH7WPaDzUjz+CZFqG+rPkOjGOc=
-github.com/bufbuild/buf v1.28.0 h1:RQ05UJfBjfPPZpOo8xj47RasDsLkgItREh6C/oSvnJ0=
-github.com/bufbuild/buf v1.28.0/go.mod h1:yx8lF18i4mYucKTOoRWynWmGCxHo4R2oXsF0tGbeK90=
-github.com/bufbuild/protocompile v0.6.1-0.20231027200301-089712432bdc h1:vXhHeXQ7504WoYQ0TZF/ioquKCCZNox6MXI1/V0NotY=
-github.com/bufbuild/protocompile v0.6.1-0.20231027200301-089712432bdc/go.mod h1:9N39DyRmxAF5+5AjqXQKV6hyWDI0EeoX4TRMix2ZnPE=
-github.com/bufbuild/protovalidate-go v0.4.0 h1:ModSkCLEW07fiyGtdtMXKY+Gz3oPFKSfiaSCgL+FtpU=
-github.com/bufbuild/protovalidate-go v0.4.0/go.mod h1:QqeUPLVYEKQc+/rkoUXFqXW03zPBfrEfIbX+zmA0VxA=
-github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
+github.com/bufbuild/buf v1.29.0 h1:llP6HqOcCaSGBxOfnrp/mwvcY1O/dciEOl1QaMEOB3M=
+github.com/bufbuild/buf v1.29.0/go.mod h1:UTjvPXTObvKQiGqxod32wt9zRz70TJsMpaigpbIZGuc=
+github.com/bufbuild/protocompile v0.8.0 h1:9Kp1q6OkS9L4nM3FYbr8vlJnEwtbpDPQlQOVXfR+78s=
+github.com/bufbuild/protocompile v0.8.0/go.mod h1:+Etjg4guZoAqzVk2czwEQP12yaxLJ8DxuqCJ9qHdH94=
+github.com/bufbuild/protovalidate-go v0.5.0 h1:xFery2RlLh07FQTvB7hlasKqPrDK2ug+uw6DUiuadjo=
+github.com/bufbuild/protovalidate-go v0.5.0/go.mod h1:3XAwFeJ2x9sXyPLgkxufH9sts1tQRk8fdt1AW93NiUU=
+github.com/bufbuild/protoyaml-go v0.1.7 h1:3uKIoNb/l5zrZ93u+Xzsg6cdAO06lveZE/K7UUbUQLw=
+github.com/bufbuild/protoyaml-go v0.1.7/go.mod h1:R8vE2+l49bSiIExP4VJpxOXleHE+FDzZ6HVxr3cYunw=
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
+github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
+github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chigopher/pathlib v0.19.1 h1:RoLlUJc0CqBGwq239cilyhxPNLXTK+HXoASGyGznx5A=
github.com/chigopher/pathlib v0.19.1/go.mod h1:tzC1dZLW8o33UQpWkNkhvPwL5n4yyFRFm/jL1YGWFvY=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k=
-github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA=
+github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y=
+github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
-github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs=
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
+github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
+github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
-github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
+github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
+github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU=
github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk=
-github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
-github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg=
github.com/cosiner/argv v0.1.0/go.mod h1:EusR6TucWKX+zFgtdUsKT2Cvg45K5rtpCcWz4hK06d8=
-github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM=
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
-github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
+github.com/creack/pty v1.1.20 h1:VIPb/a2s17qNeQgDnkfZC35RScx+blkKF8GV68n80J4=
+github.com/creack/pty v1.1.20/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
+github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
+github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/daixiang0/gci v0.12.0 h1:EQTG7FfKPlO4Ste+oN0kvz+gP4XswKx29D4fLrmwbiU=
github.com/daixiang0/gci v0.12.0/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0=
+github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE=
github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk=
github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
-github.com/derekparker/trie v0.0.0-20221213183930-4c74548207f4 h1:atN94qKNhLpy+9BwbE5nxvFj4rScJi6W3x/NfFmMDg4=
-github.com/derekparker/trie v0.0.0-20221213183930-4c74548207f4/go.mod h1:C7Es+DLenIpPc9J6IYw4jrK0h7S9bKj4DNl8+KxGEXU=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/derekparker/trie v0.0.0-20230829180723-39f4de51ef7d h1:hUWoLdw5kvo2xCsqlsIBMvWUc1QCSsCYD2J2+Fg6YoU=
+github.com/derekparker/trie v0.0.0-20230829180723-39f4de51ef7d/go.mod h1:C7Es+DLenIpPc9J6IYw4jrK0h7S9bKj4DNl8+KxGEXU=
github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg=
github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM=
-github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8=
-github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40=
-github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
-github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/docker v25.0.0+incompatible h1:g9b6wZTblhMgzOT2tspESstfw6ySZ9kdm94BLDKaZac=
+github.com/docker/docker v25.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/docker-credential-helpers v0.8.1 h1:j/eKUktUltBtMzKqmfLB0PAgqYyMHOp5vfsD1807oKo=
+github.com/docker/docker-credential-helpers v0.8.1/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M=
+github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
+github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 h1:RIB4cRk+lBqKK3Oy0r2gRX4ui7tuhiZq2SuTtTCi0/0=
-github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
+github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
+github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
@@ -206,35 +186,34 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA=
-github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
-github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A=
+github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g=
github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw=
github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
-github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
-github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
+github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
-github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
-github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
-github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
+github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
-github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk=
-github.com/go-chi/chi/v5 v5.0.10/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
-github.com/go-delve/delve v1.21.0 h1:npcc8TZhdVxaMSJon+zqcE3bXM/ck8SSOOWw/id13jI=
-github.com/go-delve/delve v1.21.0/go.mod h1:U+OAdfhewudkHsVs/AwhfpSBu7t/NgIXH3+my4T5q78=
+github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA=
+github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
+github.com/go-delve/delve v1.22.0 h1:c7GOFs49/jMGHdp10KphKkGqNmLjOp7fcwz1MQwcMlw=
+github.com/go-delve/delve v1.22.0/go.mod h1:cSvtTzN0Ei8NsPH7TbxeQSLBmdsreeAD5p1UNhrII7w=
+github.com/go-delve/gore v0.11.6 h1:MyP7xTNQO+dDiLBKxI/DKgkn74cMBjHZZxS8grtJ6G8=
+github.com/go-delve/gore v0.11.6/go.mod h1:6RBVnEUxVGkztpRY0UDUnEzS4GqETQjWrw8rhegmN4I=
github.com/go-delve/liner v1.2.3-0.20220127212407-d32d89dd2a5d h1:pxjSLshkZJGLVm0wv20f/H0oTWiq/egkoJQ2ja6LEvo=
github.com/go-delve/liner v1.2.3-0.20220127212407-d32d89dd2a5d/go.mod h1:biJCRbqp51wS+I92HMqn5H8/A0PAhxn2vyOT+JqhiGI=
+github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI=
+github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM=
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
@@ -242,23 +221,20 @@ github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2H
github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
-github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4=
-github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg=
-github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8=
-github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo=
-github.com/go-git/go-git/v5 v5.8.0 h1:Rc543s6Tyq+YcyPwZRvU4jzZGM8rB/wWu94TnTIYALQ=
-github.com/go-git/go-git/v5 v5.8.0/go.mod h1:coJHKEOk5kUClpsNlXrUvPrDxY3w3gjHvhcZd8Fodw8=
+github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
+github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
+github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
+github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
+github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
+github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
-github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+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/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.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
@@ -345,8 +321,6 @@ github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M=
github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
@@ -355,9 +329,6 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZ
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
-github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
-github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -396,8 +367,8 @@ github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2
github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/cel-go v0.18.1 h1:V/lAXKq4C3BYLDy/ARzMtpkEEYfHQpZzVyzy69nEUjs=
-github.com/google/cel-go v0.18.1/go.mod h1:PVAybmSnWkNMUZR/tEWFUiJ1Np4Hz0MHsZJcgC4zln4=
+github.com/google/cel-go v0.19.0 h1:vVgaZoHPBDd1lXCYGQOh5A06L4EtuIfmqQ/qnSXSKiU=
+github.com/google/cel-go v0.19.0/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -409,20 +380,18 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
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/go-containerregistry v0.16.1 h1:rUEt426sR6nyrL3gt+18ibRcvYpKYdpsa5ZW7MA08dQ=
-github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ=
-github.com/google/go-dap v0.9.1 h1:d8dETjgHMR9/xs+Xza+NrZmB7jxIS5OtM2uRsyJVA/c=
-github.com/google/go-dap v0.9.1/go.mod h1:HAeyoSd2WIfTfg+0GRXcFrb+RnojAtGNh+k+XTIxJDE=
+github.com/google/go-containerregistry v0.18.0 h1:ShE7erKNPqRh5ue6Z9DUOlk04WsnFWPO6YGr3OxnfoQ=
+github.com/google/go-containerregistry v0.18.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ=
+github.com/google/go-dap v0.11.0 h1:SpAZJL41rOOvd85PuLCCLE1dteTQOyKNnn0H3DBHywo=
+github.com/google/go-dap v0.11.0/go.mod h1:HAeyoSd2WIfTfg+0GRXcFrb+RnojAtGNh+k+XTIxJDE=
github.com/google/go-github/v33 v33.0.0 h1:qAf9yP0qc54ufQxzwv+u9H0tiVOnPJxo0lI/JXqw3ZM=
github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhANBBwm6k6TTEXg=
-github.com/google/go-github/v53 v53.2.0 h1:wvz3FyF53v4BK+AsnvCmeNhf8AkTaeh2SoYu/XUvTtI=
-github.com/google/go-github/v53 v53.2.0/go.mod h1:XhFRObz+m/l+UCm9b7KSIC3lT3NWSXGt7mOsAWEloao=
-github.com/google/go-github/v55 v55.0.0 h1:4pp/1tNMB9X/LuAhs5i0KQAE40NmiR/y6prLNb9x9cg=
-github.com/google/go-github/v55 v55.0.0/go.mod h1:JLahOTA1DnXzhxEymmFF5PP2tSS9JVNj68mSZNDwskA=
+github.com/google/go-github/v57 v57.0.0 h1:L+Y3UPTY8ALM8x+TV0lg+IEBI+upibemtBD8Q9u7zHs=
+github.com/google/go-github/v57 v57.0.0/go.mod h1:s0omdnye0hvK/ecLvpsGfJMiRt85PimQh4oygmLIxHw=
+github.com/google/go-github/v58 v58.0.0 h1:Una7GGERlF/37XfkPwpzYJe0Vp4dt2k1kCjlxwjIvzw=
+github.com/google/go-github/v58 v58.0.0/go.mod h1:k4hxDKEfoWpSqFlc8LTpGd9fu2KrV1YAa6Hi6FmDNY4=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
@@ -442,65 +411,44 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
-github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a h1:fEBsGL/sjAuJrgah5XqmmYsTLzJp/TO9Lhy39gkverk=
-github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
+github.com/google/pprof v0.0.0-20240117000934-35fc243c5815 h1:WzfWbQz/Ze8v6l++GGbGNFZnUShVpP/0xffCPLL+ax8=
+github.com/google/pprof v0.0.0-20240117000934-35fc243c5815/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc=
-github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+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/safehtml v0.0.2/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU=
github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
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.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
-github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM=
-github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w=
+github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
+github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs=
+github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
github.com/googleapis/gax-go v0.0.0-20161107002406-da06d194a00e/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas=
github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
-github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
-github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
-github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
-github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 h1:RtRsiaGvWxcwd8y3BiRZxsylPT8hLWZ5SPcfI+3IDNk=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0/go.mod h1:TzP6duP4Py2pHLVPPQp42aoYI92+PCrVotyR5e8Vqlk=
-github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
-github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
-github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
-github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM=
github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
-github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
-github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
-github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0=
github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
-github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
-github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
-github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
-github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
+github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
+github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
-github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
+github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
-github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
-github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
-github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/haya14busa/go-actions-toolkit v0.0.0-20200105081403-ca0307860f01 h1:HiJF8Mek+I7PY0Bm+SuhkwaAZSZP83sw6rrTMrgZ0io=
github.com/haya14busa/go-actions-toolkit v0.0.0-20200105081403-ca0307860f01/go.mod h1:1DWDZmeYf0LX30zscWb7K9rUMeirNeBMd5Dum+seUhc=
github.com/haya14busa/go-checkstyle v0.0.0-20170303121022-5e9d09f51fa1/go.mod h1:RsN5RGgVYeXpcXNtWyztD5VIe7VNSEqpJvF2iEH7QvI=
@@ -512,8 +460,8 @@ 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/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA=
github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA=
-github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0=
-github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
+github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI=
+github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w=
@@ -533,43 +481,35 @@ github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ=
github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
-github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
-github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k=
+github.com/jhump/protoreflect v1.15.4 h1:mrwJhfQGGljwvR/jPEocli8KA6G9afbQpH8NY2wORcI=
+github.com/jhump/protoreflect v1.15.4/go.mod h1:2B+zwrnMY3TTIqEK01OG/d3pyUycQBfDf+bx8fE2DNg=
github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg=
github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
-github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jstemmer/go-junit-report v1.0.0 h1:8X1gzZpR+nVQLAht+L/foqOeX2l9DTZoaIPbEQHxsds=
github.com/jstemmer/go-junit-report v1.0.0/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
-github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
-github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
-github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
-github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4=
-github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4=
+github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM=
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -583,7 +523,6 @@ github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs=
github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/lyft/protoc-gen-star/v2 v2.0.3 h1:/3+/2sWyXeMLzKd1bX+ixWKgEMsULrIivpDsuaF441o=
github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
-github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
@@ -593,17 +532,13 @@ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
-github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
-github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
-github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
-github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
-github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
@@ -613,20 +548,11 @@ github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71
github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg=
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
-github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
-github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
-github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
-github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -636,23 +562,20 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
-github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
+github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
+github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI=
github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
-github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
@@ -661,8 +584,8 @@ github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk
github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
-github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
-github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
+github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
+github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -673,87 +596,60 @@ github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDj
github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/quasilyte/go-consistent v0.6.0 h1:tY8DYfgM+7ADpOyr5X47i8hV/XbMNoucqnqZWVjI+rU=
github.com/quasilyte/go-consistent v0.6.0/go.mod h1:dKYK1JZl3150J1+Jh4cDYPCIu2MqybUBi0YVW2b2E6c=
github.com/reva2/bitbucket-insights-api v1.0.0 h1:lpQ/Q7OmnG04w/EM77piOwZBxP41PeTlbytXxVrnplA=
github.com/reva2/bitbucket-insights-api v1.0.0/go.mod h1:pLs+ki3MKUntrPryxaGIvpRLiEtBhwfJ/uvxQIMfqHU=
-github.com/reviewdog/errorformat v0.0.0-20230810075619-82e5d4ad20d2 h1:oP5DZdUlH2M1Luf2NdNhJ6TM/NiPn6wZy1QI5ybYsro=
-github.com/reviewdog/errorformat v0.0.0-20230810075619-82e5d4ad20d2/go.mod h1:AqhrP0G7F9YRROF10JQwdd4cNO8bdm6bY6KzcOc3Cp8=
+github.com/reviewdog/errorformat v0.0.0-20231214114315-6dd01ea41b1f h1:y9BDlVuHOxSJK4PQNGhxtcZyAtK9TLcPy5kKbcIezDA=
+github.com/reviewdog/errorformat v0.0.0-20231214114315-6dd01ea41b1f/go.mod h1:AqhrP0G7F9YRROF10JQwdd4cNO8bdm6bY6KzcOc3Cp8=
github.com/reviewdog/go-bitbucket v0.0.0-20201024094602-708c3f6a7de0 h1:XZ60Bp2UqwaJ6fDQExoFVrgs4nIzwBCy9ct6GCj9hH8=
github.com/reviewdog/go-bitbucket v0.0.0-20201024094602-708c3f6a7de0/go.mod h1:5JbWAMFyq9hbISZawRyIe7QTcLaptvCIvmZnYo+1VvA=
-github.com/reviewdog/reviewdog v0.15.0 h1:uj61ifLBGGshd7HfezG8Vllpc4b7Y47zHLZFxfxZOi0=
-github.com/reviewdog/reviewdog v0.15.0/go.mod h1:ea/9hMRfJKPzfaSBs46KNFdN+2MExaKBohJZwweS8AQ=
+github.com/reviewdog/reviewdog v0.17.0 h1:Va1qerz6fSCnFJenszFXxpgS7bP9QWcUHK22Jj5WvK4=
+github.com/reviewdog/reviewdog v0.17.0/go.mod h1:0N85Brf1mOuNsXIccV85I8aprQ3sAtwc69DMhFNejj4=
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
-github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
-github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
-github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
+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/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo=
github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w=
github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0=
-github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
-github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
-github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
-github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
-github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
-github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM=
-github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
-github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
-github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
-github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
+github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
+github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY=
+github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
-github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo=
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
-github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs=
@@ -774,14 +670,12 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
-github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
-github.com/tetratelabs/wazero v1.5.0 h1:Yz3fZHivfDiZFUXnWMPUoiW7s8tC1sjdBtlJn08qYa0=
-github.com/tetratelabs/wazero v1.5.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
+github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=
+github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts=
@@ -792,21 +686,19 @@ github.com/vektra/mockery/v2 v2.39.1 h1:zgnW69s+351ZF/L+O5pO64MpVP96aDtw8jwOGvGX
github.com/vektra/mockery/v2 v2.39.1/go.mod h1:dPzGtjT0/Uu4hqpF6QNHwz+GLago7lq1bxdj9wHbGKo=
github.com/vvakame/sdlog v1.2.0 h1:gwZRXZ0EmhJQJN/Do/+PTQigcmFiSqZ07aDjxqGOLT8=
github.com/vvakame/sdlog v1.2.0/go.mod h1:gFYv2g/iR3pJSxkJz0YnkNmhNbXT5R3PzWsfZKGQADY=
-github.com/xanzy/go-gitlab v0.91.1 h1:gnV57IPGYywWer32oXKBcdmc8dVxeKl3AauV8Bu17rw=
-github.com/xanzy/go-gitlab v0.91.1/go.mod h1:5ryv+MnpZStBH8I/77HuQBsMbBGANtVpLWC15qOjWAw=
+github.com/xanzy/go-gitlab v0.96.0 h1:LGkZ+wSNMRtHIBaYE4Hq3dZVjprwHv3Y1+rhKU3WETs=
+github.com/xanzy/go-gitlab v0.96.0/go.mod h1:ETg8tcj4OhrB84UEgeE8dSuV/0h4BBL1uOV/qK0vlyI=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
-github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
go.mongodb.org/mongo-driver v1.9.0 h1:f3aLGJvQmBl8d9S40IL+jEyBC6hfLPbJjv9t5hEM9ck=
@@ -819,36 +711,39 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
-go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
-go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
-go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
-go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
-go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw=
+go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y=
+go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 h1:9M3+rhx7kZCIQQhQRYaZCdNu1V73tm4TvXs2ntl98C4=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0/go.mod h1:noq80iT8rrHP1SfybmPiRGc9dc5M8RPmGvtwo7Oo7tc=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY=
+go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg=
+go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY=
+go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw=
+go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc=
go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k=
go.opentelemetry.io/otel/sdk/metric v1.19.0/go.mod h1:XjG0jQyFJrv2PbMvwND7LwCEhsJzCzV5210euduKcKY=
-go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
-go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
-go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-go.starlark.net v0.0.0-20220816155156-cfacd8902214 h1:MqijAN3S61c7KWasOk+zIqIjHQPN6WUra/X3+YAkQxQ=
-go.starlark.net v0.0.0-20220816155156-cfacd8902214/go.mod h1:VZcBMdr3cT3PnBoWunTabuSEXwVAH+ZJ5zxfs3AdASk=
-go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0=
+go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo=
+go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI=
+go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY=
+go.starlark.net v0.0.0-20231101134539-556fd59b42f6 h1:+eC0F/k4aBLC4szgOcjd7bDTEnpxADJyWJE0yowgM3E=
+go.starlark.net v0.0.0-20231101134539-556fd59b42f6/go.mod h1:LcLNIzVOMp4oV+uusnpk+VU+SzXaJakUuBjoCSWH5dM=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
-go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
-go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
-golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4 h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI=
-golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4=
-golang.org/x/build v0.0.0-20230905185615-7f65e2bc812a h1:0XvhCUgBoH8lCN4oOJ/fshXfKKlqPYIXUC2KAJgWZI0=
-golang.org/x/build v0.0.0-20230905185615-7f65e2bc812a/go.mod h1:LblaorLo4w94wk4xZvKeLSaFLku6WbfOih5CoMhhvVc=
+golang.org/x/arch v0.6.0 h1:S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc=
+golang.org/x/arch v0.6.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
+golang.org/x/build v0.0.0-20230906094020-6ed658a430ec h1:yMJe4SyVd1CYtjYLH/THl39sCe5bRbwvjEDLBIjqBpk=
+golang.org/x/build v0.0.0-20230906094020-6ed658a430ec/go.mod h1:MxpeLdBPNhS3SrunE4G6YOdcYL2RH/Vbw+TNE7PYNSk=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
@@ -859,15 +754,16 @@ golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
+golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
-golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
+golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -882,8 +778,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
-golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
+golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
+golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -906,8 +802,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
-golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
@@ -920,15 +814,11 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
-golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
+golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -959,15 +849,14 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
-golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
+golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -978,9 +867,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
-golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
-golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
+golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ=
+golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
golang.org/x/perf v0.0.0-20230717203022-1ba3a21238c9 h1:HPASJO/sBgVQqFwIsL7A5o5GfTRe30dOhyX94F+4as0=
golang.org/x/perf v0.0.0-20230717203022-1ba3a21238c9/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -996,14 +884,10 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
-golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
+golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1046,10 +930,8 @@ golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1058,13 +940,15 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
+golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
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=
@@ -1072,8 +956,9 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
-golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
+golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1095,7 +980,6 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
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=
@@ -1105,7 +989,6 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
@@ -1120,7 +1003,6 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -1157,14 +1039,12 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
-golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
+golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
-golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
@@ -1192,8 +1072,8 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513
google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
-google.golang.org/api v0.128.0 h1:RjPESny5CnQRn9V6siglged+DZCgfu9l6mO9dkX9VOg=
-google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750=
+google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY=
+google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1201,8 +1081,8 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.8-0.20221117013220-504804fb50de h1:MvEeYmzkzk0Rsw+ceqy28aIJN7Mum+4aYqBwCMqYNug=
-google.golang.org/appengine v1.6.8-0.20221117013220-504804fb50de/go.mod h1:BbwiCY3WCmCUKOJTrX5NwgQzew1c32w3kxa6Sxvs0cQ=
+google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
+google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -1226,7 +1106,6 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
@@ -1240,12 +1119,12 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 h1:I6WNifs6pF9tNdSob2W24JtyxIYjzFB9qDlpUC76q+U=
-google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4=
-google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo=
-google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA=
+google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg=
+google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917/go.mod h1:pZqR+glSb11aJ+JQcczCvgf47+duRuzNSKqE8YAQnV0=
+google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac h1:OZkkudMUu9LVQMCoRUbI/1p5VCo9BOrlvkqMvWtqa6s=
+google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac h1:nUQEQmH/csSvFECKYRv6HWEyypysidKl2I6Qpsglq/0=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA=
google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -1260,14 +1139,11 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
-google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
-google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
+google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU=
+google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -1282,8 +1158,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
@@ -1295,19 +1169,13 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8
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=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/reform.v1 v1.5.1 h1:7vhDFW1n1xAPC6oDSvIvVvpRkaRpXlxgJ4QB4s3aDdo=
gopkg.in/reform.v1 v1.5.1/go.mod h1:AIv0CbDRJ0ljQwptGeaIXfpDRo02uJwTq92aMFELEeU=
-gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
-gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
@@ -1327,8 +1195,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E=
-mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js=
+mvdan.cc/gofumpt v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
+mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
diff --git a/update/main.go b/update/main.go
index e1f87f921c..4ecffaf352 100644
--- a/update/main.go
+++ b/update/main.go
@@ -12,7 +12,7 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-
+// Package main provides the entry point for the update application.
package main
import (
diff --git a/utils/logger/grpc.go b/utils/logger/grpc.go
index fcc4f2219e..426b35eb80 100644
--- a/utils/logger/grpc.go
+++ b/utils/logger/grpc.go
@@ -26,16 +26,21 @@ type GRPC struct {
}
// V reports whether verbosity level l is at least the requested verbose level.
-func (v *GRPC) V(l int) bool {
+func (v *GRPC) V(l int) bool { //nolint:revive
// we don't need real implementation ATM
return true
}
+// Info logs a message at the Info level.
// override InfoXXX methods with TraceXXX to keep gRPC and logrus levels in sync
//
//nolint:stylecheck
-func (v *GRPC) Info(args ...interface{}) { v.Trace(args...) }
-func (v *GRPC) Infoln(args ...interface{}) { v.Traceln(args...) }
+func (v *GRPC) Info(args ...interface{}) { v.Trace(args...) }
+
+// Infoln logs a message at the Info level.
+func (v *GRPC) Infoln(args ...interface{}) { v.Traceln(args...) }
+
+// Infof logs a formatted message at the Info level.
func (v *GRPC) Infof(format string, args ...interface{}) { v.Tracef(format, args...) }
// check interfaces.
diff --git a/utils/pdeathsig/pdeathsig.go b/utils/pdeathsig/pdeathsig.go
index cf31b6ee32..1f5c7dd4d6 100644
--- a/utils/pdeathsig/pdeathsig.go
+++ b/utils/pdeathsig/pdeathsig.go
@@ -26,6 +26,6 @@ import (
)
// Set works only on Linux.
-func Set(cmd *exec.Cmd, s unix.Signal) {
+func Set(_ *exec.Cmd, _ unix.Signal) {
// nothing, see pdeathsig_linux.go
}
diff --git a/utils/sqlmetrics/sqlmetrics.go b/utils/sqlmetrics/sqlmetrics.go
index 00a582ef4d..328c64144b 100644
--- a/utils/sqlmetrics/sqlmetrics.go
+++ b/utils/sqlmetrics/sqlmetrics.go
@@ -85,6 +85,7 @@ func NewCollector(driver, dbName string, db *sql.DB) *Collector {
}
}
+//nolint:revive
func (c *Collector) Describe(ch chan<- *prom.Desc) {
ch <- c.maxOpenConnections
@@ -98,6 +99,7 @@ func (c *Collector) Describe(ch chan<- *prom.Desc) {
ch <- c.maxLifetimeClosed
}
+//nolint:revive
func (c *Collector) Collect(ch chan<- prom.Metric) {
stats := c.db.Stats()
diff --git a/version/parsed_test.go b/version/parsed_test.go
index cba04bd74a..0f1302fd31 100644
--- a/version/parsed_test.go
+++ b/version/parsed_test.go
@@ -40,6 +40,12 @@ func TestParsed(t *testing.T) {
}, {
s: "2.1.2",
p: &Parsed{Major: 2, Minor: 1, Patch: 2, Num: 20102},
+ }, {
+ s: "2.1.3-0",
+ p: &Parsed{Major: 2, Minor: 1, Patch: 3, Rest: "-0", Num: 20103},
+ }, {
+ s: "2.1.3-HEAD-abcd12",
+ p: &Parsed{Major: 2, Minor: 1, Patch: 3, Rest: "-HEAD-abcd12", Num: 20103},
}, {
s: "2.1.3",
p: &Parsed{Major: 2, Minor: 1, Patch: 3, Num: 20103},