mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2025-06-11 10:53:19 +02:00
adjust cross-build.sh, add debian stuff
This commit is contained in:
16
debian/fabaccess-bffh-src/etc/bffh/bffh.dhall
vendored
Normal file
16
debian/fabaccess-bffh-src/etc/bffh/bffh.dhall
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
spacename = "fabaccess.sample.space",
|
||||
instanceurl = "https://fabaccess.sample.space",
|
||||
listens = [{address = "127.0.0.1"}],
|
||||
certfile = "/etc/bffh/certs/bffh.crt",
|
||||
keyfile = "/etc/bffh/certs/bffh.key",
|
||||
mqtt_url = "mqtt://127.0.0.1:1883",
|
||||
db_path = "/var/lib/bffh/bffh.db",
|
||||
auditlog_path = "/var/log/bffh/audit.json",
|
||||
roles = {=},
|
||||
machines = {=},
|
||||
actors = {=},
|
||||
actor_connections = [] : List { machine : Text, initiator : Text },
|
||||
initiators = {=},
|
||||
init_connections = [] : List { machine : Text, initiator : Text }
|
||||
}
|
196
debian/fabaccess-bffh-src/etc/bffh/config_examples/generic-test-environment/bffh.dhall
vendored
Normal file
196
debian/fabaccess-bffh-src/etc/bffh/config_examples/generic-test-environment/bffh.dhall
vendored
Normal file
@ -0,0 +1,196 @@
|
||||
{ listens = [ { address = "::", port = 59661 } ]
|
||||
, certfile = "/etc/letsencrypt/cert.pem"
|
||||
, keyfile = "/etc/letsencrypt/key.pem"
|
||||
, mqtt_url = "tcp://mqtt:1883"
|
||||
, db_path = "/var/lib/bffh/db"
|
||||
, auditlog_path = "/tmp/bffh.audit"
|
||||
, spacename = "FabAccess Local Test"
|
||||
, instanceurl = "localtest.fab-access.org"
|
||||
, roles =
|
||||
{ Admin.permissions =
|
||||
[ "TestEnv.Admin"
|
||||
, "TestEnv.Manage.A"
|
||||
, "TestEnv.Manage.B"
|
||||
, "TestEnv.Manage.C"
|
||||
, "TestEnv.Write.A"
|
||||
, "TestEnv.Write.B"
|
||||
, "TestEnv.Write.C"
|
||||
, "TestEnv.Read.A"
|
||||
, "TestEnv.Read.B"
|
||||
, "TestEnv.Read.C"
|
||||
, "TestEnv.Disclose.A"
|
||||
, "TestEnv.Disclose.B"
|
||||
, "TestEnv.Disclose.C"
|
||||
]
|
||||
, ManageUsers.permissions =
|
||||
[ "bffh.users.info", "bffh.users.manage", "bffh.users.admin" ]
|
||||
, ManageA.permissions = [ "TestEnv.Manage.A" ]
|
||||
, ManageB.permissions = [ "TestEnv.Manage.B" ]
|
||||
, ManageC.permissions = [ "TestEnv.Manage.C" ]
|
||||
, UseA.permissions = [ "TestEnv.Write.A" ]
|
||||
, UseB.permissions = [ "TestEnv.Write.B" ]
|
||||
, UseC.permissions = [ "TestEnv.Write.C" ]
|
||||
, ReadA.permissions = [ "TestEnv.Read.A" ]
|
||||
, ReadB.permissions = [ "TestEnv.Read.B" ]
|
||||
, ReadC.permissions = [ "TestEnv.Read.C" ]
|
||||
, DiscloseA.permissions = [ "TestEnv.Disclose.A" ]
|
||||
, DiscloseB.permissions = [ "TestEnv.Disclose.B" ]
|
||||
, DiscloseC.permissions = [ "TestEnv.Disclose.C" ]
|
||||
}
|
||||
, machines =
|
||||
{ MachineA1 =
|
||||
{ name = "MachineA1"
|
||||
, description = "Description of MachineA1"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose.A"
|
||||
, read = "TestEnv.Read.A"
|
||||
, write = "TestEnv.Write.A"
|
||||
, manage = "TestEnv.Manage.A"
|
||||
}
|
||||
, MachineA2 =
|
||||
{ name = "MachineA2"
|
||||
, description = "Description of MachineA2"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose.A"
|
||||
, read = "TestEnv.Read.A"
|
||||
, write = "TestEnv.Write.A"
|
||||
, manage = "TestEnv.Manage.A"
|
||||
}
|
||||
, MachineA3 =
|
||||
{ name = "MachineA3"
|
||||
, description = "Description of MachineA3"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose.A"
|
||||
, read = "TestEnv.Read.A"
|
||||
, write = "TestEnv.Write.A"
|
||||
, manage = "TestEnv.Manage.A"
|
||||
}
|
||||
, MachineA4 =
|
||||
{ name = "MachineA4"
|
||||
, description = "Description of MachineA4"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose.A"
|
||||
, read = "TestEnv.Read.A"
|
||||
, write = "TestEnv.Write.A"
|
||||
, manage = "TestEnv.Manage.A"
|
||||
}
|
||||
, MachineA5 =
|
||||
{ name = "MachineA5"
|
||||
, description = "Description of MachineA5"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose.A"
|
||||
, read = "TestEnv.Read.A"
|
||||
, write = "TestEnv.Write.A"
|
||||
, manage = "TestEnv.Manage.A"
|
||||
}
|
||||
, MachineB1 =
|
||||
{ name = "MachineB1"
|
||||
, description = "Description of MachineB1"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose.B"
|
||||
, read = "TestEnv.Read.B"
|
||||
, write = "TestEnv.Write.B"
|
||||
, manage = "TestEnv.Manage.B"
|
||||
}
|
||||
, MachineB2 =
|
||||
{ name = "MachineB2"
|
||||
, description = "Description of MachineB2"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose.B"
|
||||
, read = "TestEnv.Read.B"
|
||||
, write = "TestEnv.Write.B"
|
||||
, manage = "TestEnv.Manage.B"
|
||||
}
|
||||
, MachineB3 =
|
||||
{ name = "MachineB3"
|
||||
, description = "Description of MachineB3"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose.B"
|
||||
, read = "TestEnv.Read.B"
|
||||
, write = "TestEnv.Write.B"
|
||||
, manage = "TestEnv.Manage.B"
|
||||
}
|
||||
, MachineB4 =
|
||||
{ name = "MachineB4"
|
||||
, description = "Description of MachineB4"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose.B"
|
||||
, read = "TestEnv.Read.B"
|
||||
, write = "TestEnv.Write.B"
|
||||
, manage = "TestEnv.Manage.B"
|
||||
}
|
||||
, MachineB5 =
|
||||
{ name = "MachineB5"
|
||||
, description = "Description of MachineB5"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose.B"
|
||||
, read = "TestEnv.Read.B"
|
||||
, write = "TestEnv.Write.B"
|
||||
, manage = "TestEnv.Manage.B"
|
||||
}
|
||||
, MachineC1 =
|
||||
{ name = "MachineC1"
|
||||
, description = "Description of MachineC1"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryC"
|
||||
, disclose = "TestEnv.Disclose.C"
|
||||
, read = "TestEnv.Read.C"
|
||||
, write = "TestEnv.Write.C"
|
||||
, manage = "TestEnv.Manage.C"
|
||||
}
|
||||
, MachineC2 =
|
||||
{ name = "MachineC2"
|
||||
, description = "Description of MachineC2"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryC"
|
||||
, disclose = "TestEnv.Disclose.C"
|
||||
, read = "TestEnv.Read.C"
|
||||
, write = "TestEnv.Write.C"
|
||||
, manage = "TestEnv.Manage.C"
|
||||
}
|
||||
, MachineC3 =
|
||||
{ name = "MachineC3"
|
||||
, description = "Description of MachineC3"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryC"
|
||||
, disclose = "TestEnv.Disclose.C"
|
||||
, read = "TestEnv.Read.C"
|
||||
, write = "TestEnv.Write.C"
|
||||
, manage = "TestEnv.Manage.C"
|
||||
}
|
||||
, MachineC4 =
|
||||
{ name = "MachineC4"
|
||||
, description = "Description of MachineC4"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryC"
|
||||
, disclose = "TestEnv.Disclose.C"
|
||||
, read = "TestEnv.Read.C"
|
||||
, write = "TestEnv.Write.C"
|
||||
, manage = "TestEnv.Manage.C"
|
||||
}
|
||||
, MachineC5 =
|
||||
{ name = "MachineC5"
|
||||
, description = "Description of MachineC5"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryC"
|
||||
, disclose = "TestEnv.Disclose.C"
|
||||
, read = "TestEnv.Read.C"
|
||||
, write = "TestEnv.Write.C"
|
||||
, manage = "TestEnv.Manage.C"
|
||||
}
|
||||
}
|
||||
, actors = {=}
|
||||
, actor_connections = [] : List { machine : Text, actor : Text }
|
||||
, initiators = {=}
|
||||
, init_connections = [] : List { machine : Text, initiator : Text }
|
||||
}
|
173
debian/fabaccess-bffh-src/etc/bffh/config_examples/generic-test-environment/users.toml
vendored
Normal file
173
debian/fabaccess-bffh-src/etc/bffh/config_examples/generic-test-environment/users.toml
vendored
Normal file
@ -0,0 +1,173 @@
|
||||
[Admin1]
|
||||
roles = ["Admin", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[Admin2]
|
||||
roles = ["Admin", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerA1]
|
||||
roles = ["ManageA", "UseA", "ReadA", "DiscloseA", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerA2]
|
||||
roles = ["ManageA", "UseA", "ReadA", "DiscloseA", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerB1]
|
||||
roles = ["ManageB", "UseB", "ReadB", "DiscloseB", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerB2]
|
||||
roles = ["ManageB", "UseB", "ReadB", "DiscloseB", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerC1]
|
||||
roles = ["ManageC", "UseC", "ReadC", "DiscloseC", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerC2]
|
||||
roles = ["ManageC", "UseC", "ReadC", "DiscloseC", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerABC1]
|
||||
roles = ["ManageA", "UseA", "ReadA", "DiscloseA", "ManageB", "UseB", "ReadB", "DiscloseB", "ManageC", "UseC", "ReadC", "DiscloseC", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[ManagerABC2]
|
||||
roles = ["ManageA", "UseA", "ReadA", "DiscloseA", "ManageB", "UseB", "ReadB", "DiscloseB", "ManageC", "UseC", "ReadC", "DiscloseC", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerA1]
|
||||
roles = ["UseA", "ReadA", "DiscloseA"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerA2]
|
||||
roles = ["UseA", "ReadA", "DiscloseA"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerB1]
|
||||
roles = ["UseB", "ReadB", "DiscloseB"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerB2]
|
||||
roles = ["UseB", "ReadB", "DiscloseB"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerC1]
|
||||
roles = ["UseC", "ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerC2]
|
||||
roles = ["UseC", "ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerABC1]
|
||||
roles = ["UseA", "ReadA", "DiscloseA", "UseB", "ReadB", "DiscloseB", "UseC", "ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerABC2]
|
||||
roles = ["UseA", "ReadA", "DiscloseA", "UseB", "ReadB", "DiscloseB", "UseC", "ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestA1]
|
||||
roles = ["ReadA", "DiscloseA"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestA2]
|
||||
roles = ["ReadA", "DiscloseA"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestB1]
|
||||
roles = ["ReadB", "DiscloseB"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestB2]
|
||||
roles = ["ReadB", "DiscloseB"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestC1]
|
||||
roles = ["ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestC2]
|
||||
roles = ["ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestABC1]
|
||||
roles = ["ReadA", "DiscloseA", "ReadB", "DiscloseB", "ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[GuestABC2]
|
||||
roles = ["ReadA", "DiscloseA", "ReadB", "DiscloseB", "ReadC", "DiscloseC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerQRA]
|
||||
roles = ["UseA", "ReadA"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerQRB]
|
||||
roles = ["UseB", "ReadB"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[MakerQRC]
|
||||
roles = ["UseC", "ReadC"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
824
debian/fabaccess-bffh-src/etc/bffh/config_examples/makerspace_bocholt/bffh.dhall
vendored
Normal file
824
debian/fabaccess-bffh-src/etc/bffh/config_examples/makerspace_bocholt/bffh.dhall
vendored
Normal file
@ -0,0 +1,824 @@
|
||||
{ listens =
|
||||
[ { address = "127.0.0.1", port = 59661 }
|
||||
, { address = "::1", port = 59661 }
|
||||
]
|
||||
, certfile = "examples/cert.pem"
|
||||
, keyfile = "examples/key.pem"
|
||||
, mqtt_url = "tcp://makerspace-bocholt.redacted:1883"
|
||||
, db_path = "/root/BFFH/bffh/target/release/bffh"
|
||||
, auditlog_path = "/root/BFFH/bffh/target/release/bffh.audit"
|
||||
, roles =
|
||||
{ doorrole.permissions =
|
||||
[ "doorrole.read"
|
||||
, "doorrole.write"
|
||||
, "doorrole.disclose"
|
||||
, "doorrole.manage"
|
||||
]
|
||||
, basis.permissions = [ "basis.read", "basis.write", "basis.disclose" ]
|
||||
, hobby =
|
||||
{ parents = [ "basis" ]
|
||||
, permissions = [ "hobby.read", "hobby.write", "hobby.disclose" ]
|
||||
}
|
||||
, profi =
|
||||
{ parents = [ "hobby" ]
|
||||
, permissions = [ "profi.read", "profi.write", "profi.disclose" ]
|
||||
}
|
||||
, laser.permissions =
|
||||
[ "lab.laser.read"
|
||||
, "lab.laser.write"
|
||||
, "lab.laser.disclose"
|
||||
, "lab.laser.manage"
|
||||
]
|
||||
, Drucker3D.permissions =
|
||||
[ "lab.3D.read", "lab.3D.write", "lab.3D.disclose", "lab.3D.manage" ]
|
||||
, Plasma.permissions =
|
||||
[ "lab.plasma.read"
|
||||
, "lab.plasma.write"
|
||||
, "lab.plasma.disclose"
|
||||
, "lab.plasma.manage"
|
||||
]
|
||||
, PlattenSaege.permissions =
|
||||
[ "lab.plattensaege.read"
|
||||
, "lab.plattensaege.write"
|
||||
, "lab.plattensaege.disclose"
|
||||
, "lab.plattensaege.manage"
|
||||
]
|
||||
, FormatSaege.permissions =
|
||||
[ "lab.formatsaege.read"
|
||||
, "lab.formatsaege.write"
|
||||
, "lab.formatsaege.disclose"
|
||||
, "lab.formatsaege.manage"
|
||||
]
|
||||
, DrehFraes.permissions =
|
||||
[ "lab.drehfraes.read"
|
||||
, "lab.drehfraes.write"
|
||||
, "lab.drehfraes.disclose"
|
||||
, "lab.drehfraes.manage"
|
||||
]
|
||||
, StickMaschine.permissions =
|
||||
[ "lab.stickmasch.read"
|
||||
, "lab.stickmasch.write"
|
||||
, "lab.stickmasch.disclose"
|
||||
, "lab.stickmasch.manage"
|
||||
]
|
||||
, Staenderbohrmaschine.permissions =
|
||||
[ "lab.staenderbohrmasch.read"
|
||||
, "lab.staenderbohrmasch.write"
|
||||
, "lab.staenderbohrmasch.disclose"
|
||||
, "lab.staenderbohrmasch.manage"
|
||||
]
|
||||
, Kantenschleifer.permissions =
|
||||
[ "lab.kantenschleifer.read"
|
||||
, "lab.kantenschleifer.write"
|
||||
, "lab.kantenschleifer.disclose"
|
||||
, "lab.kantenschleifer.manage"
|
||||
]
|
||||
, BandsaegeHolz.permissions =
|
||||
[ "lab.bandsaege.read"
|
||||
, "lab.bandsaege.write"
|
||||
, "lab.bandsaege.disclose"
|
||||
, "lab.bandsaege.manage"
|
||||
]
|
||||
, Drechselbank.permissions =
|
||||
[ "lab.drechseln.read"
|
||||
, "lab.drechseln.write"
|
||||
, "lab.drechseln.disclose"
|
||||
, "lab.drechseln.manage"
|
||||
]
|
||||
, Hobelmaschine.permissions =
|
||||
[ "lab.hobelmasch.read"
|
||||
, "lab.hobelmasch.write"
|
||||
, "lab.hobelmasch.disclose"
|
||||
, "lab.hobelmasch.manage"
|
||||
]
|
||||
, CNCmittel.permissions =
|
||||
[ "lab.cncmittel.read"
|
||||
, "lab.cncmittel.write"
|
||||
, "lab.cncmittel.disclose"
|
||||
, "lab.cncmittel.manage"
|
||||
]
|
||||
, CNCgross.permissions =
|
||||
[ "lab.cncgross.read"
|
||||
, "lab.cncgross.write"
|
||||
, "lab.cncgross.disclose"
|
||||
, "lab.cncgross.manage"
|
||||
]
|
||||
, Brennofen.permissions =
|
||||
[ "lab.brennofen.read"
|
||||
, "lab.brennofen.write"
|
||||
, "lab.brennofen.disclose"
|
||||
, "lab.brenofen.manage"
|
||||
]
|
||||
, crew =
|
||||
{ parents = [ "profi" ]
|
||||
, permissions =
|
||||
[ "crew.read", "crew.write", "crew.disclose", "crew.admin", "lab.*" ]
|
||||
}
|
||||
, admin =
|
||||
{ parents = [ "crew" ]
|
||||
, permissions =
|
||||
[ "admin.read"
|
||||
, "admin.write"
|
||||
, "admin.disclose"
|
||||
, "admin.admin"
|
||||
, "bffh.users.manage"
|
||||
, "bffh.users.admin"
|
||||
, "bffh.users.info"
|
||||
]
|
||||
}
|
||||
}
|
||||
, machines =
|
||||
{ Shelly-Blau =
|
||||
{ description = "A test machine"
|
||||
, disclose = "basis.disclose"
|
||||
, category = "test"
|
||||
, manage = "basis.read"
|
||||
, name = "Shelly Blau"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, JorisHilft =
|
||||
{ description = "Projektsupport"
|
||||
, disclose = "basis.disclose"
|
||||
, category = "Support"
|
||||
, manage = "basis.read"
|
||||
, name = "Joris hilft"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, TanjaHilft =
|
||||
{ description = "Projektsupport"
|
||||
, disclose = "basis.disclose"
|
||||
, category = "Support"
|
||||
, manage = "basis.read"
|
||||
, name = "Tanja hilft"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, Shelly-Rot =
|
||||
{ description = "A test machine"
|
||||
, disclose = "crew.disclose"
|
||||
, category = "test"
|
||||
, manage = "admin.admin"
|
||||
, name = "Shelly Rot"
|
||||
, read = "crew.read"
|
||||
, write = "crew.write"
|
||||
}
|
||||
, Willkommen =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "doorrole.manage"
|
||||
, name = "AUF schliessen"
|
||||
, read = "doorrole.read"
|
||||
, write = "doorrole.write"
|
||||
}
|
||||
, ResetTuer =
|
||||
{ description = "Setzt Tuersteuerung zurueck"
|
||||
, category = "Management"
|
||||
, disclose = "doorrole.disclose"
|
||||
, manage = "doorrole.manage"
|
||||
, name = "Reset Tuer"
|
||||
, read = "doorrole.read"
|
||||
, write = "doorrole.write"
|
||||
}
|
||||
, AufWiedersehen =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "doorrole.manage"
|
||||
, name = "ZU schliessen"
|
||||
, read = "doorrole.read"
|
||||
, write = "doorrole.write"
|
||||
}
|
||||
, LogIn =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Einloggen?"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, LogOut =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Ausloggen?"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, LichtOben =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Licht Oben"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, LichtHinten =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Licht Hinten"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, LichtLager =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Licht Lager"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, LeinwandDunkel =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Leinwand Dunkel"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, Kompressor =
|
||||
{ category = "Management"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Kompressor"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, SkyLaser9060 =
|
||||
{ category = "Fablab"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.laser.manage"
|
||||
, name = "SkyLaser9060"
|
||||
, read = "lab.laser.read"
|
||||
, write = "lab.laser.write"
|
||||
}
|
||||
, ElektronikBereich =
|
||||
{ disclose = "admin.disclose"
|
||||
, manage = "crew.write"
|
||||
, name = "Elektronik Bereich"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, StickMaschine =
|
||||
{ description = "Nutzung der Stickmaschine"
|
||||
, category = "Textilwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.stickmasch.manage"
|
||||
, name = "Stickmaschine"
|
||||
, read = "lab.stickmasch.read"
|
||||
, write = "lab.stickmasch.write"
|
||||
}
|
||||
, TextilSchrank =
|
||||
{ description = "Schranktuer zur Stickmaschine"
|
||||
, category = "Textilwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.stickmasch.manage"
|
||||
, name = "Tuer Textilschrank"
|
||||
, read = "lab.stickmasch.read"
|
||||
, write = "lab.stickmasch.write"
|
||||
}
|
||||
, Drucker-3D-Kampshoff =
|
||||
{ category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "3D Kapshoff"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-Mk3S =
|
||||
{ category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "3D Prusa Mk3S"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-RexII =
|
||||
{ category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "Bresser REX II"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-Bambu-P1P =
|
||||
{ description = "abweichende Druckkosten!"
|
||||
, category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "Bambu P1P"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-Bambu-A1 =
|
||||
{ description = "abweichende Druckkosten!"
|
||||
, category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "Bambu A1"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-Bambu-A1-AMS =
|
||||
{ description = "abweichende Druckkosten!"
|
||||
, category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "Bambu A1 AMS"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-Bambu-A1-mini =
|
||||
{ description = "abweichende Druckkosten!"
|
||||
, category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "Bambu A1 mini"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, Drucker-3D-Bambu-A1-mini-AMS =
|
||||
{ description = "abweichende Druckkosten!"
|
||||
, category = "3D Druck"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.3D.manage"
|
||||
, name = "Bambu A1 mini AMS"
|
||||
, read = "lab.3D.read"
|
||||
, write = "lab.3D.write"
|
||||
}
|
||||
, SandstrahlGross =
|
||||
{ category = "Metallwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Sandstrahlkabine Gross"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, Plasma =
|
||||
{ category = "Schweissen"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.plasma.manage"
|
||||
, name = "Plasma CNC"
|
||||
, read = "lab.plasma.read"
|
||||
, write = "lab.plasma.write"
|
||||
}
|
||||
, Schweissen3 =
|
||||
{ description = "Arbeitsplatz Stirnseite 380V"
|
||||
, category = "Schweissen"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Schweissen Platz 3"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, Schweissen1 =
|
||||
{ description = "Arbeitsplatz zum Gas 230V"
|
||||
, category = "Schweissen"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Schweissen Platz 1"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, Schweissen2 =
|
||||
{ description = "Arbeitsplatz hinten 230V/380V"
|
||||
, category = "Schweissen"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Schweissen Platz 2"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, Schweissgas =
|
||||
{ description = "Gasmagnetverntil Schweissgas"
|
||||
, category = "Schweissen"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "basis.write"
|
||||
, name = "Schweissgas"
|
||||
, read = "basis.read"
|
||||
, write = "basis.write"
|
||||
}
|
||||
, DrehFraes =
|
||||
{ category = "Metallwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.drehfraes.manage"
|
||||
, name = "Drehbank und Fraese"
|
||||
, read = "lab.drehfraes.read"
|
||||
, write = "lab.drehfraes.write"
|
||||
}
|
||||
, Staenderbohrmaschine =
|
||||
{ category = "Metallwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.staenderbohrmasch.manage"
|
||||
, name = "Staenderbohrmaschine"
|
||||
, read = "lab.staenderbohrmasch.read"
|
||||
, write = "lab.staenderbohrmasch.write"
|
||||
}
|
||||
, CNCmittel =
|
||||
{ category = "Metallwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.cncmittel.manage"
|
||||
, name = "Mittler CNC"
|
||||
, read = "lab.cncmittel.read"
|
||||
, write = "lab.cncmittel.write"
|
||||
}
|
||||
, PlattenSaege =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.plattensaege.manage"
|
||||
, name = "Plattensaege"
|
||||
, read = "lab.plattensaege.read"
|
||||
, write = "lab.plattensaege.write"
|
||||
}
|
||||
, FormatSaege =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.formatsaege.manage"
|
||||
, name = "Formatkreissaege"
|
||||
, read = "lab.formatsaege.read"
|
||||
, write = "lab.formatsaege.write"
|
||||
}
|
||||
, BandsaegeHolz =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.bandsaege.manage"
|
||||
, name = "Bandsaege Holz"
|
||||
, read = "lab.bandsaege.read"
|
||||
, write = "lab.bandsaege.write"
|
||||
}
|
||||
, Kantenschleifer =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.kantenschleifer.manage"
|
||||
, name = "Kantenschleifer"
|
||||
, read = "lab.kantenschleifer.read"
|
||||
, write = "lab.kantenschleifer.write"
|
||||
}
|
||||
, CNCgross =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.cncgross.manage"
|
||||
, name = "Grosse CNC Holz"
|
||||
, read = "lab.cncgross.read"
|
||||
, write = "lab.cncgross.write"
|
||||
}
|
||||
, Drechselbank =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.drechseln.manage"
|
||||
, name = "Grosse Drechselbank"
|
||||
, read = "lab.drechseln.read"
|
||||
, write = "lab.drechseln.write"
|
||||
}
|
||||
, Hobelmaschine =
|
||||
{ category = "Holzwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.hobelmasch.manage"
|
||||
, name = "Abricht- und Dickenhobel"
|
||||
, read = "lab.hobelmasch.read"
|
||||
, write = "lab.hobelmasch.write"
|
||||
}
|
||||
, Brennofen =
|
||||
{ category = "Kreativwerkstatt"
|
||||
, disclose = "admin.disclose"
|
||||
, manage = "lab.brennofen.manage"
|
||||
, name = "Brennofen"
|
||||
, read = "lab.brennofen.read"
|
||||
, write = "lab.brennofen.write"
|
||||
}
|
||||
}
|
||||
, actors =
|
||||
{ shelly1-REDACTEDID01 = { module = "Shelly", params = {=} }
|
||||
, shelly1pm-REDACTEDID16 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID02 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID03 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID04 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID05 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID06 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID07 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID08 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID09 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID10 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID11 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID12 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID13 = { module = "Shelly", params = {=} }
|
||||
, shelly1-REDACTEDID14 = { module = "Shelly", params = {=} }
|
||||
, shelly1minig3-REDACTEDID15 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorShellyMini.py", args = "-vvv" }
|
||||
}
|
||||
, shelly1minig3-REDACTEDID17 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorShellyMini.py", args = "-vvv" }
|
||||
}
|
||||
, shelly1minig3-REDACTEDID18 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorShellyMini.py", args = "-vvv" }
|
||||
}
|
||||
, shelly1minig3-REDACTEDID19 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorShellyMini.py", args = "-vvv" }
|
||||
}
|
||||
, OpenTheDoor =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/actor.py", args = "-vvv" }
|
||||
}
|
||||
, LastPersonOut =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/actor.py", args = "-vvv" }
|
||||
}
|
||||
, reset =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, SkyLaser9060 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dKampshoff =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dBambuA1mini =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dBambuA1miniAMS =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dBambuA1AMS =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dBambuA1 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dMk3S =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dRexII =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, d3dBambuP1P =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, DrehFraes =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, Stickmaschine =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, TextilSchrank =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, SandstrahlGross =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, Schweissen1 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, Schweissen2 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, CNCmittel =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/ActorTasmota.py", args = "-vvv" }
|
||||
}
|
||||
, LogIn =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogOut =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogLastPersonOut =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogOpenTheDoor =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logreset =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogSkyLaser9060 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dKampshoff =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dBambuA1mini =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dBambuA1miniAMS =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dBambuA1AMS =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dBambuA1 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dMk3S =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dRexII =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, Logd3dBambuP1P =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogStickmaschine =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogTextilSchrank =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogJorisHilft =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogTanjaHilft =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogElektronikBereich =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogSandstrahlGross =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogPlasma =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogSchweissen3 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogSchweissen1 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogSchweissen2 =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogDrehFraes =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogStaenderbohrmaschine =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogCNCmittel =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogFormatSaege =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogPlattenSaege =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogKantenschleifer =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogBandsaegeHolz =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogCNCgross =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogDrechselbank =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogHobelmaschine =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogKompressor =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
, LogBrennofen =
|
||||
{ module = "Process"
|
||||
, params = { cmd = "./examples/CSVlog.py", args = "-vvv" }
|
||||
}
|
||||
}
|
||||
, actor_connections =
|
||||
[ { machine = "Shelly-Blau", actor = "shelly1-REDACTEDID01" }
|
||||
, { machine = "Shelly-Rot", actor = "shelly1pm-REDACTEDID16" }
|
||||
, { machine = "Willkommen", actor = "OpenTheDoor" }
|
||||
, { machine = "Willkommen", actor = "LogOpenTheDoor" }
|
||||
, { machine = "ResetTuer", actor = "reset" }
|
||||
, { machine = "ResetTuer", actor = "Logreset" }
|
||||
, { machine = "AufWiedersehen", actor = "LastPersonOut" }
|
||||
, { machine = "AufWiedersehen", actor = "LogLastPersonOut" }
|
||||
, { machine = "LogIn", actor = "LogIn" }
|
||||
, { machine = "LogOut", actor = "LogOut" }
|
||||
, { machine = "LichtLager", actor = "shelly1-REDACTEDID13" }
|
||||
, { machine = "LeinwandDunkel", actor = "shelly1minig3-REDACTEDID17" }
|
||||
, { machine = "LichtOben", actor = "shelly1minig3-REDACTEDID18" }
|
||||
, { machine = "LichtHinten", actor = "shelly1minig3-REDACTEDID19" }
|
||||
, { machine = "Kompressor", actor = "LogKompressor" }
|
||||
, { machine = "SkyLaser9060", actor = "SkyLaser9060" }
|
||||
, { machine = "SkyLaser9060", actor = "LogSkyLaser9060" }
|
||||
, { machine = "Drucker-3D-Kampshoff", actor = "d3dKampshoff" }
|
||||
, { machine = "Drucker-3D-Kampshoff", actor = "Logd3dKampshoff" }
|
||||
, { machine = "Drucker-3D-Bambu-A1-mini", actor = "d3dBambuA1mini" }
|
||||
, { machine = "Drucker-3D-Bambu-A1-mini", actor = "Logd3dBambuA1mini" }
|
||||
, { machine = "Drucker-3D-Bambu-A1-mini-AMS", actor = "d3dBambuA1miniAMS" }
|
||||
, { machine = "Drucker-3D-Bambu-A1-mini-AMS"
|
||||
, actor = "Logd3dBambuA1miniAMS"
|
||||
}
|
||||
, { machine = "Drucker-3D-Bambu-A1-AMS", actor = "d3dBambuA1AMS" }
|
||||
, { machine = "Drucker-3D-Bambu-A1-AMS", actor = "Logd3dBambuA1AMS" }
|
||||
, { machine = "Drucker-3D-Bambu-A1", actor = "d3dBambuA1" }
|
||||
, { machine = "Drucker-3D-Bambu-A1", actor = "Logd3dBambuA1" }
|
||||
, { machine = "Drucker-3D-Mk3S", actor = "d3dMk3S" }
|
||||
, { machine = "Drucker-3D-Mk3S", actor = "Logd3dMk3S" }
|
||||
, { machine = "Drucker-3D-RexII", actor = "d3dRexII" }
|
||||
, { machine = "Drucker-3D-RexII", actor = "Logd3dRexII" }
|
||||
, { machine = "Drucker-3D-Bambu-P1P", actor = "d3dBambuP1P" }
|
||||
, { machine = "Drucker-3D-Bambu-P1P", actor = "Logd3dBambuP1P" }
|
||||
, { machine = "StickMaschine", actor = "Stickmaschine" }
|
||||
, { machine = "StickMaschine", actor = "LogStickmaschine" }
|
||||
, { machine = "TextilSchrank", actor = "TextilSchrank" }
|
||||
, { machine = "TextilSchrank", actor = "LogTextilSchrank" }
|
||||
, { machine = "JorisHilft", actor = "LogJorisHilft" }
|
||||
, { machine = "TanjaHilft", actor = "LogTanjaHilft" }
|
||||
, { machine = "SandstrahlGross", actor = "SandstrahlGross" }
|
||||
, { machine = "SandstrahlGross", actor = "LogSandstrahlGross" }
|
||||
, { machine = "Plasma", actor = "shelly1-REDACTEDID04" }
|
||||
, { machine = "Plasma", actor = "LogPlasma" }
|
||||
, { machine = "Schweissen3", actor = "shelly1-REDACTEDID03" }
|
||||
, { machine = "Schweissen3", actor = "LogSchweissen3" }
|
||||
, { machine = "Schweissen1", actor = "Schweissen1" }
|
||||
, { machine = "Schweissen1", actor = "LogSchweissen1" }
|
||||
, { machine = "Schweissen2", actor = "Schweissen2" }
|
||||
, { machine = "Schweissen2", actor = "LogSchweissen2" }
|
||||
, { machine = "Schweissgas", actor = "shelly1-REDACTEDID14" }
|
||||
, { machine = "Staenderbohrmaschine", actor = "shelly1-REDACTEDID07" }
|
||||
, { machine = "Staenderbohrmaschine", actor = "LogStaenderbohrmaschine" }
|
||||
, { machine = "CNCmittel", actor = "CNCmittel" }
|
||||
, { machine = "CNCmittel", actor = "LogCNCmittel" }
|
||||
, { machine = "ElektronikBereich", actor = "shelly1-REDACTEDID02" }
|
||||
, { machine = "ElektronikBereich", actor = "LogElektronikBereich" }
|
||||
, { machine = "Kantenschleifer", actor = "shelly1-REDACTEDID08" }
|
||||
, { machine = "Kantenschleifer", actor = "LogKantenschleifer" }
|
||||
, { machine = "Drechselbank", actor = "shelly1-REDACTEDID11" }
|
||||
, { machine = "Drechselbank", actor = "LogDrechselbank" }
|
||||
, { machine = "Hobelmaschine", actor = "shelly1-REDACTEDID12" }
|
||||
, { machine = "Hobelmaschine", actor = "LogHobelmaschine" }
|
||||
, { machine = "CNCgross", actor = "shelly1-REDACTEDID09" }
|
||||
, { machine = "CNCgross", actor = "LogCNCgross" }
|
||||
, { machine = "BandsaegeHolz", actor = "shelly1-REDACTEDID10" }
|
||||
, { machine = "BandsaegeHolz", actor = "LogBandsaegeHolz" }
|
||||
, { machine = "DrehFraes", actor = "DrehFraes" }
|
||||
, { machine = "DrehFraes", actor = "LogDrehFraes" }
|
||||
, { machine = "PlattenSaege", actor = "shelly1-REDACTEDID06" }
|
||||
, { machine = "PlattenSaege", actor = "LogPlattenSaege" }
|
||||
, { machine = "FormatSaege", actor = "shelly1-REDACTEDID05" }
|
||||
, { machine = "FormatSaege", actor = "LogFormatSaege" }
|
||||
, { machine = "Brennofen", actor = "shelly1minig3-REDACTEDID15" }
|
||||
, { machine = "Brennofen", actor = "LogBrennofen" }
|
||||
]
|
||||
, initiators = {=}
|
||||
, init_connections = [] : List { machine : Text, initiator : Text }
|
||||
}
|
219
debian/fabaccess-bffh-src/etc/bffh/config_examples/makerspace_bocholt/users.toml
vendored
Normal file
219
debian/fabaccess-bffh-src/etc/bffh/config_examples/makerspace_bocholt/users.toml
vendored
Normal file
@ -0,0 +1,219 @@
|
||||
["JoachimBraun"]
|
||||
roles = ["basis"]
|
||||
passwd = "password"
|
||||
|
||||
["PeterStrunkman"]
|
||||
roles = ["basis", "laser", "Plasma"]
|
||||
passwd = "password"
|
||||
|
||||
["JanicePoland"]
|
||||
roles = ["basis", "laser", "Plasma", "Drucker3D", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["WielandMeyer"]
|
||||
roles = ["doorrole", "laser", "profi"]
|
||||
passwd = "password"
|
||||
|
||||
["PetraBauer"]
|
||||
roles = ["basis", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["KlaraKolan"]
|
||||
roles = ["Drucker3D", "basis", "doorrole", "profi"]
|
||||
passwd = "password"
|
||||
|
||||
["JasonSeig"]
|
||||
roles = ["doorrole", "basis", "profi", "FormatSaege", "Bandsaege", "Drechselbank", "BandsaegeHolz", "laser", "Kantenschleifer", "Drucker3D"]
|
||||
passwd = "password"
|
||||
|
||||
["AlexeyVasi"]
|
||||
roles = ["basis", "laser", "Drucker3D"]
|
||||
passwd = "password"
|
||||
|
||||
["MeranVahreiny"]
|
||||
roles = ["basis", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["WernerMann"]
|
||||
roles = ["basis", "profi", "Kantenschleifer", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["MaxMustermann"]
|
||||
roles = ["Drucker3D"]
|
||||
passwd = "password"
|
||||
|
||||
["BudSpencer"]
|
||||
roles = ["basis", "doorrole", "profi", "Drucker3D", "FormatSaege", "Hobelmaschine", "Kantenschleifer", "PlattenSaege", "CNCgross"]
|
||||
passwd = "password"
|
||||
|
||||
["GeoffreyKing"]
|
||||
roles = ["basis", "FormatSaege"]
|
||||
passwd = "password"
|
||||
|
||||
["JohnSchnee"]
|
||||
roles = ["basis", "FormatSaege", "Hobelmaschine", "Kantenschleifer", "doorrole", "Drechselbank"]
|
||||
passwd = "password"
|
||||
|
||||
["EdwardSnow"]
|
||||
roles = ["crew"]
|
||||
passwd = "password"
|
||||
|
||||
["RichtigGut"]
|
||||
roles = ["basis", "doorrole", "profi", "FormatSaege", "Bandsaege", "Kantenschleifer", "Drechselbank", "BandsaegeHolz", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["JaGeil"]
|
||||
roles = ["basis", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["LieberDoch"]
|
||||
roles = ["laser", "PlattenSaege", "Plasma", "doorrole", "Drucker3D"]
|
||||
passwd = "password"
|
||||
|
||||
["NieWieder"]
|
||||
roles = ["CNCmittel", "basis", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["KarinKrause"]
|
||||
roles = ["basis", "Plasma", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["HalloPizza"]
|
||||
roles = ["basis", "Drucker3D"]
|
||||
passwd = "password"
|
||||
|
||||
["GregorPaus"]
|
||||
roles = ["basis", "Drucker3D", "doorrole", "profi", "PlattenSaege", "DrehFraes", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["ObiwanKenobi"]
|
||||
roles = ["admin", "doorrole", "laser", "StickMaschine"]
|
||||
passwd = "password"
|
||||
|
||||
["StefanHeßling"]
|
||||
roles = ["doorrole", "profi", "basis", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["DennisJost"]
|
||||
roles = ["doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["DerWeihnachtsmann"]
|
||||
roles = ["basis", "laser", "Plasma", "PlattenSaege", "Drucker3D", "DrehFraes", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["ElonMusk"]
|
||||
roles = ["basis", "laser", "Plasma"]
|
||||
passwd = "password"
|
||||
|
||||
["SiegmundJähn"]
|
||||
roles = ["basis", "Hobelmaschine", "Kantenschleifer", "Drechselbank", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["HomerSimpson"]
|
||||
roles = ["doorrole", "basis", "profi"]
|
||||
passwd = "password"
|
||||
|
||||
["HansGlück"]
|
||||
roles = ["basis", "PlattenSaege", "Kantenschleifer", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["PeterPan"]
|
||||
roles = ["basis", "Drechselbank", "Plasma"]
|
||||
passwd = "password"
|
||||
|
||||
["ChuckNorris"]
|
||||
roles = ["basis", "DrehFraes"]
|
||||
passwd = "password"
|
||||
|
||||
["PowerRanger"]
|
||||
roles = ["basis"]
|
||||
passwd = "password"
|
||||
|
||||
["RobertRobertoson"]
|
||||
roles = ["Drucker3D", "basis"]
|
||||
passwd = "password"
|
||||
|
||||
["AngelaMerkel"]
|
||||
roles = ["basis", "laser", "Drucker3D", "Plasma"]
|
||||
passwd = "password"
|
||||
|
||||
["KatyPerry"]
|
||||
roles = ["doorrole", "basis", "profi", "Kantenschleifer", "PlattenSaege", "BandsaegeHolz"]
|
||||
passwd = "password"
|
||||
|
||||
["IndianaJones"]
|
||||
roles = ["basis", "Drucker3D", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["LukeSkywalker"]
|
||||
roles = ["crew", "doorrole", "SandStrahl", "StickMaschine", "Drucker3D", "FormatSaege", "Kantenschleifer"]
|
||||
passwd = "password"
|
||||
|
||||
["BigShaq"]
|
||||
roles = ["basis", "laser", "BandsaegeHolz"]
|
||||
passwd = "password"
|
||||
|
||||
["DarthVader"]
|
||||
roles = ["profi", "doorrole", "DrehFraes", "FormatSaege", "Kantenschleifer"]
|
||||
passwd = "password"
|
||||
|
||||
["LeoTimoni"]
|
||||
roles = ["doorrole", "PlattenSaege", "Drucker3D", "FormatSaege", "profi", "laser", "DrehFraes", "BandsaegeHolz", "CNCmittel", "Kantenschleifer"]
|
||||
passwd = "password"
|
||||
|
||||
["HannaLarssen"]
|
||||
roles = ["basis", "profi", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["PietrZcyk"]
|
||||
roles = ["basis", "doorrole", "profi", "PlattenSaege"]
|
||||
passwd = "password"
|
||||
|
||||
["JonathanLeonhardt"]
|
||||
roles = ["basis", "profi", "doorrole", "BandsaegeHolz", "FormatSaege", "Kantenschleifer", "PlattenSaege"]
|
||||
passwd = "password"
|
||||
|
||||
["CaroWanns"]
|
||||
roles = ["crew", "doorrole", "FormatSaege", "PlattenSaege"]
|
||||
passwd = "password"
|
||||
|
||||
["CarstenClossitz"]
|
||||
roles = ["doorrole", "basis", "profi", "PlattenSaege", "Drucker3D"]
|
||||
passwd = "password"
|
||||
|
||||
["FrankMars"]
|
||||
roles = ["profi", "doorrole"]
|
||||
passwd = "password"
|
||||
|
||||
["HanniSchmidt"]
|
||||
roles = ["basis", "profi", "doorrole", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["MarkSebastion"]
|
||||
roles = []
|
||||
passwd = "password"
|
||||
|
||||
["MarkusHülsbecksen"]
|
||||
roles = ["basis", "laser", "Plasma", "DrehFraes", "doorrole", "profi"]
|
||||
passwd = "password"
|
||||
|
||||
["SteffenSeiffer"]
|
||||
roles =["bais", "Drucker3D", "Plasma", "laser"]
|
||||
passwd = "password"
|
||||
|
||||
["VasimZina"]
|
||||
roles =["Drucker3D","doorrole","basis"]
|
||||
passwd = "password"
|
||||
|
||||
["YemisiBodon"]
|
||||
roles =["doorrole","profi","basis"]
|
||||
passwd = "password"
|
||||
|
||||
["BernadetteSchwanitz"]
|
||||
roles =["doorrole","profi","basis"]
|
||||
passwd = "password"
|
||||
|
||||
["Hans-Sebastian Biedermeyer"]
|
||||
roles =["basis"]
|
||||
passwd = "password"
|
16
debian/fabaccess-bffh-src/etc/bffh/config_examples/minimum_working/bffh.dhall
vendored
Normal file
16
debian/fabaccess-bffh-src/etc/bffh/config_examples/minimum_working/bffh.dhall
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
spacename = "fabaccess.sample.space",
|
||||
instanceurl = "https://fabaccess.sample.space",
|
||||
listens = [{address = "127.0.0.1"}],
|
||||
certfile = "/etc/bffh/certs/bffh.crt",
|
||||
keyfile = "/etc/bffh/certs/bffh.key",
|
||||
mqtt_url = "mqtt://127.0.0.1:1883",
|
||||
db_path = "/var/lib/bffh/bffh.db",
|
||||
auditlog_path = "/var/log/bffh/audit.json",
|
||||
roles = {=},
|
||||
machines = {=},
|
||||
actors = {=},
|
||||
actor_connections = [] : List { machine : Text, initiator : Text },
|
||||
initiators = {=},
|
||||
init_connections = [] : List { machine : Text, initiator : Text }
|
||||
}
|
110
debian/fabaccess-bffh-src/etc/bffh/config_examples/showcase/bffh.dhall
vendored
Normal file
110
debian/fabaccess-bffh-src/etc/bffh/config_examples/showcase/bffh.dhall
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
{ listens = [ { address = "::", port = 59661 } ]
|
||||
, certfile = "/etc/letsencrypt/cert.pem"
|
||||
, keyfile = "/etc/letsencrypt/key.pem"
|
||||
, mqtt_url = "tcp://mqtt:1883"
|
||||
, db_path = "/var/lib/bffh/db"
|
||||
, auditlog_path = "/tmp/bffh.audit"
|
||||
, roles =
|
||||
{ Admin.permissions =
|
||||
[ "TestEnv.Admin"
|
||||
, "TestEnv.Manage"
|
||||
, "TestEnv.Write"
|
||||
, "TestEnv.Read"
|
||||
, "TestEnv.Disclose"
|
||||
]
|
||||
, ManageUsers.permissions =
|
||||
[ "bffh.users.info", "bffh.users.manage", "bffh.users.admin" ]
|
||||
, Manage.permissions = [ "TestEnv.Manage" ]
|
||||
, Use.permissions = [ "TestEnv.Write" ]
|
||||
, Read.permissions = [ "TestEnv.Read" ]
|
||||
, Disclose.permissions = [ "TestEnv.Disclose" ]
|
||||
}
|
||||
, machines =
|
||||
{ MachineB1 =
|
||||
{ name = "Schließfach"
|
||||
, description = "Schließfach ohne elektrische Steuerung"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
, MachineB2 =
|
||||
{ name = "Fabulaser"
|
||||
, description = "Fabulaser - compact, yet powerful"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryB"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
, MachineA1 =
|
||||
{ name = "Machine Oben"
|
||||
, description = "Maschine mit QR-Code zum scannen"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
, MachineA2 =
|
||||
{ name = "Machine Mitte"
|
||||
, description = "Maschine mit NFC Reader für DESFire Karten"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
, MachineA3 =
|
||||
{ name = "Machine Unten"
|
||||
, description = "Maschine für weitere Dinge"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
, MachineA4 =
|
||||
{ name = "Machine Drehstrom"
|
||||
, description = "Maschine mit Drehstromanschluss"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
, MachineA5 =
|
||||
{ name = "Machine Drehstrom Anlaufschutz"
|
||||
, description = "Maschine mit Drehstromanschluss und Wiederanlaufschutz"
|
||||
, wiki = "https://fab-access.readthedocs.io"
|
||||
, category = "CategoryA"
|
||||
, disclose = "TestEnv.Disclose"
|
||||
, read = "TestEnv.Read"
|
||||
, write = "TestEnv.Write"
|
||||
, manage = "TestEnv.Manage"
|
||||
}
|
||||
}
|
||||
, actors =
|
||||
{ shellyplug-s-6E6ED9 = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-C18903 = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-B4C8B9 = { module = "Shelly", params = {=} }
|
||||
, shelly1-DDDDDDDDDDDD = { module = "Shelly", params = {=} }
|
||||
, shelly1-EEEEEEEEEEEE = { module = "Shelly", params = {=} }
|
||||
}
|
||||
, actor_connections =
|
||||
[ { machine = "MachineA1", actor = "shellyplug-s-6E6ED9" }
|
||||
, { machine = "MachineA2", actor = "shellyplug-s-C18903" }
|
||||
, { machine = "MachineA3", actor = "shellyplug-s-B4C8B9" }
|
||||
, { machine = "MachineA4", actor = "shelly1-DDDDDDDDDDDD" }
|
||||
, { machine = "MachineA5", actor = "shelly1-DDDDDDDDDDDD" }
|
||||
]
|
||||
, initiators = {=}
|
||||
, init_connections = [] : List { machine : Text, initiator : Text }
|
||||
}
|
23
debian/fabaccess-bffh-src/etc/bffh/config_examples/showcase/users.toml
vendored
Normal file
23
debian/fabaccess-bffh-src/etc/bffh/config_examples/showcase/users.toml
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
[Admin]
|
||||
roles = ["Admin", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[Manager]
|
||||
roles = ["Manage", "Use", "Read", "Disclose", "ManageUsers"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
[Maker]
|
||||
roles = ["Use", "Read", "Disclose"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "d126df5f1e315597b7f79983f8904323"
|
||||
|
||||
[Guest]
|
||||
roles = ["Read", "Disclose"]
|
||||
passwd = "secret"
|
||||
noot = "noot!"
|
||||
cardkey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
387
debian/fabaccess-bffh-src/etc/bffh/config_examples/the-future-of-making-2023/bffh.dhall
vendored
Normal file
387
debian/fabaccess-bffh-src/etc/bffh/config_examples/the-future-of-making-2023/bffh.dhall
vendored
Normal file
@ -0,0 +1,387 @@
|
||||
{ listens = [ { address = "::", port = 59661 } ]
|
||||
, certfile = "tfom23-demo/certs/self-signed-cert.pem"
|
||||
, keyfile = "tfom23-demo/certs/self-signed-key.pem"
|
||||
, mqtt_url = "mqtt://localhost:1883"
|
||||
, db_path = "/var/lib/bffh/db"
|
||||
, auditlog_path = "/tmp/bffh.audit"
|
||||
, verbosity = 3
|
||||
, spacename = "TFOM23-Demo"
|
||||
, instanceurl = "tfom23-demo.fab-access.org"
|
||||
, roles =
|
||||
{ Default.permissions = [ "tfom23.disclose", "tfom23.read" ]
|
||||
, Admin.permissions =
|
||||
[ "tfom23.*", "bffh.users.info", "bffh.users.manage", "bffh.users.admin" ]
|
||||
, Manage.permissions = [ "tfom23.manage" ]
|
||||
, EuroBox.permissions = [ "tfom23.eurobox.write" ]
|
||||
, LBoxx.permissions = [ "tfom23.lboxx.write" ]
|
||||
, Locker.permissions = [ "tfom23.locker.write" ]
|
||||
, Lasercutter.permissions = [ "tfom23.lasercutter.write" ]
|
||||
, Printer.permissions = [ "tfom23.printer.write" ]
|
||||
, Prusa.permissions = [ "tfom23.prusa.write" ]
|
||||
, CNC.permissions = [ "tfom23.cnc.write" ]
|
||||
}
|
||||
, machines =
|
||||
{ LBoxx_0 =
|
||||
{ name = "Filament"
|
||||
, description = "LBoxx with 1,75mm PLA"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.lboxx.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "LBoxx"
|
||||
, prodable = True
|
||||
}
|
||||
, LBoxx_1 =
|
||||
{ name = "FabLock Tools"
|
||||
, description = "LBoxx with Tools of the FabLock Project"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.lboxx.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "LBoxx"
|
||||
, prodable = True
|
||||
}
|
||||
, LBoxx_2 =
|
||||
{ name = "FabReader Tools"
|
||||
, description = "LBoxx with Tools of the FabReader Project"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.lboxx.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "LBoxx"
|
||||
, prodable = True
|
||||
}
|
||||
, LBoxx_3 =
|
||||
{ name = "Sticker"
|
||||
, description = "LBoxx with FabAccess Sticker and NTAGs"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.lboxx.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "LBoxx"
|
||||
, prodable = True
|
||||
}
|
||||
, LBoxx_4 =
|
||||
{ name = "Demo Parts"
|
||||
, description = "LBoxx with Parts for the TFOM23 Demo"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.lboxx.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "LBoxx"
|
||||
, prodable = True
|
||||
}
|
||||
, EuroBox_0 =
|
||||
{ name = "Haribo"
|
||||
, description = "EuroBox with Haribo"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.eurobox.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "EuroBox"
|
||||
, prodable = True
|
||||
}
|
||||
, EuroBox_1 =
|
||||
{ name = "Goldschatz"
|
||||
, description = "EuroBox with Rittersport Goldschatz"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.eurobox.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "EuroBox"
|
||||
, prodable = True
|
||||
}
|
||||
, Drawer_0 =
|
||||
{ name = "Drawer 0 ???"
|
||||
, description = "Kallax Drawer"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.locker.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Locker"
|
||||
, prodable = True
|
||||
}
|
||||
, Drawer_1 =
|
||||
{ name = "Drawer 1 ???"
|
||||
, description = "Kallax Drawer"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.locker.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Locker"
|
||||
, prodable = True
|
||||
}
|
||||
, Drawer_2 =
|
||||
{ name = "Drawer 2 ???"
|
||||
, description = "Kallax Drawer"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.locker.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Locker"
|
||||
, prodable = True
|
||||
}
|
||||
, Drawer_3 =
|
||||
{ name = "Drawer 3 ???"
|
||||
, description = "Kallax Drawer"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.locker.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Locker"
|
||||
, prodable = True
|
||||
}
|
||||
, Door_0 =
|
||||
{ name = "3D-Printer Accesories"
|
||||
, description = "Kallax Door"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.locker.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Locker"
|
||||
, prodable = True
|
||||
}
|
||||
, Printer_0 =
|
||||
{ name = "Prusa MK3"
|
||||
, description = "FabAccess Prusa MK3"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.prusa.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Printers"
|
||||
}
|
||||
, Printer_1 =
|
||||
{ name = "Other Printer ???"
|
||||
, description = "TFOM23 Printer"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.printer.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Printers"
|
||||
}
|
||||
, Lasercutter_0 =
|
||||
{ name = "Other Lasercutter ???"
|
||||
, description = "TFOM23 Lasercutter"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.lasercutter.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "Lasercutter"
|
||||
}
|
||||
, CNC_0 =
|
||||
{ name = "Some Open Hardware CNC Router"
|
||||
, description = "TFOM23 CNC"
|
||||
, disclose = "tfom23.disclose"
|
||||
, read = "tfom23.read"
|
||||
, write = "tfom23.cnc.write"
|
||||
, manage = "tfom23.manage"
|
||||
, category = "CNC"
|
||||
}
|
||||
}
|
||||
, actors =
|
||||
{ shellyplug-s-C8C9A3B942DB = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-C8C9A3B943D7 = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-C8C9A3B8DB67 = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-3CE90ED72CEF = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-3CE90ED72481 = { module = "Shelly", params = {=} }
|
||||
, shellyplug-s-C8C9A3B8E88A = { module = "Shelly", params = {=} }
|
||||
, shellyplug-2C94AA = { module = "Shelly", params = {=} }
|
||||
, shellyplug-C198E8 = { module = "Shelly", params = {=} }
|
||||
, fablock_locker_0 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00000"
|
||||
}
|
||||
}
|
||||
, fablock_locker_1 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00001"
|
||||
}
|
||||
}
|
||||
, fablock_locker_2 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00002"
|
||||
}
|
||||
}
|
||||
, fablock_locker_3 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00003"
|
||||
}
|
||||
}
|
||||
, fablock_locker_4 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00004"
|
||||
}
|
||||
}
|
||||
, fablock_locker_5 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00005"
|
||||
}
|
||||
}
|
||||
, fablock_locker_6 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00000 --lock 00006"
|
||||
}
|
||||
}
|
||||
, fablock_lboxx_0 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00001 --lock 00000"
|
||||
}
|
||||
}
|
||||
, fablock_lboxx_1 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00001 --lock 00001"
|
||||
}
|
||||
}
|
||||
, fablock_lboxx_2 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00001 --lock 00002"
|
||||
}
|
||||
}
|
||||
, fablock_lboxx_3 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00001 --lock 00003"
|
||||
}
|
||||
}
|
||||
, fablock_lboxx_4 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fablock/main.py --host localhost --fablock 00001 --lock 00004"
|
||||
}
|
||||
}
|
||||
, fabreader_0 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabreader/main.py --host localhost --fabreader 00000"
|
||||
}
|
||||
}
|
||||
, fabreader_1 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabreader/main.py --host localhost --fabreader 00001"
|
||||
}
|
||||
}
|
||||
, fabreader_2 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabreader/main.py --host localhost --fabreader 00002"
|
||||
}
|
||||
}
|
||||
, fabreader_3 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabreader/main.py --host localhost --fabreader 00003"
|
||||
}
|
||||
}
|
||||
, fabreader_4 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabreader/main.py --host localhost --fabreader 00004"
|
||||
}
|
||||
}
|
||||
, fabpel_0 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabpel/main.py --host localhost --fabpel 00000"
|
||||
}
|
||||
}
|
||||
, fabpel_1 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabpel/main.py --host localhost --fabpel 00001"
|
||||
}
|
||||
}
|
||||
, fabpel_2 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabpel/main.py --host localhost --fabpel 00002"
|
||||
}
|
||||
}
|
||||
, fabpel_3 =
|
||||
{ module = "Process"
|
||||
, params =
|
||||
{ cmd = "python"
|
||||
, args =
|
||||
"tfom23-demo/actors/fabpel/main.py --host localhost --fabpel 00003"
|
||||
}
|
||||
}
|
||||
}
|
||||
, actor_connections =
|
||||
[ { machine = "LBoxx_0", actor = "fablock_lboxx_0" }
|
||||
, { machine = "LBoxx_1", actor = "fablock_lboxx_1" }
|
||||
, { machine = "LBoxx_2", actor = "fablock_lboxx_2" }
|
||||
, { machine = "LBoxx_3", actor = "fablock_lboxx_3" }
|
||||
, { machine = "LBoxx_4", actor = "fablock_lboxx_4" }
|
||||
, { machine = "EuroBox_0", actor = "fablock_locker_0" }
|
||||
, { machine = "EuroBox_1", actor = "fablock_locker_1" }
|
||||
, { machine = "Drawer_0", actor = "fablock_locker_2" }
|
||||
, { machine = "Drawer_1", actor = "fablock_locker_3" }
|
||||
, { machine = "Drawer_2", actor = "fablock_locker_4" }
|
||||
, { machine = "Drawer_3", actor = "fablock_locker_5" }
|
||||
, { machine = "Door_0", actor = "fablock_locker_6" }
|
||||
, { machine = "Printer_0", actor = "shellyplug-s-C8C9A3B942DB" }
|
||||
, { machine = "Printer_1", actor = "shellyplug-s-3CE90ED72481" }
|
||||
, { machine = "Lasercutter_0", actor = "shellyplug-s-C8C9A3B943D7" }
|
||||
, { machine = "CNC_0", actor = "shellyplug-s-C8C9A3B8E88A" }
|
||||
, { machine = "Printer_0", actor = "fabreader_1" }
|
||||
, { machine = "Printer_1", actor = "fabreader_2" }
|
||||
, { machine = "Lasercutter_0", actor = "fabreader_3" }
|
||||
, { machine = "CNC_0", actor = "fabreader_4" }
|
||||
, { machine = "Printer_0", actor = "fabpel_0" }
|
||||
, { machine = "Printer_1", actor = "fabpel_1" }
|
||||
, { machine = "Lasercutter_0", actor = "fabpel_2" }
|
||||
, { machine = "CNC_0", actor = "fabpel_3" }
|
||||
]
|
||||
, initiators = {=}
|
||||
, init_connections = [] : List { machine : Text, initiator : Text }
|
||||
}
|
27
debian/fabaccess-bffh-src/etc/bffh/config_examples/the-future-of-making-2023/users.toml
vendored
Normal file
27
debian/fabaccess-bffh-src/etc/bffh/config_examples/the-future-of-making-2023/users.toml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
[Admin]
|
||||
roles = ["Admin"]
|
||||
passwd = "secret"
|
||||
|
||||
[Manager]
|
||||
roles = ["Default", "Manage"]
|
||||
passwd = "secret"
|
||||
|
||||
[Maker]
|
||||
roles = ["Default", "EuroBox", "LBoxx", "Locker", "Prusa"]
|
||||
passwd = "secret"
|
||||
|
||||
[Maker-Lasercutter]
|
||||
roles = ["Default", "Lasercutter"]
|
||||
passwd = "secret"
|
||||
|
||||
[Maker-CNC]
|
||||
roles = ["Default", "CNC"]
|
||||
passwd = "secret"
|
||||
|
||||
[Maker-Printer]
|
||||
roles = ["Default", "Printer"]
|
||||
passwd = "secret"
|
||||
|
||||
[Bot]
|
||||
roles = ["Default"]
|
||||
passwd = "secret"
|
@ -0,0 +1,12 @@
|
||||
[
|
||||
{ machine = "zam-raum1-ecke1-lamp", actor = "tasmota_1" },
|
||||
{ machine = "zam-raum1-ecke2-arrow", actor = "tasmota_2" },
|
||||
{ machine = "zam-raum1-ecke3-fan", actor = "tasmota_3" },
|
||||
{ machine = "zam-raum1-ecke4-mesh", actor = "tasmota_4" },
|
||||
{ machine = "zam-raum1-ecke5-random1", actor = "tasmota_5" },
|
||||
{ machine = "zam-raum1-ecke6-random2", actor = "tasmota_6" },
|
||||
{ machine = "zam-raum1-ecke7-random3", actor = "tasmota_7" },
|
||||
{ machine = "zam-raum1-ecke8-macgyver", actor = "mp3play_8" },
|
||||
{ machine = "zam-raum1-ecke9-shutdown", actor = "shutdown_9" },
|
||||
{ machine = "zam-raum1-ecke10-restartbffh", actor = "restart-bffh_10" }
|
||||
]
|
102
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/actors.dhall
vendored
Normal file
102
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/actors.dhall
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
{
|
||||
tasmota_1 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 1"
|
||||
}
|
||||
},
|
||||
|
||||
tasmota_2 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 2"
|
||||
}
|
||||
},
|
||||
|
||||
tasmota_3 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 3"
|
||||
}
|
||||
},
|
||||
|
||||
tasmota_4 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 4"
|
||||
}
|
||||
},
|
||||
|
||||
tasmota_5 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 5"
|
||||
}
|
||||
},
|
||||
|
||||
tasmota_6 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 6"
|
||||
}
|
||||
},
|
||||
|
||||
tasmota_7 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/tasmota/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/tasmota/main.py --host 127.0.0.1 --user fabinfra101 --password fablocal --tasmota 7"
|
||||
}
|
||||
},
|
||||
|
||||
mp3play_8 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/opt/fabinfra/adapters/mp3play/env/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/mp3play/main.py"
|
||||
}
|
||||
},
|
||||
|
||||
shutdown_9 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/usr/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/shutdown/main.py"
|
||||
}
|
||||
},
|
||||
|
||||
restart-bffh_10 =
|
||||
{
|
||||
module = "Process",
|
||||
params =
|
||||
{
|
||||
cmd = "/usr/bin/python3",
|
||||
args = "/opt/fabinfra/adapters/restart-bffh/main.py"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
33
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/bffh.dhall
vendored
Normal file
33
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/bffh.dhall
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
let VARS = {
|
||||
BFFH_CFG_PATH = "/etc/bffh/",
|
||||
BFFH_DB_PATH = "/var/lib/bffh/",
|
||||
MQTT_USER = "fabinfra101",
|
||||
MQTT_PASSWD = "fablocal"
|
||||
}
|
||||
in
|
||||
{
|
||||
listens = [
|
||||
{ address = "0.0.0.0", port = 59661 }
|
||||
],
|
||||
certfile = VARS.BFFH_CFG_PATH ++ "certs/bffh.crt",
|
||||
keyfile = VARS.BFFH_CFG_PATH ++ "certs/bffh.key",
|
||||
mqtt_url = "mqtt://" ++ VARS.MQTT_USER ++ ":" ++ VARS.MQTT_PASSWD ++ "@0.0.0.0:1883",
|
||||
--ciphers = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
||||
--tls_min_version = "tls13",
|
||||
db_path = VARS.BFFH_DB_PATH ++ "bffh.db",
|
||||
auditlog_path = "/var/log/bffh/audit.json",
|
||||
|
||||
--- ||| GENERATOR START
|
||||
--- ||| GENERATOR END
|
||||
|
||||
roles = ./roles.dhall,
|
||||
machines = ./machines.dhall,
|
||||
actors = ./actors.dhall,
|
||||
actor_connections = ./actorconnections.dhall,
|
||||
|
||||
initiators = {=},
|
||||
init_connections = [] : List { machine : Text, initiator : Text },
|
||||
|
||||
instanceurl = "https://docs.fab-access.org",
|
||||
spacename = "FabAccess Demo Setup"
|
||||
}
|
122
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/machines.dhall
vendored
Normal file
122
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/machines.dhall
vendored
Normal file
@ -0,0 +1,122 @@
|
||||
{
|
||||
zam-raum1-ecke1-lamp =
|
||||
{
|
||||
name = "1 Lampe",
|
||||
description = "Eine einfache Funzel. Kann weiter nix 💡",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke1.disclose.lamp",
|
||||
read = "zam.raum1.ecke1.read.lamp",
|
||||
write = "zam.raum1.ecke1.write.lamp",
|
||||
manage = "zam.raum1.ecke1.manage.lamp"
|
||||
},
|
||||
|
||||
zam-raum1-ecke2-arrow =
|
||||
{
|
||||
name = "2 LED Pfeil",
|
||||
description = "Noch ein Leuchteteil. In Arrow-Shape",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke2.disclose.arrow",
|
||||
read = "zam.raum1.ecke2.read.arrow",
|
||||
write = "zam.raum1.ecke2.write.arrow",
|
||||
manage = "zam.raum1.ecke2.manage.arrow"
|
||||
},
|
||||
|
||||
zam-raum1-ecke3-fan =
|
||||
{
|
||||
name = "3 Der laute Lüfter",
|
||||
description = "Ein sinnfreier Aktor, der sich bemerkbar macht",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke3.disclose.fan",
|
||||
read = "zam.raum1.ecke3.read.fan",
|
||||
write = "zam.raum1.ecke3.write.fan",
|
||||
manage = "zam.raum1.ecke3.manage.fan"
|
||||
},
|
||||
|
||||
zam-raum1-ecke4-mesh =
|
||||
{
|
||||
name = "4 LED Lauflicht",
|
||||
description = "Blinky Shit yeah!",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke4.disclose.mesh",
|
||||
read = "zam.raum1.ecke4.read.mesh",
|
||||
write = "zam.raum1.ecke4.write.mesh",
|
||||
manage = "zam.raum1.ecke4.manage.mesh"
|
||||
},
|
||||
|
||||
zam-raum1-ecke5-random1 =
|
||||
{
|
||||
name = "5 Random Dingens #1",
|
||||
description = "Utilize it as you like",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke5.disclose.random1",
|
||||
read = "zam.raum1.ecke5.read.random1",
|
||||
write = "zam.raum1.ecke5.write.random1",
|
||||
manage = "zam.raum1.ecke5.manage.random1"
|
||||
},
|
||||
|
||||
zam-raum1-ecke6-random2 =
|
||||
{
|
||||
name = "6 Random Dingens #2",
|
||||
description = "Utilize it as you like",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke6.disclose.random2",
|
||||
read = "zam.raum1.ecke6.read.random2",
|
||||
write = "zam.raum1.ecke6.write.random2",
|
||||
manage = "zam.raum1.ecke6.manage.random2"
|
||||
},
|
||||
|
||||
zam-raum1-ecke7-random3 =
|
||||
{
|
||||
name = "7 Random Dingens #3",
|
||||
description = "Utilize it as you like",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke7.disclose.random3",
|
||||
read = "zam.raum1.ecke7.read.random3",
|
||||
write = "zam.raum1.ecke7.write.random3",
|
||||
manage = "zam.raum1.ecke7.manage.random3"
|
||||
},
|
||||
|
||||
zam-raum1-ecke8-macgyver =
|
||||
{
|
||||
name = "8 Mac Gyver",
|
||||
description = "Vorsitzender des Repair Cafe Dachverbands",
|
||||
wiki = "https://de.wikipedia.org/wiki/MacGyver",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke8.disclose.macgyver",
|
||||
read = "zam.raum1.ecke8.read.macgyver",
|
||||
write = "zam.raum1.ecke8.write.macgyver",
|
||||
manage = "zam.raum1.ecke8.manage.macgyver"
|
||||
},
|
||||
|
||||
zam-raum1-ecke9-shutdown =
|
||||
{
|
||||
name = "9 Shutdown",
|
||||
description = "Poweroff Raspberry Pi",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke9.disclose.shutdown",
|
||||
read = "zam.raum1.ecke9.read.shutdown",
|
||||
write = "zam.raum1.ecke9.write.shutdown",
|
||||
manage = "zam.raum1.ecke9.manage.shutdown"
|
||||
},
|
||||
|
||||
zam-raum1-ecke10-restartbffh =
|
||||
{
|
||||
name = "10 Restart BFFH",
|
||||
description = "Restarts bffh.service",
|
||||
wiki = "",
|
||||
category = "Central Stairs",
|
||||
disclose = "zam.raum1.ecke10.disclose.restartbffh",
|
||||
read = "zam.raum1.ecke10.read.restartbffh",
|
||||
write = "zam.raum1.ecke10.write.restartbffh",
|
||||
manage = "zam.raum1.ecke10.manage.restartbffh"
|
||||
}
|
||||
|
||||
}
|
109
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/roles.dhall
vendored
Normal file
109
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/roles.dhall
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
{
|
||||
Admin =
|
||||
{
|
||||
permissions = [
|
||||
"bffh.users.manage",
|
||||
"bffh.users.info",
|
||||
"bffh.users.admin",
|
||||
"zam.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_manager =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke1_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke1.disclose.*",
|
||||
"zam.raum1.ecke1.read.*",
|
||||
"zam.raum1.ecke1.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke2_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke2.disclose.*",
|
||||
"zam.raum1.ecke2.read.*",
|
||||
"zam.raum1.ecke2.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke3_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke3.disclose.*",
|
||||
"zam.raum1.ecke3.read.*",
|
||||
"zam.raum1.ecke3.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke4_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke4.disclose.*",
|
||||
"zam.raum1.ecke4.read.*",
|
||||
"zam.raum1.ecke4.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke5_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke5.disclose.*",
|
||||
"zam.raum1.ecke5.read.*",
|
||||
"zam.raum1.ecke5.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke6_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke6.disclose.*",
|
||||
"zam.raum1.ecke6.read.*",
|
||||
"zam.raum1.ecke6.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke7_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke7.disclose.*",
|
||||
"zam.raum1.ecke7.read.*",
|
||||
"zam.raum1.ecke7.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke8_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke8.disclose.*",
|
||||
"zam.raum1.ecke8.read.*",
|
||||
"zam.raum1.ecke8.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke9_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke9.disclose.*",
|
||||
"zam.raum1.ecke9.read.*",
|
||||
"zam.raum1.ecke9.write.*"
|
||||
]
|
||||
},
|
||||
|
||||
zam_raum1_ecke10_user =
|
||||
{
|
||||
permissions = [
|
||||
"zam.raum1.ecke10.disclose.*",
|
||||
"zam.raum1.ecke10.read.*",
|
||||
"zam.raum1.ecke10.write.*"
|
||||
]
|
||||
}
|
||||
|
||||
}
|
11
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/users.toml
vendored
Normal file
11
debian/fabaccess-bffh-src/etc/bffh/config_examples/vow-jhv-zam-erlangen-2024/users.toml
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
["Raum 1 Manager"]
|
||||
roles = ["zam_raum1_manager"]
|
||||
passwd = "$argon2i$v=19$m=4096,t=3,p=1$aE7DYpmOPy+ZAB305S26iQ$G+cx4wEQzaVsB4Vq05+mvvxBgqXlYnejbzpLcK24SPg"
|
||||
|
||||
[Admin]
|
||||
roles = ["zam_raum1_ecke1_user", "zam_raum1_ecke2_user", "zam_raum1_ecke3_user", "zam_raum1_ecke4_user", "zam_raum1_ecke5_user", "zam_raum1_ecke6_user", "zam_raum1_ecke7_user", "zam_raum1_ecke8_user", "zam_raum1_ecke9_user", "_manager_schichtleitung", "Admin", "zam_raum1_manager"]
|
||||
passwd = "$argon2i$v=19$m=4096,t=3,p=1$Ykyx7xGXwWKPMP7Q5FysBA$lbMnVRwZZheYt5u2kEZYuwkWW8DwaHF/JNgqH791WdQ"
|
||||
|
||||
[Werkstattleiter]
|
||||
roles = ["_manager_schichtleitung"] #test
|
||||
passwd = "$argon2i$v=19$m=4096,t=3,p=1$nqY/EsDGzlwLzRgtZQUBzA$a55mDPB20CxYixvafyYGRIZH/EsPBguzhTBm7O3D3QA"
|
9
debian/fabaccess-bffh-src/etc/logrotate.d/bffhd
vendored
Normal file
9
debian/fabaccess-bffh-src/etc/logrotate.d/bffhd
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/var/log/bffh/audit.json
|
||||
{
|
||||
rotate 10
|
||||
size 1M
|
||||
copytruncate
|
||||
missingok
|
||||
notifempty
|
||||
compress
|
||||
}
|
3
debian/fabaccess-bffh-src/etc/sudoers.d/bffh
vendored
Normal file
3
debian/fabaccess-bffh-src/etc/sudoers.d/bffh
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
bffh ALL=NOPASSWD: /usr/bin/systemctl start bffh.service
|
||||
bffh ALL=NOPASSWD: /usr/bin/systemctl stop bffh.service
|
||||
bffh ALL=NOPASSWD: /usr/bin/systemctl restart bffh.service
|
18
debian/fabaccess-bffh-src/etc/systemd/system/bffh.service
vendored
Normal file
18
debian/fabaccess-bffh-src/etc/systemd/system/bffh.service
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=FabAccess BFFH Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=bffh
|
||||
Group=bffh
|
||||
ExecStartPre=/usr/bin/bffhd --check --config /etc/bffh/bffh.dhall
|
||||
Environment="BFFH_LOG=warn"
|
||||
ExecStart=/usr/bin/bffhd --verbose --config /etc/bffh/bffh.dhall --log-format Pretty
|
||||
Restart=on-failure
|
||||
RestartSec=30
|
||||
LogsDirectoryMode=750
|
||||
LogsDirectory=bffh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Reference in New Issue
Block a user