Skip to content
Rob van der Linde edited this page Mar 28, 2024 · 10 revisions

What is Sambal?

Sambal is an experimental web interface using the new Samba models. Note that these models are really new, so running this now won't be very easy.

It requires compiling the lastest Samba master branch from source or Samba 4.21 when released.

Samba Models

Just a taste...

>>> from samba.domain.models import (User, Computer, Group, GroupManagedServiceAccount,
                                     Site, Subnet, Person, OrganizationalPerson,
                                     ClaimType, ValueType, AttributeSchema, ClassSchema,
                                     AuthenticationSilo, AuthenticationPolicy)
>>> users = User.query(samdb)
>>> for user in users:
>>>     print(f"{user.dn}: {user.account_name}")
>>> users = User.query(samdb, polymorphic=True)
>>> gmsa = GroupManagedServiceAccount.get(samdb, account_name="foo$")

Model Incubator

There are a lot of models and many of them are not in Samba yet. They don't actually need to be at first, but over time any new models created here are free to be donated to upstream Samba.

Think of this project as an incubator for new models, to develop them here before upstreaming to Samba if they accept them.

The licence chosen for Sambal was intentionally made the same as Samba to make this easy.

Clone this wiki locally