Refactor admin component and update application properties for production setup

Gradle _jambotron_build
aplication.properties for dev and prod
This commit is contained in:
liosha84
2025-07-30 01:27:11 +03:00
parent 90b2eaa036
commit 4e030b2a52
118 changed files with 254 additions and 3488 deletions
+1
View File
@@ -14,6 +14,7 @@ services:
- certs:/certs
# env_file: "webapp.env"
environment:
SSL_ENABLED: "true"
SERVER_PORT: 443
FULLCHAINPEM: /certs/live/jambotron.run.place/fullchain.pem
PRIVKEYPEM: /certs/live/jambotron.run.place/privkey.pem
@@ -31,7 +31,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
//@CrossOrigin(origins = "*", maxAge = 3600)
@CrossOrigin(origins = "*", maxAge = 3600)
//@CrossOrigin(origins = "http://localhost:4200,https://a576-5-248-149-207.ngrok-free.app, https://pony-sincere-chimp.ngrok-free.app", maxAge = 3600, allowCredentials="true")
@RestController
@RequestMapping("/api/auth")
@@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@CrossOrigin(origins = "${app.origin}", maxAge = 3600, allowCredentials="true")
@RestController
@RequestMapping("/api")
public class RolesController {
@@ -1,6 +1,5 @@
package com.jambotronGroup.jambotron.controllers;
import com.jambotronGroup.jambotron.model.Tutorial;
import com.jambotronGroup.jambotron.model.User;
import com.jambotronGroup.jambotron.repository.UserRepository;
@@ -8,10 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@CrossOrigin(origins = "${app.origin}", maxAge = 3600, allowCredentials="true")
@RestController
@RequestMapping("/api")
public class UsersController {
@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
@@ -35,6 +36,10 @@ import static org.springframework.security.config.Customizer.withDefaults;
//prePostEnabled = true)
@ComponentScan("com.jambotronGroup.jambotron.security")
public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecurityConfigurerAdapter {
@Autowired
private Environment _environment;
@Autowired
UserDetailsServiceImpl userDetailsService;
@@ -78,35 +83,7 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
return new BCryptPasswordEncoder();
}
// @Override
// protected void configure(HttpSecurity http) throws Exception {
// http
// .csrf()
// .disable()
// .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
// .authorizeRequests()
//
//
// // //Доступ только для пользователей с ролью Администратор
// //.antMatchers("/api/users").hasRole("ADMIN")
// // .antMatchers("/news").hasRole("USER")
// //Доступ разрешен всем пользователей
// .antMatchers("/*", "/home", "/resources/**").permitAll()
// .antMatchers("/api/auth/**").permitAll()
// .antMatchers("/api/tutorials").permitAll()
// .antMatchers("/api/tutorials/**").permitAll()
// //.antMatchers("/api/test/**").permitAll()
// //Все остальные страницы требуют аутентификации
// .anyRequest().authenticated()
// .and()
// .sessionManagement()
// .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
// .and()
// .addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
//
//
// //http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
// }
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
@@ -126,8 +103,6 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
//TODO: need check the puth
.requestMatchers("/api/public/zhipuai/image/**").permitAll()
// need for cerbot why i don't know
.requestMatchers("/.well-known/acme-challenge/**").permitAll()
// Access permitted for specific roles
.requestMatchers("/api/user/**").hasRole("USER")
@@ -167,7 +142,20 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
*/
).redirectToHttps(withDefaults());
);
/* if(_environment.getProperty("app.cors_enabled") != null &&
_environment.getProperty("app.cors_enabled").equalsIgnoreCase("true")) {
http.cors(withDefaults());
} else {
http.cors(cors -> cors.disable());
}*/
if(_environment.getProperty("server.port") != null &&
_environment.getProperty("server.port").equalsIgnoreCase("443")) {
http.redirectToHttps(withDefaults());
}
http.authenticationProvider(authenticationProvider());
@@ -176,77 +164,18 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
return http.build();
}
/*@Bean
/* @Bean
public CorsFilter corsFilter() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowCredentials(true); // Allow credentials
corsConfiguration.addAllowedOrigin("http://localhost:4200/");
corsConfiguration.addAllowedHeader("*"); // Allow all headers
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
// config.setAllowCredentials(true);
// config.addAllowedOrigin("http://localhost:4200");
// config.addAllowedHeader("*");
// config.addAllowedMethod("*");
// source.registerCorsConfiguration("/**", config);
//
// config = new CorsConfiguration();
// config.setAllowCredentials(true);
// config.addAllowedOrigin("http://213.111.120.199");
// config.addAllowedHeader("*");
// config.addAllowedMethod("*");
// source.registerCorsConfiguration("/**", config);
// config = new CorsConfiguration();
// config.setAllowCredentials(false);
// config.addAllowedOrigin("http://www.jambotron.run.place");
// config.addAllowedHeader("*");
// config.addAllowedMethod("*");
// source.registerCorsConfiguration("/**", config);
config = new CorsConfiguration();
config.setAllowCredentials(false);
config.addAllowedOrigin("http://www.jambotron.run.place");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/api/user/**", config);
source.registerCorsConfiguration("/**", corsConfiguration); // Apply to all endpoints
return new CorsFilter(source);
}*/
/* public UrlBasedCorsConfigurationSource corsCongigSource() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
// config.setAllowCredentials(true);
// config.addAllowedOrigin("http://localhost:4200");
// config.addAllowedHeader("*");
// config.addAllowedMethod("*");
// source.registerCorsConfiguration("/**", config);
//
// config = new CorsConfiguration();
// config.setAllowCredentials(true);
// config.addAllowedOrigin("http://213.111.120.199");
// config.addAllowedHeader("*");
// config.addAllowedMethod("*");
// source.registerCorsConfiguration("/**", config);
// config = new CorsConfiguration();
// config.setAllowCredentials(false);
// config.addAllowedOrigin("http://www.jambotron.run.place");
// config.addAllowedHeader("*");
// config.addAllowedMethod("*");
// source.registerCorsConfiguration("/**", config);
config = new CorsConfiguration();
config.setAllowCredentials(false);
config.addAllowedOrigin("http://localhost:4200, http://www.jambotron.run.place");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/api/user/**", config);
return source;
}*/
/* @Bean
public WebSecurityCustomizer webSecurityCustomizer() {
return (web) -> web.ignoring().requestMatchers("/images/**", "/js/**", "/webjars/**");
}*/
}
@@ -0,0 +1,36 @@
spring.config.import=classpath:/yml_properties/application_development.yml
spring.application.name=jambotron
server.port=8082
#============Localhost Configurations========================
spring.datasource.url= jdbc:postgresql://localhost:5432/jambotronDB
spring.datasource.username= admin
spring.datasource.password= postgrespw
spring.flyway.baseline-on-migrate=true
spring.flyway.validate-on-migrate=true
spring.flyway.url=jdbc:postgresql://localhost:5432/jambotronDB
spring.flyway.user=admin
spring.flyway.password=postgrespw
#============jpa=====================
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
# Hibernate ddl auto (create, create-drop, validate, update)
#spring.jpa.hibernate.ddl-auto= update
spring.jpa.show-sql=true
#=============Zhipuai Configurations========================
spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/v4/images/generations
spring.ai.zhipuai.api-key = 628447c8c65845a48a7226391464a2ea.Dw8ci6TiW0BRF5LI
#============ Custom App Properties
app.jwtSecret= ======================spring=back====================
app.jwtExpirationMs= 800000
app.jwtCookieName=springangularts
@@ -0,0 +1,58 @@
spring.config.import=classpath:/yml_properties/application_production.yml
spring.application.name=jambotron
server.port=443
#============Localhost Configurations========================
spring.datasource.url= jdbc:postgresql://localhost:5432/jambotronDB
spring.datasource.username= admin
spring.datasource.password= postgrespw
spring.flyway.baseline-on-migrate=true
spring.flyway.validate-on-migrate=true
spring.flyway.url=jdbc:postgresql://localhost:5432/jambotronDB
spring.flyway.user=admin
spring.flyway.password=postgrespw
#============Koyeb Configurations========================
#spring.datasource.url= jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
#spring.datasource.username= koyeb-adm
#spring.datasource.password= npg_HfFEUA7bay1i
#
#spring.flyway.baseline-on-migrate=true
#spring.flyway.validate-on-migrate=true
#
#spring.flyway.url=jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
#spring.flyway.user=koyeb-adm
#spring.flyway.password=npg_HfFEUA7bay1i
#
#spring.datasource.url=${SPRING_DATASOURCE_URL}
#spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
#spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
##============jpa=====================
#spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
# Hibernate ddl auto (create, create-drop, validate, update)
#spring.jpa.hibernate.ddl-auto= update
spring.jpa.show-sql=true
#==================Custom App Properties=====================
app.jwtSecret= ======================spring=back====================
app.jwtExpirationMs= 800000
app.jwtCookieName=springangularts
#=============Zhipuai Configurations========================
spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/v4/images/generations
spring.ai.zhipuai.api-key = 628447c8c65845a48a7226391464a2ea.Dw8ci6TiW0BRF5LI
+1 -71
View File
@@ -1,72 +1,2 @@
spring.application.name=jambotron
spring.profiles.active=prod
server.port=443
#============Localhost Configurations========================
spring.datasource.url= jdbc:postgresql://localhost:5432/jambotronDB
spring.datasource.username= admin
spring.datasource.password= postgrespw
spring.flyway.baseline-on-migrate=true
spring.flyway.validate-on-migrate=true
spring.flyway.url=jdbc:postgresql://localhost:5432/jambotronDB
spring.flyway.user=admin
spring.flyway.password=postgrespw
#============Koyeb Configurations========================
#spring.datasource.url= jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
#spring.datasource.username= koyeb-adm
#spring.datasource.password= npg_HfFEUA7bay1i
#
#spring.flyway.baseline-on-migrate=true
#spring.flyway.validate-on-migrate=true
#
#spring.flyway.url=jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
#spring.flyway.user=koyeb-adm
#spring.flyway.password=npg_HfFEUA7bay1i
#
#spring.datasource.url=${SPRING_DATASOURCE_URL}
#spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
#spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
#spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
# Hibernate ddl auto (create, create-drop, validate, update)
#spring.jpa.hibernate.ddl-auto= update
spring.jpa.show-sql=true
# App Properties
app.jwtSecret= ======================spring=back====================
app.jwtExpirationMs= 800000
app.jwtCookieName=springangularts
app.origin=http://localhost:4200
spring.mvc.throw-exception-if-no-handler-found=true
#spring.mvc.dispatch-options-request=true
# Disable the default mappings
#spring.resources.add-mappings=false
# UI(index.html) location
#spring.resources.static-locations=classpath:/public/browser/
#
#spring.resources.cache.period=31557600s # 1 year if you want
#spa.default-file=classpath:/public/browser/index.html
#
spring.docker.compose.file=../Docker/docker-compose.yml
spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/v4/images/generations
spring.ai.zhipuai.api-key = 628447c8c65845a48a7226391464a2ea.Dw8ci6TiW0BRF5LI
-71
View File
@@ -1,71 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIG1TCCBL2gAwIBAgIQbFWr29AHksedBwzYEZ7WvzANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjAw
MTMwMDAwMDAwWhcNMzAwMTI5MjM1OTU5WjBLMQswCQYDVQQGEwJBVDEQMA4GA1UE
ChMHWmVyb1NTTDEqMCgGA1UEAxMhWmVyb1NTTCBSU0EgRG9tYWluIFNlY3VyZSBT
aXRlIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhmlzfqO1Mdgj
4W3dpBPTVBX1AuvcAyG1fl0dUnw/MeueCWzRWTheZ35LVo91kLI3DDVaZKW+TBAs
JBjEbYmMwcWSTWYCg5334SF0+ctDAsFxsX+rTDh9kSrG/4mp6OShubLaEIUJiZo4
t873TuSd0Wj5DWt3DtpAG8T35l/v+xrN8ub8PSSoX5Vkgw+jWf4KQtNvUFLDq8mF
WhUnPL6jHAADXpvs4lTNYwOtx9yQtbpxwSt7QJY1+ICrmRJB6BuKRt/jfDJF9Jsc
RQVlHIxQdKAJl7oaVnXgDkqtk2qddd3kCDXd74gv813G91z7CjsGyJ93oJIlNS3U
gFbD6V54JMgZ3rSmotYbz98oZxX7MKbtCm1aJ/q+hTv2YK1yMxrnfcieKmOYBbFD
hnW5O6RMA703dBK92j6XRN2EttLkQuujZgy+jXRKtaWMIlkNkWJmOiHmErQngHvt
iNkIcjJumq1ddFX4iaTI40a6zgvIBtxFeDs2RfcaH73er7ctNUUqgQT5rFgJhMmF
x76rQgB5OZUkodb5k2ex7P+Gu4J86bS15094UuYcV09hVeknmTh5Ex9CBKipLS2W
2wKBakf+aVYnNCU6S0nASqt2xrZpGC1v7v6DhuepyyJtn3qSV2PoBiU5Sql+aARp
wUibQMGm44gjyNDqDlVp+ShLQlUH9x8CAwEAAaOCAXUwggFxMB8GA1UdIwQYMBaA
FFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBTI2XhootkZaNU9ct5fCj7c
tYaGpjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwIgYDVR0gBBswGTANBgsrBgEEAbIxAQIC
TjAIBgZngQwBAgEwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2VydHJ1
c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYG
CCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3Qu
Y29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRw
Oi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEBDAUAA4ICAQAVDwoIzQDV
ercT0eYqZjBNJ8VNWwVFlQOtZERqn5iWnEVaLZZdzxlbvz2Fx0ExUNuUEgYkIVM4
YocKkCQ7hO5noicoq/DrEYH5IuNcuW1I8JJZ9DLuB1fYvIHlZ2JG46iNbVKA3ygA
Ez86RvDQlt2C494qqPVItRjrz9YlJEGT0DrttyApq0YLFDzf+Z1pkMhh7c+7fXeJ
qmIhfJpduKc8HEQkYQQShen426S3H0JrIAbKcBCiyYFuOhfyvuwVCFDfFvrjADjd
4jX1uQXd161IyFRbm89s2Oj5oU1wDYz5sx+hoCuh6lSs+/uPuWomIq3y1GDFNafW
+LsHBU16lQo5Q2yh25laQsKRgyPmMpHJ98edm6y2sHUabASmRHxvGiuwwE25aDU0
2SAeepyImJ2CzB80YG7WxlynHqNhpE7xfC7PzQlLgmfEHdU+tHFeQazRQnrFkW2W
kqRGIq7cKRnyypvjPMkjeiV9lRdAM9fSJvsB3svUuu1coIG1xxI1yegoGM4r5QP4
RGIVvYaiI76C0djoSbQ/dkIUUXQuB8AL5jyH34g3BZaaXyvpmnV4ilppMXVAnAYG
ON51WhJ6W0xNdNJwzYASZYH+tmCWI+N60Gv2NNMGHwMZ7e9bXgzUCZH5FaBFDGR5
S9VWqHB73Q+OyIVvIbKYcSc2w/aSuFKGSA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
vGp4z7h/jnZymQyd/teRCBaho1+V
-----END CERTIFICATE-----
@@ -1,38 +0,0 @@
-----BEGIN CERTIFICATE-----
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
DA==
-----END CERTIFICATE-----
@@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA2J6xGUz1qlxnQseQcPdegt3h+ZFhxqSEBYcAjsCeyzMLWcn9
ljUgYPv7Sazq8xlIeuxmOIlwg6rWNfRVuf0Pyas7/FG0DinUFGbmVqUQjAufB/N8
5y7z2RZzB6AUD21AE871pFpSEkLH39zfRvjoh0kx/G4sOYFp8N3avUOQyzi8F6S5
yHAwzf8BIA10lFInZU+3fBc97Ba3uPCE2IZs5e8E4YtGKAiQC64IVENMyHZH2NaG
FWg8e4wr8VpKSMdTf6OhhaLYuQAHQuIzYi0yV5LcqNTm38U2I0vG8jddMVvE+xf+
2S+cVydb3G4EJAaly2S0IRSH8tlYhJrtJJXLKQIDAQABAoIBAGcgJW/GE65nD0Hb
gAhHu9bRiyMk80d+StvWyY0sZmyWgHDemLtJz4BcdeU9TR0ujDL5GDESPV5xlklZ
aPaCY2G/A2+79dxITY7o7f+R1a7WWX+Pi4cD81MGPP0EWIh/mmHTxV3ZIflPkZgh
rqo7FXhSgFmMmcFGuwjQlbJE2EnmeCV1X8TmVbgekRm4BQ357lLvn8YdMRqua61o
Z8CAMG6WP87T/1p9AGtVdXm2ZhI/nbcu0kcguOG3lMbDAW+sZEMVgBc8vJHRChl6
5ab/ePUTMekHPrYH8A+dFFc4pW99xJshQSqZBvFMWqjUfwH6OIXUjpwE1P8p3/7Y
XBLBbgECgYEA94vCQ51zKqXnSnwoAXkK480PwZQV5MEBK+GXQA3tha6lveDyQFnY
NH/NS9bWqEYCw8T0gkaV8j1d0FHwA8rn3lEICnJuY2PZiCU8t5O8n/8ITC1y9wqg
5zIivFzfjtv+Deb4JacBeOCk1W5vkI0RhsEnIrNmhlEatW593MfY/70CgYEA4ASN
nEllTl/aMqI+/nqY86tvEY9Ik0L7PNf4u+wj7FiTujnv0KYL5yl/1+9Hn3MtBIwI
y/bWfa95RESiqMzKjTYCwHSkaSKgXBvEeSpLjO0NhsxO9/6SiQm7yEAqaOq9H6Ms
e10GnChet+Fl1mRWk+FvjNQuySXS3IQwzERW6d0CgYA0l/j6LKWfVghCBwbo6TKr
G5JRaokMRQVesVtVPKBOWsDUCsrtaSlKXizcBBUvQ1CrD1lzpFOPWAJqlD4OUDnb
PhQbRBy3+Srqhh7UUgstYx38MVvPqO5usHQ42PKWg58CjSQDu+vQJspenkwNxisH
GlqaQMtzlh+6lHMhSUSNcQKBgQCUAe4eKFAKrEHZ2mCMeiu8MrQ7gdONmF+uH3Nz
ld1WNl/EVqsfy9VpcX3KCYnky5AexPa66+djOyB//mkJ5eSdz+WZindmDz6sHJx/
AXbRMX4SZcJ3D3d5mzi6YcqjbxRtZr3o89l+Kx4Jl55VPA4HvpaZEUeoFpluoNgs
3aoe8QKBgCDlA0WEIlq4Idw1zFJzv+2rvJPb9fG77TGfDNGnTbx0/jDFN/L3e9A2
71Je1hnhqpxKZS23gzD7SmU6fJdO1j6+qZs8FZewQmnMoPk3He9JSzrJtglWGF8Q
VLyuaylgRI7bv904DVmdwzlnLBPcG6SdHwqc3ufBeeeFbAI3KdFJ
-----END RSA PRIVATE KEY-----
@@ -1 +0,0 @@
{"kty":"RSA","e":"AQAB","kid":"jambotron.run.place (zerossl rsa domain secure site ca)","n":"2J6xGUz1qlxnQseQcPdegt3h-ZFhxqSEBYcAjsCeyzMLWcn9ljUgYPv7Sazq8xlIeuxmOIlwg6rWNfRVuf0Pyas7_FG0DinUFGbmVqUQjAufB_N85y7z2RZzB6AUD21AE871pFpSEkLH39zfRvjoh0kx_G4sOYFp8N3avUOQyzi8F6S5yHAwzf8BIA10lFInZU-3fBc97Ba3uPCE2IZs5e8E4YtGKAiQC64IVENMyHZH2NaGFWg8e4wr8VpKSMdTf6OhhaLYuQAHQuIzYi0yV5LcqNTm38U2I0vG8jddMVvE-xf-2S-cVydb3G4EJAaly2S0IRSH8tlYhJrtJJXLKQ"}
@@ -1,9 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2J6xGUz1qlxnQseQcPde
gt3h+ZFhxqSEBYcAjsCeyzMLWcn9ljUgYPv7Sazq8xlIeuxmOIlwg6rWNfRVuf0P
yas7/FG0DinUFGbmVqUQjAufB/N85y7z2RZzB6AUD21AE871pFpSEkLH39zfRvjo
h0kx/G4sOYFp8N3avUOQyzi8F6S5yHAwzf8BIA10lFInZU+3fBc97Ba3uPCE2IZs
5e8E4YtGKAiQC64IVENMyHZH2NaGFWg8e4wr8VpKSMdTf6OhhaLYuQAHQuIzYi0y
V5LcqNTm38U2I0vG8jddMVvE+xf+2S+cVydb3G4EJAaly2S0IRSH8tlYhJrtJJXL
KQIDAQAB
-----END PUBLIC KEY-----
@@ -11,9 +11,3 @@ logging:
max-size: 10MB
max-history: 30
server:
ssl:
enabled: true
certificate: ${FULLCHAINPEM}
certificate-private-key: ${PRIVKEYPEM}
# port: ${SERVER_PORT:443} # Default to 443 if SERVER_PORT is not set
@@ -0,0 +1,19 @@
logging:
level:
root: INFO
com.jambotronGroup.jambotron: DEBUG
org.springframework: WARN
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} %-5level - %msg%n"
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
file:
name: logs/application.log
max-size: 10MB
max-history: 30
server:
ssl:
enabled: ${SSL_ENABLED:false} # Default to true if SSL_ENABLED is not set
certificate: ${FULLCHAINPEM:""} # Default to empty string if FULLCHAINPEM is not set
certificate-private-key: ${PRIVKEYPEM:""} # Default to empty string if PRIVKEYPEM is not set
# port: ${SERVER_PORT:443} # Default to 443 if SERVER_PORT is not set