Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] docs/site-example: add minimal domain config #1261

Closed
wants to merge 2 commits into from

Conversation

kb-light
Copy link
Contributor

depends on #1216

@rotanid rotanid added the 3. topic: docs Topic: Documentation label Nov 12, 2017
@kb-light kb-light changed the title docs/site-example: add minimal domain config [RFC] docs/site-example: add minimal domain config Nov 12, 2017
-- Take a look at the documentation located at
-- http://gluon.readthedocs.org/ for details.
--
-- This configuration will not work as it. You're required to make
Copy link
Member

@christf christf Nov 14, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... will not work as is... there is a typo in there.

How about: This is not a complete working example. You are required to make community-specific changes to it to make it work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is copied from the current site.conf example, if there is a typo, we should fix that in the current example and I will update this PR accordingly.

Copy link
Contributor

@mweinelt mweinelt Nov 15, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as is

is the correct ending to that sentence. Why not update it in this PR, it's just a typo.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i fixed it in the current example now, so you can change it in your PR, too.

@mweinelt
Copy link
Contributor

mweinelt commented Nov 15, 2017

As nodes expose both a site_code and a domain_code the filename ffxx-def sounds like site ffxx and domain def, while the domain_code should probably be just defor default.

@neocturne
Copy link
Member

This will need to be updated with the changes mentioned in #1216 (comment) ; in addition the the example, the list of supported site config options must be extended with information which options are valid in what config files.

A more high-level explanation of the multi-domain feature would also be nice.

@neocturne
Copy link
Member

@mweinelt I think for single-domain setups, making the site code and domain code equal makes sense. The pretty name of the domain will be displayed on the status page, so it's preferable not to use something like "Default" there.

@lemoer
Copy link
Member

lemoer commented Jan 19, 2018

allowed in both site and domain config

  • autoupdater.branches
  • autoupdater.branches.*.mirrors
  • wifi*
  • wifi*.channel
  • wifi*.basic_rate
  • wifi*.ap
  • wifi*.ap.disabled
  • wifi*.ibss
  • wifi*.ibss.mcast_rate
  • wifi*.ibss.vlan
  • wifi*.ibss.disabled
  • wifi*.mesh
  • wifi*.mcast_rate
  • wifi*.disabled
  • opkg
  • opkg.lede
  • opkg.extra
  • opkg.extra.*
  • ntp_servers
  • dns
  • dns.cacheentries
  • dns.servers
  • nextnode
  • mesh
  • mesh.batman_adv
  • mesh.batman_adv.gw_sel
  • mesh.batman_adv.routing_algo
  • mesh_vpn.enabled
  • mesh_vpn.mtu
  • mesh_vpn.fastd.methods
  • mesh_vpn.fastd.groups
  • mesh_vpn.fastd.groups.*.limit
  • mesh_vpn.fastd.groups.*.groups
  • mesh_vpn.fastd.groups.*.peers
  • mesh_vpn.fastd.groups.*.peers.remotes
  • mesh_vpn.tunneldigger.brokers

allowed in site only

  • authorized_keys
  • autoupdater.branch
  • autoupdater.branches.*.name
  • autoupdater.branches.*.good_signatures
  • autoupdater.branches.*.pubkeys
  • config_mode
  • config_mode.owner
  • config_mode.owner.obligatory
  • config_mode.remote_login
  • config_mode.geo_location
  • config_mode.geo_location.show_altitude
  • config_mode.remote_login.show_password_form
  • config_mode.remote_login.min_password_length
  • site_code
  • site_name
  • site_seed
  • hostname_prefix
  • timezone
  • regdom
  • wifi*.ibss.supported_basic_rates
  • poe_passthrough
  • wifi*.mesh.supported_basic_rates
  • mesh_on_wan
  • mesh_on_lan
  • single_as_lan
  • mesh_vpn.fastd.configurable
  • mesh_vpn.fastd.syslog_level
  • roles.default
  • roles.list
  • setup_mode.skip
  • mesh_vpn.bandwidth_limit (only applied at first boot)
  • mesh_vpn.bandwidth_limit.enabled
  • mesh_vpn.bandwidth_limit.ingress
  • mesh_vpn.bandwidth_limit.egress

