summaryrefslogtreecommitdiff
path: root/libpod/runtime.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2017-12-13 22:02:15 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-02-12 14:28:07 +0000
commitb4cdc27b31a638322fb83b64aea869ce8600ea01 (patch)
tree5d248aeafa1f54a2c169d1d51deaaeb5de1e0e23 /libpod/runtime.go
parent2e96acf3007cbd05a37a8af7156f0abda073cb5a (diff)
downloadpodman-b4cdc27b31a638322fb83b64aea869ce8600ea01.tar.gz
podman-b4cdc27b31a638322fb83b64aea869ce8600ea01.tar.bz2
podman-b4cdc27b31a638322fb83b64aea869ce8600ea01.zip
Add implementation for BoltDB-backed state
Signed-off-by: Matthew Heon <matthew.heon@gmail.com> Closes: #184 Approved by: baude
Diffstat (limited to 'libpod/runtime.go')
-rw-r--r--libpod/runtime.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go
index cce396764..6e26b0f1b 100644
--- a/libpod/runtime.go
+++ b/libpod/runtime.go
@@ -27,6 +27,9 @@ const (
InMemoryStateStore RuntimeStateStore = iota
// SQLiteStateStore is a state backed by a SQLite database
SQLiteStateStore RuntimeStateStore = iota
+ // BoltDBStateStore is a state backed by a BoltDB database
+ BoltDBStateStore RuntimeStateStore = iota
+
// SeccompDefaultPath defines the default seccomp path
SeccompDefaultPath = "/usr/share/containers/seccomp.json"
// SeccompOverridePath if this exists it overrides the default seccomp path
@@ -76,7 +79,7 @@ var (
// Leave this empty so containers/storage will use its defaults
StorageConfig: storage.StoreOptions{},
ImageDefaultTransport: DefaultTransport,
- StateType: SQLiteStateStore,
+ StateType: BoltDBStateStore,
RuntimePath: findRuncPath(),
ConmonPath: findConmonPath(),
ConmonEnvVars: []string{
@@ -235,6 +238,14 @@ func NewRuntime(options ...RuntimeOption) (runtime *Runtime, err error) {
return nil, err
}
runtime.state = state
+ case BoltDBStateStore:
+ dbPath := filepath.Join(runtime.config.StaticDir, "bolt_state.db")
+
+ state, err := NewBoltState(dbPath, runtime.lockDir, runtime)
+ if err != nil {
+ return nil, err
+ }
+ runtime.state = state
default:
return nil, errors.Wrapf(ErrInvalidArg, "unrecognized state type passed")
}