update custom billing

This commit is contained in:
revital 2025-06-08 09:07:33 +03:00
parent eff1f2f21c
commit 1660898545
4 changed files with 3 additions and 119 deletions

View File

@ -82,8 +82,8 @@ services (Helm charts in Kubernetes):
### Install custom-events ### Install custom-events
The `clearml-custom-events` is the Kubernetes "Custom Events" umbrella Helm chart for ClearML. It includes custom-events The `clearml-custom-events` is the Kubernetes "Custom Events" umbrella Helm chart for ClearML.
components and dependencies (Redis) to kick-start the installation. It bundles all necessary services and sets up a dedicated Redis instance.
#### Prepare Values #### Prepare Values

View File

@ -1,115 +0,0 @@
---
title: Custom Events
---
ClearML Enterprise supports sending custom events to selected Kafka topics. These events are triggered by API calls
and are only available to tenants with the `custom_events` feature configured.
## Prerequisites
* A Kafka instance must be deployed and reachable from the ClearML `apiserver`
## Enabling Custom Events on the Server
To enable custom evens, edit ClearML Server' `clearml-values.override.yaml` file adding the following:
```yaml
apiserver:
extraEnvs:
# Enable custom events.
- name: CLEARML__services__custom_events__enabled
value: "true"
# Folder where the ClearML Apiserver container can find the custom message templates.
- name: CLEARML__services__custom_events__template_folder
value: "/mnt/custom_events/templates"
# Kafka host configuration for custom events.
- name: CLEARML__hosts__kafka__custom_events__host
value: "[<KAFKA_HOST_ADDRESS>:<KAFKA_HOST_PORT>]"
# Kafka security parameters. Below is the example for SASL plaintext security.
- name: CLEARML__SECURE__KAFKA__CUSTOM_EVENTS__security_protocol
value: "SASL_PLAINTEXT"
- name: CLEARML__SECURE__KAFKA__CUSTOM_EVENTS__sasl_mechanism
value: "SCRAM-SHA-512"
- name: CLEARML__SECURE__KAFKA__CUSTOM_EVENTS__sasl_plain_username
value: "<USERNAME>"
- name: CLEARML__SECURE__KAFKA__CUSTOM_EVENTS__sasl_plain_password
value: "<PASSWORD>"
# Kafka topics names for lifecycle and inventory messages.
- name: CLEARML__services__custom_events__channels__main__topics__service_instance_lifecycle
value: "lifecycle"
- name: CLEARML__services__custom_events__channels__main__topics__service_instance_inventory
value: "inventory"
```
After editing the configuration, upgrade the Helm chart to apply the changes.
## Enabling Custom Events for Tenants
Each tenant must be explicitly configured to use custom events. Use the following API call to set up the custom events
properties required by the event message templates:
```bash
curl $APISERVER_URL/system.update_company_custom_events_config -H "Content-Type: application/json" -u $APISERVER_KEY:$APISERVER_SECRET -d'{
"company": "<company_id>",
"fields": {
"service_instance_id": "<value>",
"service_instance_name": "<value>",
"service_instance_customer_tenant_name": "<value>",
"service_instance_customer_space_name": "<value>",
"service_instance_customer_space_id": "<value>",
"parameters_connection_points": ["<value1>", "<value2>"]
}}'
```
## Event Emitters
ClearML services that send custom events include:
* `apiserver` — Sends environment lifecycle events.
* `clearml-pods-monitor-exporter` - Monitors running Pods (Tasks) and sends lifecycle events. Should run one per cluster
with a unique identifier (an explicit UUID is required for the installation).
* `clearml-pods-inventory` - Sends periodic inventory events about active Pods.
* `clearml-company-inventory` - Monitors ClearML tenants and emits environment-level inventory events.
## Install custom-events
The `clearml-custom-events` Helm chart bundles all custom event services and their dependencies (e.g., Redis). It serves
as the umbrella chart for custom event functionality.
### Prepare Values
Create a `clearml-custom-events-values.override.yaml` file with the following content (make sure to replace `<PLACEHOLDERS>`):
```yaml
global:
imageCredentials:
password: "<CLEARML_DOCKERHUB_TOKEN>"
clearml:
apiServerUrlReference: "<CLEARML_APISERVER_URL>"
apiServerKey: "<ACCESSKEY>"
apiServerSecret: "<SECRETKEY>"
clearml-pods-monitor-exporter:
checkIntervalSeconds: 60
# -- *REQUIRED* Universal Unique string to identify Pods Monitor instances across worker clusters. Cannot be empty.
# Uniqueness is required across different clusters installations to preserve the reported data status.
podsMonitorUUID: ""
clearml-pods-inventory:
cronJob:
schedule: "@daily"
clearml-company-inventory:
cronJob:
schedule: "@daily"
```
### Install
Install the Custom Events chart:
```bash
helm install clearml-custom-events clearml-enterprise/clearml-custom-events -f clearml-custom-events-values.override.yaml
```

