You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.4 KiB
YAML
104 lines
3.4 KiB
YAML
---
|
|
|
|
# TODO doesn't bind to local port (currently used by setup keycloak with ansible)
|
|
service_port_keycloak_external: "8110"
|
|
|
|
keycloak_version: "12.0.4"
|
|
keycloak_admin_username: "keycloak-admin"
|
|
keycloak_admin_password: "keycloak-admin"
|
|
|
|
keycloak_postgres_version: "12"
|
|
keycloak_postgres_database: "keycloak-postgres"
|
|
keycloak_postgres_admin_username: "keycloak-postgres-admin"
|
|
keycloak_postgres_admin_password: "keycloak-postgres-admin"
|
|
|
|
keycloak_id: "{{ service_name }}-keycloak"
|
|
keycloak_postgres_id: "{{ service_name }}-postgres-keycloak"
|
|
|
|
keycloak_labels: [
|
|
'"traefik.enable=true"',
|
|
'"traefik.http.routers.{{ keycloak_id }}.service={{ keycloak_id }}"',
|
|
'"traefik.http.routers.{{ keycloak_id }}.rule=Host(`{{ stage_server_url_host }}`)"',
|
|
'"traefik.http.routers.{{ keycloak_id }}.entrypoints=websecure"',
|
|
'"traefik.http.routers.{{ keycloak_id }}.tls=true"',
|
|
'"traefik.http.routers.{{ keycloak_id }}.tls.certresolver=letsencrypt"',
|
|
'"traefik.http.services.{{ keycloak_id }}.loadbalancer.server.port={{ service_port }}"',
|
|
|
|
'"traefik.http.routers.{{ keycloak_id }}-monitor.service={{ service_name }}-node-exporter"',
|
|
'"traefik.http.routers.{{ keycloak_id }}-monitor.rule=Host(`{{ stage_server_url_host }}`)"',
|
|
'"traefik.http.routers.{{ keycloak_id }}-monitor.entrypoints=admin-system"',
|
|
'"traefik.http.routers.{{ keycloak_id }}-monitor.tls=true"',
|
|
'"traefik.http.routers.{{ keycloak_id }}-monitor.tls.certresolver=letsencrypt"',
|
|
]
|
|
|
|
keycloak_docker: {
|
|
networks: [
|
|
{
|
|
name: back-tier,
|
|
external: true,
|
|
},
|
|
{
|
|
name: front-tier,
|
|
external: true,
|
|
},
|
|
],
|
|
volumes: [
|
|
{
|
|
name: "{{ keycloak_postgres_id }}-data"
|
|
}
|
|
],
|
|
services: [
|
|
{
|
|
name: "{{ keycloak_id }}",
|
|
image_name: "jboss/keycloak",
|
|
image_version: "{{ keycloak_version }}",
|
|
labels: "{{ keycloak_labels + ( keycloak_labels_additional | default([])) }}",
|
|
environment: [
|
|
"PROXY_ADDRESS_FORWARDING: \"true\"",
|
|
|
|
"KEYCLOAK_USER: \"{{ keycloak_admin_username }}\"",
|
|
"KEYCLOAK_PASSWORD: \"{{ keycloak_admin_password }}\"",
|
|
|
|
"DB_VENDOR: postgres",
|
|
"DB_DATABASE: \"{{ keycloak_postgres_database }}\"",
|
|
"DB_USER: \"{{ keycloak_postgres_admin_username }}\"",
|
|
"DB_PASSWORD: \"{{ keycloak_postgres_admin_password }}\"",
|
|
"DB_ADDR: \"{{ keycloak_postgres_id }}\"",
|
|
|
|
"JAVA_OPTS_APPEND: \"-Dkeycloak.profile.feature.docker=enabled\"",
|
|
],
|
|
volumes: [
|
|
'"./eden-theme:/opt/jboss/keycloak/themes/eden-theme:ro"',
|
|
'"./smardigo-theme:/opt/jboss/keycloak/themes/smardigo-theme:ro"',
|
|
],
|
|
networks: [
|
|
'"back-tier"',
|
|
'"front-tier"',
|
|
],
|
|
ports: [
|
|
{
|
|
external: "{{ service_port_keycloak_external }}",
|
|
internal: "{{ service_port_keycloak }}",
|
|
},
|
|
],
|
|
extra_hosts: "{{ keycloak_extra_hosts | default([]) }}",
|
|
},
|
|
{
|
|
name: "{{ keycloak_postgres_id }}",
|
|
image_name: "postgres",
|
|
image_version: "{{ keycloak_postgres_version }}",
|
|
environment: [
|
|
'POSTGRES_DB: "{{ keycloak_postgres_database }}"',
|
|
'POSTGRES_USER: "{{ keycloak_postgres_admin_username }}"',
|
|
'POSTGRES_PASSWORD: "{{ keycloak_postgres_admin_password }}"',
|
|
],
|
|
volumes: [
|
|
'"{{ keycloak_postgres_id }}-data:/var/lib/postgresql/data"',
|
|
],
|
|
networks: [
|
|
'"back-tier"',
|
|
],
|
|
ports: "{{ keycloak_postgres_ports | default([]) }}",
|
|
},
|
|
],
|
|
} |