Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WINDUP-3429] - Web UI - Change Deployment Model - remove keycloak overlay #87

Merged
merged 10 commits into from
Aug 18, 2022
Merged
157 changes: 2 additions & 155 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -97,26 +97,6 @@
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Get the Keycloak tool locally -->
<execution>
<id>copy-keycloak-tool</id>
<phase>compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.jboss.windup.web</groupId>
<artifactId>windup-keycloak-tool</artifactId>
<version>5.9.0.Final</version>
<outputDirectory>${keycloak.tool.basedir}</outputDirectory>
<destFileName>${keycloak.tool.name}</destFileName>
<overWrite>true</overWrite>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<!-- Copy the applications to deploy locally -->
<execution>
<id>copy-web-applications</id>
Expand Down Expand Up @@ -166,14 +146,6 @@
<excludes>**/README.txt</excludes>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-overlay</artifactId>
<version>${version.keycloak}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/${wildfly.directory}/</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-wildfly-adapter-dist</artifactId>
Expand All @@ -191,15 +163,6 @@
<excludes>META-INF/</excludes>
<outputDirectory>${project.build.directory}/${wildfly.directory}/openshift/templates</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.jboss.windup.web</groupId>
<artifactId>windup-web-keycloak-theme</artifactId>
<version>5.7.0.Final</version>
<type>jar</type>
<overWrite>true</overWrite>
<includes>**/${product-name}/</includes>
<outputDirectory>${project.build.directory}/${wildfly.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
Expand Down Expand Up @@ -245,109 +208,6 @@
</execution>
</executions>
</plugin>
<!-- Create the Keycloak admin user file -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>create-keycloak-admin-user</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>${keycloak.tool.path}</argument>
<argument>initialize-keycloak</argument>
<argument>--username</argument>
<argument>admin</argument>
<argument>--password</argument>
<argument>password</argument>
<argument>--file</argument>
<argument>${project.build.directory}/${wildfly.directory}/standalone/configuration/keycloak-add-user.json</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>create-windup-realm</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<outputFile>${project.build.directory}/create-realm.output</outputFile>
<arguments>
<argument>-jar</argument>
<argument>${keycloak.tool.path}</argument>
<argument>create-windup-realm</argument>
<argument>--keycloakUrl=http://localhost:${wildfly.http.port}/auth</argument>
<argument>--loginTheme</argument>
<argument>${product-name}</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>create-keycloak-guest-user</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<outputFile>${project.build.directory}/create-guest.output</outputFile>
<arguments>
<argument>-jar</argument>
<argument>${keycloak.tool.path}</argument>
<argument>create-windup-user</argument>
<argument>--keycloakUrl=http://localhost:${wildfly.http.port}/auth</argument>
<argument>--newUserID</argument>
<argument>migration</argument>
<argument>--newUserPassword</argument>
<argument>password</argument>
<argument>--firstName</argument>
<argument>migration</argument>
<argument>--lastName</argument>
<argument>migration</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>get-windup-realm-public-key</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<outputFile>${project.build.directory}/publickey.cli</outputFile>
<arguments>
<argument>-jar</argument>
<argument>${keycloak.tool.path}</argument>
<argument>print-windup-realm-public-key</argument>
<argument>--keycloakUrl=http://localhost:${wildfly.http.port}/auth</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>install keycloak</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${project.build.directory}/${wildfly.directory}/bin/jboss-cli.sh</executable>
<outputFile>${project.build.directory}/keycloak-server-install.out</outputFile>
<arguments>
<argument>--file=src/main/cli/keycloak-install.cli</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>

<!-- Startup wildfly and configure keycloak -->
<plugin>
Expand Down Expand Up @@ -375,7 +235,7 @@
</serverArgs>
<scripts>
<script>${project.build.directory}/${wildfly.directory}/bin/adapter-install.cli</script>
<script>src/main/cli/setup-eap.cli</script>
<script>src/main/cli/setup.cli</script>
<script>src/main/cli/adding-redirect.cli</script>
</scripts>
<startupTimeout>300</startupTimeout>
Expand All @@ -391,8 +251,7 @@
<configuration>
<jbossHome>${project.build.directory}/${wildfly.directory}</jbossHome>
<scripts>
<script>${project.build.directory}/publickey.cli</script>
<script>src/main/cli/setup-windup-keycloak-properties.cli</script>
<script>src/main/cli/setup-properties.cli</script>
</scripts>
</configuration>
</execution>
Expand Down Expand Up @@ -439,18 +298,6 @@
</target>
</configuration>
</execution>
<execution>
<id>create-theme.properties</id>
<phase>package</phase>
<configuration>
<target>
<copy file="${project.build.directory}/${wildfly.directory}/themes/${product-name}/login/auto_login.theme.properties" tofile="${project.build.directory}/${wildfly.directory}/themes/${product-name}/login/theme.properties" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
Expand Down
15 changes: 4 additions & 11 deletions src/main/assembly/assembly-offline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
<directory>${project.build.directory}/${wildfly.directory}</directory>
<outputDirectory></outputDirectory>
<excludes>
<exclude>**/keycloak.lock.db</exclude>
<exclude>bin/standalone.conf</exclude>
<exclude>bin/standalone.conf.bat</exclude>
<exclude>standalone/data/content/**/*</exclude>
Expand All @@ -31,6 +30,8 @@
<include>/switch_to_authentication_required.bat</include>
<include>/switch_to_automatic_authentication.sh</include>
<include>/switch_to_automatic_authentication.bat</include>
<include>/secure-deployments.cli</include>
<include>/unsecure-deployments.cli</include>
</includes>
</fileSet>
<fileSet>
Expand All @@ -47,6 +48,8 @@
<exclude>/switch_to_authentication_required.bat</exclude>
<exclude>/switch_to_automatic_authentication.sh</exclude>
<exclude>/switch_to_automatic_authentication.bat</exclude>
<exclude>/secure-deployments.cli</exclude>
<exclude>/unsecure-deployments.cli</exclude>
</excludes>
</fileSet>
<!-- Add the overlay files -->
Expand All @@ -56,14 +59,4 @@
<filtered>false</filtered>
</fileSet>
</fileSets>
<!-- Override the theme.properties with the autologin one -->
<files>
<file>
<source>${project.build.directory}/${wildfly.directory}/themes/${product-name}/login/auto_login.theme.properties</source>
<outputDirectory>themes/${product-name}/login</outputDirectory>
<destName>theme.properties</destName>
<filtered>false</filtered>
</file>
</files>

</assembly>
1 change: 1 addition & 0 deletions src/main/cli/setup-properties.cli
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/system-property=windup.secured.url:add(value="none")
3 changes: 0 additions & 3 deletions src/main/cli/setup-windup-keycloak-properties.cli

This file was deleted.

3 changes: 3 additions & 0 deletions src/main/cli/setup-eap.cli → src/main/cli/setup.cli
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ if (outcome == success) of /subsystem=microprofile-opentracing-smallrye:read-res
/subsystem=microprofile-opentracing-smallrye/jaeger-tracer=jaeger:write-attribute(name=sampler-param, value=0)
end-if

## Property replacement
/subsystem=ee:write-attribute(name="spec-descriptor-property-replacement", value=true)

# Other
/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-post-size, value=943718400)

