Go to file
Frédéric Péters 32224317a0 raise dedicated exception when loading existing content fails (#61364) 2022-02-02 17:54:54 +01:00
combo add custom management commands 2021-02-26 13:46:45 +01:00
debian debian: use debhelper compat level 12 2022-01-28 08:32:03 +01:00
hobo trivial: apply isort 2022-01-28 08:34:19 +01:00
wcs raise dedicated exception when loading existing content fails (#61364) 2022-02-02 17:54:54 +01:00
.gitignore add packaging 2021-02-26 13:46:45 +01:00
.pre-commit-config.yaml bump pre-commit configuration 2022-01-28 08:34:14 +01:00
COPYING init repository as AGPL 2021-02-26 12:27:02 +01:00
Jenkinsfile jenkins: build for both buster and bullseye 2022-01-28 08:26:36 +01:00
Makefile add packaging 2021-02-26 13:46:45 +01:00
README make it possible to use input json files as templates (#51574) 2021-03-05 08:51:35 +01:00

README

Publik iMio Industrialisation
=============================

Usage:

  sudo -u hobo hobo-manage imio_indus_deploy -d $tenant --directory /path/to/directory/

  (or without -d $tenant to get interactive choice)


Expected directory layout
-------------------------

* blocks: list of w.c.s. blocks (XML files)
* carddefs: list of w.c.s. cards (XML files)
* category: list of w.c.s. categories (XML files)
* datasources: list of w.c.s. data sources (XML files)
* forms: list of w.c.s. forms (XML files)
* workflows: list of w.c.s. workflows (XML files)
* wscalls: list of w.c.s. webservice calls (XML files)

* combo: list of portal file exports, they should be named portal-agent.json
  and portal-user.json. (It actually takes files according to the template_name
  associated to the service)

* passerelle: list of connector file exports (JSON files).

* roles: a single roles.json file, in authentic format, ex:

  {
    "roles": [
      {
        "name": "Parent",
        "slug": "parent",
        "ou": {"slug": "default"}
      },
      {
        "name": "Agents traitants - Portail parent",
        "slug": "agents-traitants-portail-parent",
        "ou": {"slug": "default"}
      }
    ]
  }


The combo, passerelle and roles JSON files will be treated as templates if they
start with a Django template comment ({# ... #}), with environment variables
available in the rendering context.

This allows for such an import file:

  {# template #}{
    "resources": [
      {
        "server_url": "https://{{ environ.SERVER_HOSTNAME }}",
        ...


Order of operations
-------------------

* Check roles
* Deploy roles if they were missing
* Wait for roles to be deployed to modules (using rabbitmq)
* Deploy w.c.s. components (contents is overwritten except some form options)
* Deploy combo components
* Deploy passerelle components