34 lines
612 B
Python
34 lines
612 B
Python
|
from bundlewrap.metadata import atomic
|
||
|
|
||
|
|
||
|
defaults = {
|
||
|
'apt': {
|
||
|
'packages': {
|
||
|
'mosquitto': {},
|
||
|
'mosquitto-clients': {},
|
||
|
},
|
||
|
},
|
||
|
'mosquitto': {
|
||
|
'listeners': {
|
||
|
'1883': {},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
|
||
|
@metadata_reactor.provides(
|
||
|
'iptables/port_rules',
|
||
|
)
|
||
|
def iptables(metadata):
|
||
|
sources = metadata.get('mosquitto/restrict-to', {'*'})
|
||
|
result = {}
|
||
|
|
||
|
for listener in metadata.get('mosquitto/listeners').keys():
|
||
|
result[listener] = atomic(sources)
|
||
|
|
||
|
return {
|
||
|
'iptables': {
|
||
|
'port_rules': result,
|
||
|
},
|
||
|
}
|