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

Release 8.0.0 #111

Open
wants to merge 6 commits into
base: release-8.0.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions -backup
Submodule -backup added at 367ca3
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM bitnami/keycloak:21.1.2
COPY sunbird /opt/bitnami/keycloak/themes/sunbird
COPY cache-ispn.xml /opt/bitnami/keycloak/conf/
WORKDIR /opt/bitnami/keycloak
COPY keycloak-email-phone-autthenticator-1.0-SNAPSHOT.jar /opt/bitnami/keycloak/providers
USER 1000
EXPOSE 8080
EXPOSE 8443
52 changes: 52 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
node('build-slave') {
try {
String ANSI_GREEN = "\u001B[32m"
String ANSI_NORMAL = "\u001B[0m"
String ANSI_BOLD = "\u001B[1m"
String ANSI_RED = "\u001B[31m"
String ANSI_YELLOW = "\u001B[33m"

ansiColor('xterm') {
stage('Checkout') {
if (!env.hub_org) {
println(ANSI_BOLD + ANSI_RED + "Uh Oh! Please set a Jenkins environment variable named hub_org with value as registery/sunbidrded" + ANSI_NORMAL)
error 'Please resolve the errors and rerun..'
}
else
println(ANSI_BOLD + ANSI_GREEN + "Found environment variable named hub_org with value as: " + hub_org + ANSI_NORMAL)
cleanWs()
if (params.github_release_tag == "") {
checkout scm
commit_hash = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
branch_name = sh(script: 'git name-rev --name-only HEAD | rev | cut -d "/" -f1| rev', returnStdout: true).trim()
build_tag = branch_name + "_" + commit_hash
println(ANSI_BOLD + ANSI_YELLOW + "github_release_tag not specified, using the latest commit hash: " + commit_hash + ANSI_NORMAL)
}
else {
def scmVars = checkout scm
checkout scm: [$class: 'GitSCM', branches: [[name: "refs/heads/$params.github_release_tag"]], userRemoteConfigs: [[url: scmVars.GIT_URL]]]
build_tag = params.github_release_tag
println(ANSI_BOLD + ANSI_YELLOW + "github_release_tag specified, building from github_release_tag: " + params.github_release_tag + ANSI_NORMAL)
}
echo "build_tag: " + build_tag
}

stage('Build') {
env.NODE_ENV = "build"
print "Environment will be : ${env.NODE_ENV}"
sh('chmod 777 build.sh')
sh("./build.sh ${build_tag} ${env.NODE_NAME} ${hub_org}")
}
stage('ArchiveArtifacts') {
archiveArtifacts "metadata.json"
currentBuild.description = "${build_tag}"
}
}

}
catch (err) {
currentBuild.result = "FAILURE"
throw err
}

}
10 changes: 10 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash
# Build script
set -eo pipefail
build_tag=$1
name=keycloak21
node=$2
org=$3