Expand Down
15 changes: 15 additions & 0 deletions src/main/resources/secure-deployments.cli
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
embed-server --server-config=${config:standalone-full.xml}

# Windup
/system-property="windup.secured.url":write-attribute(name=value, value="/*")

# Keycloak
/system-property=keycloak.server.url:add(value="${env.SSO_AUTH_SERVER_URL:http://localhost:8180:/auth}")
/system-property=keycloak.realm:add(value="${env.SSO_REALM:windup}")
/system-property=keycloak.sslRequired:add(value="${env.SSO_SSL_REQUIRED:NONE}")
/system-property=keycloak.clientId:add(value="${env.SSO_CLIENT_ID:windup-web}")

/subsystem=keycloak/secure-deployment="api.war":add(realm="${keycloak.realm}", auth-server-url="${keycloak.server.url}", ssl-required="${keycloak.sslRequired}", resource="${keycloak.clientId}", public-client=true)
/subsystem=keycloak/secure-deployment="windup-ui.war":add(realm="${keycloak.realm}", auth-server-url="${keycloak.server.url}", ssl-required="${keycloak.sslRequired}", resource="${keycloak.clientId}", public-client=true)

stop-embedded-server
6 changes: 3 additions & 3 deletions src/main/resources/switch_to_authentication_required.bat
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ set "DIR=%~dp0"

