- JwtServiceImpl: HMAC-SHA256 via Nimbus JOSE+JWT with ephemeral 256-bit secret - Ed25519SigningServiceImpl: JDK 17 KeyPairGenerator with ephemeral keypair - BootstrapTokenValidator: constant-time comparison with dual-token rotation - SecurityBeanConfig: bean wiring with fail-fast validation for CAMELEER_AUTH_TOKEN - SecurityProperties: config binding for token expiry and bootstrap tokens - TestSecurityConfig: permit-all filter chain to keep existing tests green - application.yml: security config with env var mapping - All 18 security unit tests pass, all 71 tests pass in full verify Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
56 lines
1.1 KiB
YAML
56 lines
1.1 KiB
YAML
server:
|
|
port: 8081
|
|
|
|
spring:
|
|
datasource:
|
|
url: jdbc:ch://localhost:8123/cameleer3
|
|
username: cameleer
|
|
password: cameleer_dev
|
|
driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
|
|
mvc:
|
|
async:
|
|
request-timeout: -1
|
|
jackson:
|
|
serialization:
|
|
write-dates-as-timestamps: false
|
|
deserialization:
|
|
fail-on-unknown-properties: false
|
|
|
|
agent-registry:
|
|
heartbeat-interval-ms: 30000
|
|
stale-threshold-ms: 90000
|
|
dead-threshold-ms: 300000
|
|
ping-interval-ms: 15000
|
|
command-expiry-ms: 60000
|
|
lifecycle-check-interval-ms: 10000
|
|
|
|
ingestion:
|
|
buffer-capacity: 50000
|
|
batch-size: 5000
|
|
flush-interval-ms: 1000
|
|
|
|
clickhouse:
|
|
ttl-days: 30
|
|
|
|
security:
|
|
access-token-expiry-ms: 3600000
|
|
refresh-token-expiry-ms: 604800000
|
|
bootstrap-token: ${CAMELEER_AUTH_TOKEN:}
|
|
bootstrap-token-previous: ${CAMELEER_AUTH_TOKEN_PREVIOUS:}
|
|
|
|
springdoc:
|
|
api-docs:
|
|
path: /api/v1/api-docs
|
|
swagger-ui:
|
|
path: /api/v1/swagger-ui
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
base-path: /api/v1
|
|
exposure:
|
|
include: health
|
|
endpoint:
|
|
health:
|
|
show-details: always
|