instance-zeo-input-schema.json 3.32 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "extends": "./schema-definitions.json#",
  "required": ["tcpv4-port", "zodb-dict"],
  "properties": {
    "tcpv4-port": {
      "allOf": [{
        "$ref": "#/definitions/tcpv4port"
      }, {
        "description": "Start allocating ports at this value, going upward"
      }]
    },
13
    "backup": {
14 15
      "description": "Controls ZODB backup generation and retention (disabled if null)",
      "default": {},
16
      "properties": {
17 18 19 20 21
        "periodicity": {
          "description": "When to backup, specified in the same format as for systemd.time(7) calendar events (years & seconds not supported, DoW & DoM can not be combined)",
          "default": "daily",
          "type": "string",
        },
22 23 24 25 26 27 28 29 30 31 32 33
        "zodb-dict": {
          "description": "Maps an export identifier to the path it must be backed up into",
          "default": {},
          "patternProperties": {
            ".*": {
              "description": "'%(backup)s' is expanded to partition's ZODB backup path (typically 'srv/backup/zodb')",
              "default": "%(backup)s/<export identifier>",
              "type": "string"
            }
          },
          "type": "object"
        },
34
        "tidstorage-timestamp-path": {
35 36 37 38 39
          "description": "Path to backup timestamp file, occurrences of '%(backup)s' being eplaced with the path to partition's srv/backup/tidstorage directory",
          "default": "%(backup)s/repozo_tidstorage_timestamp.log",
          "type": "string"
        }
      },
40
      "type": ["object", "null"]
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
    },
    "zodb-dict": {
      "description": "Maps an export identifier to its settings",
      "patternProperties": {
        ".*": {
          "properties": {
            "storage-family": {
              "description": "Opaque name used to regroup/separate mountpoints under different ZEO processes (must be valid as a file name and as a ConfigParser section name)",
              "default": "default",
              "pattern": "^[^<>:\"/\\|?*\\]\\[ ]*$",
              "type": "string"
            },
            "mount-point": {
              "description": "Traversal path export should be mounted at (opaque to this software type)",
              "default": "/",
              "type": "string"
            },
            "cache-size": {
              "description": "Client-side cache size in object count (opaque to this software type)",
              "default": -1,
              "type": "integer"
            },
            "storage-dict": {
              "default": {},
              "properties": {
                "path": {
67 68
                  "description": "FileStorage file path, '%(zodb)s' occurrences are replaced with the path to partition's srv/zodb directory, and %(name)s with the export id",
                  "default": "%(zodb)s/%(name)s.fs",
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
                  "type": "string"
                },
                "client": {
                  "description": "Client-side settings for this mountpoint",
                  "default": {},
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    }
  }
}