init: 클린 기반 auth 서버 설계

This commit is contained in:
DongHyeonka
2026-07-24 14:30:18 +09:00
parent 471db0203d
commit 8a1ac1e769
3642 changed files with 275893 additions and 1 deletions
@@ -0,0 +1,137 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - com.project.auth.config.logging.LoggingConfigurationSmokeTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<div class="breadcrumbs">
<a class="breadcrumb" href="../index.html">all</a> &gt;
<span class="breadcrumb">com.project.auth.config.logging.LoggingConfigurationSmokeTest</span>
</div>
<div class="tab-container">
<ul class="tabLinks">
<li>
<a class="successGroup" href="#">Gradle Test Run :bootstrap:test</a>
</li>
</ul>
<div class="tab">
<h2>Gradle Test Run :bootstrap:test</h2>
<h1>LoggingConfigurationSmokeTest</h1>
<div class="tab-container">
<ul class="tabLinks">
<li>
<a class="" href="#">summary</a>
</li>
</ul>
<div class="tab">
<h2>summary</h2>
<div>
<div class="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox">
<div class="counter">3</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox">
<div class="counter">0</div>
<p>skipped</p>
</div>
</td>
<td>
<div class="infoBox duration">
<div class="counter">0.083s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<table class="test-results">
<thead>
<tr>
<th>Child</th>
<th hidden="">Name</th>
<th>Tests</th>
<th>Failures</th>
<th>Skipped</th>
<th>Duration</th>
<th>Success rate</th>
</tr>
</thead>
<tr>
<td class="success">logbackRoutesStructuredConsoleForProdAndMakesAuditFileOptIn()</td>
<td class="path" hidden="">logbackRoutesStructuredConsoleForProdAndMakesAuditFileOptIn()</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.002s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">prodStructuredLogstashEncoderWritesMdcAndEventFieldsAsTopLevelJsonMembers()</td>
<td class="path" hidden="">prodStructuredLogstashEncoderWritesMdcAndEventFieldsAsTopLevelJsonMembers()</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.060s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract().html">profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()</a>
</td>
<td class="path" hidden="">profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.019s</td>
<td class="success">100%</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="https://www.gradle.org">Gradle 9.3.1</a> at May 12, 2026, 3:59:51PM</p>
</div>
</div>
</body>
</html>
@@ -0,0 +1,115 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<div class="breadcrumbs">
<a class="breadcrumb" href="../index.html">all</a> &gt;
<a class="breadcrumb" href="index.html">com.project.auth.config.logging.LoggingConfigurationSmokeTest</a> &gt;
<span class="breadcrumb">profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()</span>
</div>
<div class="tab-container">
<ul class="tabLinks">
<li>
<a class="successGroup" href="#">Gradle Test Run :bootstrap:test</a>
</li>
</ul>
<div class="tab">
<h2>Gradle Test Run :bootstrap:test</h2>
<h1>profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()</h1>
<div class="tab-container">
<ul class="tabLinks">
<li>
<a class="" href="#">summary</a>
</li>
<li>
<a class="" href="#">standard output</a>
</li>
</ul>
<div class="tab">
<h2>summary</h2>
<div>
<div class="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox">
<div class="counter">0</div>
<p>skipped</p>
</div>
</td>
<td>
<div class="infoBox duration">
<div class="counter">0.019s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="tab">
<h2>standard output</h2>
<span class="code">
<pre id="root-0-test-stdout-profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()">2026-05-12T15:59:50.019+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Loading from YAML: file [/home/donghyeon/dev/Project-Auth-Server/bootstrap/src/main/resources/application.yml]
2026-05-12T15:59:50.029+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Merging document (no matchers set): {spring={application={name=project-auth-server}, profiles={default=local}, flyway={enabled=false}, jpa={open-in-view=false, properties={hibernate={format_sql=true, default_schema=auth, jdbc={time_zone=UTC}}}}}, server={forward-headers-strategy=native, tomcat={remoteip={internal-proxies=${SERVER_TOMCAT_REMOTEIP_INTERNAL_PROXIES:10\.[0-9]+\.[0-9]+\.[0-9]+|192\.168\.[0-9]+\.[0-9]+|172\.(1[6-9]|2[0-9]|3[0-1])\.[0-9]+\.[0-9]+|127\.[0-9]+\.[0-9]+\.[0-9]+}}}}, app={docs={title=${APP_DOCS_TITLE:Project Auth Server API}, description=${APP_DOCS_DESCRIPTION:인증 서버의 OpenAPI 문서입니다.}, version=${APP_DOCS_VERSION:v1}}, logging={audit={file=${APP_LOGGING_AUDIT_FILE:./logs/audit/auth.log}, max-history=${APP_LOGGING_AUDIT_MAX_HISTORY:30}, max-file-size=${APP_LOGGING_AUDIT_MAX_FILE_SIZE:50MB}, total-size-cap=${APP_LOGGING_AUDIT_TOTAL_SIZE_CAP:2GB}}, access={excluded-path-prefixes=[/actuator, /livez, /readyz, /swagger-ui, /v3/api-docs, /favicon.ico]}}, persistence={migration={location=${APP_PERSISTENCE_MIGRATION_LOCATION:classpath:db/migration}, schema=${APP_PERSISTENCE_MIGRATION_SCHEMA:auth}}}}, springdoc={swagger-ui={path=/swagger-ui.html}}, management={endpoints={web={exposure={include=health}}}, endpoint={health={show-details=never, probes={enabled=true, add-additional-paths=true}}}}}
2026-05-12T15:59:50.030+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Loaded 1 document from YAML resource: file [/home/donghyeon/dev/Project-Auth-Server/bootstrap/src/main/resources/application.yml]
2026-05-12T15:59:50.031+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Loading from YAML: file [/home/donghyeon/dev/Project-Auth-Server/bootstrap/src/main/resources/application-prod.yml]
2026-05-12T15:59:50.032+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Merging document (no matchers set): {spring={config={activate={on-profile=prod}}, datasource={url=${APP_DATASOURCE_URL}, username=${APP_DATASOURCE_USERNAME}, password=${APP_DATASOURCE_PASSWORD}, driver-class-name=org.postgresql.Driver}, jpa={hibernate={ddl-auto=validate}}, security={oauth2={resourceserver={jwt={issuer-uri=${APP_SECURITY_KEYCLOAK_ISSUER_URI}}}}}}, logging={structured={format={console=logstash}}}}
2026-05-12T15:59:50.032+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Loaded 1 document from YAML resource: file [/home/donghyeon/dev/Project-Auth-Server/bootstrap/src/main/resources/application-prod.yml]
2026-05-12T15:59:50.033+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Loading from YAML: file [/home/donghyeon/dev/Project-Auth-Server/bootstrap/src/main/resources/application-dev.yml]
2026-05-12T15:59:50.035+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Merging document (no matchers set): {spring={config={activate={on-profile=dev}}, datasource={url=${APP_DATASOURCE_URL}, username=${APP_DATASOURCE_USERNAME}, password=${APP_DATASOURCE_PASSWORD}, driver-class-name=org.postgresql.Driver}, jpa={hibernate={ddl-auto=validate}}, security={oauth2={resourceserver={jwt={issuer-uri=${APP_SECURITY_KEYCLOAK_ISSUER_URI}}}}}}, management={endpoints={web={exposure={include=health,info,loggers,httpexchanges}}}, endpoint={health={show-details=when-authorized}}, server={address=127.0.0.1, port=${MANAGEMENT_SERVER_PORT:9090}}}}
2026-05-12T15:59:50.035+09:00 DEBUG 3742337 --- [ Test worker] [traceId=] o.s.boot.env.OriginTrackedYamlLoader : Loaded 1 document from YAML resource: file [/home/donghyeon/dev/Project-Auth-Server/bootstrap/src/main/resources/application-dev.yml]
</pre>
<button class="clipboard-copy-btn" aria-label="Copy to clipboard" data-copy-element-id="root-0-test-stdout-profileYamlLocksStructuredLoggingProxyTrustAndDevActuatorContract()">Copy</button>
</span>
</div>
</div>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="https://www.gradle.org">Gradle 9.3.1</a> at May 12, 2026, 3:59:51PM</p>
</div>
</div>
</body>
</html>