Files
herolib/examples/installers/k8s/element_chat.vsh
Mahmoud-Emad 8e5507b04e fix: Update element chat config and defaults
- Update element chat default name to 'elementchat'
- Sanitize element chat name from invalid characters
- Set default namespace based on sanitized name
- Validate namespace for invalid characters
- Update documentation with new default values
2025-11-03 15:49:54 +02:00

43 lines
1.8 KiB
GLSL
Executable File

#!/usr/bin/env -S v -n -w -gc none -cc tcc -d use_openssl -enable-globals run
import incubaid.herolib.installers.k8s.element_chat
// This example demonstrates how to use the Element Chat installer.
// 1. Create a new installer instance with specific hostnames.
// Replace 'matrixchattest' and 'elementchattest' with your desired hostnames.
// Note: Use only alphanumeric characters (no underscores or dashes).
mut installer := element_chat.get(
name: 'kristof'
create: true
)!
// element_chat.delete()!
// 2. Configure the installer (all settings are optional with sensible defaults)
// installer.matrix_hostname = 'matrixchattest'
// installer.element_hostname = 'elementchattest'
// installer.namespace = 'chat'
// // Conduit (Matrix homeserver) configuration
// installer.conduit_port = 6167 // Default: 6167
// installer.database_backend = 'rocksdb' // Default: 'rocksdb' (can be 'sqlite')
// installer.database_path = '/var/lib/matrix-conduit' // Default: '/var/lib/matrix-conduit'
// installer.allow_registration = true // Default: true
// installer.allow_federation = true // Default: true
// installer.log_level = 'info' // Default: 'info' (can be 'debug', 'warn', 'error')
// // Element web client configuration
// installer.element_brand = 'Element' // Default: 'Element'
// 3. Install Element Chat.
// This will generate the necessary Kubernetes YAML files and apply them to your cluster.
installer.install()!
// println('Element Chat installation started.')
// println('Matrix homeserver will be available at: https://${installer.matrix_hostname}.gent01.grid.tf')
// println('Element web client will be available at: https://${installer.element_hostname}.gent01.grid.tf')
// 4. To destroy the deployment, you can run the following:
// installer.destroy()!