feat(caddy): preparation passage à caddy
Cadoles/hydra-sql/pipeline/pr-develop Something is wrong with the build of this commit Details

This commit is contained in:
cmsassot 2024-03-26 14:28:25 +01:00
parent 9420354ec0
commit 97dfa1384d
4 changed files with 48 additions and 36 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -4,14 +4,15 @@ Une [LoginApp](https://www.ory.sh/docs/hydra/concepts/login) pour le serveur Ope
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
## 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 +30,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 +54,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 +64,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 +79,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` |