Setup-configuration

Using the setup_configuration management command

You can use the included setup_configuration management command to configure your instance from a yaml file as follows:

python manage.py setup_configuration --yaml-file /path/to/config.yaml

You can also validate that the configuration source can be successfully loaded, without actually running the steps, by adding the validate-only flag:

python manage.py setup_configuration --yaml-file /path/to/config.yaml --validate-only

Both commands will either return 0 and a success message if the configuration file can be loaded without issues, otherwise it will return a non-zero exit code and print any validation errors.

Your YAML file should contain both a flag indicating whether the step is enabled or disabled, as well as an object containing the actual configuration values under the appropriate key.

Note

All steps are disabled by default. You only have to explicitly include the flag to enable a step, not to disable it, though you may do so if you wish to have an explicit record of what steps are disabled.

Further information can be found at the django-setup-configuration documentation.

This projects includes the following configuration steps (click on each step for a brief descripion and an example YAML you can include in your config file):

Configuration for admin login via OpenID Connect

class mozilla_django_oidc_db.setup_configuration.steps.AdminOIDCConfigurationStep

Configure the necessary settings to enable OpenID Connect authentication for admin users.

This allows admin users to log in with Single Sign On (SSO) to access the management interface.

oidc_db_config_enable: true
oidc_db_config_admin_auth:

  # DESCRIPTION: List of OIDC providers
  # DEFAULT VALUE: []
  # REQUIRED: false
  providers:
    -

      # DESCRIPTION: a unique identifier for this OIDC provider.
      # REQUIRED: true
      identifier: test-oidc-provider

      # REQUIRED: true
      # This field can have multiple different kinds of value. All the
      # alternatives are listed below and are divided by dashes. Only **one of
      # them** can be commented out.
      # -------------ALTERNATIVE 1-------------
      # endpoint_config:
      #   # DESCRIPTION: URL of your provider discovery endpoint ending with a slash
      #   # (`.well-known/...` will be added automatically). If this is provided, the
      #   # remaining endpoints can be omitted, as they will be derived from this endpoint.
      #   # DEFAULT VALUE: ""
      #   # REQUIRED: false
      #   oidc_op_discovery_endpoint: http://keycloak.local:8080/realms/test/
      # -------------ALTERNATIVE 2-------------
      endpoint_config:

        # DESCRIPTION: URL of your provider authorization endpoint
        # REQUIRED: true
        oidc_op_authorization_endpoint: http://keycloak.local:8080/realms/test/openid-connect/auth

        # DESCRIPTION: URL of your provider token endpoint
        # REQUIRED: true
        oidc_op_token_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/token

        # DESCRIPTION: URL of your provider userinfo endpoint.
        # REQUIRED: true
        oidc_op_user_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/userinfo

        # DESCRIPTION: URL of your provider logout endpoint.
        # DEFAULT VALUE: ""
        # REQUIRED: false
        oidc_op_logout_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/logout

        # DESCRIPTION: URL of your provider JSON Web Key Set endpoint. Required if `RS256`
        # is used as signing algorithm.
        # DEFAULT VALUE: ""
        # REQUIRED: false
        oidc_op_jwks_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/certs

      # DESCRIPTION: If enabled, the client ID and secret are sent in the HTTP Basic
      # auth header when obtaining the access token. Otherwise, they are sent in the
      # request body.
      # DEFAULT VALUE: false
      # REQUIRED: false
      oidc_token_use_basic_auth: false

      # DESCRIPTION: Controls whether the client uses nonce verification
      # DEFAULT VALUE: true
      # REQUIRED: false
      oidc_use_nonce: true

      # DESCRIPTION: Sets the length of the random string used for nonce verification
      # DEFAULT VALUE: 32
      # REQUIRED: false
      oidc_nonce_size: 32

      # DESCRIPTION: Sets the length of the random string used for state verification
      # DEFAULT VALUE: 32
      # REQUIRED: false
      oidc_state_size: 32

  # REQUIRED: true
  items:
    -

      # DESCRIPTION: Unique identifier of the OIDC client configuration. Allowed values:
      # [admin-oidc, oidc-digid, oidc-eherkenning, oidc-eidas].
      # REQUIRED: true
      identifier: admin-oidc

      # DESCRIPTION: The client must be enabled before users can authenticate through
      # it.
      # DEFAULT VALUE: true
      # REQUIRED: false
      enabled: true

      # DESCRIPTION: Scopes that are requested during login
      # DEFAULT VALUE: ["openid", "email", "profile"]
      # REQUIRED: false
      oidc_rp_scopes_list:
        - openid
        - email
        - profile

      # DESCRIPTION: Options relevant for a specific Identity Provider.
      # DEFAULT VALUE: {}
      # REQUIRED: false
      options:
        user_settings:
          claim_mappings:
            username:
              - sub
            email:
              - email
            first_name:
              - given_name
            last_name:
              - family_name
          username_case_sensitive: false
        groups_settings:
          make_users_staff: true
          superuser_group_names:
            - superuser
          sync: true
          sync_pattern: '*'
          claim_mapping:
            - roles

      # DEPRECATED: Moved to `providers.endpoint_config`
      # DESCRIPTION: Configuration for the OIDC Provider endpoints.
      # DEFAULT VALUE: null
      # REQUIRED: false
      # This field can have multiple different kinds of value. All the
      # alternatives are listed below and are divided by dashes. Only **one of
      # them** can be commented out.
      # -------------ALTERNATIVE 1-------------
      # endpoint_config:
      #   # DESCRIPTION: URL of your provider discovery endpoint ending with a slash
      #   # (`.well-known/...` will be added automatically). If this is provided, the
      #   # remaining endpoints can be omitted, as they will be derived from this endpoint.
      #   # DEFAULT VALUE: ""
      #   # REQUIRED: false
      #   oidc_op_discovery_endpoint: http://keycloak.local:8080/realms/test/
      # -------------ALTERNATIVE 2-------------
      endpoint_config:

        # DESCRIPTION: URL of your provider authorization endpoint
        # REQUIRED: true
        oidc_op_authorization_endpoint: http://keycloak.local:8080/realms/test/openid-connect/auth

        # DESCRIPTION: URL of your provider token endpoint
        # REQUIRED: true
        oidc_op_token_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/token

        # DESCRIPTION: URL of your provider userinfo endpoint.
        # REQUIRED: true
        oidc_op_user_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/userinfo

        # DESCRIPTION: URL of your provider logout endpoint.
        # DEFAULT VALUE: ""
        # REQUIRED: false
        oidc_op_logout_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/logout

        # DESCRIPTION: URL of your provider JSON Web Key Set endpoint. Required if `RS256`
        # is used as signing algorithm.
        # DEFAULT VALUE: ""
        # REQUIRED: false
        oidc_op_jwks_endpoint: http://keycloak.local:8080/realms/test/protocol/openid-connect/certs

      # DESCRIPTION: Unique identifier of the OIDC provider.
      # DEFAULT VALUE: ""
      # REQUIRED: false
      oidc_provider_identifier: test-oidc-provider

      # DEPRECATED: Moved to `items.options.user_settings.claim_mappings`
      # DESCRIPTION: Mapping from User model field names to a path in the claim.
      # DEFAULT VALUE: {"email": ["email"], "first_name": ["given_name"], "last_name": ["family_name"]}
      # REQUIRED: false
      claim_mapping:
        email:
          - email
        first_name:
          - given_name
        last_name:
          - family_name

      # DEPRECATED: Moved to `providers.oidc_token_use_basic_auth`
      # DESCRIPTION: If enabled, the client ID and secret are sent in the HTTP Basic
      # auth header when obtaining the access token. Otherwise, they are sent in the
      # request body.
      # DEFAULT VALUE: false
      # REQUIRED: false
      oidc_token_use_basic_auth: false

      # DEPRECATED: Moved to providers.oidc_use_nonce
      # DESCRIPTION: Controls whether the client uses nonce verification
      # DEFAULT VALUE: true
      # REQUIRED: false
      oidc_use_nonce: true

      # DEPRECATED: Moved to `providers.oidc_nonce_size`
      # DESCRIPTION: Sets the length of the random string used for nonce verification
      # DEFAULT VALUE: 32
      # REQUIRED: false
      oidc_nonce_size: 32

      # DEPRECATED: Moved to `providers.oidc_state_size`
      # DESCRIPTION: Sets the length of the random string used for state verification
      # DEFAULT VALUE: 32
      # REQUIRED: false
      oidc_state_size: 32

      # DEPRECATED: Moved to `items.options.user_settings.claim_mappings.username`
      # DESCRIPTION: Path in the claims to the value to use as username.
      # DEFAULT VALUE: ["sub"]
      # REQUIRED: false
      username_claim:
        - nested
        - username
        - claim

      # DEPRECATED: Moved to `items.options.group_settings.claim_mapping`
      # DESCRIPTION: Path in the claims to the value with group names.
      # DEFAULT VALUE: ["roles"]
      # REQUIRED: false
      groups_claim:
        - nested
        - group
        - claim

      # DEPRECATED: Moved to `items.options.group_settings.superuser_group_names`
      # DESCRIPTION: Superuser group names
      # DEFAULT VALUE: []
      # REQUIRED: false
      superuser_group_names:
        - superusers

      # DEPRECATED: Moved `items.options.group_settings.default_groups`
      # DESCRIPTION: Default group names
      # DEFAULT VALUE: []
      # REQUIRED: false
      default_groups:
        - read-only-users

      # DEPRECATED: Moved to `items.options.group_settings.sync`
      # DESCRIPTION: Whether to sync local groups
      # DEFAULT VALUE: true
      # REQUIRED: false
      sync_groups: true

      # DEPRECATED: Moved to `items.options.group_settings.sync_pattern`
      # DESCRIPTION: Pattern that the group names to sync should follow.
      # DEFAULT VALUE: "*"
      # REQUIRED: false
      sync_groups_glob_pattern: '*'

      # DEPRECATED: Moved to `items.options.groups_settings.make_users_staff`
      # DESCRIPTION: Whether to make the users staff.
      # DEFAULT VALUE: false
      # REQUIRED: false
      make_users_staff: false

      # DESCRIPTION: Client ID provided by the OIDC Provider
      # REQUIRED: true
      oidc_rp_client_id: modify-this

      # DESCRIPTION: Secret provided by the OIDC Provider
      # REQUIRED: true
      oidc_rp_client_secret: modify-this

      # DESCRIPTION: Algorithm the Identity Provider uses to sign ID tokens
      # DEFAULT VALUE: "RS256"
      # REQUIRED: false
      oidc_rp_sign_algo: RS256

      # DESCRIPTION: Key the Identity Provider uses to sign ID tokens in the case of an
      # RSA sign algorithm. Should be the signing key in PEM or DER format.
      # DEFAULT VALUE: ""
      # REQUIRED: false
      oidc_rp_idp_sign_key: modify-this

      # DESCRIPTION: Specific for Keycloak: parameter that indicates which identity
      # provider should be used (therefore skipping the Keycloak login screen).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      oidc_keycloak_idp_hint: some-identity-provider

      # DESCRIPTION: Indicates the source from which the user information claims should
      # be extracted. This can be the ID token or the User Info endpoint.
      # POSSIBLE VALUES: ["userinfo_endpoint", "id_token"]
      # DEFAULT VALUE: "userinfo_endpoint"
      # REQUIRED: false
      userinfo_claims_source: userinfo_endpoint

