chore: untrack target/ (déjà dans .gitignore mais tracké par erreur)
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
|
||||
https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
|
||||
version="4.0"
|
||||
bean-discovery-mode="annotated">
|
||||
</beans>
|
||||
@@ -1,63 +0,0 @@
|
||||
# ============================================================================
|
||||
# UnionFlow Server — Profil PROD
|
||||
# Chargé automatiquement quand le profil "prod" est actif
|
||||
# Surcharge application.properties — sans préfixes %prod.
|
||||
# ============================================================================
|
||||
|
||||
# Base de données PostgreSQL — Production (variables d'environnement obligatoires)
|
||||
quarkus.datasource.username=${DB_USERNAME}
|
||||
quarkus.datasource.password=${DB_PASSWORD}
|
||||
quarkus.datasource.jdbc.url=${DB_URL}
|
||||
quarkus.datasource.jdbc.min-size=5
|
||||
quarkus.datasource.jdbc.max-size=20
|
||||
quarkus.datasource.jdbc.acquisition-timeout=5
|
||||
quarkus.datasource.jdbc.idle-removal-interval=PT2M
|
||||
quarkus.datasource.jdbc.max-lifetime=PT30M
|
||||
|
||||
# Hibernate — Validate uniquement (Flyway gère le schéma)
|
||||
quarkus.hibernate-orm.database.generation=validate
|
||||
quarkus.hibernate-orm.statistics=false
|
||||
|
||||
# CORS — strict en production
|
||||
quarkus.http.cors.origins=${CORS_ORIGINS:https://unionflow.lions.dev,https://security.lions.dev}
|
||||
quarkus.http.cors.access-control-allow-credentials=true
|
||||
|
||||
# WebSocket — public (auth gérée dans le handshake)
|
||||
quarkus.http.auth.permission.websocket.paths=/ws/*
|
||||
quarkus.http.auth.permission.websocket.policy=permit
|
||||
|
||||
# Keycloak / OIDC — Production
|
||||
quarkus.oidc.tenant-enabled=true
|
||||
quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/unionflow}
|
||||
quarkus.oidc.client-id=unionflow-server
|
||||
quarkus.oidc.credentials.secret=${KEYCLOAK_CLIENT_SECRET}
|
||||
quarkus.oidc.tls.verification=required
|
||||
|
||||
# OpenAPI — serveur prod
|
||||
quarkus.smallrye-openapi.servers=https://api.lions.dev/unionflow
|
||||
quarkus.smallrye-openapi.oidc-open-id-connect-url=${quarkus.oidc.auth-server-url}/.well-known/openid-configuration
|
||||
|
||||
# Swagger UI — désactivé en production
|
||||
quarkus.swagger-ui.always-include=false
|
||||
|
||||
# Logging — fichier en production
|
||||
quarkus.log.file.enable=true
|
||||
quarkus.log.file.path=/var/log/unionflow/server.log
|
||||
quarkus.log.file.rotation.max-file-size=10M
|
||||
quarkus.log.file.rotation.max-backup-index=5
|
||||
quarkus.log.category."org.jboss.resteasy".level=WARN
|
||||
|
||||
# REST Client lions-user-manager
|
||||
quarkus.rest-client.lions-user-manager-api.url=${LIONS_USER_MANAGER_URL:http://lions-user-manager:8081}
|
||||
|
||||
# Wave Money — Production
|
||||
wave.environment=production
|
||||
|
||||
# Email — Production
|
||||
quarkus.mailer.from=${MAIL_FROM:noreply@unionflow.lions.dev}
|
||||
quarkus.mailer.host=${MAIL_HOST:smtp.lions.dev}
|
||||
quarkus.mailer.port=${MAIL_PORT:587}
|
||||
quarkus.mailer.username=${MAIL_USERNAME:}
|
||||
quarkus.mailer.password=${MAIL_PASSWORD:}
|
||||
quarkus.mailer.start-tls=REQUIRED
|
||||
quarkus.mailer.ssl=false
|
||||
@@ -1,48 +0,0 @@
|
||||
# Configuration UnionFlow Server - Profil Test
|
||||
# Ce fichier est chargé automatiquement quand le profil 'test' est actif
|
||||
|
||||
# Configuration Base de données H2 pour tests
|
||||
quarkus.datasource.db-kind=h2
|
||||
quarkus.datasource.username=sa
|
||||
quarkus.datasource.password=
|
||||
quarkus.datasource.jdbc.url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=PostgreSQL;NON_KEYWORDS=MONTH,YEAR
|
||||
|
||||
# Configuration Hibernate pour tests
|
||||
quarkus.hibernate-orm.database.generation=update
|
||||
# Désactiver complètement l'exécution des scripts SQL au démarrage
|
||||
quarkus.hibernate-orm.sql-load-script=no-file
|
||||
# Empêcher Hibernate d'exécuter les scripts SQL automatiquement
|
||||
# Note: Ne pas définir quarkus.hibernate-orm.sql-load-script car une chaîne vide peut causer des problèmes
|
||||
|
||||
# Configuration Flyway pour tests (désactivé complètement)
|
||||
quarkus.flyway.migrate-at-start=false
|
||||
quarkus.flyway.enabled=false
|
||||
quarkus.flyway.baseline-on-migrate=false
|
||||
# Note: Ne pas définir quarkus.flyway.locations car une chaîne vide cause une erreur de configuration
|
||||
|
||||
# Configuration Keycloak pour tests (désactivé)
|
||||
quarkus.oidc.tenant-enabled=false
|
||||
quarkus.keycloak.policy-enforcer.enable=false
|
||||
|
||||
# Configuration HTTP pour tests
|
||||
quarkus.http.port=0
|
||||
quarkus.http.test-port=0
|
||||
|
||||
# Wave — mock pour tests
|
||||
wave.mock.enabled=true
|
||||
wave.api.key=test-wave-api-key-for-unit-tests
|
||||
wave.api.secret=test-wave-api-secret-for-unit-tests
|
||||
wave.redirect.base.url=http://localhost:8080
|
||||
|
||||
# Kafka — in-memory connector pour les tests (pas de broker Kafka requis)
|
||||
mp.messaging.outgoing.finance-approvals-out.connector=smallrye-in-memory
|
||||
mp.messaging.outgoing.dashboard-stats-out.connector=smallrye-in-memory
|
||||
mp.messaging.outgoing.notifications-out.connector=smallrye-in-memory
|
||||
mp.messaging.outgoing.members-events-out.connector=smallrye-in-memory
|
||||
mp.messaging.outgoing.contributions-events-out.connector=smallrye-in-memory
|
||||
mp.messaging.incoming.finance-approvals-in.connector=smallrye-in-memory
|
||||
mp.messaging.incoming.dashboard-stats-in.connector=smallrye-in-memory
|
||||
mp.messaging.incoming.notifications-in.connector=smallrye-in-memory
|
||||
mp.messaging.incoming.members-events-in.connector=smallrye-in-memory
|
||||
mp.messaging.incoming.contributions-events-in.connector=smallrye-in-memory
|
||||
|
||||
@@ -1,166 +0,0 @@
|
||||
# ============================================================================
|
||||
# UnionFlow Server — Configuration commune (tous profils)
|
||||
# Chargée en premier, les fichiers application-{profil}.properties surchargent
|
||||
# ============================================================================
|
||||
|
||||
quarkus.application.name=unionflow-server
|
||||
quarkus.application.version=1.0.0
|
||||
|
||||
# Configuration HTTP
|
||||
quarkus.http.port=8085
|
||||
quarkus.http.host=0.0.0.0
|
||||
quarkus.http.limits.max-body-size=10M
|
||||
quarkus.http.limits.max-header-size=16K
|
||||
|
||||
# Configuration Datasource — db-kind est une propriété build-time (commune à tous profils)
|
||||
# Les valeurs réelles sont surchargées par application-dev.properties et application-prod.properties
|
||||
quarkus.datasource.db-kind=postgresql
|
||||
quarkus.datasource.username=${DB_USERNAME:unionflow}
|
||||
quarkus.datasource.password=${DB_PASSWORD:changeme}
|
||||
quarkus.datasource.jdbc.url=${DB_URL:jdbc:postgresql://localhost:5432/unionflow}
|
||||
|
||||
# Configuration CORS
|
||||
quarkus.http.cors=true
|
||||
quarkus.http.cors.methods=GET,POST,PUT,DELETE,OPTIONS
|
||||
quarkus.http.cors.headers=Content-Type,Authorization
|
||||
|
||||
# Chemins publics
|
||||
quarkus.http.auth.permission.public.paths=/health,/q/*,/favicon.ico,/auth/callback,/auth/*
|
||||
quarkus.http.auth.permission.public.policy=permit
|
||||
|
||||
# Configuration Hibernate — base commune
|
||||
quarkus.hibernate-orm.database.generation=update
|
||||
quarkus.hibernate-orm.log.sql=false
|
||||
quarkus.hibernate-orm.jdbc.timezone=UTC
|
||||
quarkus.hibernate-orm.metrics.enabled=false
|
||||
|
||||
# Configuration Flyway — base commune
|
||||
quarkus.flyway.migrate-at-start=true
|
||||
quarkus.flyway.baseline-on-migrate=true
|
||||
quarkus.flyway.baseline-version=0
|
||||
|
||||
# Configuration Keycloak OIDC — base commune
|
||||
quarkus.oidc.application-type=service
|
||||
quarkus.oidc.roles.role-claim-path=realm_access/roles
|
||||
|
||||
# Keycloak Policy Enforcer (PERMISSIVE — sécurité gérée par @RolesAllowed)
|
||||
quarkus.keycloak.policy-enforcer.enable=false
|
||||
quarkus.keycloak.policy-enforcer.lazy-load-paths=true
|
||||
quarkus.keycloak.policy-enforcer.enforcement-mode=PERMISSIVE
|
||||
|
||||
# Configuration OpenAPI
|
||||
quarkus.smallrye-openapi.info-title=UnionFlow Server API
|
||||
quarkus.smallrye-openapi.info-version=1.0.0
|
||||
quarkus.smallrye-openapi.info-description=API REST pour la gestion d'union avec authentification Keycloak
|
||||
quarkus.smallrye-openapi.security-scheme=oidc
|
||||
quarkus.smallrye-openapi.security-scheme-name=Keycloak
|
||||
quarkus.smallrye-openapi.security-scheme-description=Authentification Bearer JWT via Keycloak
|
||||
|
||||
# Swagger UI
|
||||
quarkus.swagger-ui.always-include=true
|
||||
quarkus.swagger-ui.path=/swagger-ui
|
||||
quarkus.swagger-ui.doc-expansion=list
|
||||
quarkus.swagger-ui.filter=true
|
||||
quarkus.swagger-ui.deep-linking=true
|
||||
quarkus.swagger-ui.operations-sorter=alpha
|
||||
quarkus.swagger-ui.tags-sorter=alpha
|
||||
|
||||
# Health
|
||||
quarkus.smallrye-health.root-path=/health
|
||||
|
||||
# Logging — base commune
|
||||
quarkus.log.console.enable=true
|
||||
quarkus.log.console.level=INFO
|
||||
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{2.}] (%t) %s%e%n
|
||||
quarkus.log.category."dev.lions.unionflow".level=INFO
|
||||
quarkus.log.category."org.hibernate".level=WARN
|
||||
quarkus.log.category."io.quarkus".level=INFO
|
||||
|
||||
# Arc / MapStruct
|
||||
quarkus.arc.remove-unused-beans=false
|
||||
quarkus.arc.unremovable-types=dev.lions.unionflow.server.mapper.**
|
||||
|
||||
# Jandex
|
||||
quarkus.index-dependency.unionflow-server-api.group-id=dev.lions.unionflow
|
||||
quarkus.index-dependency.unionflow-server-api.artifact-id=unionflow-server-api
|
||||
|
||||
# REST Client lions-user-manager
|
||||
quarkus.rest-client.lions-user-manager-api.url=${LIONS_USER_MANAGER_URL:http://localhost:8081}
|
||||
|
||||
# Wave Money — Checkout API (https://docs.wave.com/checkout)
|
||||
# Test : WAVE_API_KEY vide ou absent + wave.mock.enabled=true pour mocker Wave
|
||||
wave.api.key=${WAVE_API_KEY: }
|
||||
wave.api.secret=${WAVE_API_SECRET: }
|
||||
wave.api.base.url=${WAVE_API_BASE_URL:https://api.wave.com/v1}
|
||||
wave.environment=${WAVE_ENVIRONMENT:sandbox}
|
||||
wave.webhook.secret=${WAVE_WEBHOOK_SECRET: }
|
||||
# URLs de redirection (https en prod). Défaut dev: http://localhost:8080
|
||||
wave.redirect.base.url=${WAVE_REDIRECT_BASE_URL:http://localhost:8080}
|
||||
# Mock Wave (tests) : true = pas d'appel API, validation simulée. Si api.key vide, mock auto.
|
||||
wave.mock.enabled=${WAVE_MOCK_ENABLED:false}
|
||||
# Schéma deep link pour le retour vers l'app mobile (ex: unionflow)
|
||||
wave.deep.link.scheme=${WAVE_DEEP_LINK_SCHEME:unionflow}
|
||||
|
||||
# ============================================================================
|
||||
# Kafka Event Streaming Configuration
|
||||
# ============================================================================
|
||||
|
||||
# Kafka Bootstrap Servers
|
||||
kafka.bootstrap.servers=${KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
|
||||
|
||||
# Producer Channels (Outgoing)
|
||||
mp.messaging.outgoing.finance-approvals-out.connector=smallrye-kafka
|
||||
mp.messaging.outgoing.finance-approvals-out.topic=unionflow.finance.approvals
|
||||
mp.messaging.outgoing.finance-approvals-out.value.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
mp.messaging.outgoing.finance-approvals-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
|
||||
mp.messaging.outgoing.dashboard-stats-out.connector=smallrye-kafka
|
||||
mp.messaging.outgoing.dashboard-stats-out.topic=unionflow.dashboard.stats
|
||||
mp.messaging.outgoing.dashboard-stats-out.value.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
mp.messaging.outgoing.dashboard-stats-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
|
||||
mp.messaging.outgoing.notifications-out.connector=smallrye-kafka
|
||||
mp.messaging.outgoing.notifications-out.topic=unionflow.notifications.user
|
||||
mp.messaging.outgoing.notifications-out.value.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
mp.messaging.outgoing.notifications-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
|
||||
mp.messaging.outgoing.members-events-out.connector=smallrye-kafka
|
||||
mp.messaging.outgoing.members-events-out.topic=unionflow.members.events
|
||||
mp.messaging.outgoing.members-events-out.value.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
mp.messaging.outgoing.members-events-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
|
||||
mp.messaging.outgoing.contributions-events-out.connector=smallrye-kafka
|
||||
mp.messaging.outgoing.contributions-events-out.topic=unionflow.contributions.events
|
||||
mp.messaging.outgoing.contributions-events-out.value.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
mp.messaging.outgoing.contributions-events-out.key.serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
|
||||
# Consumer Channels (Incoming)
|
||||
mp.messaging.incoming.finance-approvals-in.connector=smallrye-kafka
|
||||
mp.messaging.incoming.finance-approvals-in.topic=unionflow.finance.approvals
|
||||
mp.messaging.incoming.finance-approvals-in.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.finance-approvals-in.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.finance-approvals-in.group.id=unionflow-websocket-server
|
||||
|
||||
mp.messaging.incoming.dashboard-stats-in.connector=smallrye-kafka
|
||||
mp.messaging.incoming.dashboard-stats-in.topic=unionflow.dashboard.stats
|
||||
mp.messaging.incoming.dashboard-stats-in.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.dashboard-stats-in.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.dashboard-stats-in.group.id=unionflow-websocket-server
|
||||
|
||||
mp.messaging.incoming.notifications-in.connector=smallrye-kafka
|
||||
mp.messaging.incoming.notifications-in.topic=unionflow.notifications.user
|
||||
mp.messaging.incoming.notifications-in.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.notifications-in.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.notifications-in.group.id=unionflow-websocket-server
|
||||
|
||||
mp.messaging.incoming.members-events-in.connector=smallrye-kafka
|
||||
mp.messaging.incoming.members-events-in.topic=unionflow.members.events
|
||||
mp.messaging.incoming.members-events-in.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.members-events-in.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.members-events-in.group.id=unionflow-websocket-server
|
||||
|
||||
mp.messaging.incoming.contributions-events-in.connector=smallrye-kafka
|
||||
mp.messaging.incoming.contributions-events-in.topic=unionflow.contributions.events
|
||||
mp.messaging.incoming.contributions-events-in.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.contributions-events-in.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
|
||||
mp.messaging.incoming.contributions-events-in.group.id=unionflow-websocket-server
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user