View File

@ -287,7 +287,7 @@ For each group you define in the configuration, you need to specify the followin
| `name` | Display name for the group (should match `<GroupName>` used in the variable path) | `CLEARML__services__auth__default_groups__<GroupName>__name` | `"My Group Name"`, `"MLOps Team"` | | `name` | Display name for the group (should match `<GroupName>` used in the variable path) | `CLEARML__services__auth__default_groups__<GroupName>__name` | `"My Group Name"`, `"MLOps Team"` |
| `features` | JSON list of features to enable for this group . For the complete list of available features, see [Available Features](#available-features). Note that the features must be defined for the tenant or for the entire server in order to affect the group. By default, all the features of the tenant are available to all users. | `CLEARML__services__auth__default_groups__<GroupName>__features` | `'["applications", "experiments", "pipelines", "reports", "show_dashboard", "show_projects"]'` (Note the single quotes wrapping the JSON string if setting via YAML/environment variables). | | `features` | JSON list of features to enable for this group . For the complete list of available features, see [Available Features](#available-features). Note that the features must be defined for the tenant or for the entire server in order to affect the group. By default, all the features of the tenant are available to all users. | `CLEARML__services__auth__default_groups__<GroupName>__features` | `'["applications", "experiments", "pipelines", "reports", "show_dashboard", "show_projects"]'` (Note the single quotes wrapping the JSON string if setting via YAML/environment variables). |
| `assignable` | Whether admins can assign users to this group from the ClearML Web UI (`true`/`false`). If `false`, group membership is managed externally or implicitly. | `CLEARML__services__auth__default_groups__<GroupName>__assignable` | `"false"` | | `assignable` | Whether admins can assign users to this group from the ClearML Web UI (`true`/`false`). If `false`, group membership is managed externally or implicitly. | `CLEARML__services__auth__default_groups__<GroupName>__assignable` | `"false"` |
| `system` | Always set to `"false"` for custom groups | ``CLEARML__services__auth__default_groups__<GroupName>__system` | `"false"` | | `system` | Always set to `"false"` for custom groups | `CLEARML__services__auth__default_groups__<GroupName>__system` | `"false"` |
##### Example Configuration ##### Example Configuration

View File

@ -667,7 +667,6 @@ module.exports = {
'deploying_clearml/enterprise_deploy/appgw_install_k8s', 'deploying_clearml/enterprise_deploy/appgw_install_k8s',
] ]
}, },
'deploying_clearml/enterprise_deploy/custom_billing',
{'UI Applications': [ {'UI Applications': [
'deploying_clearml/enterprise_deploy/app_install_ubuntu_on_prem', 'deploying_clearml/enterprise_deploy/app_install_ubuntu_on_prem',
'deploying_clearml/enterprise_deploy/app_install_ex_server', 'deploying_clearml/enterprise_deploy/app_install_ex_server',