Configuration to connect with external services

class zgw_consumers.contrib.setup_configuration.steps.ServiceConfigurationStep

Configure one or more Service instances with their connection parameters and authentication credentials, which will allow this application to integrate with third-party systems in a consistent manner.

zgw_consumers_config_enable: true
zgw_consumers:

  # REQUIRED: true
  services:
    -

      # DESCRIPTION: Een unieke, voor mensen leesbare identificatie om deze service te
      # herkennen. Hoofdzakelijk nuttig voor importeren en exporteren.
      # REQUIRED: true
      identifier: service-identifier

      # REQUIRED: true
      label: Short and human-friendly description of this service

      # POSSIBLE VALUES: ["ac", "nrc", "zrc", "ztc", "drc", "brc", "rc", "kic", "oc",
      # "ic", "pc", "ptc", "vrc", "tc", "bc", "cmc", "kc", "orc"]
      # REQUIRED: true
      api_type: ac

      # DESCRIPTION: De basis-URL van de service om volledige URLs op te bouwen bij het
      # maken van verzoeken.
      # REQUIRED: true
      api_root: https://example.com/api/v1/

      # DESCRIPTION: Een pad/relatieve URL waartegen de verbindingstest uitgevoerd
      # wordt. Indien geen waarde opgegeven is, dan wordt de basisurl van de API
      # gebruikt. The verbindingstest wordt enkel uitgevoerd in de beheerpagina wanneer
      # de instellingen weergegeven worden.
      # DEFAULT VALUE: ""
      # REQUIRED: false
      api_connection_check_path: /some/relative/path

      # DESCRIPTION: De soort autorisatie die op deze service van toepassing is.
      # POSSIBLE VALUES: ["no_auth", "api_key", "zgw", "oauth2_client_credentials"]
      # DEFAULT VALUE: "zgw"
      # REQUIRED: false
      auth_type: zgw

      # DESCRIPTION: De client-iD die in het JSON Web Token opgenomen wordt om zich te
      # authenticeren bij de service (enkel nodig bij autorisatietype `zgw` of
      # `oauth2_client_credentials`).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      client_id: modify-this

      # DESCRIPTION: De geheime sleutel waarmee het JSON Web Token ondertekend wordt om
      # zich bij de service te authenticeren (enkel nodig bij autorisatietype `zgw`of
      # `oauth2_client_credentials`).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      secret: modify-this

      # DESCRIPTION: De naam van de header die de API-key bevat (enkel nodig bij
      # autorisatietype `api_key`).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      header_key: Authorization

      # DESCRIPTION: De waarde voor de API-key header (enkel nodig bij autorisatietype
      # `api_key`).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      header_value: Token <modify-this>

      # DESCRIPTION: NLX (outway)-adres
      # DEFAULT VALUE: ""
      # REQUIRED: false
      nlx: http://some-outway-adress.local:8080/

      # DESCRIPTION: User ID to use for the audit trail. Although these external API
      # credentials are typically used by this API itself instead of a user, the user ID
      # is required.
      # DEFAULT VALUE: ""
      # REQUIRED: false
      user_id: client-id

      # DESCRIPTION: Weergave van de gebruikersidentiteit voor mensen.
      # DEFAULT VALUE: ""
      # REQUIRED: false
      user_representation: Name of the user

      # DESCRIPTION: Time-out (in seconden) voor HTTP-calls. Na het verstrijken wordt
      # het verzoek afgebroken.
      # DEFAULT VALUE: 10
      # REQUIRED: false
      timeout: 10

      # DESCRIPTION: Bepaalt de geldigheidsduur van een JWT, in seconden. Deze parameter
      # heeft invloed op de 'exp' claim (enkel relevant bij autorisatietype `zgw`).
      # DEFAULT VALUE: 43200
      # REQUIRED: false
      jwt_valid_for: 43200

      # DESCRIPTION: De token-endpoint waar client-ID en secret uitgewisseld worden voor
      # een token (enkel relevant voor de OAuth2-authenticatietype(n)).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      oauth2_token_url: example_string

      # DESCRIPTION: Eventuele Oauth2 scope-namen om voor te autoriseren, gescheiden met
      # spaties. Deze wordt meegestuurd bij het ophalen van een autorisatietoken (enkel
      # relevant voor de OAuth2-authenticatietype(n)).
      # DEFAULT VALUE: ""
      # REQUIRED: false
      oauth2_scope: example_string

