Skip to content

Commit c416e52

Browse files
committed
Merge branch 'release/678' into release/test2
2 parents 7e11282 + 7093454 commit c416e52

3 files changed

Lines changed: 124 additions & 106 deletions

File tree

Lines changed: 48 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,55 @@
11
---
2-
front_controller: app.php
3-
develop_spd: False
4-
spdashboard_fpm_user: spdashboard
5-
spdashboard_domain: spdashboard.{{ base_domain }}
6-
spdashboard_data_dir: /opt/openconext/spdashboard
7-
spdashboard_document_root: "{{ spdashboard_data_dir }}/current/web"
8-
spdashboard_branch: master
9-
spdashboard_branch_dir: /opt/openconext/builds/spdashboard
2+
spdashboard_domain: "spdashboard.{{ base_domain }}"
3+
spdashboard_db_name: "spdashboard"
4+
5+
spdashboard_app_secret: "CHANGE_ME"
6+
7+
spdashboard_support_email: "{{ support_email }}"
8+
9+
spdashboard_show_global_notice: false
10+
spdashboard_global_notice_date: "01-01-2020"
11+
12+
# these are really not used in any regular configuration, safe to keep them on default
1013
spdashboard_saml_sp_publickey: "%kernel.project_dir%/vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_publickey.cer"
1114
spdashboard_saml_sp_privatekey: "%kernel.project_dir%/vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_privatekey.pem"
1215
spdashboard_saml_metadata_publickey: "%kernel.project_dir%/vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_publickey.cer"
1316
spdashboard_saml_metadata_privatekey: "%kernel.project_dir%/vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_privatekey.pem"
17+
1418
spdashboard_saml_remote_idp_host: "https://engine.{{ base_domain }}"
15-
spdashboard_support_email: "{{ support_email }}"
16-
spdashboard_manage_prod_host: "https://manage-prod.{{ base_domain }}"
17-
spdashboard_manage_test_publication_status: testaccepted
18-
spdashboard_manage_prod_publication_status: prodaccepted
19-
spdashboard_manage_test_oidcng_enabled: true
20-
spdashboard_manage_prod_oidcng_enabled: true
21-
spdashboard_nodejs_rpm_url: "https://rpm.nodesource.com/pub_11.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm"
22-
spdashboard_jira_host: https://jira-test.surfnet.nl
23-
spdashboard_jira_username: username
24-
spdashboard_jira_password: password
25-
spdashboard_jira_issue_priority: Medium
26-
spdashboard_jira_issue_type: spd-delete-production-entity
27-
spdashboard_jira_issue_type_publication_request: spd-request-production-entity
28-
spdashboard_jira_entityid_fieldname: customfield_12914
29-
spdashboard_jira_manageid_fieldname: customfield_13401
19+
spdashboard_saml_remote_idp_entity_id: "https://engine.{{ base_domain }}/authentication/idp/metadata"
20+
spdashboard_saml_remote_idp_sso_url: "https://engine.{{ base_domain }}/authentication/idp/single-sign-on/key:20230503"
21+
22+
spdashboard_invite_host: "https://invite.{{ base_domain }}"
23+
spdashboard_invite_landing_url: "https://invite.{{ base_domain }}"
24+
25+
spdashboard_surf_autorization_attribute: "urn:mace:dir:attribute-def:eduPersonEntitlement"
26+
spdashboard_surf_autorization_attribute_svc_value: "urn:mace:undefined"
27+
spdashboard_adminteams: []
28+
29+
spdashboard_manage_prod_host: "https://manage.{{ base_domain }}"
30+
spdashboard_manage_prod_publication_status: "prodaccepted"
31+
32+
spdashboard_manage_test_host: "https://manage.test.{{ base_domain }}"
33+
spdashboard_manage_test_publication_status: "testaccepted"
34+
35+
spdashboard_jira_host: "https://jira.invalid"
36+
spdashboard_jira_project_key: "CXT"
37+
spdashboard_jira_issue_priority: "Medium"
38+
spdashboard_jira_issue_type: "spd-delete-production-entity"
39+
spdashboard_jira_issue_type_publication_request: "spd-request-production-entity"
40+
spdashboard_jira_issue_type_change_request: "spd-request-change-request-prod"
41+
spdashboard_jira_issue_type_invite: "spd-idp-invite-request"
42+
43+
spdashboard_jira_entityid_fieldname: "customfield_12914"
44+
spdashboard_jira_reporter_fieldname: "customfield_13009"
45+
spdashboard_jira_manageid_fieldname: "customfield_13401"
3046
spdashboard_jira_manageid_field_label: "SURFconext Manage ID"
31-
spdashboard_jira_project_key: CXT
32-
spdashboard_test_mode_enabled: false
33-
spdashboard_test_mode_path: '../var/issues.json'
34-
spdashboard_playground_uri_test: https://authz-playground.dev.support.surfconext.nl/redirect
35-
spdashboard_playground_uri_prod: https://authz-playground.dev.support.surfconext.nl/redirect
36-
spdashboard_oidcng_playground_uri_test: https://oidc-playground.dev.support.surfconext.nl/redirect
37-
spdashboard_oidcng_playground_uri_prod: https://oidc-playground.dev.support.surfconext.nl/redirect
38-
spdashboard_show_global_notice: False
39-
spdashboard_global_notice_date: "01-01-2020"
40-
spdashboard_docker_networks:
41-
- name: loadbalancer
47+
48+
spdashboard_playground_uri_prod: "https://oidc-playground.{{ basedomain }}/redirect"
49+
spdashboard_playground_uri_test: "https://oidc-playground.test.{{ basedomain }}/redirect"
50+
51+
spdashboard_oidcng_playground_uri_test: "https://oidc-playground.dev.support.surfconext.nl/redirect"
52+
spdashboard_oidcng_playground_uri_prod: "https://oidc-playground.dev.support.surfconext.nl/redirect"
53+
54+
spdashboard_docker_networks:
55+
- name: "loadbalancer"

