Application Config Schema
ClusterCockpit Application Config Schema Reference
A detailed description of each of the application configuration options can be found in the config documentation.
The following schema in its raw form can be found in the ClusterCockpit GitHub repository.
Manual Updates
Changes to the original JSON schema found in the repository are not automatically rendered in this reference documentation.Last Update: 04.12.2024cc-backend configuration file schema
Title: cc-backend configuration file schema
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
- addr | No | string | No | - | Address where the http (or https) server will listen on (for example: ’localhost:80’). |
- apiAllowedIPs | No | array of string | No | - | Addresses from which secured API endpoints can be reached |
- user | No | string | No | - | Drop root permissions once .env was read and the port was taken. Only applicable if using privileged port. |
- group | No | string | No | - | Drop root permissions once .env was read and the port was taken. Only applicable if using privileged port. |
- disable-authentication | No | boolean | No | - | Disable authentication (for everything: API, Web-UI, …). |
- embed-static-files | No | boolean | No | - | If all files in `web/frontend/public` should be served from within the binary itself (they are embedded) or not. |
- static-files | No | string | No | - | Folder where static assets can be found, if embed-static-files is false. |
- db-driver | No | enum (of string) | No | - | sqlite3 or mysql (mysql will work for mariadb as well). |
- db | No | string | No | - | For sqlite3 a filename, for mysql a DSN in this format: https://github.com/go-sql-driver/mysql#dsn-data-source-name (Without query parameters!). |
- archive | No | object | No | - | Configuration keys for job-archive |
- disable-archive | No | boolean | No | - | Keep all metric data in the metric data repositories, do not write to the job-archive. |
- validate | No | boolean | No | - | Validate all input json documents against json schema. |
- session-max-age | No | string | No | - | Specifies for how long a session shall be valid as a string parsable by time.ParseDuration(). If 0 or empty, the session/token does not expire! |
- https-cert-file | No | string | No | - | Filepath to SSL certificate. If also https-key-file is set use HTTPS using those certificates. |
- https-key-file | No | string | No | - | Filepath to SSL key file. If also https-cert-file is set use HTTPS using those certificates. |
- redirect-http-to | No | string | No | - | If not the empty string and addr does not end in :80, redirect every request incoming at port 80 to that url. |
- stop-jobs-exceeding-walltime | No | integer | No | - | If not zero, automatically mark jobs as stopped running X seconds longer than their walltime. Only applies if walltime is set for job. |
- short-running-jobs-duration | No | integer | No | - | Do not show running jobs shorter than X seconds. |
- emission-constant | No | integer | No | - | . |
- cron-frequency | No | object | No | - | Frequency of cron job workers. |
- enable-resampling | No | object | No | - | Enable dynamic zoom in frontend metric plots. |
+ jwts | No | object | No | - | For JWT token authentication. |
- oidc | No | object | No | - | - |
- ldap | No | object | No | - | For LDAP Authentication and user synchronisation. |
+ clusters | No | array of object | No | - | Configuration for the clusters to be displayed. |
- ui-defaults | No | object | No | - | Default configuration for web UI |
1. Property cc-backend configuration file schema > addr
Description: Address where the http (or https) server will listen on (for example: ’localhost:80’).
2. Property cc-backend configuration file schema > apiAllowedIPs
| |
---|
Type | array of string |
Required | No |
Description: Addresses from which secured API endpoints can be reached
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
2.1. cc-backend configuration file schema > apiAllowedIPs > apiAllowedIPs items
3. Property cc-backend configuration file schema > user
Description: Drop root permissions once .env was read and the port was taken. Only applicable if using privileged port.
4. Property cc-backend configuration file schema > group
Description: Drop root permissions once .env was read and the port was taken. Only applicable if using privileged port.
5. Property cc-backend configuration file schema > disable-authentication
Description: Disable authentication (for everything: API, Web-UI, …).
6. Property cc-backend configuration file schema > embed-static-files
Description: If all files in web/frontend/public
should be served from within the binary itself (they are embedded) or not.
7. Property cc-backend configuration file schema > static-files
Description: Folder where static assets can be found, if embed-static-files is false.
8. Property cc-backend configuration file schema > db-driver
| |
---|
Type | enum (of string) |
Required | No |
Description: sqlite3 or mysql (mysql will work for mariadb as well).
Must be one of:
9. Property cc-backend configuration file schema > db
Description: For sqlite3 a filename, for mysql a DSN in this format: https://github.com/go-sql-driver/mysql#dsn-data-source-name (Without query parameters!).
10. Property cc-backend configuration file schema > archive
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Description: Configuration keys for job-archive
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ kind | No | enum (of string) | No | - | Backend type for job-archive |
- path | No | string | No | - | Path to job archive for file backend |
- compression | No | integer | No | - | Setup automatic compression for jobs older than number of days |
- retention | No | object | No | - | Configuration keys for retention |
10.1. Property cc-backend configuration file schema > archive > kind
| |
---|
Type | enum (of string) |
Required | Yes |
Description: Backend type for job-archive
Must be one of:
10.2. Property cc-backend configuration file schema > archive > path
Description: Path to job archive for file backend
10.3. Property cc-backend configuration file schema > archive > compression
Description: Setup automatic compression for jobs older than number of days
10.4. Property cc-backend configuration file schema > archive > retention
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Description: Configuration keys for retention
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ policy | No | enum (of string) | No | - | Retention policy |
- includeDB | No | boolean | No | - | Also remove jobs from database |
- age | No | integer | No | - | Act on jobs with startTime older than age (in days) |
- location | No | string | No | - | The target directory for retention. Only applicable for retention move. |
10.4.1. Property cc-backend configuration file schema > archive > retention > policy
| |
---|
Type | enum (of string) |
Required | Yes |
Description: Retention policy
Must be one of:
10.4.2. Property cc-backend configuration file schema > archive > retention > includeDB
Description: Also remove jobs from database
10.4.3. Property cc-backend configuration file schema > archive > retention > age
Description: Act on jobs with startTime older than age (in days)
10.4.4. Property cc-backend configuration file schema > archive > retention > location
Description: The target directory for retention. Only applicable for retention move.
11. Property cc-backend configuration file schema > disable-archive
Description: Keep all metric data in the metric data repositories, do not write to the job-archive.
12. Property cc-backend configuration file schema > validate
Description: Validate all input json documents against json schema.
13. Property cc-backend configuration file schema > session-max-age
Description: Specifies for how long a session shall be valid as a string parsable by time.ParseDuration(). If 0 or empty, the session/token does not expire!
14. Property cc-backend configuration file schema > https-cert-file
Description: Filepath to SSL certificate. If also https-key-file is set use HTTPS using those certificates.
15. Property cc-backend configuration file schema > https-key-file
Description: Filepath to SSL key file. If also https-cert-file is set use HTTPS using those certificates.
16. Property cc-backend configuration file schema > redirect-http-to
Description: If not the empty string and addr does not end in :80, redirect every request incoming at port 80 to that url.
17. Property cc-backend configuration file schema > stop-jobs-exceeding-walltime
Description: If not zero, automatically mark jobs as stopped running X seconds longer than their walltime. Only applies if walltime is set for job.
18. Property cc-backend configuration file schema > short-running-jobs-duration
Description: Do not show running jobs shorter than X seconds.
19. Property cc-backend configuration file schema > emission-constant
Description: .
20. Property cc-backend configuration file schema > cron-frequency
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Description: Frequency of cron job workers.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
- duration-worker | No | string | No | - | Duration Update Worker [Defaults to ‘5m’] |
- footprint-worker | No | string | No | - | Metric-Footprint Update Worker [Defaults to ‘10m’] |
20.1. Property cc-backend configuration file schema > cron-frequency > duration-worker
Description: Duration Update Worker [Defaults to ‘5m’]
Description: Metric-Footprint Update Worker [Defaults to ‘10m’]
21. Property cc-backend configuration file schema > enable-resampling
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Description: Enable dynamic zoom in frontend metric plots.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ trigger | No | integer | No | - | Trigger next zoom level at less than this many visible datapoints. |
+ resolutions | No | array of integer | No | - | Array of resampling target resolutions, in seconds. |
21.1. Property cc-backend configuration file schema > enable-resampling > trigger
Description: Trigger next zoom level at less than this many visible datapoints.
21.2. Property cc-backend configuration file schema > enable-resampling > resolutions
| |
---|
Type | array of integer |
Required | Yes |
Description: Array of resampling target resolutions, in seconds.
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
21.2.1. cc-backend configuration file schema > enable-resampling > resolutions > resolutions items
22. Property cc-backend configuration file schema > jwts
| |
---|
Type | object |
Required | Yes |
Additional properties | Any type allowed |
Description: For JWT token authentication.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ max-age | No | string | No | - | Configure how long a token is valid. As string parsable by time.ParseDuration() |
- cookieName | No | string | No | - | Cookie that should be checked for a JWT token. |
- validateUser | No | boolean | No | - | Deny login for users not in database (but defined in JWT). Overwrite roles in JWT with database roles. |
- trustedIssuer | No | string | No | - | Issuer that should be accepted when validating external JWTs |
- syncUserOnLogin | No | boolean | No | - | Add non-existent user to DB at login attempt with values provided in JWT. |
22.1. Property cc-backend configuration file schema > jwts > max-age
Description: Configure how long a token is valid. As string parsable by time.ParseDuration()
22.2. Property cc-backend configuration file schema > jwts > cookieName
Description: Cookie that should be checked for a JWT token.
22.3. Property cc-backend configuration file schema > jwts > validateUser
Description: Deny login for users not in database (but defined in JWT). Overwrite roles in JWT with database roles.
22.4. Property cc-backend configuration file schema > jwts > trustedIssuer
Description: Issuer that should be accepted when validating external JWTs
22.5. Property cc-backend configuration file schema > jwts > syncUserOnLogin
Description: Add non-existent user to DB at login attempt with values provided in JWT.
23. Property cc-backend configuration file schema > oidc
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
23.1. The following properties are required
24. Property cc-backend configuration file schema > ldap
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Description: For LDAP Authentication and user synchronisation.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ url | No | string | No | - | URL of LDAP directory server. |
+ user_base | No | string | No | - | Base DN of user tree root. |
+ search_dn | No | string | No | - | DN for authenticating LDAP admin account with general read rights. |
+ user_bind | No | string | No | - | Expression used to authenticate users via LDAP bind. Must contain uid={username}. |
+ user_filter | No | string | No | - | Filter to extract users for syncing. |
- username_attr | No | string | No | - | Attribute with full username. Default: gecos |
- sync_interval | No | string | No | - | Interval used for syncing local user table with LDAP directory. Parsed using time.ParseDuration. |
- sync_del_old_users | No | boolean | No | - | Delete obsolete users in database. |
- syncUserOnLogin | No | boolean | No | - | Add non-existent user to DB at login attempt if user exists in Ldap directory |
24.1. Property cc-backend configuration file schema > ldap > url
Description: URL of LDAP directory server.
24.2. Property cc-backend configuration file schema > ldap > user_base
Description: Base DN of user tree root.
24.3. Property cc-backend configuration file schema > ldap > search_dn
Description: DN for authenticating LDAP admin account with general read rights.
24.4. Property cc-backend configuration file schema > ldap > user_bind
Description: Expression used to authenticate users via LDAP bind. Must contain uid={username}.
24.5. Property cc-backend configuration file schema > ldap > user_filter
Description: Filter to extract users for syncing.
24.6. Property cc-backend configuration file schema > ldap > username_attr
Description: Attribute with full username. Default: gecos
24.7. Property cc-backend configuration file schema > ldap > sync_interval
Description: Interval used for syncing local user table with LDAP directory. Parsed using time.ParseDuration.
24.8. Property cc-backend configuration file schema > ldap > sync_del_old_users
Description: Delete obsolete users in database.
24.9. Property cc-backend configuration file schema > ldap > syncUserOnLogin
Description: Add non-existent user to DB at login attempt if user exists in Ldap directory
25. Property cc-backend configuration file schema > clusters
| |
---|
Type | array of object |
Required | Yes |
Description: Configuration for the clusters to be displayed.
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
25.1. cc-backend configuration file schema > clusters > clusters items
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ name | No | string | No | - | The name of the cluster. |
+ metricDataRepository | No | object | No | - | Type of the metric data repository for this cluster |
+ filterRanges | No | object | No | - | This option controls the slider ranges for the UI controls of numNodes, duration, and startTime. |
25.1.1. Property cc-backend configuration file schema > clusters > clusters items > name
Description: The name of the cluster.
25.1.2. Property cc-backend configuration file schema > clusters > clusters items > metricDataRepository
| |
---|
Type | object |
Required | Yes |
Additional properties | Any type allowed |
Description: Type of the metric data repository for this cluster
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ kind | No | enum (of string) | No | - | - |
+ url | No | string | No | - | - |
- token | No | string | No | - | - |
25.1.2.1. Property cc-backend configuration file schema > clusters > clusters items > metricDataRepository > kind
| |
---|
Type | enum (of string) |
Required | Yes |
Must be one of:
- “influxdb”
- “prometheus”
- “cc-metric-store”
- “test”
25.1.2.2. Property cc-backend configuration file schema > clusters > clusters items > metricDataRepository > url
25.1.2.3. Property cc-backend configuration file schema > clusters > clusters items > metricDataRepository > token
25.1.3. Property cc-backend configuration file schema > clusters > clusters items > filterRanges
| |
---|
Type | object |
Required | Yes |
Additional properties | Any type allowed |
Description: This option controls the slider ranges for the UI controls of numNodes, duration, and startTime.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ numNodes | No | object | No | - | UI slider range for number of nodes |
+ duration | No | object | No | - | UI slider range for duration |
+ startTime | No | object | No | - | UI slider range for start time |
25.1.3.1. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > numNodes
| |
---|
Type | object |
Required | Yes |
Additional properties | Any type allowed |
Description: UI slider range for number of nodes
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ from | No | integer | No | - | - |
+ to | No | integer | No | - | - |
25.1.3.1.1. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > numNodes > from
25.1.3.1.2. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > numNodes > to
25.1.3.2. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > duration
| |
---|
Type | object |
Required | Yes |
Additional properties | Any type allowed |
Description: UI slider range for duration
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ from | No | integer | No | - | - |
+ to | No | integer | No | - | - |
25.1.3.2.1. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > duration > from
25.1.3.2.2. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > duration > to
25.1.3.3. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > startTime
| |
---|
Type | object |
Required | Yes |
Additional properties | Any type allowed |
Description: UI slider range for start time
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|
+ from | No | string | No | - | - |
+ to | No | null | No | - | - |
25.1.3.3.1. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > startTime > from
| |
---|
Type | string |
Required | Yes |
Format | date-time |
25.1.3.3.2. Property cc-backend configuration file schema > clusters > clusters items > filterRanges > startTime > to
26. Property cc-backend configuration file schema > ui-defaults
| |
---|
Type | object |
Required | No |
Additional properties | Any type allowed |
Description: Default configuration for web UI
26.1. Property cc-backend configuration file schema > ui-defaults > plot_general_colorBackground
Description: Color plot background according to job average threshold limits
26.2. Property cc-backend configuration file schema > ui-defaults > plot_general_lineWidth
Description: Initial linewidth
26.3. Property cc-backend configuration file schema > ui-defaults > plot_list_jobsPerPage
Description: Jobs shown per page in job lists
26.4. Property cc-backend configuration file schema > ui-defaults > plot_view_plotsPerRow
Description: Number of plots per row in single job view
26.5. Property cc-backend configuration file schema > ui-defaults > plot_view_showPolarplot
Description: Option to toggle polar plot in single job view
26.6. Property cc-backend configuration file schema > ui-defaults > plot_view_showRoofline
Description: Option to toggle roofline plot in single job view
26.7. Property cc-backend configuration file schema > ui-defaults > plot_view_showStatTable
Description: Option to toggle the node statistic table in single job view
26.8. Property cc-backend configuration file schema > ui-defaults > system_view_selectedMetric
Description: Initial metric shown in system view
Description: Option to toggle footprint ui in single job view
26.10. Property cc-backend configuration file schema > ui-defaults > job_list_usePaging
Description: Option to switch from continous scroll to paging
26.11. Property cc-backend configuration file schema > ui-defaults > analysis_view_histogramMetrics
| |
---|
Type | array of string |
Required | Yes |
Description: Metrics to show as job count histograms in analysis view
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.11.1. cc-backend configuration file schema > ui-defaults > analysis_view_histogramMetrics > analysis_view_histogramMetrics items
26.12. Property cc-backend configuration file schema > ui-defaults > analysis_view_scatterPlotMetrics
| |
---|
Type | array of array |
Required | Yes |
Description: Initial scatter plto configuration in analysis view
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.12.1. cc-backend configuration file schema > ui-defaults > analysis_view_scatterPlotMetrics > analysis_view_scatterPlotMetrics items
| |
---|
Type | array of string |
Required | No |
| Array restrictions |
---|
Min items | 1 |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.12.1.1. cc-backend configuration file schema > ui-defaults > analysis_view_scatterPlotMetrics > analysis_view_scatterPlotMetrics items > analysis_view_scatterPlotMetrics items items
26.13. Property cc-backend configuration file schema > ui-defaults > job_view_nodestats_selectedMetrics
| |
---|
Type | array of string |
Required | Yes |
Description: Initial metrics shown in node statistics table of single job view
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.13.1. cc-backend configuration file schema > ui-defaults > job_view_nodestats_selectedMetrics > job_view_nodestats_selectedMetrics items
26.14. Property cc-backend configuration file schema > ui-defaults > job_view_selectedMetrics
| |
---|
Type | array of string |
Required | Yes |
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.14.1. cc-backend configuration file schema > ui-defaults > job_view_selectedMetrics > job_view_selectedMetrics items
26.15. Property cc-backend configuration file schema > ui-defaults > plot_general_colorscheme
| |
---|
Type | array of string |
Required | Yes |
Description: Initial color scheme
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.15.1. cc-backend configuration file schema > ui-defaults > plot_general_colorscheme > plot_general_colorscheme items
26.16. Property cc-backend configuration file schema > ui-defaults > plot_list_selectedMetrics
| |
---|
Type | array of string |
Required | Yes |
Description: Initial metric plots shown in jobs lists
| Array restrictions |
---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
26.16.1. cc-backend configuration file schema > ui-defaults > plot_list_selectedMetrics > plot_list_selectedMetrics items
Generated using json-schema-for-humans on 2024-12-04 at 16:45:59 +0100