summaryrefslogtreecommitdiff
path: root/hack/podman-registry-go/registry.go
diff options
context:
space:
mode:
authorValentin Rothberg <vrothberg@redhat.com>2022-05-03 14:34:00 +0200
committerValentin Rothberg <vrothberg@redhat.com>2022-05-04 12:15:45 +0200
commit8781a3635a045282fac656b2b372ec1010c3b2e4 (patch)
tree0012428bf56fb1c6602f648cd254944cc69d0af5 /hack/podman-registry-go/registry.go
parent3ac5cec086e1ee1f11fabfd8a8f0aa8cf9f371f5 (diff)
downloadpodman-8781a3635a045282fac656b2b372ec1010c3b2e4.tar.gz
podman-8781a3635a045282fac656b2b372ec1010c3b2e4.tar.bz2
podman-8781a3635a045282fac656b2b372ec1010c3b2e4.zip
benchmarks: push/pull
Polish the push and pull benchmarks. In particular, make sure to not be network bound during these benchmarks by running a local registry and pushing a local image that can later on be pulled. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
Diffstat (limited to 'hack/podman-registry-go/registry.go')
-rw-r--r--hack/podman-registry-go/registry.go23
1 files changed, 22 insertions, 1 deletions
diff --git a/hack/podman-registry-go/registry.go b/hack/podman-registry-go/registry.go
index 095f6fb18..af8f3117c 100644
--- a/hack/podman-registry-go/registry.go
+++ b/hack/podman-registry-go/registry.go
@@ -31,10 +31,31 @@ type Registry struct {
running bool
}
+// Options allows for customizing a registry.
+type Options struct {
+ // Image - custom registry image.
+ Image string
+}
+
// Start a new registry and return it along with it's image, user, password, and port.
func Start() (*Registry, error) {
+ return StartWithOptions(nil)
+}
+
+// StartWithOptions a new registry and return it along with it's image, user, password, and port.
+func StartWithOptions(options *Options) (*Registry, error) {
+ if options == nil {
+ options = &Options{}
+ }
+
+ var args []string
+ if options.Image != "" {
+ args = append(args, "-i", options.Image)
+ }
+ args = append(args, "start")
+
// Start a registry.
- out, err := utils.ExecCmd(binary, "start")
+ out, err := utils.ExecCmd(binary, args...)
if err != nil {
return nil, errors.Wrapf(err, "error running %q: %s", binary, out)
}