18 KiB
- Summary
- [tutorial v1.1_100] A conditional disabled variable with type domainname and parameters (diff)
[tutorial v1.1_101] A variable with multiple value
Read the tutorial "A variable with multiple value" in the documentation
Screenshot
Clone and install
To test this tutorial, you need to download this repository and install Rougail:
git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml
Then switch to the tutorial page:
git switch --detach v1.1_101
Structure
.
├── firefox
│ ├── 00-proxy.yml
│ ├── 10-manual.yml
│ ├── 20-manual.yml
│ ├── 30-auto.yml
│ └── 40-no_proxy.yml
└── types
└── proxy
└── 00_type.yml
Contents of the firefox/40-no_proxy.yml file
%YAML 1.2
---
version: 1.1
no_proxy:
description: Address for which proxy will be desactivated
type: domainname
params:
allow_ip: true
allow_cidr_network: true
allow_without_dot: true
allow_startswith_dot: true
multi: true
disabled:
variable: _.proxy_mode
when: No proxy
...
Let's generate the documentation
rougail -m firefox/ --types types/proxy -o doc
| Variable | Description |
|---|---|
proxy_modechoice mandatory |
Configure Proxy Access to the Internet. Choices: • No proxy ← (default) • Auto-detect proxy settings for this network • Use system proxy settings • Manual proxy configuration • Automatic proxy configuration URL |
Manual proxy configuration
Note
Path: manual
disabled
Disabled: when the variable "Configure Proxy Access to the Internet" hasn't the value "Manual proxy configuration"
HTTP Proxy
Note
Path: manual.http_proxy
| Variable | Description |
|---|---|
manual.http_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP |
manual.http_proxy.portport mandatory |
Proxy port. Validators: • well-known ports (1 to 1023) are allowed • registred ports (1024 to 49151) are allowed • private ports (greater than 49152) are allowed Default: 8080 |
| Variable | Description |
|---|---|
manual.use_for_httpsboolean mandatory |
Also use this proxy for HTTPS. Default: true |
HTTPS Proxy
Note
Path: manual.https_proxy
hidden
Hidden: when the variable "Also use this proxy for HTTPS" has the value "true"
| Variable | Description |
|---|---|
manual.https_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP Default: the value of the variable "Proxy address" |
manual.https_proxy.portport mandatory |
Proxy port. Validators: • well-known ports (1 to 1023) are allowed • registred ports (1024 to 49151) are allowed • private ports (greater than 49152) are allowed Default: the value of the variable "Proxy port" |
SOCKS Proxy
Note
Path: manual.socks_proxy
| Variable | Description |
|---|---|
manual.socks_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP Default: the value of the variable "Proxy address" |
manual.socks_proxy.portport mandatory |
Proxy port. Validators: • well-known ports (1 to 1023) are allowed • registred ports (1024 to 49151) are allowed • private ports (greater than 49152) are allowed Default: the value of the variable "Proxy port" |
manual.socks_proxy.versionchoice mandatory |
SOCKS host version used by proxy. Choices: • v4 • v5 ← (default) |
| Variable | Description |
|---|---|
autoweb address mandatory disabled |
Automatic proxy configuration URL. Validators: • well-known ports (1 to 1023) are allowed • registred ports (1024 to 49151) are allowed • type domainname • the domain name can be a hostname Disabled: when the variable "Configure Proxy Access to the Internet" hasn't the value "Automatic proxy configuration URL" |
no_proxydomainname multiple mandatory disabled unique |
Address for which proxy will be desactivated. Validators: • type domainname • the domain name can starts by a dot • the domain name can be a hostname • the domain name can be an IP • the domain name can be network in CIDR format Disabled: when the variable "Configure Proxy Access to the Internet" has the value "No proxy" |
Let's generate the changelog
rougail -m firefox/ --types types/proxy -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml
Modified variable
| Variable | Description |
|---|---|
no_proxydomainname multiple mandatory disabled unique |
Address for which proxy will be desactivated. Validators: • type domainname • the domain name can starts by a dot • the domain name can be a hostname • the domain name can be an IP • the domain name can be network in CIDR format Disabled: when the variable "Configure Proxy Access to the Internet" has the value "No proxy" |
User datas
Example 1
config/01/config.yml
---
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/01/config.yml
Note
Caption:
- Variable
- Default value
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
Example 2
config/02/config.yml
---
proxy_mode: Automatic proxy configuration URL
auto: https://auto.proxy.net/wpad.dat
no_proxy:
- example.net
- 192.168.1.0/24
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/02/config.yml
Note
Caption:
- Variable
- Modified value
- (⏳ Original default value)
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): Automatic proxy configuration URL ← loaded from the YAML file "config/02/config.yml" (⏳ No proxy)
- 📓 auto (Automatic proxy configuration URL): https://auto.proxy.net/wpad.dat ← loaded from the YAML file "config/02/config.yml"
- 📓 no_proxy (Address for which proxy will be desactivated):
- example.net ← loaded from the YAML file "config/02/config.yml"
- 192.168.1.0/24 ← loaded from the YAML file "config/02/config.yml"
Example 3
config/03/config.yml
---
proxy_mode: Automatic proxy configuration URL
auto: https://auto.proxy.net/wpad.dat
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/03/config.yml
Caution
- no_proxy (Address for which proxy will be desactivated): 🛑 mandatory variable but has no value