Openzaak configuration

class open_inwoner.configurations.bootstrap.zgw.OpenZaakConfigurationStep

General settings related to interacting with one or more ZGW backends.

openzaak_config_enable: true
openzaak_config:

  # REQUIRED: true
  api_groups:
    -

      # REQUIRED: true
      zaken_api_identifier: example_string

      # REQUIRED: true
      documenten_api_identifier: example_string

      # REQUIRED: true
      catalogi_api_identifier: example_string

      # DEFAULT VALUE: null
      # REQUIRED: false
      form_api_identifier: example_string

      # DESCRIPTION: Indien ingeschakeld dan wordt het RSIN van eHerkenning gebruikers
      # gebruikt om de zaken op te halen. Indien uitgeschakeld dan wordt het KVK nummer
      # gebruikt om de zaken op te halen. Open Zaak hanteert conform de ZGW API
      # specificatie de RSIN, de eSuite maakt gebruik van het KVK nummer.
      # DEFAULT VALUE: false
      # REQUIRED: false
      fetch_eherkenning_zaken_with_rsin: false

  # DESCRIPTION: Een lijst van toegestande bestandsextensies, alleen documentuploads
  # met een van deze extensies worden toegelaten.
  # DEFAULT VALUE: ["bmp", "doc", "docx", "gif", "jpeg", "jpg", "msg", "pdf", "png", "ppt", "pptx", "rtf", "tiff", "txt", "vsd", "xls", "xlsx"]
  # REQUIRED: false
  allowed_file_extensions:
    - bmp
    - doc
    - docx
    - gif
    - jpeg
    - jpg
    - msg
    - pdf
    - png
    - ppt
    - pptx
    - rtf
    - tiff
    - txt
    - vsd
    - xls
    - xlsx

  # DESCRIPTION: Selecteer de maximale vertrouwelijkheid van de getoonde zaken
  # POSSIBLE VALUES: ["openbaar", "beperkt_openbaar", "intern", "zaakvertrouwelijk",
  # "vertrouwelijk", "confidentieel", "geheim", "zeer_geheim"]
  # DEFAULT VALUE: "openbaar"
  # REQUIRED: false
  zaak_max_confidentiality: openbaar

  # DESCRIPTION: Selecteer de maximale vertrouwelijkheid van de getoonde documenten
  # van zaken
  # POSSIBLE VALUES: ["openbaar", "beperkt_openbaar", "intern", "zaakvertrouwelijk",
  # "vertrouwelijk", "confidentieel", "geheim", "zeer_geheim"]
  # DEFAULT VALUE: "openbaar"
  # REQUIRED: false
  document_max_confidentiality: openbaar

  # DESCRIPTION: Documentuploads mogen maximaal dit aantal MB groot zijn, anders
  # worden ze geweigerd.
  # DEFAULT VALUE: 50
  # REQUIRED: false
  max_upload_size: 50

  # DESCRIPTION: Schakel dit in wanneer StatusType.informeren niet wordt ondersteund
  # door de ZGW API waar deze omgeving aan is gekoppeld (zoals de eSuite ZGW
  # API)Hierdoor is het verplicht om per zaaktype aan te geven wanneer een inwoner
  # hier een notificatie van dient te krijgen.
  # DEFAULT VALUE: false
  # REQUIRED: false
  skip_notification_statustype_informeren: false

  # DESCRIPTION: Schakel dit in om de zaaknummers van het interne eSuite format (ex:
  # '0014ESUITE66392022') om te zetten naar een toegankelijkere notatie
  # ('6639-2022').
  # DEFAULT VALUE: false
  # REQUIRED: false
  reformat_esuite_zaak_identificatie: false

  # DESCRIPTION: Welk veld uit het onderliggende zaaksysteem moet worden gebruikt om
  # de titel van een zaak weer te geven (bijvoorbeeld op de pagina Mijn Zaken).
  # POSSIBLE VALUES: ["zaak_omschrijving", "zaaktype_omschrijving",
  # "zaaktype_onderwerp"]
  # DEFAULT VALUE: "zaaktype_omschrijving"
  # REQUIRED: false
  derive_zaak_titel_from: zaaktype_omschrijving

  # DESCRIPTION: Als dit is ingeschakeld, worden de statussen van een case geordend
  # op basis van 'datum_status_gezet'. Als dit niet is ingeschakeld, tonen we de
  # statussen in de omgekeerde volgorde waarin ze via de API worden geretourneerd,
  # dit omdat de eSuite de tijdstempels van de statussen niet retourneert (eSuite,
  # maar werkt ook voor Open Zaak).
  # DEFAULT VALUE: false
  # REQUIRED: false
  order_statuses_by_date_set: false

  # DESCRIPTION: De titel/introductietekst getoond op de lijstweergave van 'Mijn
  # zaken'.
  # DEFAULT VALUE: "Hier vindt u een overzicht van al uw lopende en afgeronde zaken."
  # REQUIRED: false
  title_text: Hier vindt u een overzicht van al uw lopende en afgeronde zaken.

  # DESCRIPTION: Indien ingeschakeld dan worden (indien ingelogd met
  # DigiD/eHerkenning) de getoonde onderwerpen op de Homepage bepaald op basis van
  # de zaken van de gebruiker
  # DEFAULT VALUE: false
  # REQUIRED: false
  enable_categories_filtering_with_zaken: false

  # DESCRIPTION: Aantal dagen voor gebruiker om actie te ondernemen.
  # DEFAULT VALUE: 15
  # REQUIRED: false
  action_required_deadline_days: 15

  # DESCRIPTION: Geeft gebruikers de optie om zaken op status te filteren
  # DEFAULT VALUE: false
  # REQUIRED: false
  zaken_filter_enabled: false