roles/spdashboard/tasks/main.yml

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
11
---
2-
- name: Create directory to keep configfile
3-
file:
4-
dest: "/opt/openconext/spdashboard"
5-
state: directory
6-
owner: root
7-
group: root
8-
mode: 0770
2+
- name: "Create directory to keep configfile"
3+
ansible.builtin.file:
4+
path: "/opt/openconext/spdashboard"
5+
state: "directory"
6+
owner: "root"
7+
group: "root"
8+
mode: "0750"
99

10-
- name: Place the configfile
11-
template:
12-
src: env.j2
13-
dest: /opt/openconext/spdashboard/env
14-
owner: root
15-
group: root
16-
mode: 0644
10+
- name: "Place the configfile"
11+
ansible.builtin.template:
12+
src: "env.j2"
13+
dest: "/opt/openconext/spdashboard/env"
14+
owner: "root"
15+
mode: "0644"
1716

18-
- name: Add the MariaDB docker network to the list of networks when MariaDB runs in Docker
17+
- name: "Add the MariaDB docker network to the list of networks when MariaDB runs in Docker"
1918
ansible.builtin.set_fact:
2019
spdashboard_docker_networks:
21-
- name: loadbalancer
22-
- name: openconext_mariadb
23-
when: mariadb_in_docker | default(false) | bool
20+
- name: "loadbalancer"
21+
- name: "openconext_mariadb"
22+
when: "mariadb_in_docker | default(false) | bool"
2423

25-
- name: Create the container
26-
docker_container:
27-
name: spdashboard
28-
image: ghcr.io/surfnet/sp-dashboard/spdashboard:{{ spdashboard_version }}
24+
- name: "Create the container"
25+
community.docker.docker_container:
26+
name: "spdashboard"
27+
image: "ghcr.io/surfnet/sp-dashboard/spdashboard:{{ spdashboard_version }}"
2928
env_file: "/opt/openconext/spdashboard/env"
3029
pull: true
3130
restart_policy: "always"
@@ -36,8 +35,8 @@
3635
traefik.enable: "true"
3736
traefik.port: "8080"
3837
healthcheck:
39-
test: ["CMD", "curl", "--fail", "http://localhost"]
40-
interval: 10s
41-
timeout: 10s
42-
retries: 3
43-
start_period: 10s
38+
test: ["CMD", "curl", "--fail", "http://localhost/health"]
39+
interval: "10s"
40+
timeout: "10s"
41+
retries: "3"
42+
start_period: "10s"

roles/spdashboard/templates/env.j2

