Add --transient-store global option
Add another global storage configuration option. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
This commit is contained in:
parent
b7de827961
commit
b436176d4a
|
@ -35,6 +35,9 @@ func getStore(c *cobra.Command) (storage.Store, error) {
|
||||||
if c.Flag("imagestore").Changed {
|
if c.Flag("imagestore").Changed {
|
||||||
options.ImageStore = globalFlagResults.ImageStore
|
options.ImageStore = globalFlagResults.ImageStore
|
||||||
}
|
}
|
||||||
|
if c.Flag("transient-store").Changed {
|
||||||
|
options.TransientStore = globalFlagResults.TransientStore
|
||||||
|
}
|
||||||
if c.Flag("storage-driver").Changed {
|
if c.Flag("storage-driver").Changed {
|
||||||
options.GraphDriverName = globalFlagResults.StorageDriver
|
options.GraphDriverName = globalFlagResults.StorageDriver
|
||||||
// If any options setup in config, these should be dropped if user overrode the driver
|
// If any options setup in config, these should be dropped if user overrode the driver
|
||||||
|
|
|
@ -30,6 +30,7 @@ func TestMain(m *testing.M) {
|
||||||
flag.StringVar(&options.RunRoot, "runroot", "", "storage state dir")
|
flag.StringVar(&options.RunRoot, "runroot", "", "storage state dir")
|
||||||
flag.StringVar(&options.GraphDriverName, "storage-driver", "", "storage driver")
|
flag.StringVar(&options.GraphDriverName, "storage-driver", "", "storage driver")
|
||||||
flag.StringVar(&options.ImageStore, "imagestore", "", "storage imagestore")
|
flag.StringVar(&options.ImageStore, "imagestore", "", "storage imagestore")
|
||||||
|
flag.BoolVar(&options.TransientStore, "transient-store", false, "use transient storage")
|
||||||
flag.StringVar(&testSystemContext.SystemRegistriesConfPath, "registries-conf", "", "registries list")
|
flag.StringVar(&testSystemContext.SystemRegistriesConfPath, "registries-conf", "", "registries list")
|
||||||
flag.BoolVar(&debug, "debug", false, "turn on debug logging")
|
flag.BoolVar(&debug, "debug", false, "turn on debug logging")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
@ -60,6 +61,7 @@ func TestGetStore(t *testing.T) {
|
||||||
flags.String("root", storeOptions.GraphRoot, "")
|
flags.String("root", storeOptions.GraphRoot, "")
|
||||||
flags.String("runroot", storeOptions.RunRoot, "")
|
flags.String("runroot", storeOptions.RunRoot, "")
|
||||||
flags.String("imagestore", storeOptions.ImageStore, "")
|
flags.String("imagestore", storeOptions.ImageStore, "")
|
||||||
|
flags.Bool("transient-store", storeOptions.TransientStore, "")
|
||||||
flags.String("storage-driver", storeOptions.GraphDriverName, "")
|
flags.String("storage-driver", storeOptions.GraphDriverName, "")
|
||||||
flags.String("signature-policy", "", "")
|
flags.String("signature-policy", "", "")
|
||||||
if err := flags.MarkHidden("signature-policy"); err != nil {
|
if err := flags.MarkHidden("signature-policy"); err != nil {
|
||||||
|
|
|
@ -29,6 +29,7 @@ type globalFlags struct {
|
||||||
Root string
|
Root string
|
||||||
RunRoot string
|
RunRoot string
|
||||||
ImageStore string
|
ImageStore string
|
||||||
|
TransientStore bool
|
||||||
StorageDriver string
|
StorageDriver string
|
||||||
RegistriesConf string
|
RegistriesConf string
|
||||||
RegistriesConfDir string
|
RegistriesConfDir string
|
||||||
|
@ -100,6 +101,7 @@ func init() {
|
||||||
rootCmd.PersistentFlags().StringVar(&globalFlagResults.CgroupManager, "cgroup-manager", defaultContainerConfig.Engine.CgroupManager, "cgroup manager")
|
rootCmd.PersistentFlags().StringVar(&globalFlagResults.CgroupManager, "cgroup-manager", defaultContainerConfig.Engine.CgroupManager, "cgroup manager")
|
||||||
rootCmd.PersistentFlags().StringVar(&globalFlagResults.StorageDriver, "storage-driver", storageOptions.GraphDriverName, "storage-driver")
|
rootCmd.PersistentFlags().StringVar(&globalFlagResults.StorageDriver, "storage-driver", storageOptions.GraphDriverName, "storage-driver")
|
||||||
rootCmd.PersistentFlags().StringVar(&globalFlagResults.ImageStore, "imagestore", storageOptions.ImageStore, "storage imagestore")
|
rootCmd.PersistentFlags().StringVar(&globalFlagResults.ImageStore, "imagestore", storageOptions.ImageStore, "storage imagestore")
|
||||||
|
rootCmd.PersistentFlags().BoolVar(&globalFlagResults.TransientStore, "transient-store", storageOptions.TransientStore, "store some information in transient storage")
|
||||||
rootCmd.PersistentFlags().StringSliceVar(&globalFlagResults.StorageOpts, "storage-opt", defaultStoreDriverOptions, "storage driver option")
|
rootCmd.PersistentFlags().StringSliceVar(&globalFlagResults.StorageOpts, "storage-opt", defaultStoreDriverOptions, "storage driver option")
|
||||||
rootCmd.PersistentFlags().StringSliceVar(&globalFlagResults.UserNSUID, "userns-uid-map", []string{}, "default `ctrID:hostID:length` UID mapping to use")
|
rootCmd.PersistentFlags().StringSliceVar(&globalFlagResults.UserNSUID, "userns-uid-map", []string{}, "default `ctrID:hostID:length` UID mapping to use")
|
||||||
rootCmd.PersistentFlags().StringSliceVar(&globalFlagResults.UserNSGID, "userns-gid-map", []string{}, "default `ctrID:hostID:length` GID mapping to use")
|
rootCmd.PersistentFlags().StringSliceVar(&globalFlagResults.UserNSGID, "userns-gid-map", []string{}, "default `ctrID:hostID:length` GID mapping to use")
|
||||||
|
|
|
@ -36,7 +36,7 @@ be available.
|
||||||
|
|
||||||
This will override the *imagestore* option in containers-storage.conf(5).
|
This will override the *imagestore* option in containers-storage.conf(5).
|
||||||
|
|
||||||
**--log-level** **value**
|
**--log-level** *level*
|
||||||
|
|
||||||
The log level to be used. Either "trace", "debug", "info", "warn", "error", "fatal", or "panic", defaulting to "warn".
|
The log level to be used. Either "trace", "debug", "info", "warn", "error", "fatal", or "panic", defaulting to "warn".
|
||||||
|
|
||||||
|
@ -60,12 +60,12 @@ include a registry or domain portion. It is not recommended that this option
|
||||||
be used, as the default behavior of using the system-wide configuration
|
be used, as the default behavior of using the system-wide configuration
|
||||||
(*/etc/containers/registries.d*) is most often preferred.
|
(*/etc/containers/registries.d*) is most often preferred.
|
||||||
|
|
||||||
**--root** **value**
|
**--root** *path*
|
||||||
|
|
||||||
Storage root dir (default: "/var/lib/containers/storage" for UID 0, "$HOME/.local/share/containers/storage" for other users).
|
Storage root dir (default: "/var/lib/containers/storage" for UID 0, "$HOME/.local/share/containers/storage" for other users).
|
||||||
The default root dir is configured in /etc/containers/storage.conf.
|
The default root dir is configured in /etc/containers/storage.conf.
|
||||||
|
|
||||||
**--runroot** **value**
|
**--runroot** *path*
|
||||||
|
|
||||||
Storage state dir (default: "/run/containers/storage" for UID 0, "/run/user/$UID" for other users).
|
Storage state dir (default: "/run/containers/storage" for UID 0, "/run/user/$UID" for other users).
|
||||||
The default state dir is configured in /etc/containers/storage.conf.
|
The default state dir is configured in /etc/containers/storage.conf.
|
||||||
|
@ -96,6 +96,10 @@ specify additional options via the `--storage-opt` flag.
|
||||||
|
|
||||||
Storage driver option, Default storage driver options are configured in /etc/containers/storage.conf (`$HOME/.config/containers/storage.conf` in rootless mode). The `STORAGE_OPTS` environment variable overrides the default. The --storage-opt specified options overrides all.
|
Storage driver option, Default storage driver options are configured in /etc/containers/storage.conf (`$HOME/.config/containers/storage.conf` in rootless mode). The `STORAGE_OPTS` environment variable overrides the default. The --storage-opt specified options overrides all.
|
||||||
|
|
||||||
|
**--transient-store** *bool-value*
|
||||||
|
|
||||||
|
Store metadata about containers under the storage state directory (**--runroot**), with the intention that records about them will be removed when the system is rebooted. Additional garbage collection must still be performed at boot-time, so this option should remain disabled in most configurations. (default: false)
|
||||||
|
|
||||||
**--userns-gid-map** *mapping*
|
**--userns-gid-map** *mapping*
|
||||||
|
|
||||||
Directly specifies a GID mapping which should be used to set ownership, at the
|
Directly specifies a GID mapping which should be used to set ownership, at the
|
||||||
|
|
1
info.go
1
info.go
|
@ -134,6 +134,7 @@ func storeInfo(store storage.Store) (map[string]any, error) {
|
||||||
info["GraphRoot"] = store.GraphRoot()
|
info["GraphRoot"] = store.GraphRoot()
|
||||||
info["RunRoot"] = store.RunRoot()
|
info["RunRoot"] = store.RunRoot()
|
||||||
info["GraphImageStore"] = store.ImageStore()
|
info["GraphImageStore"] = store.ImageStore()
|
||||||
|
info["GraphTransientStore"] = store.TransientStore()
|
||||||
info["GraphDriverName"] = store.GraphDriverName()
|
info["GraphDriverName"] = store.GraphDriverName()
|
||||||
info["GraphOptions"] = store.GraphOptions()
|
info["GraphOptions"] = store.GraphOptions()
|
||||||
statusPairs, err := store.Status()
|
statusPairs, err := store.Status()
|
||||||
|
|
|
@ -142,6 +142,7 @@ func main() {
|
||||||
rootCmd.PersistentFlags().StringVar(&storeOptions.GraphRoot, "root", "", "storage root")
|
rootCmd.PersistentFlags().StringVar(&storeOptions.GraphRoot, "root", "", "storage root")
|
||||||
rootCmd.PersistentFlags().StringVar(&storeOptions.RunRoot, "runroot", "", "runtime root")
|
rootCmd.PersistentFlags().StringVar(&storeOptions.RunRoot, "runroot", "", "runtime root")
|
||||||
rootCmd.PersistentFlags().StringVar(&storeOptions.ImageStore, "imagestore", "", "storage imagestore")
|
rootCmd.PersistentFlags().StringVar(&storeOptions.ImageStore, "imagestore", "", "storage imagestore")
|
||||||
|
rootCmd.PersistentFlags().BoolVar(&storeOptions.TransientStore, "transient-store", false, "store some information in transient storage")
|
||||||
rootCmd.PersistentFlags().StringVar(&storeOptions.GraphDriverName, "storage-driver", "", "storage driver")
|
rootCmd.PersistentFlags().StringVar(&storeOptions.GraphDriverName, "storage-driver", "", "storage driver")
|
||||||
rootCmd.PersistentFlags().StringSliceVar(&storeOptions.GraphDriverOptions, "storage-opt", nil, "storage option")
|
rootCmd.PersistentFlags().StringSliceVar(&storeOptions.GraphDriverOptions, "storage-opt", nil, "storage option")
|
||||||
rootCmd.PersistentFlags().StringVar(&systemContext.SystemRegistriesConfPath, "registries-conf", "", "location of registries.conf")
|
rootCmd.PersistentFlags().StringVar(&systemContext.SystemRegistriesConfPath, "registries-conf", "", "location of registries.conf")
|
||||||
|
|
|
@ -41,6 +41,7 @@ func main() {
|
||||||
runroot := flag.String("runroot", storeOptions.RunRoot, "storage runtime directory")
|
runroot := flag.String("runroot", storeOptions.RunRoot, "storage runtime directory")
|
||||||
driver := flag.String("storage-driver", storeOptions.GraphDriverName, "storage driver")
|
driver := flag.String("storage-driver", storeOptions.GraphDriverName, "storage driver")
|
||||||
imagestore := flag.String("imagestore", storeOptions.ImageStore, "storage imagestore")
|
imagestore := flag.String("imagestore", storeOptions.ImageStore, "storage imagestore")
|
||||||
|
transientStore := flag.Bool("transient-store", storeOptions.TransientStore, "store some information in transient storage")
|
||||||
opts := flag.String("storage-opts", "", "storage option list (comma separated)")
|
opts := flag.String("storage-opts", "", "storage option list (comma separated)")
|
||||||
policy := flag.String("signature-policy", "", "signature policy file")
|
policy := flag.String("signature-policy", "", "signature policy file")
|
||||||
mtype := flag.String("expected-manifest-type", define.OCIv1ImageManifest, "expected manifest type")
|
mtype := flag.String("expected-manifest-type", define.OCIv1ImageManifest, "expected manifest type")
|
||||||
|
@ -81,6 +82,9 @@ func main() {
|
||||||
if imagestore != nil {
|
if imagestore != nil {
|
||||||
storeOptions.ImageStore = *imagestore
|
storeOptions.ImageStore = *imagestore
|
||||||
}
|
}
|
||||||
|
if transientStore != nil {
|
||||||
|
storeOptions.TransientStore = *transientStore
|
||||||
|
}
|
||||||
if opts != nil && *opts != "" {
|
if opts != nil && *opts != "" {
|
||||||
storeOptions.GraphDriverOptions = strings.Split(*opts, ",")
|
storeOptions.GraphDriverOptions = strings.Split(*opts, ",")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue