]> git.proxmox.com Git - pmg-docs.git/commitdiff
add pmgreport, update generated docs
authorDietmar Maurer <dietmar@proxmox.com>
Mon, 21 Aug 2017 07:28:35 +0000 (09:28 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Mon, 21 Aug 2017 07:28:35 +0000 (09:28 +0200)
api-viewer/apidata.js
cluster.conf.5-opts.adoc
pmg-admin-guide.adoc
pmg.conf.5-opts.adoc
pmgdb.1-synopsis.adoc
pmgperf.1-synopsis.adoc
pmgreport.adoc [new file with mode: 0644]

index 490e31a1536f7030b20214260079501f462392a8..2e1e7b71b864bae76bf33097607a2933a22fb94f 100644 (file)
@@ -3,6 +3,24 @@ var pmgapi = [
       "children" : [
          {
             "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Returns the rule database digest. This is used internally for cluster synchronization.",
+                        "method" : "GET",
+                        "name" : "ruledb_digest",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/ruledb/digest",
+                  "text" : "digest"
+               },
                {
                   "children" : [
                      {
@@ -579,6 +597,8 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "protected" : 1,
+                              "proxyto" : "master",
                               "returns" : {
                                  "type" : "null"
                               }
@@ -629,7 +649,6 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
-                        "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -715,6 +734,8 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "protected" : 1,
+                                    "proxyto" : "master",
                                     "returns" : {
                                        "type" : "null"
                                     }
@@ -733,6 +754,7 @@ var pmgapi = [
                               "parameters" : {
                                  "additionalProperties" : 0
                               },
+                              "proxyto" : "master",
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -827,6 +849,7 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
                                        "type" : "null"
@@ -874,6 +897,7 @@ var pmgapi = [
                                     }
                                  }
                               },
+                              "protected" : 1,
                               "proxyto" : "master",
                               "returns" : {
                                  "description" : "The object ID.",
@@ -981,6 +1005,7 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
                                        "type" : "null"
@@ -1133,7 +1158,6 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
-                        "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -1244,6 +1268,7 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
                                        "type" : "null"
@@ -1507,7 +1532,6 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
-                        "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -1618,6 +1642,7 @@ var pmgapi = [
                                           }
                                        }
                                     },
+                                    "protected" : 1,
                                     "proxyto" : "master",
                                     "returns" : {
                                        "type" : "null"
@@ -2541,7 +2566,6 @@ var pmgapi = [
                         "parameters" : {
                            "additionalProperties" : 0
                         },
-                        "protected" : 1,
                         "proxyto" : "master",
                         "returns" : {
                            "items" : {
@@ -2610,6 +2634,18 @@ var pmgapi = [
                      ],
                      "type" : "array"
                   }
+               },
+               "POST" : {
+                  "description" : "Reset PMG rule database back to factory defaults.",
+                  "method" : "POST",
+                  "name" : "reset_ruledb",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
                }
             },
             "leaf" : 0,
@@ -4511,26 +4547,258 @@ var pmgapi = [
             "text" : "mynetworks"
          },
          {
+            "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Cluster node index.",
+                        "method" : "GET",
+                        "name" : "nodes",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "cid" : {
+                                    "type" : "integer"
+                                 },
+                                 "fingerprint" : {
+                                    "type" : "string"
+                                 },
+                                 "hostrsapubkey" : {
+                                    "type" : "string"
+                                 },
+                                 "ip" : {
+                                    "type" : "string"
+                                 },
+                                 "name" : {
+                                    "type" : "string"
+                                 },
+                                 "rootrsapubkey" : {
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{cid}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "description" : "Add an node to the cluster config.",
+                        "method" : "POST",
+                        "name" : "add_node",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "fingerprint" : {
+                                 "description" : "SSL certificate fingerprint.",
+                                 "optional" : 0,
+                                 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
+                                 "type" : "string"
+                              },
+                              "hostrsapubkey" : {
+                                 "description" : "Public SSH RSA key for the host.",
+                                 "optional" : 0,
+                                 "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
+                                 "type" : "string"
+                              },
+                              "ip" : {
+                                 "description" : "IP address.",
+                                 "format" : "ip",
+                                 "optional" : 0,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "maxcid" : {
+                                 "description" : "Maximum used cluster node ID (used internally, do not modify).",
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
+                              },
+                              "name" : {
+                                 "description" : "Node name.",
+                                 "format" : "pve-node",
+                                 "optional" : 0,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "rootrsapubkey" : {
+                                 "description" : "Public SSH RSA key for the root user.",
+                                 "optional" : 0,
+                                 "pattern" : "^[A-Za-z0-9\\.\\/\\+]{200,}$",
+                                 "type" : "string"
+                              }
+                           },
+                           "type" : "object"
+                        },
+                        "protected" : 1,
+                        "proxyto" : "master",
+                        "returns" : {
+                           "description" : "Returns the resulting node list.",
+                           "items" : {
+                              "properties" : {
+                                 "cid" : {
+                                    "type" : "integer"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/cluster/nodes",
+                  "text" : "nodes"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Cluster node status.",
+                        "method" : "GET",
+                        "name" : "status",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin"
+                           ]
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "cid" : {
+                                    "type" : "integer"
+                                 },
+                                 "fingerprint" : {
+                                    "type" : "string"
+                                 },
+                                 "hostrsapubkey" : {
+                                    "type" : "string"
+                                 },
+                                 "ip" : {
+                                    "type" : "string"
+                                 },
+                                 "name" : {
+                                    "type" : "string"
+                                 },
+                                 "rootrsapubkey" : {
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{cid}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/cluster/status",
+                  "text" : "status"
+               },
+               {
+                  "info" : {
+                     "POST" : {
+                        "description" : "Create initial cluster config with current node as master.",
+                        "method" : "POST",
+                        "name" : "create",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/cluster/create",
+                  "text" : "create"
+               },
+               {
+                  "info" : {
+                     "POST" : {
+                        "description" : "Join local node to an existing cluster.",
+                        "method" : "POST",
+                        "name" : "join",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "fingerprint" : {
+                                 "description" : "SSL certificate fingerprint.",
+                                 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
+                                 "type" : "string"
+                              },
+                              "master_ip" : {
+                                 "description" : "IP address.",
+                                 "format" : "ip",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "password" : {
+                                 "description" : "Superuser password.",
+                                 "maxLength" : 128,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/config/cluster/join",
+                  "text" : "join"
+               }
+            ],
             "info" : {
                "GET" : {
-                  "description" : "Cluster node index.",
+                  "description" : "Directory index.",
                   "method" : "GET",
                   "name" : "index",
                   "parameters" : {
                      "additionalProperties" : 0
                   },
+                  "permissions" : {
+                     "user" : "all"
+                  },
                   "returns" : {
                      "items" : {
-                        "properties" : {
-                           "cid" : {
-                              "type" : "integer"
-                           }
-                        },
+                        "properties" : {},
                         "type" : "object"
                      },
                      "links" : [
                         {
-                           "href" : "{cid}",
+                           "href" : "{name}",
                            "rel" : "child"
                         }
                      ],
@@ -4538,7 +4806,7 @@ var pmgapi = [
                   }
                }
             },
-            "leaf" : 1,
+            "leaf" : 0,
             "path" : "/config/cluster",
             "text" : "cluster"
          },
@@ -5216,7 +5484,6 @@ var pmgapi = [
                               "none",
                               "short",
                               "verbose",
-                              "outlook",
                               "custom"
                            ],
                            "optional" : 1,
@@ -6715,12 +6982,16 @@ var pmgapi = [
                                                 "pmgdaemon",
                                                 "pmgpolicy",
                                                 "pmg-smtp-filter",
-                                                "sshd",
-                                                "syslog",
+                                                "pmgtunnel",
+                                                "pmgmirror",
+                                                "ssh",
+                                                "rsyslog",
                                                 "postfix",
+                                                "postgres",
                                                 "systemd-timesyncd",
                                                 "pmg-hourly",
-                                                "pmg-daily"
+                                                "pmg-daily",
+                                                "pmgspamreport"
                                              ],
                                              "type" : "string"
                                           }
@@ -6762,12 +7033,16 @@ var pmgapi = [
                                                 "pmgdaemon",
                                                 "pmgpolicy",
                                                 "pmg-smtp-filter",
-                                                "sshd",
-                                                "syslog",
+                                                "pmgtunnel",
+                                                "pmgmirror",
+                                                "ssh",
+                                                "rsyslog",
                                                 "postfix",
+                                                "postgres",
                                                 "systemd-timesyncd",
                                                 "pmg-hourly",
-                                                "pmg-daily"
+                                                "pmg-daily",
+                                                "pmgspamreport"
                                              ],
                                              "type" : "string"
                                           }
@@ -6808,12 +7083,16 @@ var pmgapi = [
                                                 "pmgdaemon",
                                                 "pmgpolicy",
                                                 "pmg-smtp-filter",
-                                                "sshd",
-                                                "syslog",
+                                                "pmgtunnel",
+                                                "pmgmirror",
+                                                "ssh",
+                                                "rsyslog",
                                                 "postfix",
+                                                "postgres",
                                                 "systemd-timesyncd",
                                                 "pmg-hourly",
-                                                "pmg-daily"
+                                                "pmg-daily",
+                                                "pmgspamreport"
                                              ],
                                              "type" : "string"
                                           }
@@ -6854,12 +7133,16 @@ var pmgapi = [
                                                 "pmgdaemon",
                                                 "pmgpolicy",
                                                 "pmg-smtp-filter",
-                                                "sshd",
-                                                "syslog",
+                                                "pmgtunnel",
+                                                "pmgmirror",
+                                                "ssh",
+                                                "rsyslog",
                                                 "postfix",
+                                                "postgres",
                                                 "systemd-timesyncd",
                                                 "pmg-hourly",
-                                                "pmg-daily"
+                                                "pmg-daily",
+                                                "pmgspamreport"
                                              ],
                                              "type" : "string"
                                           }
@@ -6900,12 +7183,16 @@ var pmgapi = [
                                                 "pmgdaemon",
                                                 "pmgpolicy",
                                                 "pmg-smtp-filter",
-                                                "sshd",
-                                                "syslog",
+                                                "pmgtunnel",
+                                                "pmgmirror",
+                                                "ssh",
+                                                "rsyslog",
                                                 "postfix",
+                                                "postgres",
                                                 "systemd-timesyncd",
                                                 "pmg-hourly",
-                                                "pmg-daily"
+                                                "pmg-daily",
+                                                "pmgspamreport"
                                              ],
                                              "type" : "string"
                                           }
@@ -6946,12 +7233,16 @@ var pmgapi = [
                                           "pmgdaemon",
                                           "pmgpolicy",
                                           "pmg-smtp-filter",
-                                          "sshd",
-                                          "syslog",
+                                          "pmgtunnel",
+                                          "pmgmirror",
+                                          "ssh",
+                                          "rsyslog",
                                           "postfix",
+                                          "postgres",
                                           "systemd-timesyncd",
                                           "pmg-hourly",
-                                          "pmg-daily"
+                                          "pmg-daily",
+                                          "pmgspamreport"
                                        ],
                                        "type" : "string"
                                     }
@@ -7091,6 +7382,13 @@ var pmgapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "service" : {
+                                 "description" : "Service ID",
+                                 "maxLength" : 128,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "since" : {
                                  "description" : "Display all log since this date-time string.",
                                  "optional" : 1,
@@ -7393,33 +7691,78 @@ var pmgapi = [
                   "leaf" : 1,
                   "path" : "/nodes/{node}/time",
                   "text" : "time"
-               }
-            ],
-            "info" : {
-               "GET" : {
-                  "description" : "Node index.",
-                  "method" : "GET",
-                  "name" : "index",
-                  "parameters" : {
-                     "additionalProperties" : 0,
-                     "properties" : {
-                        "node" : {
-                           "description" : "The cluster node name.",
-                           "format" : "pve-node",
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        }
-                     }
-                  },
-                  "permissions" : {
-                     "user" : "all"
-                  },
-                  "returns" : {
-                     "items" : {
-                        "properties" : {},
-                        "type" : "object"
-                     },
-                     "links" : [
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Read server status. This is used by the cluster manager to test the node health.",
+                        "method" : "GET",
+                        "name" : "status",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "additionalProperties" : 1,
+                           "properties" : {
+                              "insync" : {
+                                 "description" : "Database is synced with other nodes.",
+                                 "type" : "boolean"
+                              },
+                              "time" : {
+                                 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
+                                 "minimum" : 1297163644,
+                                 "type" : "integer"
+                              },
+                              "uptime" : {
+                                 "description" : "The uptime of the system in seconds.",
+                                 "minimum" : 0,
+                                 "type" : "integer"
+                              }
+                           },
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/status",
+                  "text" : "status"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "Node index.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "node" : {
+                           "description" : "The cluster node name.",
+                           "format" : "pve-node",
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {},
+                        "type" : "object"
+                     },
+                     "links" : [
                         {
                            "href" : "{name}",
                            "rel" : "child"
@@ -7928,6 +8271,576 @@ var pmgapi = [
       "path" : "/access",
       "text" : "access"
    },
+   {
+      "children" : [
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "DELETE" : {
+                        "description" : "Delete user whitelist entries.",
+                        "method" : "DELETE",
+                        "name" : "whitelist_delete",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "address" : {
+                                 "description" : "The address you want to remove.",
+                                 "maxLength" : 512,
+                                 "pattern" : "[a-zA-Z0-9\\+\\-\\_\\*\\.\\@]+",
+                                 "type" : "string"
+                              },
+                              "pmail" : {
+                                 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                                 "format" : "email",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "qmanager",
+                              "audit",
+                              "quser"
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/quarantine/whitelist/{address}",
+                  "text" : "{address}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "Show user whitelist.",
+                  "method" : "GET",
+                  "name" : "whitelist",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "pmail" : {
+                           "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                           "format" : "email",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "address" : {
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "type" : "array"
+                  }
+               },
+               "POST" : {
+                  "description" : "Add user whitelist entries.",
+                  "method" : "POST",
+                  "name" : "whitelist_add",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "address" : {
+                           "description" : "The address you want to add.",
+                           "maxLength" : 512,
+                           "pattern" : "[a-zA-Z0-9\\+\\-\\_\\*\\.\\@]+",
+                           "type" : "string"
+                        },
+                        "pmail" : {
+                           "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                           "format" : "email",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/quarantine/whitelist",
+            "text" : "whitelist"
+         },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "DELETE" : {
+                        "description" : "Delete user blacklist entries.",
+                        "method" : "DELETE",
+                        "name" : "blacklist_delete",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "address" : {
+                                 "description" : "The address you want to remove.",
+                                 "maxLength" : 512,
+                                 "pattern" : "[a-zA-Z0-9\\+\\-\\_\\*\\.\\@]+",
+                                 "type" : "string"
+                              },
+                              "pmail" : {
+                                 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                                 "format" : "email",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "qmanager",
+                              "audit",
+                              "quser"
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/quarantine/blacklist/{address}",
+                  "text" : "{address}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "Show user blacklist.",
+                  "method" : "GET",
+                  "name" : "blacklist",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "pmail" : {
+                           "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                           "format" : "email",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "address" : {
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "type" : "array"
+                  }
+               },
+               "POST" : {
+                  "description" : "Add user blacklist entries.",
+                  "method" : "POST",
+                  "name" : "blacklist_add",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "address" : {
+                           "description" : "The address you want to add.",
+                           "maxLength" : 512,
+                           "pattern" : "[a-zA-Z0-9\\+\\-\\_\\*\\.\\@]+",
+                           "type" : "string"
+                        },
+                        "pmail" : {
+                           "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                           "format" : "email",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/quarantine/blacklist",
+            "text" : "blacklist"
+         },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Show spam mails distribution (per day).",
+                        "method" : "GET",
+                        "name" : "spamlist",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "endtime" : {
+                                 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
+                              },
+                              "pmail" : {
+                                 "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                                 "format" : "email",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "starttime" : {
+                                 "description" : "Only consider entries newer than 'starttime' (unix epoch).",
+                                 "minimum" : 0,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "admin",
+                              "qmanager",
+                              "audit",
+                              "quser"
+                           ]
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "bytes" : {
+                                    "description" : "Size of raw email.",
+                                    "type" : "integer"
+                                 },
+                                 "envelope_sender" : {
+                                    "description" : "SMTP envelope sender.",
+                                    "type" : "string"
+                                 },
+                                 "from" : {
+                                    "description" : "Header 'From' field.",
+                                    "type" : "string"
+                                 },
+                                 "id" : {
+                                    "description" : "Unique ID",
+                                    "type" : "string"
+                                 },
+                                 "receiver" : {
+                                    "description" : "Receiver email address",
+                                    "type" : "string"
+                                 },
+                                 "sender" : {
+                                    "description" : "Header 'Sender' field.",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "spamlevel" : {
+                                    "description" : "Spam score.",
+                                    "type" : "number"
+                                 },
+                                 "subject" : {
+                                    "description" : "Header 'Subject' field.",
+                                    "type" : "string"
+                                 },
+                                 "time" : {
+                                    "description" : "Receive time stamp",
+                                    "type" : "integer"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/quarantine/spam/{starttime}",
+                  "text" : "{starttime}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "Show spam mails distribution (per day).",
+                  "method" : "GET",
+                  "name" : "spam",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "endtime" : {
+                           "description" : "Only consider entries older than 'endtime' (unix epoch).",
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
+                        },
+                        "pmail" : {
+                           "description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
+                           "format" : "email",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "starttime" : {
+                           "description" : "Only consider entries newer than 'startime' (unix epoch).",
+                           "minimum" : 0,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - N)"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "count" : {
+                              "description" : "Number of quarantine entries.",
+                              "type" : "integer"
+                           },
+                           "day" : {
+                              "description" : "Day (as unix epoch).",
+                              "type" : "integer"
+                           },
+                           "spamavg" : {
+                              "description" : "Average spam level.",
+                              "type" : "number"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{day}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/quarantine/spam",
+            "text" : "spam"
+         },
+         {
+            "info" : {
+               "GET" : {
+                  "description" : "Get email data. There is a special formatter called 'htmlmail' to get sanitized html view of the mail content (use the '/api2/htmlmail/quarantine/content' url).",
+                  "method" : "GET",
+                  "name" : "content",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "id" : {
+                           "description" : "Unique ID",
+                           "maxLength" : 40,
+                           "pattern" : "C\\d+R\\d+",
+                           "type" : "string"
+                        },
+                        "raw" : {
+                           "default" : 0,
+                           "description" : "Display 'raw' eml data. This is only used with the 'htmlmail' formatter.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "audit",
+                        "quser"
+                     ]
+                  },
+                  "returns" : {
+                     "properties" : {
+                        "bytes" : {
+                           "description" : "Size of raw email.",
+                           "type" : "integer"
+                        },
+                        "content" : {
+                           "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The  'htmlmail' formatter displays the whole email.",
+                           "type" : "string"
+                        },
+                        "envelope_sender" : {
+                           "description" : "SMTP envelope sender.",
+                           "type" : "string"
+                        },
+                        "from" : {
+                           "description" : "Header 'From' field.",
+                           "type" : "string"
+                        },
+                        "header" : {
+                           "description" : "Raw email header data.",
+                           "type" : "string"
+                        },
+                        "id" : {
+                           "description" : "Unique ID",
+                           "type" : "string"
+                        },
+                        "receiver" : {
+                           "description" : "Receiver email address",
+                           "type" : "string"
+                        },
+                        "sender" : {
+                           "description" : "Header 'Sender' field.",
+                           "optional" : 1,
+                           "type" : "string"
+                        },
+                        "spaminfo" : {
+                           "description" : "Information about matched spam tests (name, score, desc, url).",
+                           "type" : "array"
+                        },
+                        "spamlevel" : {
+                           "description" : "Spam score.",
+                           "type" : "number"
+                        },
+                        "subject" : {
+                           "description" : "Header 'Subject' field.",
+                           "type" : "string"
+                        },
+                        "time" : {
+                           "description" : "Receive time stamp",
+                           "type" : "integer"
+                        }
+                     },
+                     "type" : "object"
+                  }
+               },
+               "POST" : {
+                  "description" : "Execute quarantine actions.",
+                  "method" : "POST",
+                  "name" : "action",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "action" : {
+                           "description" : "Action - specify what you want to do with the mail.",
+                           "enum" : [
+                              "whitelist",
+                              "blacklist",
+                              "deliver",
+                              "delete"
+                           ],
+                           "type" : "string"
+                        },
+                        "id" : {
+                           "description" : "Unique ID",
+                           "maxLength" : 40,
+                           "pattern" : "C\\d+R\\d+",
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "admin",
+                        "qmanager",
+                        "quser"
+                     ]
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/quarantine/content",
+            "text" : "content"
+         }
+      ],
+      "info" : {
+         "GET" : {
+            "description" : "Directory index.",
+            "method" : "GET",
+            "name" : "index",
+            "parameters" : {
+               "additionalProperties" : 0
+            },
+            "permissions" : {
+               "user" : "all"
+            },
+            "returns" : {
+               "items" : {
+                  "properties" : {},
+                  "type" : "object"
+               },
+               "links" : [
+                  {
+                     "href" : "{name}",
+                     "rel" : "child"
+                  }
+               ],
+               "type" : "array"
+            }
+         }
+      },
+      "leaf" : 0,
+      "path" : "/quarantine",
+      "text" : "quarantine"
+   },
    {
       "info" : {
          "GET" : {
index e257c5ef78fd8dafc42e01fe68de67f99ec2ca96..579816e937cf4fba3344d2edfe8ecea1e6923e5e 100644 (file)
@@ -2,7 +2,11 @@
 
 Cluster Node ID.
 
-`hostrsapubkey`: `<string>` ::
+`fingerprint`: `^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$` ::
+
+SSL certificate fingerprint.
+
+`hostrsapubkey`: `^[A-Za-z0-9\.\/\+]{200,}$` ::
 
 Public SSH RSA key for the host.
 
@@ -18,7 +22,7 @@ Maximum used cluster node ID (used internally, do not modify).
 
 Node name.
 
-`rootrsapubkey`: `<string>` ::
+`rootrsapubkey`: `^[A-Za-z0-9\.\/\+]{200,}$` ::
 
 Public SSH RSA key for the root user.
 
index 681abab8b35d89f334406c72aaf35847d40c4e80..b871d4fe50043e54fc5f2d5b690823e1233c1028 100644 (file)
@@ -77,6 +77,10 @@ include::pmgsh.adoc[]
 
 include::pmgperf.adoc[]
 
+include::pmgqm.adoc[]
+
+include::pmgreport.adoc[]
+
 :leveloffset: 0
 
 
index 236654864dc7ad596fad3a462bb0d148fd443961..baa18f0c689b8ab10ceef10da1e9a7dc79c01968 100644 (file)
@@ -276,7 +276,7 @@ Quarantine life time (days)
 
 Text for 'From' header in daily spam report mails.
 
-`reportstyle`: `<custom | none | outlook | short | verbose>` ('default =' `verbose`)::
+`reportstyle`: `<custom | none | short | verbose>` ('default =' `verbose`)::
 
 Spam report style.
 
index d53aeae0b7a0cde7ff22c02246aa7d0283d0135a..bce66a8b6e6d479bf386b94361c2026b20e264ca 100644 (file)
@@ -42,6 +42,14 @@ Reset and update statistic database.
 
 
 
+
+*pmgdb reset*
+
+Reset PMG rule database back to factory defaults.
+
+
+
+
 *pmgdb update*
 
 Update the PMG statistic database.
index 43bcc2f17aff78e7bb07abb769e8d68ee2287445..80ecfca841d9d86b287f825a39fcce14cfeb4002 100644 (file)
@@ -6,5 +6,5 @@ Proxmox benchmark.
 
 `<path>`: `<string>` ('default =' `/`)::
 
-File system localtion to test.
+File system location to test.
 
diff --git a/pmgreport.adoc b/pmgreport.adoc
new file mode 100644 (file)
index 0000000..dbad6db
--- /dev/null
@@ -0,0 +1,33 @@
+[[chapter_pmgreport]]
+ifdef::manvolnum[]
+pmgreport(1)
+============
+:pmg-toplevel:
+
+NAME
+----
+
+pmgreport - Send daily system report email.
+
+
+SYNOPSIS
+--------
+
+include::pmgreport.1-synopsis.adoc[]
+
+
+DESCRIPTION
+-----------
+endif::manvolnum[]
+ifndef::manvolnum[]
+Send daily system report email
+==============================
+:pmg-toplevel:
+endif::manvolnum[]
+
+This binary generates and send daily system report email.
+
+ifdef::manvolnum[]
+include::pmg-copyright.adoc[]
+endif::manvolnum[]
+