docker build --no-cache --label commitHash=$(git rev-parse --short HEAD) -t ${org}/${name}:${build_tag} .
echo {\"image_name\" : \"${name}\", \"image_tag\" : \"${build_tag}\", \"node_name\" : \"$node\"} > metadata.json
85 changes: 85 additions & 0 deletions cache-ispn.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2019 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:14.0 http://www.infinispan.org/schemas/infinispan-config-14.0.xsd"
xmlns="urn:infinispan:config:14.0">

<cache-container name="keycloak">
<transport lock-timeout="60000"/>
<local-cache name="realms">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<memory max-count="10000"/>
</local-cache>
<local-cache name="users">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<memory max-count="10000"/>
</local-cache>
<distributed-cache name="sessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="authenticationSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="offlineSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="clientSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="offlineClientSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="loginFailures" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<local-cache name="authorization">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<memory max-count="10000"/>
</local-cache>
<replicated-cache name="work">
<expiration lifespan="-1"/>
</replicated-cache>
<local-cache name="keys">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<expiration max-idle="3600000"/>
<memory max-count="1000"/>
</local-cache>
<distributed-cache name="actionTokens" owners="2">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<expiration max-idle="-1" lifespan="-1" interval="300000"/>
<memory max-count="-1"/>
</distributed-cache>
</cache-container>
</infinispan>
Binary file not shown.
7 changes: 7 additions & 0 deletions keycloak21/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM bitnami/keycloak:21.1.2
COPY sunbird /opt/bitnami/keycloak/themes/sunbird
WORKDIR /opt/bitnami/keycloak
COPY keycloak-email-phone-autthenticator-1.0-SNAPSHOT.jar /opt/bitnami/keycloak/providers
USER 1000
EXPOSE 8080
EXPOSE 8443
Binary file not shown.
10 changes: 10 additions & 0 deletions keycloak21/module.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<resources>
<resource-root path="postgresql-9.4.1212.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Binary file added keycloak21/postgresql-9.4.1212.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/email-test.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("emailTestBodyHtml",realmName)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/email-verification.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("emailVerificationBodyHtml",link, linkExpiration, realmName)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/event-login_error.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("eventLoginErrorBodyHtml",event.date,event.ipAddress)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/event-remove_totp.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("eventRemoveTotpBodyHtml",event.date, event.ipAddress)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/event-update_password.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("eventUpdatePasswordBodyHtml",event.date, event.ipAddress)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/event-update_totp.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("eventUpdateTotpBodyHtml",event.date, event.ipAddress)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/executeActions.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("executeActionsBodyHtml",link, linkExpiration, realmName)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/identity-provider-link.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("identityProviderLinkBodyHtml", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration)}
</body>
</html>
5 changes: 5 additions & 0 deletions keycloak21/sunbird/email/html/password-reset.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<html>
<body>
${msg("passwordResetBodyHtml",link,(linkExpiration/60)?string["0"],realmName)}
</body>
</html>
21 changes: 21 additions & 0 deletions keycloak21/sunbird/email/messages/messages_ca.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
emailVerificationSubject=Verificaci\u00F3 d''email
emailVerificationBody=Alg\u00FA ha creat un compte de {2} amb aquesta adre\u00E7a de correu electr\u00F2nic. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per verificar la teva adre\u00E7a de correu electr\u00F2nic.\n\n{0}\n\nAquest enlla\u00E7 expirar\u00E0 en {1} minuts.\n\nSi tu no has creat aquest compte, simplement ignora aquest missatge.
emailVerificationBodyHtml=<p>Alg\u00FA ha creat un compte de {2} amb aquesta adre\u00E7a de correu electr\u00F2nic. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per verificar la teva adre\u00E7a de correu electr\u00F2nic.</p><p><a href=\"{0}\">{0}</a></p><p> Aquest enlla\u00E7 expirar\u00E0 en {1} minuts.</p><p> Si tu no has creat aquest compte, simplement ignora aquest missatge.</p>
passwordResetSubject=Reinicia contrasenya
passwordResetBody=Alg\u00FA ha demanat de canviar les credencials del teu compte de {2}. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per a reiniciar-les.\n\n{0}\n\nAquest enlla\u00E7 expirar\u00E0 en {1} minuts.\n\nSi no vols reiniciar les teves credencials, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi.
passwordResetBodyHtml=<p>Alg\u00FA ha demanat de canviar les credencials del teu compte de {2}. Si has estat tu, fes clic a l''enlla\u00E7 seg\u00FCent per a reiniciar-les.</p><p><a href=\"{0}\">{0}</a></p><p>Aquest enlla\u00E7 expirar\u00E0 en {1} minuts.</p><p>Si no vols reiniciar les teves credencials, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi.</p>
executeActionsSubject=Actualitza el teu compte
executeActionsBody=L''administrador ha sol\u00B7licitat que actualitzis el teu compte de {2}. Fes clic a l''enlla\u00E7 inferior per iniciar aquest proc\u00E9s.\n\n{0}\n\nAquest enlla\u00E7 expirar\u00E0 en {1} minutes.\n\nSi no est\u00E0s al tant que l''administrador hagi sol\u00B7licitat aix\u00F2, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi.
executeActionsBodyHtml=<p>L''administrador ha sol\u00B7licitat que actualitzis el teu compte de {2}. Fes clic a l''enlla\u00E7 inferior per iniciar aquest proc\u00E9s.</p><p><a href=\"{0}\">{0}</a></p><p>Aquest enlla\u00E7 expirar\u00E0 en {1} minutes.</p><p>Si no est\u00E0s al tant que l''administrador hagi sol\u00B7licitat aix\u00F2, simplement ignora aquest missatge i no es realitzar\u00E0 cap canvi.</p>
eventLoginErrorSubject=Fallada en l''inici de sessi\u00F3
eventLoginErrorBody=S''ha detectat un intent d''acc\u00E9s fallit al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.
eventLoginErrorBodyHtml=<p>S''ha detectat un intent d''acc\u00E9s fallit al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.</p>
eventRemoveTotpSubject=Esborrat TOTP
eventRemoveTotpBody=TOTP s''ha eliminat del teu compte el {0} des de {1}. Si no has estat tu, per favor contacta amb l''administrador.
eventRemoveTotpBodyHtml=<p>TOTP s''ha eliminat del teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador. </ P>
eventUpdatePasswordSubject=Actualitzaci\u00F3 de contrasenya
eventUpdatePasswordBody=La teva contrasenya s''ha actualitzat el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.
eventUpdatePasswordBodyHtml=<p>La teva contrasenya s''ha actualitzat el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.</p>
eventUpdateTotpSubject=Actualitzaci\u00F3 de TOTP
eventUpdateTotpBody=TOTP s''ha actualitzat al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.
eventUpdateTotpBodyHtml=<p>TOTP s''ha actualitzat al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l''administrador.</p>
24 changes: 24 additions & 0 deletions keycloak21/sunbird/email/messages/messages_de.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
emailVerificationSubject=E-Mail verifizieren
emailVerificationBody=Jemand hat ein {2} Konto mit dieser E-Mail Adresse erstellt. Falls Sie das waren, dann klicken Sie auf den Link, um die E-Mail Adresse zu verifizieren.\n\n{0}\n\nDieser Link wird in {1} Minuten ablaufen.\n\nFalls Sie dieses Konto nicht erstellt haben, dann k\u00F6nnen sie diese Nachricht ignorieren.
emailVerificationBodyHtml=<p>Jemand hat ein {2} Konto mit dieser E-Mail Adresse erstellt. Falls das Sie waren, klicken Sie auf den Link, um die E-Mail Adresse zu verifizieren.</p><p><a href="{0}">{0}</a></p><p>Dieser Link wird in {1} Minuten ablaufen.</p><p>Falls Sie dieses Konto nicht erstellt haben, dann k\u00F6nnen sie diese Nachricht ignorieren.</p>
identityProviderLinkSubject=Link {0}
identityProviderLinkBody=Es wurde beantragt Ihren Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Sollten Sie dies beantragt haben, klicken Sie auf den unten stehenden Link.\n\n{3}\n\n Die G\u00FCltigkeit des Links wird in {4} Minuten verfallen.\n\nSollten Sie Ihren Account nicht verlinken wollen, ignorieren Sie diese Nachricht. Wenn Sie die Accounts verlinken wird ein Login auf {1} \u00FCber {0} erm\u00F6glicht.
identityProviderLinkBodyHtml=<p>Es wurde beantragt Ihren Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Sollten Sie dies beantragt haben, klicken Sie auf den unten stehenden Link.</p><p><a href="{3}">Link zur Best\u00E4tigung der Kontoverkn\u00FCpfung</a></p><p>Die G\u00FCltigkeit des Links wird in {4} Minuten verfallen.</p><p>Sollten Sie Ihren Account nicht verlinken wollen, ignorieren Sie diese Nachricht. Wenn Sie die Accounts verlinken wird ein Login auf {1} \u00FCber {0} erm\u00F6glicht.</p>
passwordResetSubject=Passwort zur\u00FCcksetzen
passwordResetBody=Es wurde eine \u00C4nderung der Anmeldeinformationen f\u00FCr Ihren Account {2} angefordert. Wenn Sie diese \u00C4nderung beantragt haben, klicken Sie auf den unten stehenden Link.\n\n{0}\n\nDie G\u00FCltigkeit des Links wird in {1} Minuten verfallen.\n\nSollten Sie keine \u00C4nderung vollziehen wollen k\u00F6nnen Sie diese Nachricht ignorieren und an Ihrem Account wird nichts ge\u00E4ndert.
passwordResetBodyHtml=<p>Es wurde eine \u00C4nderung der Anmeldeinformationen f\u00FCr Ihren Account {2} angefordert. Wenn Sie diese \u00C4nderung beantragt haben, klicken Sie auf den unten stehenden Link.</p><p><a href="{0}">Link zum Zur\u00FCcksetzen von Anmeldeinformationen</a></p><p>Die G\u00FCltigkeit des Links wird in {1} Minuten verfallen.</p><p>Sollten Sie keine \u00C4nderung vollziehen wollen k\u00F6nnen Sie diese Nachricht ignorieren und an Ihrem Account wird nichts ge\u00E4ndert.</p>
executeActionsSubject=Aktualisieren Sie Ihr Konto
executeActionsBody=Ihr Administrator hat Sie aufgefordert Ihren Account {2} zu aktualisieren. Klicken Sie auf den unten stehenden Link um den Prozess zu starten.\n\n{0}\n\nDie G\u00FCltigkeit des Links wird in {1} Minuten verfallen.\n\nSollten Sie sich dieser Aufforderung nicht bewusst sein, ignorieren Sie diese Nachricht und Ihr Account bleibt unver\u00E4ndert.
executeActionsBodyHtml=<p>Ihr Administrator hat Sie aufgefordert Ihren Account {2} zu aktualisieren. Klicken Sie auf den unten stehenden Link um den Prozess zu starten.</p><p><a href="{0}">Link zum Account-Update</a></p><p>Die G\u00FCltigkeit des Links wird in {1} Minuten verfallen.</p><p>Sollten Sie sich dieser Aufforderung nicht bewusst sein, ignorieren Sie diese Nachricht und Ihr Account bleibt unver\u00E4ndert.</p>
eventLoginErrorSubject=Fehlgeschlagene Anmeldung
eventLoginErrorBody=Jemand hat um {0} von {1} versucht, sich mit ihrem Konto anzumelden. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.
eventLoginErrorBodyHtml=<p>Jemand hat um {0} von {1} versucht, sich mit ihrem Konto anzumelden. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>
eventRemoveTotpSubject=TOTP Entfernt
eventRemoveTotpBody=TOTP wurde von ihrem Konto am {0} von {1} entfernt. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.
eventRemoveTotpBodyHtml=<p>TOTP wurde von ihrem Konto am {0} von {1} entfernt. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>
eventUpdatePasswordSubject=Passwort Aktualisiert
eventUpdatePasswordBody=Ihr Passwort wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.
eventUpdatePasswordBodyHtml=<p>Ihr Passwort wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>
eventUpdateTotpSubject=TOTP Aktualisiert
eventUpdateTotpBody=TOTP wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.
eventUpdateTotpBodyHtml=<p>TOTP wurde am {0} von {1} ge\u00E4ndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>
Loading