diff --git a/go.mod b/go.mod index 71dbcbfdd..fe94fc5a7 100644 --- a/go.mod +++ b/go.mod @@ -29,9 +29,9 @@ require ( github.com/scylladb/go-reflectx v1.0.1 github.com/scylladb/go-set v1.0.2 github.com/scylladb/gocqlx/v2 v2.8.0 - github.com/scylladb/scylla-manager/v3/pkg/managerclient v0.0.0-20241028110806-78e39cceec83 - github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241028110806-78e39cceec83 - github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241028110806-78e39cceec83 + github.com/scylladb/scylla-manager/v3/pkg/managerclient v0.0.0-20241031135907-8450182ad4bf + github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf + github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf github.com/spf13/cobra v1.8.0 github.com/spf13/pflag v1.0.5 github.com/stoewer/go-strcase v1.3.0 @@ -128,8 +128,5 @@ require ( replace ( github.com/gocql/gocql => github.com/scylladb/gocql v1.12.0 github.com/rclone/rclone => github.com/scylladb/rclone v1.54.1-0.20240312172628-afe1fd2aa65e - github.com/scylladb/scylla-manager/v3/pkg/managerclient => ./v3/pkg/managerclient - github.com/scylladb/scylla-manager/v3/pkg/util => ./v3/pkg/util - github.com/scylladb/scylla-manager/v3/swagger => ./v3/swagger google.golang.org/api v0.114.0 => github.com/scylladb/google-api-go-client v0.34.1-patched ) diff --git a/go.sum b/go.sum index d450d949e..6c0731ba4 100644 --- a/go.sum +++ b/go.sum @@ -1053,6 +1053,12 @@ github.com/scylladb/google-api-go-client v0.34.1-patched h1:DW+T0HA+74o6FDr3TFzV github.com/scylladb/google-api-go-client v0.34.1-patched/go.mod h1:RriRmS2wJXH+2yd9PRTEcR380U9AXmurWwznqVhzsSc= github.com/scylladb/rclone v1.54.1-0.20240312172628-afe1fd2aa65e h1:lJRphCtu+nKd+mfo8whOTeFkgjMWvk8iCSlqgibKSa8= github.com/scylladb/rclone v1.54.1-0.20240312172628-afe1fd2aa65e/go.mod h1:JGZp4EvCUK+6AM1Fe1dye5xvihTc/Bk0WnHHSCJOePM= +github.com/scylladb/scylla-manager/v3/pkg/managerclient v0.0.0-20241031135907-8450182ad4bf h1:ybX4Vbvmyvt1/nBSb/X7QKqJmDMwWt7DpQfeVQh9Na8= +github.com/scylladb/scylla-manager/v3/pkg/managerclient v0.0.0-20241031135907-8450182ad4bf/go.mod h1:CkiJ7/3IfAZekjx7dFltltVI7HS1e7k8QKsofX6uitM= +github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf h1:reyaD5Gsq9eYad0ABYBc5RZy8Jurd93u6DQZr43Ms+U= +github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf/go.mod h1:+sPCx2oaOXmMpy/ODNNEDGJ7vCghBeKP4S7xEfMI+eA= +github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf h1:Ia5MdfHidG16H39UomNiPGoejAAtt65NzrmhFdZXODY= +github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf/go.mod h1:Oxfuz1XcXi9iV4ggSGfQdn+p6gPz6djPOegRMMe/6/s= github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4 h1:8qmTC5ByIXO3GP/IzBkxcZ/99VITvnIETDhdFz/om7A= github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4/go.mod h1:C1a7PQSMz9NShzorzCiG2fk9+xuCgLkPeCvMHYR2OWg= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= diff --git a/v3/pkg/managerclient/go.mod b/v3/pkg/managerclient/go.mod index c8d246ac1..c3e9b79d1 100644 --- a/v3/pkg/managerclient/go.mod +++ b/v3/pkg/managerclient/go.mod @@ -10,8 +10,8 @@ require ( github.com/lnquy/cron v1.1.1 github.com/pkg/errors v0.9.1 github.com/scylladb/go-set v1.0.2 - github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241028110806-78e39cceec83 - github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241028110806-78e39cceec83 + github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf + github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4 ) diff --git a/v3/pkg/managerclient/go.sum b/v3/pkg/managerclient/go.sum index e0c5dd295..7d74829f2 100644 --- a/v3/pkg/managerclient/go.sum +++ b/v3/pkg/managerclient/go.sum @@ -84,10 +84,10 @@ github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDN github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/scylladb/go-set v1.0.2 h1:SkvlMCKhP0wyyct6j+0IHJkBkSZL+TDzZ4E7f7BCcRE= github.com/scylladb/go-set v1.0.2/go.mod h1:DkpGd78rljTxKAnTDPFqXSGxvETQnJyuSOQwsHycqfs= -github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241028110806-78e39cceec83 h1:yy3k0OEYbsmgDenYuJd7B/nftAUI7VMB/WUoX1Iv/6I= -github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241028110806-78e39cceec83/go.mod h1:+sPCx2oaOXmMpy/ODNNEDGJ7vCghBeKP4S7xEfMI+eA= -github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241028110806-78e39cceec83 h1:cCbhUYGzQ/xbjSN+w3g/H2ZcIoEn6OGRu3l5a+et/vs= -github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241028110806-78e39cceec83/go.mod h1:Oxfuz1XcXi9iV4ggSGfQdn+p6gPz6djPOegRMMe/6/s= +github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf h1:reyaD5Gsq9eYad0ABYBc5RZy8Jurd93u6DQZr43Ms+U= +github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf/go.mod h1:+sPCx2oaOXmMpy/ODNNEDGJ7vCghBeKP4S7xEfMI+eA= +github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf h1:Ia5MdfHidG16H39UomNiPGoejAAtt65NzrmhFdZXODY= +github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf/go.mod h1:Oxfuz1XcXi9iV4ggSGfQdn+p6gPz6djPOegRMMe/6/s= github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4 h1:8qmTC5ByIXO3GP/IzBkxcZ/99VITvnIETDhdFz/om7A= github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4/go.mod h1:C1a7PQSMz9NShzorzCiG2fk9+xuCgLkPeCvMHYR2OWg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= diff --git a/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/LICENSE b/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/LICENSE new file mode 100644 index 000000000..a155a625f --- /dev/null +++ b/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/LICENSE @@ -0,0 +1,62 @@ +Scylla SOURCE AVAILABLE LICENSE (SSAL) AGREEMENT Last Update: June 30, 2021 + +This Agreement sets forth the terms on which the Licensor makes available the Software. BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. + +If you are receiving the Software on behalf of a legal entity, you represent and warrant that you have the actual authority to agree to the terms and conditions of this agreement on behalf of such entity. + +The terms below have the meanings set forth below for purposes of this Agreement: + +Agreement: this Scylla Source Available License Agreement. + +Database Product: any of the following products or services: + +(a) Scylla Manager; + +(b) a product or service exposing the Scylla Manager API + +License: the Scylla Source Available License described in Section 1. + +Licensor: as indicated in the source code license. + +Modification: a modification of the Software made by You under the License, Section 1.1(c). + +Scylla: the open source Scylla software as described in scylladb.com + +Software: certain software components designed to work with Scylla NoSQL Database and provided to you under this Agreement. + +You: the recipient of this Software, an individual, or the entity on whose behalf you are receiving the Software. + +Your Application: an application developed by or for You, where such application is not a Database Product. + +LICENSE GRANT AND CONDITIONS +1.1 Subject to the terms and conditions of this Section 1, Licensor hereby grants to You a non-exclusive, royalty-free, worldwide, non-transferable license during the term of this Agreement to: + +a) distribute or make available the Software or your Modifications under the terms of this +Agreement, only as part of Your Application, so long as you include the following notice on any copy you distribute: “This software is subject to the terms of the Scylla Source Available License Agreement”. + +(b) use the Software, or your Modifications, only as part of Your Application, but not in connection + +with any Database Product that is distributed or otherwise made available by any third party. + +(c) modify the Software, provided that Modifications remain subject to the terms of this License. + +(d) reproduce the Software as necessary for the above. + +1.3. Notices. + +On all copies of the Software that you make, you must retain all copyright or other proprietary notices. + +TERM AND TERMINATION. +This Agreement will continue unless and until earlier terminated as set forth herein. If You breach any of its conditions or obligations under this Agreement, this Agreement will terminate automatically and the licenses granted herein will terminate automatically. + +INTELLECTUAL PROPERTY. +As between the parties, Licensor retains all right, title, and interest in the Software, and to Scylla or other Licensor trademarks or service marks, and all intellectual property rights therein. Licensor hereby reserves all rights not expressly granted to You in this Agreement. + +DISCLAIMER. +TO THE EXTENT ALLOWABLE UNDER LAW, LICENSOR HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE. Licensor has no obligation to support the Software. + +LIMITATION OF LIABILITY. TO THE EXTENT ALLOWABLE UNDER LAW, LICENSOR WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO, LOST PROFITS OR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, ARISING OUT OF OR RELATING TO THIS AGREEMENT. +GENERAL. You are not authorized to assign Your rights under this Agreement to any third party. Licensor may freely assign its rights under this Agreement to any third party. This Agreement is the entire agreement between the parties on the subject matter hereof. No amendment or modification hereof will be valid or binding upon the parties unless made in writing and signed by the duly authorized representatives of both parties. In the event that any provision, including without limitation any condition, of this Agreement is held to be unenforceable, this Agreement and all licenses and rights granted hereunder will immediately terminate. Failure by Licensor to exercise any right hereunder will not be construed as a waiver of any subsequent breach of that right or as a waiver of any other right. This Agreement will be governed by and interpreted in accordance with the laws of the state of California, without reference to its conflict of laws principles. If You are located within the United States, all disputes arising out of this Agreement are subject to the exclusive jurisdiction of courts located in Santa Clara County, California. USA. If You are located outside of the United States, any dispute, controversy or claim arising out of or relating to this Agreement will be referred to and finally determined by arbitration in accordance with the JAMS before a single arbitrator in Santa Clara County, California. Judgment upon the award rendered by the arbitrator may be entered in any court having jurisdiction thereof. + +This license is base on REDIS SOURCE AVAILABLE LICENSE (RSAL) AGREEMENT with some updates +https://redislabs.com/wp-content/uploads/2019/09/redis-source-available-license.pdf diff --git a/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/model.go b/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/model.go index d7d920f1f..68566846a 100644 --- a/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/model.go +++ b/vendor/github.com/scylladb/scylla-manager/v3/pkg/managerclient/model.go @@ -462,6 +462,8 @@ Snapshot Tag: {{ .SnapshotTag }} Batch Size: {{ .BatchSize }} Parallel: {{ .Parallel }} Transfers: {{ .Transfers }} +Compaction: {{ if .AllowCompaction -}} allowed {{ else -}} not allowed {{ end }} +Agent CPU: {{ if .UnpinAgentCPU -}} unpinned {{ else -}} pinned {{ end }} Download Rate Limits: {{- if .RateLimit -}} {{ range .RateLimit }} @@ -470,8 +472,6 @@ Download Rate Limits: {{- else }} - Unlimited {{- end }} -Compaction Allowed: {{ .AllowCompaction }} -Agent CPU Unpinned: {{ .UnpinAgentCPU }} ` // Render implements Renderer interface. @@ -1091,19 +1091,7 @@ func (rp RestoreProgress) Render(w io.Writer) error { // Check if there is repair progress to display if rp.Progress.RepairProgress != nil { fmt.Fprintf(w, "\nPost-restore repair progress\n") - - repairRunPr := &models.TaskRunRepairProgress{ - Progress: rp.Progress.RepairProgress, - Run: rp.Run, - } - repairPr := RepairProgress{ - TaskRunRepairProgress: repairRunPr, - Task: rp.Task, - Detailed: rp.Detailed, - keyspaceFilter: rp.KeyspaceFilter, - } - - if err := repairPr.Render(w); err != nil { + if err := rp.postRestoreRepairProgress().Render(w); err != nil { return err } } @@ -1112,6 +1100,52 @@ func (rp RestoreProgress) Render(w io.Writer) error { return nil } +func (rp RestoreProgress) postRestoreRepairProgress() RepairProgress { + repair := rp.Progress.RepairProgress + + repairRun := &models.TaskRun{ + ClusterID: rp.Task.ClusterID, + Type: RepairTask, + } + if repair.StartedAt != nil { + repairRun.StartTime = *repair.StartedAt + } + if repair.CompletedAt != nil { + repairRun.EndTime = *repair.CompletedAt + } + if rp.Progress.Stage == RestoreStageRepair { + repairRun.Cause = rp.Run.Cause + repairRun.Status = rp.Run.Status + } else { + switch { + case repair.Success == repair.TokenRanges: + repairRun.Status = TaskStatusDone + case repair.Error > 0: + repairRun.Status = TaskStatusError + } + } + + repairTask := &models.Task{ + ClusterID: rp.Task.ClusterID, + Enabled: true, + Properties: map[string]any{ + "intensity": repair.Intensity, + "parallel": repair.Parallel, + }, + Type: RepairTask, + } + + return RepairProgress{ + TaskRunRepairProgress: &models.TaskRunRepairProgress{ + Progress: repair, + Run: repairRun, + }, + Task: repairTask, + Detailed: rp.Detailed, + keyspaceFilter: rp.KeyspaceFilter, + } +} + func (rp RestoreProgress) addKeyspaceProgress(t *table.Table) { t.AddRow("Keyspace", "Progress", "Size", "Success", "Downloaded", "Failed") t.AddSeparator() diff --git a/vendor/github.com/scylladb/scylla-manager/v3/pkg/util/LICENSE b/vendor/github.com/scylladb/scylla-manager/v3/pkg/util/LICENSE new file mode 100644 index 000000000..a155a625f --- /dev/null +++ b/vendor/github.com/scylladb/scylla-manager/v3/pkg/util/LICENSE @@ -0,0 +1,62 @@ +Scylla SOURCE AVAILABLE LICENSE (SSAL) AGREEMENT Last Update: June 30, 2021 + +This Agreement sets forth the terms on which the Licensor makes available the Software. BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. + +If you are receiving the Software on behalf of a legal entity, you represent and warrant that you have the actual authority to agree to the terms and conditions of this agreement on behalf of such entity. + +The terms below have the meanings set forth below for purposes of this Agreement: + +Agreement: this Scylla Source Available License Agreement. + +Database Product: any of the following products or services: + +(a) Scylla Manager; + +(b) a product or service exposing the Scylla Manager API + +License: the Scylla Source Available License described in Section 1. + +Licensor: as indicated in the source code license. + +Modification: a modification of the Software made by You under the License, Section 1.1(c). + +Scylla: the open source Scylla software as described in scylladb.com + +Software: certain software components designed to work with Scylla NoSQL Database and provided to you under this Agreement. + +You: the recipient of this Software, an individual, or the entity on whose behalf you are receiving the Software. + +Your Application: an application developed by or for You, where such application is not a Database Product. + +LICENSE GRANT AND CONDITIONS +1.1 Subject to the terms and conditions of this Section 1, Licensor hereby grants to You a non-exclusive, royalty-free, worldwide, non-transferable license during the term of this Agreement to: + +a) distribute or make available the Software or your Modifications under the terms of this +Agreement, only as part of Your Application, so long as you include the following notice on any copy you distribute: “This software is subject to the terms of the Scylla Source Available License Agreement”. + +(b) use the Software, or your Modifications, only as part of Your Application, but not in connection + +with any Database Product that is distributed or otherwise made available by any third party. + +(c) modify the Software, provided that Modifications remain subject to the terms of this License. + +(d) reproduce the Software as necessary for the above. + +1.3. Notices. + +On all copies of the Software that you make, you must retain all copyright or other proprietary notices. + +TERM AND TERMINATION. +This Agreement will continue unless and until earlier terminated as set forth herein. If You breach any of its conditions or obligations under this Agreement, this Agreement will terminate automatically and the licenses granted herein will terminate automatically. + +INTELLECTUAL PROPERTY. +As between the parties, Licensor retains all right, title, and interest in the Software, and to Scylla or other Licensor trademarks or service marks, and all intellectual property rights therein. Licensor hereby reserves all rights not expressly granted to You in this Agreement. + +DISCLAIMER. +TO THE EXTENT ALLOWABLE UNDER LAW, LICENSOR HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE. Licensor has no obligation to support the Software. + +LIMITATION OF LIABILITY. TO THE EXTENT ALLOWABLE UNDER LAW, LICENSOR WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO, LOST PROFITS OR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, ARISING OUT OF OR RELATING TO THIS AGREEMENT. +GENERAL. You are not authorized to assign Your rights under this Agreement to any third party. Licensor may freely assign its rights under this Agreement to any third party. This Agreement is the entire agreement between the parties on the subject matter hereof. No amendment or modification hereof will be valid or binding upon the parties unless made in writing and signed by the duly authorized representatives of both parties. In the event that any provision, including without limitation any condition, of this Agreement is held to be unenforceable, this Agreement and all licenses and rights granted hereunder will immediately terminate. Failure by Licensor to exercise any right hereunder will not be construed as a waiver of any subsequent breach of that right or as a waiver of any other right. This Agreement will be governed by and interpreted in accordance with the laws of the state of California, without reference to its conflict of laws principles. If You are located within the United States, all disputes arising out of this Agreement are subject to the exclusive jurisdiction of courts located in Santa Clara County, California. USA. If You are located outside of the United States, any dispute, controversy or claim arising out of or relating to this Agreement will be referred to and finally determined by arbitration in accordance with the JAMS before a single arbitrator in Santa Clara County, California. Judgment upon the award rendered by the arbitrator may be entered in any court having jurisdiction thereof. + +This license is base on REDIS SOURCE AVAILABLE LICENSE (RSAL) AGREEMENT with some updates +https://redislabs.com/wp-content/uploads/2019/09/redis-source-available-license.pdf diff --git a/vendor/github.com/scylladb/scylla-manager/v3/swagger/LICENSE b/vendor/github.com/scylladb/scylla-manager/v3/swagger/LICENSE new file mode 100644 index 000000000..a155a625f --- /dev/null +++ b/vendor/github.com/scylladb/scylla-manager/v3/swagger/LICENSE @@ -0,0 +1,62 @@ +Scylla SOURCE AVAILABLE LICENSE (SSAL) AGREEMENT Last Update: June 30, 2021 + +This Agreement sets forth the terms on which the Licensor makes available the Software. BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. + +If you are receiving the Software on behalf of a legal entity, you represent and warrant that you have the actual authority to agree to the terms and conditions of this agreement on behalf of such entity. + +The terms below have the meanings set forth below for purposes of this Agreement: + +Agreement: this Scylla Source Available License Agreement. + +Database Product: any of the following products or services: + +(a) Scylla Manager; + +(b) a product or service exposing the Scylla Manager API + +License: the Scylla Source Available License described in Section 1. + +Licensor: as indicated in the source code license. + +Modification: a modification of the Software made by You under the License, Section 1.1(c). + +Scylla: the open source Scylla software as described in scylladb.com + +Software: certain software components designed to work with Scylla NoSQL Database and provided to you under this Agreement. + +You: the recipient of this Software, an individual, or the entity on whose behalf you are receiving the Software. + +Your Application: an application developed by or for You, where such application is not a Database Product. + +LICENSE GRANT AND CONDITIONS +1.1 Subject to the terms and conditions of this Section 1, Licensor hereby grants to You a non-exclusive, royalty-free, worldwide, non-transferable license during the term of this Agreement to: + +a) distribute or make available the Software or your Modifications under the terms of this +Agreement, only as part of Your Application, so long as you include the following notice on any copy you distribute: “This software is subject to the terms of the Scylla Source Available License Agreement”. + +(b) use the Software, or your Modifications, only as part of Your Application, but not in connection + +with any Database Product that is distributed or otherwise made available by any third party. + +(c) modify the Software, provided that Modifications remain subject to the terms of this License. + +(d) reproduce the Software as necessary for the above. + +1.3. Notices. + +On all copies of the Software that you make, you must retain all copyright or other proprietary notices. + +TERM AND TERMINATION. +This Agreement will continue unless and until earlier terminated as set forth herein. If You breach any of its conditions or obligations under this Agreement, this Agreement will terminate automatically and the licenses granted herein will terminate automatically. + +INTELLECTUAL PROPERTY. +As between the parties, Licensor retains all right, title, and interest in the Software, and to Scylla or other Licensor trademarks or service marks, and all intellectual property rights therein. Licensor hereby reserves all rights not expressly granted to You in this Agreement. + +DISCLAIMER. +TO THE EXTENT ALLOWABLE UNDER LAW, LICENSOR HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE. Licensor has no obligation to support the Software. + +LIMITATION OF LIABILITY. TO THE EXTENT ALLOWABLE UNDER LAW, LICENSOR WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO, LOST PROFITS OR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, ARISING OUT OF OR RELATING TO THIS AGREEMENT. +GENERAL. You are not authorized to assign Your rights under this Agreement to any third party. Licensor may freely assign its rights under this Agreement to any third party. This Agreement is the entire agreement between the parties on the subject matter hereof. No amendment or modification hereof will be valid or binding upon the parties unless made in writing and signed by the duly authorized representatives of both parties. In the event that any provision, including without limitation any condition, of this Agreement is held to be unenforceable, this Agreement and all licenses and rights granted hereunder will immediately terminate. Failure by Licensor to exercise any right hereunder will not be construed as a waiver of any subsequent breach of that right or as a waiver of any other right. This Agreement will be governed by and interpreted in accordance with the laws of the state of California, without reference to its conflict of laws principles. If You are located within the United States, all disputes arising out of this Agreement are subject to the exclusive jurisdiction of courts located in Santa Clara County, California. USA. If You are located outside of the United States, any dispute, controversy or claim arising out of or relating to this Agreement will be referred to and finally determined by arbitration in accordance with the JAMS before a single arbitrator in Santa Clara County, California. Judgment upon the award rendered by the arbitrator may be entered in any court having jurisdiction thereof. + +This license is base on REDIS SOURCE AVAILABLE LICENSE (RSAL) AGREEMENT with some updates +https://redislabs.com/wp-content/uploads/2019/09/redis-source-available-license.pdf diff --git a/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_host_progress.go b/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_host_progress.go new file mode 100644 index 000000000..c97ba47aa --- /dev/null +++ b/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_host_progress.go @@ -0,0 +1,58 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// RestoreHostProgress restore host progress +// +// swagger:model RestoreHostProgress +type RestoreHostProgress struct { + + // Total time spent by host on download in milliseconds + DownloadDuration int64 `json:"download_duration,omitempty"` + + // Total bytes downloaded by host + DownloadedBytes int64 `json:"downloaded_bytes,omitempty"` + + // host + Host string `json:"host,omitempty"` + + // Host shard count + ShardCnt int64 `json:"shard_cnt,omitempty"` + + // Total time spent by host on load&stream in milliseconds + StreamDuration int64 `json:"stream_duration,omitempty"` + + // Total bytes load&streamed by host + StreamedBytes int64 `json:"streamed_bytes,omitempty"` +} + +// Validate validates this restore host progress +func (m *RestoreHostProgress) Validate(formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RestoreHostProgress) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RestoreHostProgress) UnmarshalBinary(b []byte) error { + var res RestoreHostProgress + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_progress.go b/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_progress.go index f250ac14b..e7c63828c 100644 --- a/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_progress.go +++ b/vendor/github.com/scylladb/scylla-manager/v3/swagger/gen/scylla-manager/models/restore_progress.go @@ -29,6 +29,9 @@ type RestoreProgress struct { // failed Failed int64 `json:"failed,omitempty"` + // hosts + Hosts []*RestoreHostProgress `json:"hosts"` + // keyspaces Keyspaces []*RestoreKeyspaceProgress `json:"keyspaces"` @@ -63,6 +66,10 @@ func (m *RestoreProgress) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateHosts(formats); err != nil { + res = append(res, err) + } + if err := m.validateKeyspaces(formats); err != nil { res = append(res, err) } @@ -98,6 +105,31 @@ func (m *RestoreProgress) validateCompletedAt(formats strfmt.Registry) error { return nil } +func (m *RestoreProgress) validateHosts(formats strfmt.Registry) error { + + if swag.IsZero(m.Hosts) { // not required + return nil + } + + for i := 0; i < len(m.Hosts); i++ { + if swag.IsZero(m.Hosts[i]) { // not required + continue + } + + if m.Hosts[i] != nil { + if err := m.Hosts[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + func (m *RestoreProgress) validateKeyspaces(formats strfmt.Registry) error { if swag.IsZero(m.Keyspaces) { // not required diff --git a/vendor/modules.txt b/vendor/modules.txt index 30af046c4..7df60ae65 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -395,11 +395,11 @@ github.com/scylladb/gocqlx/v2/dbutil github.com/scylladb/gocqlx/v2/migrate github.com/scylladb/gocqlx/v2/qb github.com/scylladb/gocqlx/v2/table -# github.com/scylladb/scylla-manager/v3/pkg/managerclient v0.0.0-20241028110806-78e39cceec83 => ./v3/pkg/managerclient +# github.com/scylladb/scylla-manager/v3/pkg/managerclient v0.0.0-20241031135907-8450182ad4bf ## explicit; go 1.21.1 github.com/scylladb/scylla-manager/v3/pkg/managerclient github.com/scylladb/scylla-manager/v3/pkg/managerclient/table -# github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241028110806-78e39cceec83 => ./v3/pkg/util +# github.com/scylladb/scylla-manager/v3/pkg/util v0.0.0-20241031135907-8450182ad4bf ## explicit; go 1.21.1 github.com/scylladb/scylla-manager/v3/pkg/util github.com/scylladb/scylla-manager/v3/pkg/util/certutil @@ -431,7 +431,7 @@ github.com/scylladb/scylla-manager/v3/pkg/util/timeutc github.com/scylladb/scylla-manager/v3/pkg/util/uuid github.com/scylladb/scylla-manager/v3/pkg/util/version github.com/scylladb/scylla-manager/v3/pkg/util/workerpool -# github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241028110806-78e39cceec83 => ./v3/swagger +# github.com/scylladb/scylla-manager/v3/swagger v0.0.0-20241031135907-8450182ad4bf ## explicit; go 1.21.1 github.com/scylladb/scylla-manager/v3/swagger/gen/agent/client github.com/scylladb/scylla-manager/v3/swagger/gen/agent/client/operations @@ -758,6 +758,3 @@ gopkg.in/yaml.v2 gopkg.in/yaml.v3 # github.com/gocql/gocql => github.com/scylladb/gocql v1.12.0 # github.com/rclone/rclone => github.com/scylladb/rclone v1.54.1-0.20240312172628-afe1fd2aa65e -# github.com/scylladb/scylla-manager/v3/pkg/managerclient => ./v3/pkg/managerclient -# github.com/scylladb/scylla-manager/v3/pkg/util => ./v3/pkg/util -# github.com/scylladb/scylla-manager/v3/swagger => ./v3/swagger