aboutsummaryrefslogtreecommitdiff
path: root/src/conf/py-debug/aws.jsonc
diff options
context:
space:
mode:
authorDavid Timber <dxdt@dev.snart.me>2022-05-13 14:45:59 +0800
committerDavid Timber <dxdt@dev.snart.me>2022-05-13 14:45:59 +0800
commit515bf01a057f0b40d89c6b7b247eb4e2fc19d1b7 (patch)
tree1a625d2a85b858227c3bd67955da3da90be49bda /src/conf/py-debug/aws.jsonc
parenta01c87416b241315a9268bb4eb5206ade8328069 (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.jsonc160
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" ]
+ }
+ ]
+ }
+ ]
+}