cd "%DIR%"

copy "%DIR%\themes\${product-name}\login\login_required.theme.properties" "%DIR%\themes\${product-name}\login\theme.properties"
./bin/jboss-cli.bat --file=unsecure-deployments.cli
./bin/jboss-cli.bat --file=secure-deployments.cli

echo "================================"
echo ""
echo "The system will now require an authentication step."
echo ""
echo "We recommend that you login to http://localhost:8080/auth and remove the default 'migration' user from the realm at this point".
echo "(Default Keycloak user: admin, password: password)"
echo "We recommend that you verify the ENV Variables SSO_AUTH_SERVER_URL, SSO_REALM, SSO_SSL_REQUIRED, and SSO_CLIENT_ID".
echo ""
echo "================================"
6 changes: 3 additions & 3 deletions src/main/resources/switch_to_authentication_required.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

cd $DIR

cp $DIR/themes/${product-name}/login/login_required.theme.properties $DIR/themes/${product-name}/login/theme.properties
./bin/jboss-cli.sh --file=unsecure-deployments.cli
./bin/jboss-cli.sh --file=secure-deployments.cli

echo "================================"
echo ""
echo "The system will now require an authentication step."
echo ""
echo "We recommend that you login to http://localhost:8080/auth and remove the default 'migration' user from the realm at this point".
echo "(Default Keycloak user: admin, password: password)"
echo "We recommend that you verify the ENV Variables SSO_AUTH_SERVER_URL, SSO_REALM, SSO_SSL_REQUIRED, and SSO_CLIENT_ID".
echo ""
echo "================================"
5 changes: 1 addition & 4 deletions src/main/resources/switch_to_automatic_authentication.bat
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@ set "DIR=%~dp0"

cd "%DIR%"

copy "%DIR%\themes\${product-name}\login\auto_login.theme.properties" "%DIR%\themes\${product-name}\login\theme.properties"
./bin/jboss-cli.bat --file=unsecure-deployments.cli

echo "================================"
echo ""
echo "The system won't require an authentication step anymore."
echo ""
echo "If you previously removed guest user, login to http://localhost:8080/auth and add user 'migration' with password 'password' to the realm".
echo "(Default Keycloak user: admin, password: password)"
echo ""
echo "================================"
5 changes: 1 addition & 4 deletions src/main/resources/switch_to_automatic_authentication.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

cd $DIR

cp $DIR/themes/${product-name}/login/auto_login.theme.properties $DIR/themes/${product-name}/login/theme.properties
./bin/jboss-cli.sh --file=unsecure-deployments.cli

echo "================================"
echo ""
echo "The system won't require an authentication step anymore."
echo ""
echo "If you previously removed guest user, login to http://localhost:8080/auth and add user 'migration' with password 'password' to the realm".
echo "(Default Keycloak user: admin, password: password)"
echo ""
echo "================================"
27 changes: 27 additions & 0 deletions src/main/resources/unsecure-deployments.cli
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
embed-server --server-config=${config:standalone-full.xml}

# Windup
/system-property="windup.secured.url":write-attribute(name=value, value="none")

# Keycloak
if (outcome == success) of /system-property="keycloak.server.url":read-resource
/system-property="keycloak.server.url":remove
end-if
if (outcome == success) of /system-property="keycloak.realm":read-resource
/system-property="keycloak.realm":remove
end-if
if (outcome == success) of /system-property="keycloak.sslRequired":read-resource
/system-property="keycloak.sslRequired":remove
end-if
if (outcome == success) of /system-property="keycloak.clientId":read-resource
/system-property="keycloak.clientId":remove
end-if

if (outcome == success) of /subsystem=keycloak/secure-deployment="api.war":read-resource
/subsystem=keycloak/secure-deployment="api.war":remove
end-if
if (outcome == success) of /subsystem=keycloak/secure-deployment="windup-ui.war":read-resource
/subsystem=keycloak/secure-deployment="windup-ui.war":remove
end-if

stop-embedded-server