--- iam_id: "{{ service_name }}-iam" iam_cache_timeout: 600s iam_keycloak_auth_server_url: "https://{{ shared_service_keycloak_hostname }}/auth" iam_keycloak_admin_user: "{{ keycloak_admin_username }}" iam_keycloak_admin_password: "{{ keycloak_admin_password }}" iam_labels: [ '"traefik.enable=true"', '"traefik.http.routers.{{ iam_id }}.service={{ iam_id }}"', '"traefik.http.routers.{{ iam_id }}.rule=Host(`{{ stage_server_url_host }}`)"', '"traefik.http.routers.{{ iam_id }}.entrypoints=websecure"', '"traefik.http.routers.{{ iam_id }}.tls=true"', '"traefik.http.routers.{{ iam_id }}.tls.certresolver=letsencrypt"', '"traefik.http.services.{{ iam_id }}.loadbalancer.server.port={{ service_port }}"', '"traefik.http.routers.{{ iam_id }}-admin.service={{ iam_id }}-admin"', '"traefik.http.routers.{{ iam_id }}-admin.rule=Host(`{{ stage_server_url_host }}`)"', '"traefik.http.routers.{{ iam_id }}-admin.entrypoints=admin-service"', '"traefik.http.routers.{{ iam_id }}-admin.tls=true"', '"traefik.http.routers.{{ iam_id }}-admin.tls.certresolver=letsencrypt"', '"traefik.http.routers.{{ iam_id }}-admin.middlewares={{ iam_id }}-admin-cors"', '"traefik.http.middlewares.{{ iam_id }}-admin-cors.headers.accesscontrolallowmethods=GET,OPTIONS"', '"traefik.http.middlewares.{{ iam_id }}-admin-cors.headers.accesscontrolalloworigin=*"', '"traefik.http.middlewares.{{ iam_id }}-admin-cors.headers.accesscontrolallowheaders=SMA_USER"', '"traefik.http.services.{{ iam_id }}-admin.loadbalancer.server.port={{ management_port }}"', '"traefik.http.routers.{{ iam_id }}-monitor.service={{ service_name }}-node-exporter"', '"traefik.http.routers.{{ iam_id }}-monitor.rule=Host(`{{ stage_server_url_host }}`)"', '"traefik.http.routers.{{ iam_id }}-monitor.entrypoints=monitoring-system"', '"traefik.http.routers.{{ iam_id }}-monitor.tls=true"', '"traefik.http.routers.{{ iam_id }}-monitor.tls.certresolver=letsencrypt"', ] iam_docker: { networks: [ { name: back-tier, external: true, }, { name: front-tier, external: true, }, ], services: [ { name: "{{ iam_id }}", image_name: "{{ iam_image_name }}", image_version: "{{ iam_version }}", labels: "{{ iam_labels + ( iam_labels_additional | default([])) }}", restart: "{{ iam_service_restart | default('always') }}", environment: [ "SERVER_PORT: \"{{ service_port }}\"", "ADMIN_PORT: \"{{ management_port }}\"", "SERVER_ERROR_INCLUDE_MESSAGE: \"always\"", "SPRING_CACHE_CAFFEINE_SPEC: \"expireAfterAccess={{ iam_cache_timeout }}\"", "IAM_KEYCLOAK_AUTH_SERVER_URL: \"{{ iam_keycloak_auth_server_url }}\"", "IAM_KEYCLOAK_ADMIN_USER: \"{{ iam_keycloak_admin_user }}\"", "IAM_KEYCLOAK_ADMIN_PASSWORD: \"{{ iam_keycloak_admin_password }}\"" ], networks: [ '"back-tier"', '"front-tier"', ], extra_hosts: "{{ iam_extra_hosts | default([]) }}", } ], }