From 2bf85c0df5062df4e7a061792f70817e962a213f Mon Sep 17 00:00:00 2001 From: Will Date: Sat, 27 Jul 2024 10:22:32 -0600 Subject: [PATCH 1/7] feat: add writeable flag, default readonly registry --- cmd/hauler/cli/store/serve.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 2ef90856..69513742 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -25,6 +25,7 @@ type ServeRegistryOpts struct { Port int RootDir string ConfigFile string + Writeable bool storedir string } @@ -35,6 +36,8 @@ func (o *ServeRegistryOpts) AddFlags(cmd *cobra.Command) { f.IntVarP(&o.Port, "port", "p", 5000, "Port to listen on.") f.StringVar(&o.RootDir, "directory", "registry", "Directory to use for backend. Defaults to $PWD/registry") f.StringVarP(&o.ConfigFile, "config", "c", "", "Path to a config file, will override all other configs") + // same as defining ConfigFile maintence.readonly.enable = true + f.BoolVar(&o.Writeable, "writeable", false, "Run registry in writeable mode. Defaults to false, readonly.") } func ServeRegistryCmd(ctx context.Context, o *ServeRegistryOpts, s *store.Layout) error { @@ -137,8 +140,12 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration "cache": configuration.Parameters{"blobdescriptor": "inmemory"}, "filesystem": configuration.Parameters{"rootdirectory": o.RootDir}, - // TODO: Ensure this is toggleable via cli arg if necessary - // "maintenance": configuration.Parameters{"readonly.enabled": false}, + // Default to readonly true (!false) + "maintenance": configuration.Parameters{ + "readonly": map[interface{}]interface{}{ + "enabled": !o.Writeable, + }, + }, }, } From 022b72355c15b6f0156fb31ea88e39c3a8f551b0 Mon Sep 17 00:00:00 2001 From: Zack Brady Date: Tue, 30 Jul 2024 10:56:25 -0400 Subject: [PATCH 2/7] updated flag from writeable to readonly --- cmd/hauler/cli/store/serve.go | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 69513742..3f92bad1 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -25,9 +25,7 @@ type ServeRegistryOpts struct { Port int RootDir string ConfigFile string - Writeable bool - - storedir string + ReadOnly bool } func (o *ServeRegistryOpts) AddFlags(cmd *cobra.Command) { @@ -36,8 +34,7 @@ func (o *ServeRegistryOpts) AddFlags(cmd *cobra.Command) { f.IntVarP(&o.Port, "port", "p", 5000, "Port to listen on.") f.StringVar(&o.RootDir, "directory", "registry", "Directory to use for backend. Defaults to $PWD/registry") f.StringVarP(&o.ConfigFile, "config", "c", "", "Path to a config file, will override all other configs") - // same as defining ConfigFile maintence.readonly.enable = true - f.BoolVar(&o.Writeable, "writeable", false, "Run registry in writeable mode. Defaults to false, readonly.") + f.BoolVar(&o.ReadOnly, "readonly", true, "Run the registry as readonly.") } func ServeRegistryCmd(ctx context.Context, o *ServeRegistryOpts, s *store.Layout) error { @@ -84,8 +81,6 @@ type ServeFilesOpts struct { Port int Timeout int RootDir string - - storedir string } func (o *ServeFilesOpts) AddFlags(cmd *cobra.Command) { @@ -139,11 +134,9 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration Storage: configuration.Storage{ "cache": configuration.Parameters{"blobdescriptor": "inmemory"}, "filesystem": configuration.Parameters{"rootdirectory": o.RootDir}, - - // Default to readonly true (!false) "maintenance": configuration.Parameters{ "readonly": map[interface{}]interface{}{ - "enabled": !o.Writeable, + "enabled": !o.ReadOnly, }, }, }, From 580b05e42b4d147d2922ec76cfdb01faf4d49f95 Mon Sep 17 00:00:00 2001 From: Jacob Blain Christen Date: Tue, 30 Jul 2024 10:32:13 -0700 Subject: [PATCH 3/7] Update cmd/hauler/cli/store/serve.go use `configuration.Parameters` to the hilt Signed-off-by: Jacob Blain Christen --- cmd/hauler/cli/store/serve.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 3f92bad1..7f51e970 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -134,10 +134,9 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration Storage: configuration.Storage{ "cache": configuration.Parameters{"blobdescriptor": "inmemory"}, "filesystem": configuration.Parameters{"rootdirectory": o.RootDir}, - "maintenance": configuration.Parameters{ - "readonly": map[interface{}]interface{}{ - "enabled": !o.ReadOnly, - }, + "maintenance": configuration.Parameters{"readonly": + configuration.Parameters{"enabled": !o.ReadOnly}, + }, }, }, } From 35d55ac69631bebd6e0067c86252e688405cd130 Mon Sep 17 00:00:00 2001 From: Jacob Blain Christen Date: Tue, 30 Jul 2024 10:35:47 -0700 Subject: [PATCH 4/7] Update cmd/hauler/cli/store/serve.go fixing my breakage =( Signed-off-by: Jacob Blain Christen --- cmd/hauler/cli/store/serve.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 7f51e970..8f21a476 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -137,7 +137,6 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration "maintenance": configuration.Parameters{"readonly": configuration.Parameters{"enabled": !o.ReadOnly}, }, - }, }, } From 4b70167416bc582cc778daa9c1d72ee4a64dcf85 Mon Sep 17 00:00:00 2001 From: Jacob Blain Christen Date: Tue, 30 Jul 2024 11:22:36 -0700 Subject: [PATCH 5/7] Update cmd/hauler/cli/store/serve.go Signed-off-by: Jacob Blain Christen --- cmd/hauler/cli/store/serve.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 8f21a476..11c9c017 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -134,7 +134,9 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration Storage: configuration.Storage{ "cache": configuration.Parameters{"blobdescriptor": "inmemory"}, "filesystem": configuration.Parameters{"rootdirectory": o.RootDir}, - "maintenance": configuration.Parameters{"readonly": + "maintenance": configuration.Parameters{ + "readonly": map[any]any{"enabled": o.ReadOnly}, + }, configuration.Parameters{"enabled": !o.ReadOnly}, }, }, From 8059ac67738f9032f7581ae68c59c18a2170f704 Mon Sep 17 00:00:00 2001 From: Jacob Blain Christen Date: Tue, 30 Jul 2024 11:23:10 -0700 Subject: [PATCH 6/7] Update cmd/hauler/cli/store/serve.go Signed-off-by: Jacob Blain Christen --- cmd/hauler/cli/store/serve.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 11c9c017..2b62aca8 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -137,7 +137,6 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration "maintenance": configuration.Parameters{ "readonly": map[any]any{"enabled": o.ReadOnly}, }, - configuration.Parameters{"enabled": !o.ReadOnly}, }, }, } From 53ddf60aa367c8064e3a2d07fb4ce6e374fe62c8 Mon Sep 17 00:00:00 2001 From: Jacob Blain Christen Date: Tue, 30 Jul 2024 11:23:37 -0700 Subject: [PATCH 7/7] Update cmd/hauler/cli/store/serve.go Signed-off-by: Jacob Blain Christen --- cmd/hauler/cli/store/serve.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/hauler/cli/store/serve.go b/cmd/hauler/cli/store/serve.go index 2b62aca8..44638ff0 100644 --- a/cmd/hauler/cli/store/serve.go +++ b/cmd/hauler/cli/store/serve.go @@ -137,7 +137,6 @@ func (o *ServeRegistryOpts) defaultRegistryConfig() *configuration.Configuration "maintenance": configuration.Parameters{ "readonly": map[any]any{"enabled": o.ReadOnly}, }, - }, }, }