Upgrade keycloak to v18+ and switch to official repos breaking changes (#675)

* Update Ghost to v5 breaking changes

* Fix formatting issue

* Upgrade keycloak to v18+ and switch to official repos breaking changes

* Made data persistent trough postgres

* Fix formatting
This commit is contained in:
Matthieu Borgognon 2022-07-06 03:00:24 +02:00 committed by GitHub
parent 786b53a341
commit d1b89fe65f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 42 additions and 23 deletions

View File

@ -1,4 +1,3 @@
# tested on CR 1.10.1 2022-01-08 by sneak
captainVersion: 4 captainVersion: 4
services: services:
$$cap_appname-db: $$cap_appname-db:
@ -13,45 +12,55 @@ services:
caproverExtra: caproverExtra:
notExposeAsWebApp: 'true' notExposeAsWebApp: 'true'
$$cap_appname: $$cap_appname:
image: jboss/keycloak:$$cap_keycloak_version
depends_on: depends_on:
- $$cap_appname-db - $$cap_appname-db
restart: always restart: always
environment: environment:
DB_VENDOR: postgres KEYCLOAK_ADMIN: $$cap_keycloak_admin
DB_ADDR: srv-captain--$$cap_appname-db KEYCLOAK_ADMIN_PASSWORD: $$cap_keycloak_password
POSTGRES_DB: keycloak KC_DB_PASSWORD: $$cap_pg_pass
DB_USER: keycloak
DB_PASSWORD: $$cap_pg_pass
KEYCLOAK_USER: $$cap_keycloak_user
KEYCLOAK_PASSWORD: $$cap_keycloak_password
PROXY_ADDRESS_FORWARDING: 'true'
caproverExtra: caproverExtra:
containerHttpPort: '8080' containerHttpPort: '8080'
dockerfileLines:
- FROM quay.io/keycloak/keycloak:$$cap_keycloak_version as builder
- ENV KC_HEALTH_ENABLED=true
- ENV KC_METRICS_ENABLED=false
- ENV KC_FEATURES=token-exchange,recovery-codes
- ENV KC_DB=postgres
- RUN /opt/keycloak/bin/kc.sh build
- FROM quay.io/keycloak/keycloak:$$cap_keycloak_version
- COPY --from=builder /opt/keycloak/ /opt/keycloak/
- WORKDIR /opt/keycloak
- ENV KC_DB_URL=jdbc:postgresql://srv-captain--$$cap_appname-db/keycloak
- ENV KC_DB_USERNAME=keycloak
- ENV KC_DB_PASSWORD=$$cap_pg_pass
- ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start", "--hostname=$$cap_appname.$$cap_root_domain", "--proxy=edge"]
caproverOneClickApp: caproverOneClickApp:
variables: variables:
- id: $$cap_postgres_version - id: $$cap_postgres_version
label: Postgres Version label: Postgres Version
defaultValue: '9.6' defaultValue: '10.21'
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ description: Check out their DB page for any valid major tested https://www.keycloak.org/server/db
validRegex: /^([^\s^\/])+$/ validRegex: /^([^\s^\/])+$/
- id: $$cap_keycloak_version - id: $$cap_keycloak_version
label: Keycloak Version label: Keycloak Version
defaultValue: 16.1.0 defaultValue: 18.0.2
description: v16.1.0 current as of 2021-12-21. Check out their Docker page for the valid tags https://hub.docker.com/r/jboss/keycloak/tags description: v18.0.2 current as of 2022-07-04. Check out their Docker page for the valid tags https://quay.io/repository/keycloak/keycloak?tab=tags
validRegex: /^([^\s^\/])+$/ validRegex: /^([^\s^\/])+$/
- id: $$cap_pg_pass - id: $$cap_pg_pass
label: Postgres Password label: Postgres Password
description: 'App-to-app database credential. 12-20 characters.' description: 'App-to-app database credential. 12-20 characters.'
defaultValue: $$cap_gen_random_hex(20) defaultValue: $$cap_gen_random_hex(20)
validRegex: /.{12,20}/ validRegex: /.{12,20}/
- id: $$cap_keycloak_user - id: $$cap_keycloak_admin
label: Keycloak user label: Keycloak admin user
description: 'Login username for the first web user.' description: 'Login username for the admin web user.'
validRegex: /.{1,}/ validRegex: /.{1,}/
- id: $$cap_keycloak_password - id: $$cap_keycloak_password
label: Keycloak password label: Keycloak admin password
description: 'Login password for the first web user. 12-20 characters.' description: 'Login password for the admin web user. 12-20 characters.'
defaultValue: $$cap_gen_random_hex(20) defaultValue: $$cap_gen_random_hex(20)
validRegex: /.{12,20}/ validRegex: /.{12,20}/
instructions: instructions:
@ -62,11 +71,21 @@ caproverOneClickApp:
For source code, see: https://github.com/keycloak/keycloak For source code, see: https://github.com/keycloak/keycloak
For docker image, see: https://hub.docker.com/r/jboss/keycloak For docker image, see: https://quay.io/repository/keycloak/keycloak
Enter your Keycloak Configuration parameters and click on next. It will take about a minute for the process to finish. Enter your Keycloak Configuration parameters and click on next.
end: Keycloak is deployed and available as srv-captain--$$cap_appname:8080 to other apps end: >
Keycloak is deployed and available as $$cap_appname.
Before starting using Keycloak, you'll need to
- Enable HTTPS
- Force HTTPS by redirecting all HTTP traffic to HTTPS
IMPORTANT: It will take up to 1 minutes for Keycloak to be ready. Before that, you might see 502 error page.
displayName: '' displayName: ''
isOfficial: true isOfficial: true
description: Keycloak is an open source identity and access management solution description: Keycloak is an open source identity and access management solution
documentation: Taken from https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md documentation: Taken from https://github.com/keycloak/keycloak-containers/blob/main/docker-compose-examples/keycloak-postgres.yml