]> git.proxmox.com Git - proxmox-acme.git/blame - src/dns-challenge-schema.README
acme client: fix #3536 untaint data returned from acme server
[proxmox-acme.git] / src / dns-challenge-schema.README
CommitLineData
4195bf0a
TL
1Introduction
2------------
3
4Promxox projects (PVE, PMG, PBS) all support ACME with DNS challenges.
5As there are many DNS providers we re-use the plugins for the great [acme.sh]
6project.
7
8As a user interface needs to know which plugins there are supported we need to
9provide at least the list of known ones.
10But, we extend that and return a full JSON-Schema oriented Object Schema, so
11that any user-interface can use that to show UX hints and create the respective
12inputs for each plugin.
13
14Note, we do not define a full schema for all plugins, but accept patches for
15adding one. See the [developer-documentation] about how to do so.
16
17We use JSON as format as we need this schema in both, perl and rust based
18projects.
19
20Schema Example
21--------------
22
23A entry describing the data schema of a supported plugin could look like:
24
25```
26'dnsprovider' => {
27 name => 'Full name of Plugin',
28 fields => {
29 'FOO_API_KEY' => {
30 description => "The API key",
31 default => "none",
32 optional => 1,
33 type => 'string',
34 },
35 ...
36 },
37},
38```
39
40References
41----------
42
43[acme.sh]: https://acme.sh/
44[developer-documentation]: https://pve.proxmox.com/wiki/Developer_Documentation