Compare commits
No commits in common. "9899e2648b187f060b75009897ac933cdf379f68" and "047433fe60d3bd3865d55a6163f55ff3fa25e2b5" have entirely different histories.
9899e2648b
...
047433fe60
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||||
|
|||||||
@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user