Improve developper experience
Some checks are pending
ci/woodpecker/pr/woodpecker Pipeline is pending approval
Some checks are pending
ci/woodpecker/pr/woodpecker Pipeline is pending approval
- Add docker compose - Fix a few typo in README - Add steps to run project locally - Add a sample bottin config
This commit is contained in:
parent
34c2ddc29e
commit
48df2123cf
3 changed files with 61 additions and 2 deletions
26
README.md
26
README.md
|
@ -8,10 +8,10 @@ Guichet is a simple LDAP web interface for the following tasks:
|
|||
- administration of the LDAP directory
|
||||
- inviting new users to create accounts
|
||||
|
||||
Guichet works well with the [Bottin](https://bottin.eu) LDAP server.
|
||||
Guichet works well with the [Bottin](https://git.deuxfleurs.fr/deuxfleurs/bottin) LDAP server.
|
||||
Currently, Guichet's templates are only in French as it has been created for
|
||||
the [Deuxfleurs](https://deuxfleurs.fr) collective.
|
||||
We would gladly merge a pull request with an English transaltion !
|
||||
We would gladly merge a pull request with an English translation !
|
||||
|
||||
A Docker image is provided on the [Docker hub](https://hub.docker.com/r/lxpz/guichet_amd64).
|
||||
An example for running Guichet on a Nomad cluster can be found in `guichet.hcl.example`.
|
||||
|
@ -129,3 +129,25 @@ Here is an example of Bottin ACLs that may be used to support Guichet invitation
|
|||
|
||||
Consult [this directory](https://git.deuxfleurs.fr/Deuxfleurs/infrastructure/src/branch/main/app/directory/config)
|
||||
to view the full configuration in use on Deuxfleurs.
|
||||
|
||||
## Contribute
|
||||
|
||||
Guichet needs a few components to work :
|
||||
- A Bottin server
|
||||
- that needs a consul server
|
||||
A basic consul / bottin stack is available through the docker compose file
|
||||
|
||||
```
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
You can then run Guichet locally
|
||||
```sh
|
||||
# First, copy a sample config file
|
||||
copy config.json.example config.json
|
||||
|
||||
# Run the go development server
|
||||
go run .
|
||||
```
|
||||
|
||||
It will be available on http://localhost:9991
|
||||
|
|
13
bottin.config.json
Normal file
13
bottin.config.json
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"suffix": "dc=bottin,dc=eu",
|
||||
"bind": "127.0.0.1:1389",
|
||||
"consul_host": "consul:8500",
|
||||
"acl": [
|
||||
"ANONYMOUS::bind:*,ou=users,dc=bottin,dc=eu:",
|
||||
"ANONYMOUS::bind:cn=admin,dc=bottin,dc=eu:",
|
||||
"*,dc=bottin,dc=eu::read:*:* !userpassword",
|
||||
"*::read modify:SELF:*",
|
||||
"cn=admin,dc=bottin,dc=eu::read add modify delete:*:*",
|
||||
"*:cn=admin,ou=groups,dc=bottin,dc=eu:read add modify delete:*:*"
|
||||
]
|
||||
}
|
24
docker-compose.yml
Normal file
24
docker-compose.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
services:
|
||||
bottin:
|
||||
image: lxpz/bottin_amd64
|
||||
platform: linux/amd64
|
||||
entrypoint: /bottin -config /config.json
|
||||
depends_on:
|
||||
consul:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
ports:
|
||||
- 389:389
|
||||
volumes:
|
||||
- ./bottin.config.json:/config.json
|
||||
consul:
|
||||
image: consul:1.15
|
||||
command: agent -server -ui -node=server-1 -bootstrap-expect=1 -client=0.0.0.0
|
||||
healthcheck:
|
||||
test: curl --fail http://localhost:8500/ui || exit 1
|
||||
interval: 10s
|
||||
retries: 5
|
||||
start_period: 10s
|
||||
timeout: 10s
|
||||
ports:
|
||||
- "8500:8500"
|
Loading…
Add table
Reference in a new issue