Skip to content

Commit e0c8d45

Browse files
authored
Merge pull request #154 from BigVan/autoRemove
support auto cleanup overlaybd
2 parents fd022b9 + 72a123c commit e0c8d45

File tree

6 files changed

+269
-75
lines changed

6 files changed

+269
-75
lines changed

cmd/overlaybd-snapshotter/main.go

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,14 @@ import (
3838

3939
const defaultConfigPath = "/etc/overlaybd-snapshotter/config.json"
4040

41-
type pluginConfig struct {
42-
Address string `json:"address"`
43-
Root string `json:"root"`
44-
LogLevel string `json:"verbose"`
45-
Mode string `json:"mode"` // fs, dir or dev
46-
}
47-
48-
var pconfig pluginConfig
41+
var pconfig *overlaybd.BootConfig
4942

5043
func parseConfig(fpath string) error {
5144
data, err := os.ReadFile(fpath)
5245
if err != nil {
5346
return errors.Wrapf(err, "failed to read plugin config from %s", fpath)
5447
}
55-
56-
if err := json.Unmarshal(data, &pconfig); err != nil {
48+
if err := json.Unmarshal(data, pconfig); err != nil {
5749
return errors.Wrapf(err, "failed to parse plugin config from %s", string(data))
5850
}
5951
return nil
@@ -62,26 +54,23 @@ func parseConfig(fpath string) error {
6254
// TODO: use github.com/urfave/cli
6355
func main() {
6456

57+
pconfig = overlaybd.DefaultBootConfig()
6558
if err := parseConfig(defaultConfigPath); err != nil {
6659
logrus.Error(err)
6760
os.Exit(1)
6861
}
69-
70-
if pconfig.Mode == "" {
71-
pconfig.Mode = "fs"
62+
if pconfig.LogReportCaller {
63+
logrus.SetReportCaller(true)
7264
}
73-
logrus.Infof("set mode: %s", pconfig.Mode)
65+
logrus.Infof("%+v", *pconfig)
7466

75-
if pconfig.LogLevel == "" {
76-
pconfig.LogLevel = "info"
77-
}
7867
if err := setLogLevel(pconfig.LogLevel); err != nil {
7968
logrus.Errorf("failed to set log level: %v", err)
8069
} else {
8170
logrus.Infof("set log level: %s", pconfig.LogLevel)
8271
}
8372

84-
sn, err := overlaybd.NewSnapshotter(pconfig.Root, pconfig.Mode)
73+
sn, err := overlaybd.NewSnapshotter(pconfig)
8574
if err != nil {
8675
logrus.Errorf("failed to init overlaybd snapshotter: %v", err)
8776
os.Exit(1)

docs/QUICKSTART.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,23 @@ The config file is `/etc/overlaybd-snapshotter/config.json`. Please create the f
5757

5858
```json
5959
{
60-
"root": "/var/lib/overlaybd/",
61-
"address": "/run/overlaybd-snapshotter/overlaybd.sock"
60+
"root": "/var/lib/containerd/io.containerd.snapshotter.v1.overlaybd",
61+
"address": "/run/overlaybd-snapshotter/overlaybd.sock",
62+
"verbose": "info",
63+
"rwMode": "overlayfs",
64+
"logReportCaller": false,
65+
"autoRemoveDev": false
6266
}
6367
```
64-
`root` is the root directory to store snapshots, `address` is the socket address used to connect withcontainerd.
68+
| Field | Description |
69+
| ----- | ----------- |
70+
| `root` | the root directory to store snapshots |
71+
| `address` | the socket address used to connect withcontainerd. |
72+
| `verbose` | log level, `info` or `debug` |
73+
| `rwMode` | rootfs mode about wether to use native writable layer. See [Native Support for Writable](docs/WRITABLE.md) for detail. |
74+
| `logReportCaller` | enable/disable the calling method |
75+
| `autoRemoveDev` | enable/disable auto clean-up overlaybd device after container removed |
76+
6577

6678
#### Start service
6779

0 commit comments

Comments
 (0)