Projet

Général

Profil

0001-install-and-deploy-multi-tenant-chrono-22918.patch

Thomas Noël, 30 mars 2018 11:04

Télécharger (4,72 ko)

Voir les différences:

Subject: [PATCH] install and deploy multi-tenant chrono (#22918)

 install.yml                                                |  1 +
 inventory.yml                                              |  7 +++++++
 roles/app-setup/templates/chrono-settings.j2               | 11 +++++++++++
 roles/chrono/tasks/main.yml                                | 14 ++++++++++++++
 roles/chrono/vars/main.yml                                 | 11 +++++++++++
 .../templates/hobo-manage-recipe-with-wcs.j2               |  4 ++++
 roles/nginx-setup/templates/chrono-nginx-server.j2         | 12 ++++++++++++
 7 files changed, 60 insertions(+)
 create mode 100644 roles/app-setup/templates/chrono-settings.j2
 create mode 100644 roles/chrono/tasks/main.yml
 create mode 100644 roles/chrono/vars/main.yml
 create mode 100644 roles/nginx-setup/templates/chrono-nginx-server.j2
install.yml
9 9
    - wcs
10 10
    - passerelle
11 11
    - fargo
12
    - chrono
12 13
    - hobo-agent
13 14
    - end
14 15
  vars:
inventory.yml
47 47
        nginx_host_pattern: '~^(.*)\-fargo\.local\.publik$'
48 48
        project_name: fargo
49 49
        server_port: 8036
50
      chrono:
51
        db_name: chrono
52
        host_pattern: "*-chrono.local.publik"
53
        nginx_host_pattern: '~^(.*)\-chrono\.local\.publik$'
54
        project_name: chrono
55
        server_port: 8040
50 56
      wcs:
51 57
        db_name: wcs
52 58
        host_pattern: "*-wcs.local.publik"
......
61 67
      demarches-wcs: "demarches-wcs.local.publik"
62 68
      dev-passerelle: "dev-passerelle.local.publik"
63 69
      dev-fargo: "dev-fargo.local.publik"
70
      dev-chrono: "dev-chrono.local.publik"
roles/app-setup/templates/chrono-settings.j2
1
{% extends "app-settings-base.j2" %}
2

  
3
{% block app_custom_before %}
4
# SAML2 authentication
5
INSTALLED_APPS += ('mellon',)
6
{% endblock %}
7

  
8
{% block app_custom_after %}
9
# disable django-mellon autologin
10
MELLON_OPENED_SESSION_COOKIE_NAME = None
11
{% endblock %}
roles/chrono/tasks/main.yml
1

  
2
- name: source install chrono
3
  import_tasks: install_source.yml
4
  vars:
5
    repo: "chrono"
6
    repo_dir: "{{ src_dir }}/chrono"
7

  
8
- name: chrono app setup
9
  import_role:
10
    name: app-setup
11

  
12
- name: chrono nginx setup
13
  import_role:
14
    name: nginx-setup
roles/chrono/vars/main.yml
1
app_name: chrono
2
compile_scss: false
3
compile_translations: true
4
migrate_schemas: true
5
db_name: "{{apps['chrono']['db_name']}}"
6
manage_cmd: "{{venv_python}} {{src_dir}}/chrono/manage.py"
7
nginx_host_pattern: "{{apps['chrono']['nginx_host_pattern']}}"
8
nginx_template_name: "chrono-nginx-server.j2"
9
project_name: "{{apps['chrono']['project_name']}}"
10
server_port: "{{apps['chrono']['server_port']}}"
11
settings_env_var: CHRONO_SETTINGS_FILE
roles/deploy-tenants/templates/hobo-manage-recipe-with-wcs.j2
42 42
        "url": "https://{{tenants_conf['dev-fargo']}}/",
43 43
        "title": "Porte-documents"
44 44
    }},
45
    {"create-chrono": {
46
        "url": "https://{{tenants_conf['dev-chrono']}}/",
47
        "title": "Agendas"
48
    }},
45 49
    {"set-theme": {
46 50
      "theme": "publik"
47 51
    }}
roles/nginx-setup/templates/chrono-nginx-server.j2
1
{% extends "base-nginx-server.j2" %}
2

  
3
    {% block middle %}
4
    location ~ ^/static/(.+)$ {
5
        root /;
6
        try_files /var/lib/{{project_name}}/tenants/$host/static/$1
7
                  /var/lib/{{project_name}}/tenants/$host/theme/static/$1
8
                  /var/lib/{{project_name}}/collectstatic/$1
9
                  =404;
10
        add_header Access-Control-Allow-Origin *;
11
    }
12
    {% endblock %}
0
-