feat(caddy): preparation passage à caddy
Cadoles/hydra-sql/pipeline/pr-develop There was a failure building this commit
Details
Cadoles/hydra-sql/pipeline/pr-develop There was a failure building this commit
Details
This commit is contained in:
parent
9420354ec0
commit
36bc3b1554
|
@ -2,6 +2,7 @@ version: "3.8"
|
|||
services:
|
||||
hydra-sql:
|
||||
container_name: hydra-sql
|
||||
user: www-data
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./misc/images/hydra-sql-standalone/Dockerfile
|
||||
|
@ -11,7 +12,7 @@ services:
|
|||
- http_proxy=${http_proxy}
|
||||
- https_proxy=${https_proxy}
|
||||
ports:
|
||||
- 8082:8080
|
||||
- 8082:8071
|
||||
volumes:
|
||||
- ./src:/app/src
|
||||
- ./config:/app/config
|
||||
|
@ -30,7 +31,6 @@ services:
|
|||
- "host.docker.internal:host-gateway"
|
||||
environment:
|
||||
- PHP_FPM_MEMORY_LIMIT=128m
|
||||
- APP_ENV=dev
|
||||
- APP_LOCALES=fr,en
|
||||
- HYDRA_ADMIN_BASE_URL=http://hydra:4445
|
||||
- TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR,localhost
|
||||
|
@ -42,7 +42,7 @@ services:
|
|||
- DSN_REMOTE_DATABASE=pgsql:host='postgres';port=5432;dbname=lasql;
|
||||
- HASH_ALGO_LEGACY="sha256"
|
||||
- SECURITY_PATTERN=password,salt,pepper
|
||||
|
||||
- CADDY_HTTP_PORT=8071
|
||||
|
||||
oidc-test:
|
||||
image: bornholm/oidc-test:v0.0.0-1-g936a77e
|
||||
|
@ -82,7 +82,14 @@ services:
|
|||
links:
|
||||
- postgres
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:4444/.well-known/openid-configuration"]
|
||||
test:
|
||||
[
|
||||
"CMD",
|
||||
"wget",
|
||||
"--spider",
|
||||
"-q",
|
||||
"http://127.0.0.1:4444/.well-known/openid-configuration",
|
||||
]
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
|
|
|
@ -12,5 +12,4 @@ ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
|||
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
||||
php81-bcmath=${PHP_PKG_VERSION}"
|
||||
|
||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2023.11.16-stable.1541.eec311d
|
||||
|
||||
FROM reg.cadoles.com/cadoles/symfony:TODOTAG_BASE
|
|
@ -12,5 +12,5 @@ ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
|||
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
||||
php81-bcmath=${PHP_PKG_VERSION}"
|
||||
|
||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2023.11.16-stable.1541.eec311d
|
||||
|
||||
FROM reg.cadoles.com/cadoles/symfony:TODOTAG_STANDALONE
|
||||
USER www-data
|
23
readme.md
23
readme.md
|
@ -3,15 +3,21 @@
|
|||
Une [LoginApp](https://www.ory.sh/docs/hydra/concepts/login) pour le serveur OpenID Connect [Ory/Hydra](https://github.com/ory/hydra).
|
||||
Elle permet de se connecter à une base de donnée et de vérifier un mot de passe donné sur une mire locale puis d'aller chercher des données demandées
|
||||
|
||||
## Image
|
||||
|
||||
- L'image standalone est construite en utilisant l'utilisateur `www-data` pour lancer supervisor (qui va lancer le process php-fpm et caddy, avec ce même user)
|
||||
- C'est pour cela qu'on fini par "USER www-data" à la fin de `misc/images/hydra-oidc-standalone/Dockerfile`, sinon le conteneur `hydra-sql` ne tournera pas
|
||||
|
||||
## Configuration
|
||||
|
||||
### Variables d'environnement
|
||||
|
||||
| Variable | Description | Valeur par défaut | Utilisation |
|
||||
|--------|-----------|-----------------|-----------|
|
||||
| ---------------------- | ------------------------------------------------------ | --------------------------------------------------------------------------- | ----------- |
|
||||
| `APP_ENV` | Environnement symfony | prod | dev:prod |
|
||||
| `APP_DEBUG` | Console de debug symofny | false | true:false |
|
||||
| `PHP_FPM_MEMORY_LIMIT` | php-fpm memory limit | 128mo | |
|
||||
|`NGINX_APP_SERVER_LISTEN`|Port d'écoute de l'application|8080||
|
||||
| `CADDY_HTTP_PORT` | Port d'écoute de l'application | 8080 | |
|
||||
| `HYDRA_ADMIN_BASE_URL` | Url d'admin Hydra ou dispatcher | http://hydra:4445 | obligatoire |
|
||||
| `BASE_URL` | Url d'accès | http://localhost:8080 | obligatoire |
|
||||
| `DSN_REMOTE_DATABASE` | DSN de la BDD | postgresql://lasql:lasql@postgres:5432/lasql?serverVersion=15&chartset=utf8 | |
|
||||
|
@ -29,10 +35,12 @@ Elle permet de se connecter à une base de donnée et de vérifier un mot de pas
|
|||
La login app est compatible par défaut avec toutes les méthodes de hashage de PHP et avec SSHA. Aucune configuration supplémentaire n'est nécessaire.
|
||||
|
||||
### Pattern de hashage
|
||||
|
||||
Définir dans la variable `SECURITY_PATTERN` le pattern utilisé avec les mots clés: password | salt | pepper séparé par des virgules pour représenter la séquence à employer pour le hashage du mot de passe.
|
||||
Exemple : `SECURITY_PATTERN="salt,password,pepper"`
|
||||
|
||||
### Schéma de base de donnée
|
||||
|
||||
Permet d'adapter les requetes SQL à la base de donnée utilisée en indiquant les noms de colonnes de celle-ci.
|
||||
|
||||
```yaml
|
||||
|
@ -51,6 +59,7 @@ sql_login:
|
|||
## Environnement de développement
|
||||
|
||||
### Tester
|
||||
|
||||
Se rendre sur [http://localhost:8000/](http://localhost:8000/) et cliquer `Login` pour commencer une nouvelle connexion.
|
||||
3 utilisateurs d'exemple sont disponible pour les tests:
|
||||
| Login | Mot de passe | Algorithme |
|
||||
|
@ -60,8 +69,10 @@ Se rendre sur [http://localhost:8000/](http://localhost:8000/) et cliquer `Login
|
|||
| test3@test.com | 123456 | SSHA |
|
||||
|
||||
### Base de donnée
|
||||
|
||||
2 bases de données différentes sont disponible pour les tests.
|
||||
Pour choisir la base de donnée à utiliser, modifier les d'environnement relatives à la base de donnée.
|
||||
|
||||
- **URL Postgres**: `postgresql://lasql:lasql@mariadb:3306/lasql?serverVersion=15&chartset=utf8`
|
||||
- **URL Mariadb**: `mysql://lasql:lasql@postgres:5432/lasql`
|
||||
|
||||
|
@ -73,10 +84,10 @@ ex : `'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sen
|
|||
### Liste des ports
|
||||
|
||||
| Nom | Description | Port(s) hôte utilisé(s) |
|
||||
|---|-----------|------------------|
|
||||
| ----------- | -------------------------------------------------------------------------- | ----------------------- |
|
||||
| `oidc-test` | Application factice permettant de tester l'authentification OpenID Connect | `8080` |
|
||||
| `hydra` | Serveur Ory/Hydra | `8081` |
|
||||
| `hydra-sql` | Login/Consent/Logout App (ce projet) | `8082` |
|
||||
|`postgres`| Base de donnée postgres support du test et pour hydra|`5432`
|
||||
|`mariadb`| Base de donnée mariadb support du test|`3306`
|
||||
|`pgadmin`| pour administrer la base de donnée |`8085`
|
||||
| `postgres` | Base de donnée postgres support du test et pour hydra | `5432` |
|
||||
| `mariadb` | Base de donnée mariadb support du test | `3306` |
|
||||
| `pgadmin` | pour administrer la base de donnée | `8085` |
|
||||
|
|
Loading…
Reference in New Issue