7f39399c32
* Added auto-generated uidNumber and guidNumber generated attributes for use with SSSD and similar software. The starting number for uid/gid can be configured iva environtment variables and is by default 2000 which should work fine for most instances unless there are more than 999 local accounts on the server/computer. The uidNumber is just the users Pk + the starting number. The guidNumber is calculated by the last couple of bytes in the uuid of the group + the starting number, this should have a low enough chance for collisions that it's going to be fine for most use cases. I have not added any interface stuff for configuring the environment variables as I couldn't really find my way around all the places I'd have to edit to add it and the default values should in my opinion be fine for 99% use cases. * Add a 'fake' primary group for each user * First attempt att adding config to interface * Updated API to support new fields * Refactor code, update documentation and remove obsolete comment Simplify `GetRIDForGroup`, was a bit overcomplicated before. Add an additional class/struct `LDAPGroup` which is the new argument for `pi.GroupEntry` and util functions to create `LDAPGroup` from api.Group and api.User Add proper support in the interface for changing gidNumber and uidNumber starting points * make lint-fix for the migration files |
||
---|---|---|
.. | ||
cmd | ||
pkg | ||
.dockerignore | ||
.gitignore | ||
Makefile | ||
README.md | ||
azure-pipelines.yml | ||
go.mod | ||
go.sum | ||
ldap.Dockerfile | ||
proxy.Dockerfile |
README.md
authentik outpost
Reverse Proxy based on oauth2_proxy, completely managed and monitored by authentik.
LDAP Server using ldap, completely managed and monitored by authentik.
Usage
authentik Outpost is built to be configured by authentik itself, hence the only options you can directly give it are connection params.
The following environment variable are implemented:
AUTHENTIK_HOST
: Full URL to the authentik instance with protocol, i.e. "https://authentik.company.tld"
AUTHENTIK_TOKEN
: Token used to authenticate against authentik. This is generated after an Outpost instance is created.
AUTHENTIK_INSECURE
: This environment variable can optionally be set to ignore the SSL Certificate of the authentik instance. Applies to both HTTP and WS connections.
Development
authentik outpost uses an auto-generated API Client to communicate with authentik. This client is not kept in git. To generate the client locally, run make gen-outpost
in the root directory of the repo.
Afterwards you can build the outpost like any other Go project, using go build ./cmd/proxy/server.go
or go build ./cmd/ldap/server.go
.