Compare commits

..

No commits in common. "main" and "0.20.0" have entirely different histories.
main ... 0.20.0

4 changed files with 11 additions and 14 deletions

1
.gitignore vendored
View File

@ -6,7 +6,6 @@ build/
!gradle/wrapper/gradle-wrapper.jar !gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/ !**/src/main/**/build/
!**/src/test/**/build/ !**/src/test/**/build/
CFTunnels/
### STS ### ### STS ###
.apt_generated .apt_generated

View File

@ -1,7 +1,7 @@
plugins { plugins {
id 'java' id 'java'
id 'org.springframework.boot' version '3.4.5' id 'org.springframework.boot' version '3.4.5'
id 'io.spring.dependency-management' version '1.1.7' id 'io.spring.dependency-management' version '1.1.7'
} }
group = 'com.hithomelabs' group = 'com.hithomelabs'
@ -45,9 +45,9 @@ repositories {
dependencies { dependencies {
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.8.5' implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.8.5'
implementation group: 'org.springframework.boot', name:'spring-boot-starter-oauth2-client', version: '3.5.5' implementation group: 'org.springframework.boot', name:'spring-boot-starter-oauth2-client', version: '3.5.5'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok:1.18.30' compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30' annotationProcessor 'org.projectlombok:lombok:1.18.30'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test' testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher' testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
@ -59,4 +59,4 @@ dependencies {
tasks.named('test') { tasks.named('test') {
useJUnitPlatform() useJUnitPlatform()
} }

View File

@ -1,13 +1,11 @@
package com.hithomelabs.CFTunnels; package com.hithomelabs.CFTunnels;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/** /**
* Main Spring Boot application class for Cloudflare Tunnels API. * Main Spring Boot application class for Cloudflare Tunnels API.
* *
* <p>This application provides a RESTful API for managing Cloudflare Tunnels, * <p>This application provides a RESTful API for managing Cloudflare Tunnels,
* allowing users to create tunnel mappings to services with an approval workflow.</p> * allowing users to create tunnel mappings to services with an approval workflow.</p>
* *
* <p><b>Features:</b></p> * <p><b>Features:</b></p>
* <ul> * <ul>
* <li>Create, update, and delete Cloudflare tunnels</li> * <li>Create, update, and delete Cloudflare tunnels</li>
@ -15,7 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* <li>Request/approval workflow for mapping changes</li> * <li>Request/approval workflow for mapping changes</li>
* <li>OIDC-based authentication with role-based access</li> * <li>OIDC-based authentication with role-based access</li>
* </ul> * </ul>
* *
* <p><b>Technology Stack:</b></p> * <p><b>Technology Stack:</b></p>
* <ul> * <ul>
* <li>Java 17</li> * <li>Java 17</li>
@ -25,10 +23,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* <li>H2 Database (configurable for PostgreSQL)</li> * <li>H2 Database (configurable for PostgreSQL)</li>
* <li>Cloudflare API</li> * <li>Cloudflare API</li>
* </ul> * </ul>
* *
* <p>Access the API documentation at: * <p>Access the API documentation at:
* {@code /swagger-ui.html} for the Swagger/OpenAPI UI</p> * {@code /swagger-ui.html} for the Swagger/OpenAPI UI</p>
* *
* @see <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-negative">Cloudflare Tunnel Documentation</a> * @see <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-negative">Cloudflare Tunnel Documentation</a>
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -2,9 +2,9 @@ spring.application.name=CFTunnels
cloudflare.accountId=${CLOUDFLARE_ACCOUNT_ID} cloudflare.accountId=${CLOUDFLARE_ACCOUNT_ID}
cloudflare.apiKey=${CLOUDFLARE_API_KEY} cloudflare.apiKey=${CLOUDFLARE_API_KEY}
cloudflare.email=${CLOUDFLARE_EMAIL} cloudflare.email=${CLOUDFLARE_EMAIL}
spring.profiles.active=${ENV:default} spring.profiles.active=${ENV}
# Making sure app works behind a reverse proxy / * * Masking sure app works behind a reverse proxy
server.forward-headers-strategy=framework server.forward-headers-strategy=framework
spring.security.oauth2.client.registration.cftunnels.client-id=${OAUTH_CLIENT_ID} spring.security.oauth2.client.registration.cftunnels.client-id=${OAUTH_CLIENT_ID}