KlantenSysteem configuration

class open_inwoner.configurations.bootstrap.openklant.KlantenSysteemConfigurationStep

Configuration related to connecting Open Inwoner to a backend for storing customer and contact information.

klantensysteem_config_enable: true
klantensysteem_config:

  # DEFAULT VALUE: null
  # REQUIRED: false
  esuite_config:

    # REQUIRED: true
    klanten_service_identifier: example_string

    # REQUIRED: true
    contactmomenten_service_identifier: example_string

    # DEFAULT VALUE: null
    # REQUIRED: false
    exclude_contactmoment_kanalen:
      - example_string

    # DEFAULT VALUE: ""
    # REQUIRED: false
    register_bronorganisatie_rsin: example_string

    # DESCRIPTION: De kanaal waarop nieuwe contactmomenten worden aangemaakt
    # DEFAULT VALUE: "contactformulier"
    # REQUIRED: false
    register_channel: contactformulier

    # DESCRIPTION: Naam van 'contacttype' uit e-Suite
    # DEFAULT VALUE: "Melding"
    # REQUIRED: false
    register_type: Melding

    # DESCRIPTION: Gebruikersnaam van actieve medewerker uit e-Suite
    # DEFAULT VALUE: ""
    # REQUIRED: false
    register_employee_id: example_string

    # DESCRIPTION: Indien ingeschakeld, worden bronnen uit de Klanten- en
    # Contactmomenten-API's voor eHerkenning-gebruikers opgehaald via RSIN (Open
    # Klant). Indien niet ingeschakeld, worden deze bronnen via het KVK-nummer.
    # DEFAULT VALUE: false
    # REQUIRED: false
    use_rsin_for_innNnpId_query_parameter: false

  # DEFAULT VALUE: null
  # REQUIRED: false
  openklant2_config:

    # DEFAULT VALUE: null
    # REQUIRED: false
    service_identifier: example_string

    # DESCRIPTION: De UUID van een bestaande Actor in de de configureerde API waaraan
    # nieuwe vragen worden toegewezen
    # DEFAULT VALUE: ""
    # REQUIRED: false
    mijn_vragen_actor: 02907e89-1ba8-43e9-a86c-d0534d461316

    # DESCRIPTION: Het kanaal waaronder nieuwe vragen als Klantcontact object zullen
    # worden aangemaakt
    # DEFAULT VALUE: ""
    # REQUIRED: false
    mijn_vragen_kanaal: example_string

    # DEFAULT VALUE: ""
    # REQUIRED: false
    mijn_vragen_organisatie_naam: example_string

    # DESCRIPTION: Beschrijving van de gevraagde handeling voor de interne taak die
    # ontstaat als resultaat van een vraag
    # DEFAULT VALUE: ""
    # REQUIRED: false
    interne_taak_gevraagde_handeling: example_string

    # DESCRIPTION: Toelichting bij de gevraagde handeling voor de interne taak die
    # ontstaat als resultaat van een vraag
    # DEFAULT VALUE: ""
    # REQUIRED: false
    interne_taak_toelichting: example_string

  # DESCRIPTION: Kies het primaire systeem voor het ophalen van klantgegevens.
  # Mutaties in klantgegevens zullen naar beide systemen worden weggeschreven (mits
  # geconfigureerd).
  # POSSIBLE VALUES: ["esuite", "openklant2"]
  # DEFAULT VALUE: ""
  # REQUIRED: false
  primary_backend: esuite

  # DESCRIPTION: Contacten die door een klant worden geïnitieerd of vragen die door
  # een klant worden ingediend (bijvoorbeeld via een contactformulier), worden
  # geregistreerd in de daarvoor bestemde API (eSuite of OpenKlant2).
  # DEFAULT VALUE: false
  # REQUIRED: false
  register_contact_via_api: false

  # DESCRIPTION: Contacten die door een klant worden geïnitieerd of vragen die door
  # een klant worden ingediend (bijvoorbeeld via een contactformulier), worden via
  # e-mail geregistreerd.
  # DEFAULT VALUE: ""
  # REQUIRED: false
  register_contact_email: example_string

  # DESCRIPTION: Indien ingeschakeld dan wordt het 'contactform_confirmation'
  # e-mailsjabloon gebruikt om een e-mailbevestiging te sturen na het insturen van
  # het contactformulier. Indien uitgeschakeld dan wordt aangenomen dat de externe
  # contactmomenten API (eg. eSuite) de e-mailbevestiging zal sturen
  # DEFAULT VALUE: false
  # REQUIRED: false
  send_email_confirmation: false

User Configuration Step

class open_inwoner.configurations.bootstrap.default_users.UserConfigurationStep

Creates or updates a one or more default users based on YAML settings. Note that a provided password will only be used if the user does not exist yet.

default_user_configuration_enable: true
default_user_configuration_config:

  # REQUIRED: true
  users:
    -

      # REQUIRED: true
      email: example_string

      # REQUIRED: true
      password: example_string

      # DESCRIPTION: Bepaalt of de gebruiker mag inloggen op de beheeromgeving.
      # DEFAULT VALUE: false
      # REQUIRED: false
      is_staff: false

      # DESCRIPTION: Bepaalt dat deze gebruiker alle rechten heeft, zonder deze
      # expliciet toe te wijzen.
      # DEFAULT VALUE: false
      # REQUIRED: false
      is_superuser: false

Sites configuration

class django_setup_configuration.contrib.sites.steps.SitesConfigurationStep

This step configures one or more django.contrib.sites.Site objects

sites_config_enable: true
sites_config:

  # REQUIRED: true
  items:
    -

      # REQUIRED: true
      domain: example_string

      # REQUIRED: true
      name: example_string