Configuration Schema Versioning and Details

Alembic Version

The default_properties.yaml as well as the schema and configurations exports will include an alembic_version property. The value is a unique hash that indicates the schema revision of the database and thus the format and properties that make up and import/export file.

This version typically changes with each build of the application.

The system will only allow imports and seeding of files that match it’s internal alembic_version. This means that Administrators are not able to automatically export configurations from an older build of Workspaces and import it in a newer version - only between like versions.

All Users Group ID

The All Users group has special significance within the application and must be defined in the schema with group_id 68d557ac-4cac-42cc-a9f3-1c7c853de0f3

Default Global Settings

The default_properties.yaml that ships with each build of workspaces will have a list of Global Settings (settings:). Administrators are welcome to adjust the default values, but they should not add or remove settings as the system is expecting these exact settings to be defined.

Example Global Settings

Below is an example of a few global settings. The full configuration will have dozens. It is ok to adjust the values, but none of the entries should be removed, or other properties altered.

Global Settings
  settings:
  - category: logging
    description: The logging protocol used, allowed values are internal, https, splunk, and elasticsearch
    name: log_protocol
    sanitize: false
    services_restart: manager,api
    title: Log Protocol
    value: internal
    value_type: string
  - category: logging
    description: The port to use for logging communication.
    name: log_port
    sanitize: false
    services_restart: manager,api
    title: Log Port
    value: '443'
    value_type: int

Default Group Settings

The default_properties.yaml that ships with each build of workspaces will have a list default Group Settings. The system defaults are those that have no group_id assigned. Administrators should not add/remove or adjust the defaults. However, Administrators can assign additional group settings to existing groups, such as the All Users group, to change default behaviors for users.

Example Group Settings

Do not adjust the Default Group Settings - those that don’t have group_id’s assigned.

Default Group Settings (No Group ID Assigned)
  group_settings:
  - description: Allow audio streaming for a Kasm.
    group_id: null
    group_setting_id: "${uuid:group_setting_id:2}"
    name: allow_kasm_audio
    value: 'False'
    value_type: bool
Group Setting assigned to a specific group
    group_settings:
    - description: Allow audio streaming for a Kasm.
      group_id:  68d557ac-4cac-42cc-a9f3-1c7c853de0f3
      group_setting_id: "${uuid:group_setting_id:1001}"
      name: allow_kasm_audio
      value: 'True'
      value_type: bool