No description
Find a file
2026-04-18 08:43:24 +02:00
config/01 [tutorial v1.1_083] Redefine other parameter in custom type (config and doc) 2026-04-18 08:43:24 +02:00
firefox [tutorial v1.1_083] Redefine other parameter in custom type 2026-04-18 08:43:24 +02:00
types/proxy [tutorial v1.1_083] Redefine other parameter in custom type 2026-04-18 08:43:24 +02:00
CHANGELOG.md [tutorial v1.1_083] Redefine other parameter in custom type (config and doc) 2026-04-18 08:43:24 +02:00
firefox.png [tutorial v1.1_052] A hidden family (config and doc) 2026-04-18 08:42:41 +02:00
foxyproxy.png [init] Discover Rougail 2026-04-18 08:41:50 +02:00
install.txt [init] Discover Rougail 2026-04-18 08:41:50 +02:00
README.md [tutorial v1.1_083] Redefine other parameter in custom type (config and doc) 2026-04-18 08:43:24 +02:00
tree.html [tutorial v1.1_083] Redefine other parameter in custom type (config and doc) 2026-04-18 08:43:24 +02:00

[tutorial v1.1_083] Redefine other parameter in custom type

Read the tutorial "Redefine other parameter in custom type" in the documentation

Screenshot

Firefox Proxy setting

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_083

Structure

.
├── firefox
│   ├── 00-proxy.yml
│   ├── 10-manual.yml
│   └── 20-manual.yml
└── types
    └── proxy
        └── 00-type.yml


Contents of the firefox/20-manual.yml file

%YAML 1.2
---
version: 1.1

manual:

  use_for_https: true  # Also use this proxy for HTTPS

  https_proxy:
    description: HTTPS Proxy
    type: proxy
    hidden:
      variable: _.use_for_https

    address:
      redefine: true
      description: HTTPS proxy address

    port:
      redefine: true
      description: HTTPS proxy port

  socks_proxy:
    description: SOCKS Proxy
    type: proxy

    address:
      redefine: true
      description: SOCKS proxy address

    port:
      redefine: true
      description: SOCKS proxy port

    version:
      description: SOCKS host version used by proxy
      choices:
        - v4
        - v5
      default: v5
...


Let's generate the documentation

rougail -m firefox/ --types types/proxy -o doc
Variable Description
proxy_mode
choice 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.address
domainname mandatory
HTTP proxy address.
Validators:
• type domainname
• the domain name can be an IP
manual.http_proxy.port
port mandatory
HTTP 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_https
boolean 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.address
domainname mandatory
HTTPS proxy address.
Validators:
• type domainname
• the domain name can be an IP
Default: the value of the variable "HTTP proxy address".
manual.https_proxy.port
port mandatory
HTTPS 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 "HTTP proxy port".
SOCKS Proxy

Note

Path: manual.socks_proxy

Variable Description
manual.socks_proxy.address
domainname mandatory
SOCKS proxy address.
Validators:
• type domainname
• the domain name can be an IP
Default: the value of the variable "HTTP proxy address".
manual.socks_proxy.port
port mandatory
SOCKS 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 "HTTP proxy port".
manual.socks_proxy.version
choice mandatory
SOCKS host version used by proxy.
Choices:
• v4
• v5 ← (default)

Let's generate the changelog

rougail -m firefox/ --types types/proxy -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml

Changelog file***

User datas

Example 1

config/01/config.yml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: http.proxy.net
    port: 3128
  use_for_https: false
  https_proxy:
    address: https.proxy.net

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/01/config.yml

Note

Caption:

  • Variable
  • Default value
  • Modified value
  • ( Original default value)

Variables:

  • 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/01/config.yml" ( No proxy)
  • 📂 manual (Manual proxy configuration)
    • 📂 http_proxy (HTTP Proxy)
      • 📓 address (HTTP proxy address): http.proxy.net ← loaded from the YAML file "config/01/config.yml"
      • 📓 port (HTTP proxy port): 3128 ← loaded from the YAML file "config/01/config.yml" ( 8080)
    • 📓 use_for_https (Also use this proxy for HTTPS): false ← loaded from the YAML file "config/01/config.yml" ( true)
    • 📂 https_proxy (HTTPS Proxy)
      • 📓 address (HTTPS proxy address): https.proxy.net ← loaded from the YAML file "config/01/config.yml" ( http.proxy.net)
      • 📓 port (HTTPS proxy port): 3128
    • 📂 socks_proxy (SOCKS Proxy)
      • 📓 address (SOCKS proxy address): http.proxy.net
      • 📓 port (SOCKS proxy port): 3128
      • 📓 version (SOCKS host version used by proxy): v5