2020-12-29 17:03:37 +01:00
|
|
|
{% if shinyproxy_version is version_compare('2.4.0', '>=') %}
|
|
|
|
server:
|
|
|
|
forward-headers-strategy: native
|
|
|
|
{% else %}
|
|
|
|
server:
|
|
|
|
useForwardHeaders: true
|
|
|
|
{% endif %}
|
|
|
|
servlet.session.timeout: {{ shinyproxy_server_session_timeout }}
|
|
|
|
|
2020-09-17 19:30:11 +02:00
|
|
|
proxy:
|
|
|
|
title: {{ shinyproxy_app_title }}
|
|
|
|
logo-url: {{ shinyproxy_logo_url }}
|
|
|
|
landing-page: {{ shinyproxy_landing_page }}
|
2020-11-16 17:25:40 +01:00
|
|
|
heartbeat-rate: {{ shinyproxy_heartbeat_rate }}
|
|
|
|
heartbeat-timeout: {{ shinyproxy_heartbeat_timeout }}
|
2020-09-17 19:30:11 +02:00
|
|
|
container-wait-time: {{ shinyproxy_container_wait_time }}
|
2022-01-06 19:24:07 +01:00
|
|
|
{% if shinyproxy_version is version_compare('2.6.0', '>=') %}
|
|
|
|
default-webSocket-reconnection-mode: {{ shinyproxy_default_websocket_reconnection_mode }}
|
|
|
|
stop-proxies-on-shutdown: {{ shinyproxy_stop_proxies_on_shutdown }}
|
|
|
|
recover-running-proxies: {{ shinyproxy_recover_running_proxies }}
|
|
|
|
recover-running-proxies-from-different-config: {{ shinyproxy_recover_running_proxies_from_different_config }}
|
|
|
|
default-stop-proxy-on-logout: {{ shinyproxy_default_stop_proxy_on_logout }}
|
|
|
|
default-proxy-max-lifetime: {{ shinyproxy_default_proxy_max_lifetime }}
|
|
|
|
{% endif %}
|
2020-10-07 19:29:44 +02:00
|
|
|
{% if shinyproxy_container_backend == 'docker-swarm' %}
|
|
|
|
bind-address: 0.0.0.0
|
|
|
|
{% else %}
|
2020-09-17 19:30:11 +02:00
|
|
|
bind-address: {{ shinyproxy_bind_address }}
|
2020-10-07 19:29:44 +02:00
|
|
|
{% endif %}
|
2020-10-07 19:34:22 +02:00
|
|
|
port: {{ shinyproxy_http_port }}
|
2020-09-17 19:30:11 +02:00
|
|
|
hide-navbar: {{ shinyproxy_hide_navbar }}
|
|
|
|
{% if shinyproxy_custom_template %}
|
|
|
|
template-path: {{ shinyproxy_template_path }}
|
|
|
|
{% endif %}
|
|
|
|
authentication: {{ shinyproxy_authentication }}
|
2021-04-11 17:17:06 +02:00
|
|
|
{% if shinyproxy_expose_prometheus and shinyproxy_version is version_compare('2.5.0', '>=') %}
|
|
|
|
usage-stats-url: micrometer
|
|
|
|
{% endif %}
|
2020-09-17 19:30:11 +02:00
|
|
|
admin-groups: {{ shinyproxy_admin_group }}
|
|
|
|
container-backend: {{ shinyproxy_container_backend }}
|
2022-03-08 16:20:52 +01:00
|
|
|
{% if shinyproxy_authentication == 'ldap' %}
|
2020-09-17 19:30:11 +02:00
|
|
|
# LDAP configuration
|
|
|
|
ldap:
|
|
|
|
url: {{ shinyproxy_ldap_server }}
|
|
|
|
{% if shinyproxy_ldap_user_dn_enabled %}
|
|
|
|
user-dn-pattern: {{ shinyproxy_ldap_user_dn_pattern }}
|
|
|
|
{% endif %}
|
|
|
|
{% if shinyproxy_ldap_user_search_base_enabled %}
|
|
|
|
user-search-base: {{ shinyproxy_ldap_user_search_base }}
|
|
|
|
{% endif %}
|
|
|
|
{% if shinyproxy_ldap_user_search_filter_enabled %}
|
|
|
|
user-search-filter: {{ shinyproxy_ldap_user_search_filter }}
|
|
|
|
{% endif %}
|
|
|
|
group-search-base: {{ shinyproxy_ldap_group_search_base }}
|
|
|
|
group-search-filter: {{ shinyproxy_ldap_group_search_filter }}
|
|
|
|
manager-dn: {{ shinyproxy_ldap_admin }}
|
|
|
|
manager-password: {{ shinyproxy_ldap_admin_pwd }}
|
|
|
|
{% endif %}
|
2022-03-08 16:20:52 +01:00
|
|
|
{% if shinyproxy_authentication == 'keycloak' %}
|
|
|
|
keycloak:
|
|
|
|
realm: {{ shinyproxy_keycloak_realm }}
|
|
|
|
auth-server-url: {{ shinyproxy_keycloak_url }}
|
|
|
|
resource: {{ shinyproxy_keycloak_resource }}
|
|
|
|
credentials-secret: {{ shinyproxy_keycloak_secret }}
|
|
|
|
ssl-required: {{ shinyproxy_keycloak_ssl_required }}
|
|
|
|
proxy.keycloak.name-attribute: {{ shinyproxy_keycloak_name_attribute }}
|
|
|
|
use-resource-role-mappings: {{ shinyproxy_keycloak_role_mappings }}
|
|
|
|
{% endif %}
|
2020-09-26 17:42:25 +02:00
|
|
|
{% if shinyproxy_container_backend == 'docker' or shinyproxy_container_backend == 'docker-swarm' %}
|
2020-09-17 19:30:11 +02:00
|
|
|
docker:
|
|
|
|
container-memory-request: {{ shinyproxy_docker_memory_request }}
|
|
|
|
container-memory-limit: {{ shinyproxy_docker_memory_limit }}
|
|
|
|
container-cpu-limit: {{ shinyproxy_docker_cpu_limit }}
|
2020-10-06 19:49:13 +02:00
|
|
|
{% if not shinyproxy_as_docker_service %}
|
2020-09-17 19:30:11 +02:00
|
|
|
cert-path: {{ shinyproxy_docker_certs_dir }}
|
|
|
|
url: {{ shinyproxy_docker_url }}
|
|
|
|
container-protocol: {{ shinyproxy_docker_protocol }}
|
|
|
|
port-range-start: {{ shinyproxy_docker_port_range_start }}
|
|
|
|
internal-networking: {{ shinyproxy_docker_internal_networking }}
|
2020-10-06 19:49:13 +02:00
|
|
|
{% else %}
|
|
|
|
internal-networking: true
|
2020-09-23 16:40:51 +02:00
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
2020-09-17 19:30:11 +02:00
|
|
|
specs:
|
|
|
|
{% if shinyproxy_default_apps %}
|
|
|
|
- id: 01_hello
|
|
|
|
display-name: Hello Application
|
|
|
|
description: Application which demonstrates the basics of a Shiny app
|
|
|
|
container-cmd: ["R", "-e shinyproxy::run_01_hello()"]
|
|
|
|
container-image: openanalytics/shinyproxy-demo
|
|
|
|
- id: 06_tabsets
|
|
|
|
docker-cmd: ["R", "-e shinyproxy::run_06_tabsets()"]
|
|
|
|
container-image: openanalytics/shinyproxy-demo
|
|
|
|
{% endif %}
|
|
|
|
{% if shinyproxy_apps is defined %}
|
|
|
|
{% for app in shinyproxy_apps %}
|
|
|
|
- id: {{ app.name }}
|
|
|
|
display-name: {{ app.display_name }}
|
|
|
|
description: {{ app.description }}
|
2022-03-08 16:20:52 +01:00
|
|
|
{% if app.cmd is defined %}container-cmd: ["R", "-e {{ app.cmd }}"]{% endif %}
|
2020-09-17 19:30:11 +02:00
|
|
|
container-image: {{ app.docker_image }}
|
|
|
|
container-memory: {{ app.docker_memory | default('2g') }}
|
2022-01-06 19:24:07 +01:00
|
|
|
{% if shinyproxy_version is version_compare('2.6.0', '>=') %}
|
|
|
|
|
|
|
|
stop-on-logout: {{ app.stop_on_logout | default('true') }}
|
2022-01-08 19:33:52 +01:00
|
|
|
max-lifetime: {{ app.max_lifetime | default(shinyproxy_default_proxy_max_lifetime) }}
|
2022-01-06 19:24:07 +01:00
|
|
|
|
|
|
|
{% endif %}
|
2022-03-08 16:20:52 +01:00
|
|
|
|
|
|
|
{% if app.environment is defined %}
|
|
|
|
container-env:
|
|
|
|
{% for env in app.environment %}
|
|
|
|
{{ env.name }}: {{ env.value }}
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
|
2022-01-06 19:24:07 +01:00
|
|
|
{% if shinyproxy_as_docker_service %}
|
2020-10-07 19:45:16 +02:00
|
|
|
{% if shinyproxy_container_backend == 'docker-swarm' %}
|
2020-10-07 19:55:16 +02:00
|
|
|
|
2021-04-13 19:57:26 +02:00
|
|
|
container-network: {{ shinyproxy_as_docker_stack_name }}_{{ shinyproxy_docker_network }}
|
2020-10-07 19:55:16 +02:00
|
|
|
|
2020-10-07 19:46:25 +02:00
|
|
|
{% else %}
|
2020-10-07 19:55:16 +02:00
|
|
|
|
2020-10-08 13:15:35 +02:00
|
|
|
container-network: {{ shinyproxy_docker_network }}
|
2020-10-07 19:55:16 +02:00
|
|
|
|
2020-10-07 19:45:16 +02:00
|
|
|
{% endif %}
|
2020-09-23 16:40:51 +02:00
|
|
|
{% endif %}
|
2020-09-17 19:30:11 +02:00
|
|
|
{% if app.groups is defined %}
|
2020-10-06 19:49:13 +02:00
|
|
|
|
2020-09-17 19:30:11 +02:00
|
|
|
groups: {{ app.groups }}
|
2020-10-06 19:49:13 +02:00
|
|
|
|
2020-09-17 19:30:11 +02:00
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
security:
|
|
|
|
basic:
|
|
|
|
enabled: {{ shinyproxy_basic_auth }}
|
2021-04-11 17:17:06 +02:00
|
|
|
|
|
|
|
{% if shinyproxy_expose_prometheus and shinyproxy_version is version_compare('2.5.0', '>=') %}
|
|
|
|
management:
|
|
|
|
metrics:
|
|
|
|
export:
|
|
|
|
prometheus:
|
|
|
|
enabled: true
|
|
|
|
{% endif %}
|
2022-01-06 19:24:07 +01:00
|
|
|
|
|
|
|
{% if shinyproxy_version is version_compare('2.6.0', '>=') %}
|
|
|
|
spring:
|
|
|
|
application:
|
|
|
|
name: {{ shinyproxy_spring_name }}
|
|
|
|
{% endif %}
|
|
|
|
|
2020-09-17 19:30:11 +02:00
|
|
|
logging:
|
|
|
|
file: {{ shinyproxy_log_dir }}/shinyproxy.log
|
|
|
|
#max-size: {{ shinyproxy_max_log_size }}
|
|
|
|
level:
|
|
|
|
com.spotify.docker: {{ shinyproxy_docker_loglevel }}
|
2020-12-29 17:03:37 +01:00
|
|
|
io.undertow: {{ shinyproxy_undertow_loglevel }}
|