diff options
author | David Timber <dxdt@dev.snart.me> | 2022-05-13 14:45:59 +0800 |
---|---|---|
committer | David Timber <dxdt@dev.snart.me> | 2022-05-13 14:45:59 +0800 |
commit | 515bf01a057f0b40d89c6b7b247eb4e2fc19d1b7 (patch) | |
tree | 1a625d2a85b858227c3bd67955da3da90be49bda /src/conf/py-debug/aws.jsonc | |
parent | a01c87416b241315a9268bb4eb5206ade8328069 (diff) |
Impl ...
- launch.json: change debug cwd to the project root dir
- Add subcmd "mods"
- Docs
- Tidy up sample and debug config files
- Change core exec
- 'dnf-list-instaled' -> 'rpm-list-installed' as dnf does not work
on ro fs
- Accept the exit code 1 from tar(allow live fs change)
- Add the generic sample config
- Fix 'run' subcmd not accepting empty task-id
- Change module loading: modules are not required to have
the 'backup_backends' var
- Reduce required Python version by removing the use of match ... case
- Fix 'exec-append' not taking 'env' into account
- Remove use of exceptions from irrelevant packages
- Fix unimpl methods of NullBackupBackend
- Tidy up instantiation of raised exceptions
- Change "include" behaviour
- Relative config paths are now resolved like #include C preprocessor
- Fix bug where "include" circular ref checked is not done with absolute
paths of config files
- Add own exception hierachy
- aws-s3: change storage class only when "rot-storage-class" is
different from "sink-storage-class"
Diffstat (limited to 'src/conf/py-debug/aws.jsonc')
-rw-r--r-- | src/conf/py-debug/aws.jsonc | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/src/conf/py-debug/aws.jsonc b/src/conf/py-debug/aws.jsonc new file mode 100644 index 0000000..df9a63a --- /dev/null +++ b/src/conf/py-debug/aws.jsonc @@ -0,0 +1,160 @@ +// PALHM Instance Config +{ + "include": [ "conf.d/core.json" ], + "modules": [ "aws" ], + "nb-workers": 0, // assumed $(nproc) - default + // "nb-workers": 1, // to disable concurrent task despatch + // To unlimit the number of workers. + // Does not fail on resource alloc failure. + // "nb-workers": -1, + "vl": 4, + "tasks": [ + { + "id": "backup", + "type": "backup", + "backend": "aws-s3", + "backend-param": { + // "profile": "default", + "bucket": "palhm.test", + "root": "/palhm/backup", + "prefix": { + "type": "default" + // "type": "iso8601", + // "timespec": "seconds", + // "tz": "utc" + }, + // "sink-storage-class": "STANDARD_IA", + // "rot-storage-class": "ONEZONE_IA", + "nb-copy-limit": 2, // or Infinity assumed(not in JSON spec) + "root-size-limit": "Infinity" // or Infinity assumed + }, + "object-groups": [ + { "id": "pre-start" }, + { + "id": "data-dump", + "depends": [ "pre-start" ] + }, + { + "id": "tar-media-0", + "depends": [ "data-dump" ] + }, + { + "id": "tar-media-1", + "depends": [ "data-dump" ] + } + ], + "objects": [ + { + "path": "pm-list.gz", + "group": "pre-start", + "pipeline": [ + { "type": "exec", "exec-id": "rpm-list-installed" }, + { "type": "exec", "exec-id": "filter-gzip-plain" } + ] + }, + { + "path": "lsblk.json.gz", + "group": "pre-start", + "pipeline": [ + { + "type": "exec-append", + "exec-id": "lsblk-all-json", + "argv": [ "-a" ] + }, + { "type": "exec", "exec-id": "filter-gzip-plain" } + ] + }, + { + "path": "random-dump.sql.xz", + "group": "data-dump", + "pipeline": [ + { + "type": "exec-inline", + "argv": [ + "/bin/dd", + "if=/dev/urandom", + "bs=4096", + "count=512", + "status=none" + ] + }, + { "type": "exec", "exec-id": "filter-xz-parallel" } + ] + }, + { + "path": "random-dump.0.xz", + "group": "tar-media-0", + "pipeline": [ + { + "type": "exec-inline", + "argv": [ + "/bin/dd", + "if=/dev/zero", + "bs=4096", + "count=512", + "status=none" + ] + }, + { "type": "exec", "exec-id": "filter-xz-parallel" } + ] + }, + { + "path": "random-dump.1.xz", + "group": "tar-media-1", + "pipeline": [ + { + "type": "exec-inline", + "argv": [ + "/bin/dd", + "if=/dev/zero", + "bs=4096", + "count=512", + "status=none" + ] + }, + { "type": "exec", "exec-id": "filter-xz-parallel" } + ] + } + ] + }, + { + "id": "update", + "type": "routine", + "routine": [ + { + "type": "exec-inline", + "argv": [ "/bin/echo", "0" ] + }, + { + "type": "exec-inline", + "argv": [ "/bin/sleep", "1" ] + }, + { + "type": "exec-inline", + "argv": [ "/bin/echo", "1" ] + } + ] + }, + { + "id": "default", + "type": "routine", + "routine": [ + { "type": "task", "task-id": "backup" }, + { "type": "task", "task-id": "update" }, + { + // Block SIGTERM from systemd/init.d so the program is not + // affected by the reboot command. + "type": "builtin", + "builtin-id": "sigmask", + "param": [ + { "action": "block", "sig": [ "TERM" ] } + ] + }, + { + "type": "exec-inline", + "argv": [ "/bin/true" ] + } + ] + } + ] +} |