Lines changed: 50 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,82 @@
11
APP_ENV=prod
2-
APP_SECRET={{ spdashboard_symfony_secret }}
3-
DATABASE_URL=mysql://spdrw:{{ mysql_passwords.spdashboard }}@{{ mariadb_host }}/{{ spdashboard_db_name | default('spdashboard') }}
4-
MAILER_DSN=null://null
2+
# TODO/wip: maak alleen indirecte referentie naar de secrets. Dus niet vanuit de config files direct secrets, maar die via een variabele hier laten lopen).
3+
APP_SECRET={{ spdashboard_app_secret }}
4+
DATABASE_URL=mysql://spdrw:{{ mysql_passwords.spdashboard }}@{{ mariadb_host }}/{{ spdashboard_db_name }}
5+
56
locale=en
6-
mailer_transport=smtp
7-
mailer_host=127.0.0.1
8-
mailer_user=null
9-
mailer_password=null
7+
8+
MAILER_DSN=smtp://{{ smtp_server }}:25
109
mail_from={{ noreply_email }}
1110
mail_no_reply={{ noreply_email}}
1211
mail_receiver={{ spdashboard_support_email }}
13-
secret=ThisTokenIsNotSoSecretChangeIt
12+
1413
session_max_absolute_lifetime=32400
1514
session_max_relative_lifetime=14400
16-
logout_redirect_url=https://engine.{{ spdashboard_base_domain }}/logout
17-
administrator_teams={% for team in spdashboard.adminteams %}{{ team }}{% if not loop.last %},{% endif %}{% endfor %}
1815

