Files
kopia/cli/command_repository.go
Jarek Kowalski e42cc6ccce Added 'kopia repository validate-provider` (#1205)
* cli: added 'repository validate-provider' which runs a set of tests against blob storage provider to validate it

This implements a provider tests which exercises subtle behaviors which are not always correctly implemented by providers claiming compatibility with S3, for example.

The test checks:

- not found behavior
- prefix scans
- timestamps
- write atomicity

* retry: improved error message on failure

* rclone: fixed stats reporting and awaiting for completion

* webdav: prevent panic when attempting to mkdir with empty name

* testing: run providervalidation.ValidateProvider as part of regular provider tests

* cli: print a recommendation to validate provider after repository creation
2021-07-19 21:42:24 -07:00

30 lines
969 B
Go

package cli
type commandRepository struct {
connect commandRepositoryConnect
create commandRepositoryCreate
disconnect commandRepositoryDisconnect
repair commandRepositoryRepair
setClient commandRepositorySetClient
setParameters commandRepositorySetParameters
changePassword commandRepositoryChangePassword
status commandRepositoryStatus
syncTo commandRepositorySyncTo
validateProvider commandRepositoryValidateProvider
}
func (c *commandRepository) setup(svc advancedAppServices, parent commandParent) {
cmd := parent.Command("repository", "Commands to manipulate repository.").Alias("repo")
c.connect.setup(svc, cmd)
c.create.setup(svc, cmd)
c.disconnect.setup(svc, cmd)
c.repair.setup(svc, cmd)
c.setClient.setup(svc, cmd)
c.setParameters.setup(svc, cmd)
c.status.setup(svc, cmd)
c.syncTo.setup(svc, cmd)
c.changePassword.setup(svc, cmd)
c.validateProvider.setup(svc, cmd)
}