From d6d4aafcd8a493c29d31f6760209aef9d2f610e2 Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Thu, 9 Sep 2021 18:12:30 +0300 Subject: [PATCH] Add validation doc (#937) * Add validation doc * Restructure * Cleanup --- docs/manual/indepth/validation.md | 82 +++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 docs/manual/indepth/validation.md diff --git a/docs/manual/indepth/validation.md b/docs/manual/indepth/validation.md new file mode 100644 index 00000000000..0833e4c5146 --- /dev/null +++ b/docs/manual/indepth/validation.md @@ -0,0 +1,82 @@ +# Validation + +Validation makes sure that your input is in the desired format, so the application can parse it without problems. +Below you can find more info about which fields have the mentioned validation and what formats are accepted. + +### All Apps +--- + +#### Resources and Devices + +__`CPU`__ +Accepted formats are: + +- Plain integer (eg. `1`) - This means 1 hyperthread +- Float (eg. `0.5`) - This means half hyperthread +- Milicpu (eg. `500m`) This means also half hyperthread + +Regex used to match those: `^([0-9]+)(\.[0-9]?|m?)$` +You can try live [here](https://regex101.com/r/pFoJTx/1) +More detailed info can be found [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) + +__`Memory RAM`__ +Accepted formats are: + +- Suffixed with E, P, T, G, M, K (eg. `5G`) - This means 5Gigabyte of RAM +- Suffixed with Ei, Pi, Ti, Gi, Mi, Ki (eg. `5Gi`) - This means 5Gibibyte of RAM +- Plain integer (eg. `134217728`) - This means 128Megabyte of RAM +- As an exponent format (eg. `134e6`) This means ~128Megabyte of RAM + +Regex uesd to match those: `^([0-9.]+)([EPTGMK]i?|[EPTGMK]?|e[0-9]+)$` +You can try live [here](https://regex101.com/r/TUkZhN/1) +More detailed info can be found [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) + + +### Per app validation + +--- + +#### Appdaemon + +__`LATITUDE`__ and __`LONGITUDE`__ +Accepted formats are: + +- Float (eg. `24.2028`) + +Regex used to match this: `^[0-9]{1,}\.{1}[0-9]{1,}$` +You can try live [here](https://regex101.com/r/xsLGWN/1) + + +#### Collabora + +__`Domain(s) using collabora`__ +Accepted formats are: + +- Single domain (eg. `cloud\.mydomain\.com`) - Each `.` has to be escaped with `\` +- Multiple domains (eg. `cloud\.mydomain\.com|nextcloud\.mydomain\.com`) - Each `.` has to be escaped with `\` and each domain is separated with `|` + +Regex used to match those: `^([a-z]{1,}\\{1}\.{1}[a-z]{1,}\\{1}\.{1}[a-z]{1,}\|{0,1})*$` +You can try live [here](https://regex101.com/r/LK02xa/1) + +__`Password for WebUI`__ +Accepted formats are: + +- Letters, Numbers, Symbols, Minimum 8 characters (eg. `dg523$*a`) - It accepts `a-z`, `A-Z`, `0-9` and `!@#$%^&*?` + +Regex used to match those: `[a-zA-Z0-9!@#$%^&*?]{8,}` +You can try live [here](https://regex101.com/r/ef3V88/1) + + +#### Fireflyiii + +__`APP_KEY`__ +Accepted formats are: + +- Letters, Numbers, Symbols, Exactly 32 characters (eg. `!oqVA9o2@br#$6vAyk8LLrDm54X5EtjD`) - It accepts `a-z`, `A-Z`, `0-9` and `!@#$%^&*?` + +You can try live [here](https://regex101.com/r/OR879w/1) +Regex used to match this: `[a-zA-Z0-9!@#$%^&*?]{32}` + +--- + +_If you find a field that you think it needs validation, please open an issue on github_ \ No newline at end of file