16+
global_site_notice_show={{ spdashboard_show_global_notice }}
17+
global_site_notice_date={{ spdashboard_global_notice_date }}
18+
global_site_notice_allowed_tags=<a><u><i><br><wbr><strong><em><blink><marquee><p><ul><ol><dl><li><dd><dt><div><span><blockquote><hr><h2></h2><h3><h4><h5><h6>
19+
20+
# where to redirect the user on logout
21+
logout_redirect_url=https://{{ spdashboard_saml_remote_idp_host }}/logout
22+
23+
# SAML-keys for SP; note: in normal OpenConext usecases,
24+
# these are not necessary and default to insecure keys from the SP-dashboard repo
1925
saml_sp_publickey={{ spdashboard_saml_sp_publickey }}
2026
saml_sp_privatekey={{ spdashboard_saml_sp_privatekey }}
2127
saml_metadata_publickey={{ spdashboard_saml_metadata_publickey }}
2228
saml_metadata_privatekey={{ spdashboard_saml_metadata_privatekey }}
29+
30+
# SAML-metadata for IdP
2331
saml_remote_idp_entity_id={{ spdashboard_saml_remote_idp_entity_id }}
2432
saml_remote_idp_sso_url={{ spdashboard_saml_remote_idp_sso_url }}
2533
saml_remote_idp_certificate={{ spdashboard_saml_remote_idp_certificate }}
2634
saml_remote_idp_host={{ spdashboard_saml_remote_idp_host }}
27-
manage_test_host=https://manage.{{ base_domain }}
28-
manage_test_username=sp-dashboard
29-
manage_test_password={{ manage_sp_dashboard_secret }}
35+
36+
# Invite instance; needs to correspond to saml_remote_idp_*
37+
invite_host={{ spdashboard_invite_host }}
38+
invite_api_username={{ spdashboard_invite_api_username }}
39+
invite_api_password={{ spdashboard_invite_api_password }}
40+
invite_landing_url={{ spdashboard_invite_landing_url }}}
41+
42+
# authorization: Invite roles and suepradmin teams
43+
authorization_attribute_name={{ spdashboard_surf_autorization_attribute }}
44+
surfconext_representative_authorization={{ spdashboard_surf_autorization_attribute_svc_value }}
45+
administrator_teams={% for team in spdashboard_adminteams %}{{ team }}{% if not loop.last %},{% endif %}{% endfor %}
46+
47+
# where to publish test instances
48+
manage_test_host={{ spdashboard_manage_test_host }}
49+
manage_test_username={{ spdashboard_manage_test_user }}
50+
manage_test_password={{ spdashboard_manage_test_password }}
3051
manage_test_publication_status={{ spdashboard_manage_test_publication_status }}
31-
manage_test_oidcng_enabled={{ spdashboard_manage_test_oidcng_enabled }}
52+
manage_test_oidcng_enabled=true
53+
54+
# where to public prod instances
3255
manage_prod_host={{ spdashboard_manage_prod_host }}
33-
manage_prod_username=sp-dashboard
34-
manage_prod_password={{ manage_prod_sp_dashboard_secret }}
56+
manage_prod_username={{ spdashboard_manage_prod_user}}
57+
manage_prod_password={{ spdashboard_manage_prod_password }}
3558
manage_prod_publication_status={{ spdashboard_manage_prod_publication_status }}
36-
manage_prod_oidcng_enabled={{ spdashboard_manage_prod_oidcng_enabled }}
59+
manage_prod_oidcng_enabled=true
60+
61+
# manage guid van SP Dashboard
62+
spdashboard_manage_id={{ spdashboard_manage_id }}
63+
3764
jira_host={{ spdashboard_jira_host }}
3865
jira_personal_access_token={{ spdashboard_jira_apikey }}
39-
jira_password={{ spdashboard_jira_password }}
66+
jira_issue_project_key={{ spdashboard_jira_project_key }}
4067
jira_issue_priority={{ spdashboard_jira_issue_priority }}
4168
jira_issue_type={{ spdashboard_jira_issue_type }}
4269
jira_issue_type_publication_request={{ spdashboard_jira_issue_type_publication_request }}
43-
jira_issue_type_entity_change_request={{ spdashboard_jira_entity_change_request }}
70+
jira_issue_type_entity_change_request={{ spdashboard_jira_issue_type_change_request }}
4471
jira_issue_type_idp_invite={{ spdashboard_jira_issue_type_invite }}
72+
4573
jira_issue_entityid_fieldname={{ spdashboard_jira_entityid_fieldname }}
74+
jira_issue_reporter_fieldname={{ spdashboard_jira_reporter_fieldname }}
4675
jira_issue_manageid_fieldname={{ spdashboard_jira_manageid_fieldname }}
4776
jira_issue_manageid_field_label={{ spdashboard_jira_manageid_field_label }}
48-
jira_issue_reporter_fieldname={{ spdashboard_jira_reporter_fieldname }}
49-
jira_issue_project_key={{ spdashboard_jira_project_key }}
50-
jira_enable_test_mode={{ spdashboard_test_mode_enabled }}
51-
jira_test_mode_storage_path={{ spdashboard_test_mode_path }}
77+
5278
playground_uri_test={{ spdashboard_playground_uri_test }}
5379
playground_uri_prod={{ spdashboard_playground_uri_prod }}
54-
global_site_notice_show={{ spdashboard_show_global_notice }}
55-
global_site_notice_date={{ spdashboard_global_notice_date }}
56-
global_site_notice_allowed_tags=<a><u><i><br><wbr><strong><em><blink><marquee><p><ul><ol><dl><li><dd><dt><div><span><blockquote><hr><h2></h2><h3><h4><h5><h6>
5780

58-
acs_location_route_name=dashboard_saml_consume_assertion
59-
metadata_url_timeout=30
81+
metadata_url_timeout=3
6082
test_idp_entity_ids=[{{ spdashboard_test_idps }}]
61-
authorization_attribute_name={{ spdashboard_surf_autorization_attribute }}
62-
surfconext_representative_authorization={{ spdashboard_surf_autorization_attribute_svc_value }}
63-
64-
## Teams test instance
65-
teams_host={{ spdashboard_teams_host }}
66-
teams_username={{ spdashboard_teams_api_user }}
67-
teams_password={{ spdashboard_teams_api_password }}
68-
team_prefix_default_stem_name={{ spdashboard_teams_default_stem }}
69-
team_prefix_group_name_context={{ spdashboard_teams_group_name_context }}
70-
71-
spdashboard_manage_id={{ spdashboard_manage_id }}
72-
73-
## Invite instance
74-
invite_host={{ spdashboard_invite_host }}
75-
invite_api_username={{ spdashboard_invite_api_username }}
76-
invite_api_password={{ spdashboard_invite_api_password }}
77-
invite_landing_url={{ spdashboard_invite_landing_url }}}

0 commit comments

Comments
 (0)