diff options
Diffstat (limited to 'aconf/modules')
-rw-r--r-- | aconf/modules/dns-zone.lua | 4 | ||||
-rw-r--r-- | aconf/modules/dnsmasq.lua | 18 | ||||
-rw-r--r-- | aconf/modules/network.lua | 41 | ||||
-rw-r--r-- | aconf/modules/openssh.lua | 7 |
4 files changed, 47 insertions, 23 deletions
diff --git a/aconf/modules/dns-zone.lua b/aconf/modules/dns-zone.lua index f01c395..f0bd3e1 100644 --- a/aconf/modules/dns-zone.lua +++ b/aconf/modules/dns-zone.lua @@ -68,7 +68,9 @@ M.register( M.Collection{ type=M.Collection{ type=M.List{ - type=M.Model{model=Record, addr='#/*/*'}, ui_member='Record' + type=M.Model{model=Record, addr='*/*'}, + be_mode=M.addr.special.enum_keys, + ui_member='Record' }, ui_member='' }, diff --git a/aconf/modules/dnsmasq.lua b/aconf/modules/dnsmasq.lua index 5fd831c..f46e4a0 100644 --- a/aconf/modules/dnsmasq.lua +++ b/aconf/modules/dnsmasq.lua @@ -8,7 +8,7 @@ local M = require('aconf.model') local filter_conf = '/etc/dnsmasq-filter.conf' local Address = M.new() -Address.address = M.net.IPAddress{addr='&'} +Address.address = M.net.IPAddress{be_mode=M.addr.special.value} Address.domain = M.String local Filter = M.new() @@ -34,15 +34,25 @@ Filter.redirect_address = M.net.IPAddress{ Filter.address = M.Model{model=Address, visible=false} Filter.whitelist = M.Set{ type=M.net.DomainName, - addr='server/@/\\#/domain/#', + addr='server/\\#/domain', ui_name='Domain whitelist', widget='inline' } local Dnsmasq = M.new() -Dnsmasq.filter = M.Model{model=Filter, addr='/augeas'..filter_conf} +Dnsmasq.filter = M.Model{ + model=Filter, + addr='/augeas'..filter_conf, + be_mode={ + server=M.addr.special.value_equals(), + ['server/\\#/domain']=M.addr.special.enum_keys + } +} Dnsmasq.conf_file = M.Set{ - type=M.String, addr='/augeas/etc/dnsmasq.conf/conf-file/#', visible=false + type=M.String, + addr='/augeas/etc/dnsmasq.conf/conf-file', + be_mode=M.addr.special.enum_keys, + visible=false } M.register('dnsmasq', Dnsmasq) diff --git a/aconf/modules/network.lua b/aconf/modules/network.lua index 17e0127..05d8576 100644 --- a/aconf/modules/network.lua +++ b/aconf/modules/network.lua @@ -13,7 +13,7 @@ Host.address = M.net.IPAddress{required=true, addr='ipaddr'} Host.canonical = M.String{required=true, ui_name='Canonical name'} Host.alias = M.Set{ type=M.String, - addr='alias/#', + be_mode=M.addr.special.enum_keys, ui_name='Aliases', ui_member='Alias', detail=false @@ -21,10 +21,16 @@ Host.alias = M.Set{ local Resolv = M.new() Resolv.servers = M.List{ - type=M.net.IPAddress, addr='nameserver/#', widget='inline' + type=M.net.IPAddress, + addr='nameserver', + be_mode=M.addr.special.enum_keys, + widget='inline' } Resolv.search_domains = M.List{ - type=M.String, addr='search/domain/#', widget='inline' + type=M.String, + addr='search/domain', + be_mode=M.addr.special.enum_keys, + widget='inline' } @@ -177,13 +183,13 @@ Interface.slaves = M.Set{ condition={type='bond'}, type=M.Reference{scope='../..', filter={status='detached'}}, required=true, - addr='@family/link/@method/none/bond-slaves' + addr='link/none/bond-slaves' } Interface.ports = M.Set{ condition={type='bridge'}, type=M.Reference{scope='../..', filter={status='detached'}}, required=true, - addr='@family/link/@method/none/bridge-ports' + addr='link/none/bridge-ports' } -- TODO do not allow VLAN creation for non-existent interfaces Interface.trunk = M.Reference{ @@ -195,7 +201,7 @@ Interface.trunk = M.Reference{ required=true, scope='..', filter={status={'detached', 'configured'}}, - addr='@family/link/@method/none/vlan-raw-device' + addr='link/none/vlan-raw-device' } -- TODO ensure that (trunk, tag) is unique Interface.vlan_tag = M.Integer{ @@ -204,7 +210,7 @@ Interface.vlan_tag = M.Integer{ required=true, min=0, max=4095, - addr='@family/link/@method/none/vlan-id', + addr='link/none/vlan-id', ui_name='VLAN tag' } @@ -212,7 +218,7 @@ Interface.ipv4 = M.Model{ model=IPv4, condition={status={'detached', 'configured'}}, create=true, - addr='@family/inet', + addr='inet', ui_name='IPv4 configuration', widget='inline' } @@ -220,7 +226,7 @@ Interface.ipv6 = M.Model{ model=IPv6, condition={status={'detached', 'configured'}}, create=true, - addr='@family/inet6', + addr='inet6', ui_name='IPv6 configuration', widget='inline' } @@ -247,15 +253,20 @@ Net.resolver = M.Model{ } Net.enabled_ifaces = M.Set{ - type=M.Reference{ - scope='../interfaces', - addr=iface_aug_addr..'/auto/#/*/*', - on_delete='set-null' - }, + type=M.Reference{scope='../interfaces', addr='*/*', on_delete='set-null'}, + addr=iface_aug_addr..'/auto', + be_mode=M.addr.special.enum_keys, visible=false } Net.interfaces = M.Collection{ - type=Interface, addr=iface_aug_addr..'/iface/@', widget='inline' + type=Interface, + addr=iface_aug_addr..'/iface', + be_mode={ + ['.']=M.addr.special.value_equals(), + ['*']=M.addr.special.value_equals('family'), + ['*/link']=M.addr.special.value_equals('method') + }, + widget='inline' } M.register('net', Net, {ui_name='Network'}) diff --git a/aconf/modules/openssh.lua b/aconf/modules/openssh.lua index 3b37759..4592c71 100644 --- a/aconf/modules/openssh.lua +++ b/aconf/modules/openssh.lua @@ -1,6 +1,6 @@ --[[ Copyright (c) 2013 Natanael Copa <ncopa@alpinelinux.org> -Copyright (c) 2013-2014 Kaarle Ritvanen +Copyright (c) 2013-2015 Kaarle Ritvanen See LICENSE file for license details --]] @@ -17,7 +17,7 @@ SshKey.type = M.String{ {'ssh-rsa', 'ssh-rsa'} } } -SshKey.key = M.String{addr='&'} +SshKey.key = M.String{be_mode=M.addr.special.value} SshKey.comment = M.String local Sshd = M.service('sshd') @@ -35,7 +35,8 @@ Sshd.agent_forward = M.Boolean{ } Sshd.root_auth_keys = M.List{ type=SshKey, - addr='/augeas/root/.ssh/authorized_keys/key/#', + addr='/augeas/root/.ssh/authorized_keys/key', + be_mode=M.addr.special.enum_keys, ui_name='Root login keys', ui_member='Key' } |