rougail-tutorials/README.md

19 KiB

Table of Contents

Summary

Description

Firefox Proxy setting

Family in "shorthand" mode

The sub family is now in "shorthand" mode. In this mode we can only define "name" and "description" attributes.

Inside the sub family we add two variables (with domainname and port types).

Structure

firefox/00-proxy.yml

---
proxy_mode:
  description: Configure Proxy Access to the Internet
  choices:
    - No proxy
    - Auto-detect proxy settings for this network
    - Use system proxy settings
    - Manual proxy configuration
    - Automatic proxy configuration URL
  default: No proxy

firefox/10-manual.yml

---
manual:
  description: Manual proxy configuration
  type: family
  disabled:
    variable: proxy_mode
    when_not: 'Manual proxy configuration'

  http_proxy:
    description: HTTP Proxy
    type: family

    address:
      description: HTTP address
      type: domainname
      params:
        allow_ip: true

Generated documentation

foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github

Variables

Variable                                                                                                    Description                                                                                                
proxy_mode
choice standard 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

basic disabled

Disabled: proxy_mode.

HTTP Proxy

basic

Variable                                                                                                    Description                                                                                                
manual.http_proxy.address
domainname basic mandatory
HTTP address.
Validator: the domain name can be an IP

User data

Example 1

config/01/config.yaml

---

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/01/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: No proxy

Example 2

config/02/config.yaml

---
proxy_mode: Manual proxy configuration

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/02/config.yaml
🛑 ERRORS
┣━━ The following variables are mandatory but have no value:
┗━━   - manual.http_proxy.address (HTTP address)

Example 3

config/03/config.yaml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: example.net

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/03/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┗━━ 📓 address: example.net

Output in read write mode

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/03/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┗━━ 📓 address: example.net

Example 4

config/04/config.yaml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: example.net
    port: '3128'

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/04/config.yaml
🛑 ERRORS
┗━━ unknown option "port" in optiondescription "manual.http_proxy (HTTP Proxy)"
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┗━━ 📓 address: example.net

Example 5

config/05/config.yaml

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

Description

If "use_for_https" is false, HTTPS variables are visible in read only mode and in read write mode.

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/05/config.yaml
🛑 ERRORS
┣━━ unknown option "port" in optiondescription "manual.http_proxy (HTTP Proxy)"
┣━━ unknown option "use_for_https" in optiondescription "manual (Manual proxy configuration)"
┗━━ unknown option "https_proxy" in optiondescription "manual (Manual proxy configuration)"
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┗━━ 📓 address: http.proxy.net