botmodule
This file defines a Custom Resource for bot modules in the eevee.bot/v1 API. It shows how to configure a bot module with settings such as:
- Number of instances to run
- Container image to use
- Image pull policy
- Metrics configuration
- IPC configuration reference
- Module name
- Persistent volume configuration
- Volume mount path
- Arbitrary module configuration
- Enable/disable toggle
- Secret injection for environment variables
- Operator API token mounting
The botmodule CRD allows you to define and deploy individual bot modules that communicate through the eevee.bot messaging system.
---
apiVersion: eevee.bot/v1
kind: botmodule
metadata:
name: my-module
namespace: my-eevee-bot
spec:
enabled: true
size: 1
image: ghcr.io/eeveebot/module:latest
pullPolicy: Always
metrics: false
metricsPort: 9000
ipcConfig: my-eevee-bot
moduleName: my-module
persistentVolumeClaim:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
volumeMountPath: /data
mountOperatorApiToken: false
envSecret:
name: my-module-secrets
moduleConfig: |
# Arbitrary configuration passed to the module
setting1: value1
setting2: value2
Specification
Properties
size (integer)
Size defines the number of botmodule instances Default: 1
image (string)
Image defines the container image to use Default: “ghcr.io/eeveebot/module:latest”
pullPolicy (string)
PullPolicy defines the image pull policy to use Default: “Always”
metrics (boolean)
Metrics defines whether to enable metrics or not Default: false
metricsPort (integer)
MetricsPort defines the port to expose metrics on Default: 9000
ipcConfig (string)
IPC configuration name
moduleName (string)
ModuleName defines the name of the module
persistentVolumeClaim (object)
PersistentVolumeClaim defines the PVC configuration for the module
volumeMountPath (string)
VolumeMountPath defines where to mount the PVC in the container Default: “/data”
moduleConfig (string)
ModuleConfig is a passthrough field for arbitrary YAML configuration that will be passed directly to the module as a multi-line string
mountOperatorApiToken (boolean)
MountOperatorApiToken defines whether to mount the operator API token Default: false
enabled (boolean)
Enabled defines whether the botmodule is enabled or disabled Default: true
envSecret (object)
EnvSecret defines optional secrets to be injected as environment variables
livenessProbe (object, optional)
LivenessProbe defines a custom liveness probe for the module pod. Accepts a standard Kubernetes V1Probe object (httpGet, tcpSocket, exec, etc.). If not specified, the operator provides a default HTTP GET probe against /health on the module’s metricsPort.
readinessProbe (object, optional)
ReadinessProbe defines a custom readiness probe for the module pod. Accepts a standard Kubernetes V1Probe object. If not specified, the operator provides a default HTTP GET probe against /health on the module’s metricsPort.
startupProbe (object, optional)
StartupProbe defines a custom startup probe for the module pod. Accepts a standard Kubernetes V1Probe object. If not specified, no startup probe is set (modules typically start quickly).