Documentation ¶
Index ¶
Constants ¶
const ( // ConfigFileKey is key of config file in ConfigMap ConfigFileKey = "cyclone-server.json" // EnvWebhookURLPrefix is the key of Environment variable to define webhook callback url prefix EnvWebhookURLPrefix = "WEBHOOK_URL_PREFIX" // EnvRecordWebURLTemplate is the key of Environment variable to define template of record url which used in // PR status 'Details' to associate PR with WorkflowRun website. EnvRecordWebURLTemplate = "RECORD_WEB_URL_TEMPLATE" )
Variables ¶
This section is empty.
Functions ¶
func GetRecordWebURLTemplate ¶ added in v1.0.0
func GetRecordWebURLTemplate() string
GetRecordWebURLTemplate returns record web URL template. It tries to get the url from "RECORD_WEB_URL_TEMPLATE" environment variable, if the value is empty, then get it from configmap.
func GetWebhookURLPrefix ¶ added in v0.9.6
func GetWebhookURLPrefix() string
GetWebhookURLPrefix returns webhook callback url prefix. It tries to get the url from "WEBHOOK_URL_PREFIX" environment variable, if the value is empty, then get it from configmap.
func LoadConfig ¶ added in v0.9.3
LoadConfig loads configuration from ConfigMap
Types ¶
type ArtifactConfig ¶ added in v1.1.0
type ArtifactConfig struct { // RetentionSeconds describes the retention time for artifacts, cyclone will delete artifacts exceeded retention // time periodically. RetentionSeconds time.Duration `json:"retention_seconds"` // RetentionDiskProtectionThreshold is a threshold in percentage format, if disk available space is less than this // value, artifacts can not be stored. RetentionDiskProtectionThreshold float64 `json:"retention_disk_protection_threshold"` }
ArtifactConfig configures artifacts which are managed by cyclone server
type CacheCleaner ¶ added in v1.1.0
type CacheCleaner struct { // Image is image for the acceleration caches cleaner, for example 'alpine:3.7' Image string `json:"image"` // ResourceRequirements specifies resource requirements of the acceleration caches cleaner. ResourceRequirements map[core_v1.ResourceName]string `json:"resource_requirements"` }
CacheCleaner configures acceleration caches cleaner.
type ClientSetConfig ¶ added in v0.9.8
type ClientSetConfig struct { // QPS indicates the maximum QPS to the master from this client. // If it's zero, the created RESTClient will use DefaultQPS: 5 QPS float32 `json:"qps"` // Maximum burst for throttle. // If it's zero, the created RESTClient will use DefaultBurst: 10. Burst int `json:"burst"` }
ClientSetConfig defines rate limit config for a Kubernetes client
type CycloneServerConfig ¶ added in v0.9.3
type CycloneServerConfig struct { // Logging configuration, such as log level. Logging LoggingConfig `json:"logging"` // CycloneServerHost represents the host for cyclone server to serve on CycloneServerHost string `json:"cyclone_server_host"` // CycloneServerPort represents the port for cyclone server to serve on CycloneServerPort uint16 `json:"cyclone_server_port"` // DefaultPVCConfig represents the config of pvc for default tenant DefaultPVCConfig PVCConfig `json:"default_pvc_config"` // WorkerNamespaceQuota describes the resource quota of the namespace which will be used to run workflows, // eg map[core_v1.ResourceName]string{"cpu": "2", "memory": "4Gi"} WorkerNamespaceQuota map[core_v1.ResourceName]string `json:"worker_namespace_quota"` // WebhookURLPrefix represents the Cyclone server path to receive webhook requests. // If Cyclone server can be accessed by external systems, it would like be `https://{cyclone-server}/apis/v1alpha1`. WebhookURLPrefix string `json:"webhook_url_prefix"` // StorageUsageWatcher configures PVC storage usage watchers. StorageUsageWatcher StorageUsageWatcher `json:"storage_usage_watcher"` // CacheCleaner configures acceleration caches cleaner. CacheCleaner CacheCleaner `json:"cache_cleaner"` // CreateBuiltinTemplates configures whether to create builtin stage templates while cyclone server start up. CreateBuiltinTemplates bool `json:"create_builtin_templates"` // InitDefaultTenant configures whether to create cyclone default tenant while cyclone server start up. InitDefaultTenant bool `json:"init_default_tenant"` // OpenControlCluster indicates whether to open control cluster for workflow execution when tenant created OpenControlCluster bool `json:"open_control_cluster"` // Images that used in cyclone, such as GC image. Images map[string]string `json:"images"` // Notifications represents the config to send notifications after workflowruns finish. Notifications []NotificationEndpoint `json:"notifications"` // RecordWebURLTemplate represents the URL template to generate web URLs for workflowruns. RecordWebURLTemplate string `json:"record_web_url_template"` // ClientSet holds the common attributes that can be passed to a Kubernetes client on cyclone server handlers // initialization. ClientSet ClientSetConfig `json:"client_set"` // Artifact config for artifacts which are managed by cyclone server Artifact ArtifactConfig `json:"artifact"` }
CycloneServerConfig configures Cyclone Server
var Config CycloneServerConfig
Config is Workflow Controller config instance
type LoggingConfig ¶ added in v0.9.3
type LoggingConfig struct {
Level string `json:"level"`
}
LoggingConfig configures logging
type NotificationEndpoint ¶ added in v0.9.6
type NotificationEndpoint struct { // Name represents the name of notification endpoint. Name string `json:"name"` // URL represents the URL to send the notification. URL string `json:"url"` }
NotificationEndpoint represents the config of notification endpoint. Server will send notifications about finished workflowruns if notification endpoints are configured.
type PVCConfig ¶ added in v0.9.3
type PVCConfig struct { // StorageClass represents the strorageclass used to create pvc StorageClass string `json:"storage_class"` // Size represents the capacity of the pvc, unit supports 'Gi' or 'Mi' // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity Size string `json:"size"` }
PVCConfig contains the PVC information
type StorageUsageWatcher ¶ added in v0.9.3
type StorageUsageWatcher struct { // Image is image for the storage usage watcher, for example 'busybox:1.30.0' Image string `json:"image"` // ReportURL is url where to report the usage ReportURL string `json:"report_url"` // IntervalSeconds is intervals to report storage usage IntervalSeconds string `json:"interval_seconds"` // ResourceRequirements specifies resource requirements of the watcher container. ResourceRequirements map[core_v1.ResourceName]string `json:"resource_requirements"` }
StorageUsageWatcher configures PVC storage usage watchers.