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 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"`
// WebhookURLTemplate represents the template of webhook url.
WebhookURLTemplate string `json:"webhook_url_template"`
// 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.