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
|
- administration of the LDAP directory
|
||||||
- inviting new users to create accounts
|
- 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
|
Currently, Guichet's templates are only in French as it has been created for
|
||||||
the [Deuxfleurs](https://deuxfleurs.fr) collective.
|
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).
|
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`.
|
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)
|
Consult [this directory](https://git.deuxfleurs.fr/Deuxfleurs/infrastructure/src/branch/main/app/directory/config)
|
||||||
to view the full configuration in use on Deuxfleurs.
|
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