allowed in domain only

  • next_node.mac
  • next_node.ip4
  • next_node.ip6
  • prefix4
  • prefix6
  • wifi*.ap.ssid (clients could roam between domains otherwise)
  • wifi*.ibss.ssid
  • wifi*.ibss.bssid
  • wifi*.mesh.id
  • extra_prefixes6
  • mesh_vpn.fastd.groups.*.peers.key (an attacker with control over the packet flow could make nodes connect to the wrong instance)

@lemoer
Copy link
Member

lemoer commented Jan 19, 2018

Here is the updated list of allowed places for config options. I'm not sure, how we should add them to the documentation? As a tags "domain config", "site config" per section in the explanation in the "site configuration" page? As the documentation is splitted into sections e.g. mesh_vpn, we cant simply add tags to the whole section, because mesh_vpn.fastd.groups.*.peers.key is allowed in domain only and mesh_vpn.fastd.groups.*.peers is allowed in both site and domain config.

@kb-light
Copy link
Contributor Author

@lemoer some updates for your list according to current gluon master:
allowed in both site and domain config:
- wifi*.mcast_rate
+ wifi*.mesh.mcast_rate
- mesh_vpn.enabled
- mesh_vpn.fastd.groups.*.peers.remotes

allowed in site only:
- site_seed
+ mesh_vpn.enabled

allowed in domain only:
+ domain_name
+ domain_seed
+ mesh_vpn.fastd.groups.*.peers.remotes

@neocturne
Copy link
Member

docs/user/site.rst will need to be updated with

  • An explanatory text at the top
  • An annotation "site only"/"domain only" in the list of options (or in the text, if restrictions apply only to individual options)

I would like to rename the example domain from "def"/"Default Domain" to "ffxx"/"Freifunk Alpha Centauri" (make domain code and domain name match site code and site name). As we want to extend the status page with a "domain name" field, it should display a proper domain name and not "Default Domain" even in single-domain setups. Recommending to make the domain match the site makes sense for such setups in my opinion.

An alternative would be to allow disabling domain support in site.mk - while I originally liked the idea of always enabling domains to keep the code simple, I'm less convinced now. And as we already merge site and domain whereever we use them, only small parts of the code would need to be adjusted.

Opinions?

@neocturne
Copy link
Member

Multidomain support is merged now. It is disabled by default and can be enabled by setting GLUON_MULTIDOMAIN=1 in site.mk.

@rotanid rotanid added this to the 2018.1 milestone Feb 3, 2018
@rotanid rotanid added the 1. severity: blocker This issue/pr is required for the next release label Feb 15, 2018
@rotanid rotanid added the 2. status: merge conflict The merge has a conflict and needs rebasing label Mar 9, 2018
@rotanid
Copy link
Member

rotanid commented Mar 16, 2018

a little reminder that this is one of the few release blockers
relevant section in the protocol of our last meeting:
https://github.com/freifunk-gluon/gluon/wiki/Meeting-2018-01#41-domain-documentation-1261

@lemoer
Copy link
Member

lemoer commented Mar 16, 2018

Thanks for the reminder. I'll try to do this in today's evening.

@lemoer
Copy link
Member

lemoer commented Mar 16, 2018

Here is my first draft: https://md.darmstadt.ccc.de/gluon-multidomain_doc

Please feel free to improve it, since it's very raw for now.

@neocturne
Copy link
Member

This PR is superseded by #1365. If anything is missing from that PR, please contribute there or help with the review.

@neocturne neocturne closed this May 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. severity: blocker This issue/pr is required for the next release 2. status: merge conflict The merge has a conflict and needs rebasing 3. topic: docs Topic: Documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants