-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a script for live-reloading the app for local development
It is not real live-reloading since the build and config updates are still required. The `docker-reload.sh` simple handles everything for you with significantly reduced overhead.
- Loading branch information
Showing
4 changed files
with
160 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
|
||
# Rebuild locally and replace the WAR | ||
./gradlew clean build | ||
docker cp ./build/libs/cas.war cas:/cas-overlay | ||
|
||
# Sync configuration files | ||
docker exec -d cas sh -c "rm -rf /etc/cas/config/*" | ||
docker cp ./etc/cas/config/local/cas-local.properties cas:/etc/cas/config/cas.properties | ||
docker cp ./etc/cas/config/local/log4j2-local.xml cas:/etc/cas/config/log4j2.xml | ||
|
||
# Sync JSON registered service files | ||
docker exec -d cas sh -c "rm -rf /etc/cas/services/*" | ||
docker cp ./etc/cas/services/local/. cas:/etc/cas/services | ||
|
||
# Restart the container | ||
docker restart cas | ||
docker logs -f --tail 0 cas |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<!-- Specify the refresh internal in seconds. --> | ||
<Configuration monitorInterval="5" packages="org.apereo.cas.logging"> | ||
<Properties> | ||
<Property name="baseDir">/var/log</Property> | ||
<!-- OSF CAS logging level --> | ||
<Property name="cas.log.level">debug</Property> | ||
<!-- Apache logging levels --> | ||
<Property name="apache.log.level">info</Property> | ||
<Property name="apache.http.log.level">warn</Property> | ||
<!-- Apereo and Jasig logging levels --> | ||
<Property name="apereo.log.level">info</Property> | ||
<Property name="apereo.cas.log.level">debug</Property> | ||
<Property name="apereo.service.log.level">warn</Property> | ||
<Property name="apereo.inspektr.log.level">info</Property> | ||
<!-- Spring framework logging levels --> | ||
<Property name="spring.boot.admin.log.level">warn</Property> | ||
<Property name="spring.boot.log.level">info</Property> | ||
<Property name="spring.cloud.log.level">warn</Property> | ||
<Property name="spring.security.log.level">info</Property> | ||
<Property name="spring.web.log.level">debug</Property> | ||
<Property name="spring.webflow.log.level">debug</Property> | ||
<!-- Logging levels for 6.2.x packages that are explicitly used by OSF CAS --> | ||
<Property name="thymeleaf.log.level">info</Property> | ||
<Property name="pac4j.log.level">info</Property> | ||
<!-- Logging levels for new packages that are added by OSF CAS --> | ||
<Property name="hibernate.log.level">warn</Property> | ||
<Property name="scribejava.log.level">warn</Property> | ||
<Property name="google.gson.log.level">warn</Property> | ||
<!-- Generic logging levels for 6.2.x packages that are not explicitly used by OSF CAS --> | ||
<Property name="generic.off.log.level">off</Property> | ||
<Property name="generic.error.log.level">error</Property> | ||
<Property name="generic.warn.log.level">warn</Property> | ||
<Property name="generic.info.log.level">info</Property> | ||
<Property name="generic.debug.log.level">debug</Property> | ||
</Properties> | ||
<Appenders> | ||
<Console name="console" target="SYSTEM_OUT"> | ||
<PatternLayout pattern="%highlight{%d %p [%c] - <%m>}%n"/> | ||
</Console> | ||
<RollingFile name="file" fileName="${baseDir}/cas.log" append="true" | ||
filePattern="${baseDir}/cas-%d{yyyy-MM-dd-HH}-%i.log"> | ||
<PatternLayout pattern="%d %p [%c] - <%m>%n"/> | ||
<Policies> | ||
<OnStartupTriggeringPolicy/> | ||
<SizeBasedTriggeringPolicy size="10 MB"/> | ||
<TimeBasedTriggeringPolicy/> | ||
</Policies> | ||
</RollingFile> | ||
<RollingFile name="auditlogfile" fileName="${baseDir}/cas_audit.log" append="true" | ||
filePattern="${baseDir}/cas_audit-%d{yyyy-MM-dd-HH}-%i.log"> | ||
<PatternLayout pattern="%d %p [%c] - %m%n"/> | ||
<Policies> | ||
<OnStartupTriggeringPolicy/> | ||
<SizeBasedTriggeringPolicy size="10 MB"/> | ||
<TimeBasedTriggeringPolicy/> | ||
</Policies> | ||
</RollingFile> | ||
<CasAppender name="casAudit"> | ||
<AppenderRef ref="auditlogfile"/> | ||
</CasAppender> | ||
<CasAppender name="casFile"> | ||
<AppenderRef ref="file"/> | ||
</CasAppender> | ||
<CasAppender name="casConsole"> | ||
<AppenderRef ref="console"/> | ||
</CasAppender> | ||
</Appenders> | ||
<Loggers> | ||
<!-- If adding a Logger with level set higher than warn, make category as selective as possible --> | ||
<!-- Loggers inherit appenders from Root Logger unless additivity is false --> | ||
<!-- Logger: OSF CAS --> | ||
<AsyncLogger name="io.cos.cas" level="${sys:cas.log.level}" includeLocation="true"/> | ||
<!-- Logger: Apache --> | ||
<AsyncLogger name="org.apache" level="${sys:apache.log.level}"/> | ||
<AsyncLogger name="org.apache.http" level="${sys:apache.http.log.level}"/> | ||
<!-- Logger: Apereo and Jasig --> | ||
<AsyncLogger name="org.apereo" level="${sys:apereo.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.apereo.cas" level="${sys:apereo.cas.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.apereo.services" level="${sys:apereo.service.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.apereo.spring" level="${sys:apereo.log.level}" includeLocation="true"/> | ||
<!-- Logger: Spring framework --> | ||
<AsyncLogger name="org.springframework" level="warn" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.boot" level="${sys:spring.boot.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.boot.context.embedded" level="${sys:generic.info.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration" level="${sys:spring.security.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.boot.autoconfigure.security" level="${sys:spring.security.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.boot.devtools" level="${sys:generic.off.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.web" level="${sys:spring.web.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.web.client" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.web.socket" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.webflow" level="${sys:spring.webflow.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.webflow.engine.impl" level="${sys:generic.info.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.webflow.mvc.view" level="${sys:generic.info.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.cloud" level="${sys:spring.cloud.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.cloud.vault" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.amqp" level="${sys:generic.error.log.level}"/> | ||
<AsyncLogger name="org.springframework.aop" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.context.annotation" level="${sys:generic.off.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.integration" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.messaging" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.orm.jpa" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.scheduling" level="${sys:generic.info.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.security" level="${sys:spring.security.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.session" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.springframework.scheduling" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<!-- Logger: 6.2.x packages explicitly used by OSF CAS --> | ||
<AsyncLogger name="org.pac4j" level="${sys:pac4j.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.thymeleaf" level="${org.thymeleaf.log.level}" includeLocation="true"/> | ||
<!-- Logger: new packages added (and explicitly used) by OSF CAS--> | ||
<AsyncLogger name="com.github.scribejava" level="${sys:scribejava.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="com.google.code.gson" level="${sys:google.gson.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.hibernate" level="${sys:hibernate.log.level}" includeLocation="true"/> | ||
<!-- Logger: 6.2.x packages not explicitly used by OSF CAS --> | ||
<AsyncLogger name="PROTOCOL_MESSAGE" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="com.couchbase" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="com.hazelcast" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="de.codecentric" level="${sys:spring.boot.admin.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="net.jradius" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="net.sf.ehcache" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.ldaptive" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.opensaml" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<AsyncLogger name="org.openid4java" level="${sys:generic.warn.log.level}" includeLocation="true"/> | ||
<!-- Log audit to all root appenders, and also to audit log (additivity is not false) --> | ||
<AsyncLogger name="org.apereo.inspektr.audit.support" level="${sys:org.apereo.inspektr.log.level}" includeLocation="true"> | ||
<AppenderRef ref="casAudit"/> | ||
</AsyncLogger> | ||
<!-- All Loggers inherit appenders specified here, unless additivity="false" on the Logger --> | ||
<AsyncRoot level="warn"> | ||
<AppenderRef ref="casFile"/> | ||
<!-- For deployment to an application server running as service, delete the casConsole appender below --> | ||
<AppenderRef ref="casConsole"/> | ||
</AsyncRoot> | ||
</Loggers> | ||
</Configuration> |