Documentation ¶
Index ¶
- Constants
- Variables
- func CheckWorkerTimeOut(e api.Event)
- func GetWorkerDockerHost(event *api.Event) (string, error)
- func Init(certPath string, registry api.RegistryCompose)
- func IsEventFinished(event *api.Event) bool
- func LoadEventFromEtcd(eventID api.EventID) (*api.Event, error)
- func SaveEventToEtcd(event *api.Event) error
- func SendCreateServiceEvent(service *api.Service) error
- func SendCreateVersionEvent(service *api.Service, version *api.Version) error
- type Handler
- type List
- type Operation
- type PostHook
- type Queue
- type RegistryCompose
- type Worker
Constants ¶
const ( // CreateServiceOps defines the operation to create a service, currently it // involves: clone repository (to check if repository exists). CreateServiceOps api.Operation = "create-service" // CreateVersionOps defines the operation to create a version, currently it // involves: clone repository, run CI if caicloud.yml exists and the operation // field in the version is not "Publish", thern tag it based on version name, // build docker image and push to caicloud registry, then run the postbuild // hook. CreateVersionOps api.Operation = "create-version" // CreateProjectVersionOps defines the operation to create a project version. CreateProjectVersionOps api.Operation = "create-projectversion" // PostStartPhase hooks phase PostStartPhase = "postStart" // PreStopPhase hooks phase PreStopPhase = "preStop" )
const ( CYCLONE_SERVER_HOST = "CYCLONE_SERVER_HOST" WORKER_IMAGE = "WORKER_IMAGE" WORK_DOCKER_HOST = "WORK_DOCKER_HOST" // worker env setting WORKER_EVENTID = "WORKER_EVENTID" SERVER_HOST = "SERVER_HOST" // worker time out WORKER_TIMEOUT = 7200 * time.Second WORK_REGISTRY_LOCATION = "WORK_REGISTRY_LOCATION" REGISTRY_USERNAME = "REGISTRY_USERNAME" REGISTRY_PASSWORD = "REGISTRY_PASSWORD" CONSOLE_WEB_ENDPOINT = "CONSOLE_WEB_ENDPOINT" LOG_SERVER = "LOG_SERVER" CLAIR_SERVER_IP = "CLAIR_SERVER_IP" SERVER_GITLAB = "SERVER_GITLAB" MEMORY_FOR_CONTAINER = "MEMORY_FOR_CONTAINER" CPU_FOR_CONTAINER = "CPU_FOR_CONTAINER" )
const (
// EventsUnfinished represents unfinished event dir path in etcd
EventsUnfinished = "/events/unfinished/"
)
Variables ¶
var ( // ErrWorkerBusy represents a special error. ErrWorkerBusy = errors.New("Get worker docker host busy") )
Functions ¶
func CheckWorkerTimeOut ¶
CheckWorkerTimeOut ensures that the events are not timed out.
func GetWorkerDockerHost ¶
GetWorkerDockerHost get woker docker host LB according to node resource
func Init ¶
func Init(certPath string, registry api.RegistryCompose)
Init init event manager Step1: init event operation map Step2: new a etcd client Step3: load unfinished events from etcd Step4: create a unfinished events watcher Step5: new a remote api manager
func IsEventFinished ¶
IsEventFinished return event is finished
func LoadEventFromEtcd ¶
LoadEventFromEtcd loads event from etcd.
func SaveEventToEtcd ¶
SaveEventToEtcd saves event in etcd.
func SendCreateServiceEvent ¶
SendCreateServiceEvent is a helper method which sends a create service event to etcd and wait for the event to be acked.
Types ¶
type Operation ¶
type Operation struct { // PostHook is called when event create. Handler Handler // PostHook is called when event has finished, and event status is set. PostHook PostHook }
Operation define event operation.
type Queue ¶
Queue is the type for pending events.
type RegistryCompose ¶
type RegistryCompose struct { // Registry's address, ie. cargo.caicloud.io RegistryLocation string `json:"registrylocation,omitempty"` // RegistryUsername used for operating the images RegistryUsername string `json:"registryusername,omitempty"` // RegistryPassword used for operating the images RegistryPassword string `json:"registrypassword,omitempty"` }
RegistryCompose that compose the info about the registry