Documentation ¶
Overview ¶
Package runtime is a service runtime manager
Index ¶
- Variables
- type CreateOption
- func CreateContext(ctx context.Context) CreateOption
- func CreateImage(img string) CreateOption
- func CreateNamespace(ns string) CreateOption
- func CreateType(t string) CreateOption
- func ResourceLimits(r *Resources) CreateOption
- func WithArgs(args ...string) CreateOption
- func WithCommand(cmd ...string) CreateOption
- func WithEnv(env []string) CreateOption
- func WithOutput(out io.Writer) CreateOption
- func WithRetries(retries int) CreateOption
- func WithSecret(key, value string) CreateOption
- type CreateOptions
- type DeleteOption
- type DeleteOptions
- type Event
- type EventType
- type Log
- type Logs
- type LogsOption
- type LogsOptions
- type Option
- type Options
- type ReadOption
- type ReadOptions
- type Resources
- type Runtime
- type Scheduler
- type Service
- type UpdateOption
- type UpdateOptions
Constants ¶
This section is empty.
Variables ¶
var ErrAlreadyExists = errors.New("already exists")
ErrAlreadyExists error
Functions ¶
This section is empty.
Types ¶
type CreateOption ¶
type CreateOption func(o *CreateOptions)
CreateOption func signature
func CreateContext ¶
func CreateContext(ctx context.Context) CreateOption
CreateContext sets the context
func CreateNamespace ¶
func CreateNamespace(ns string) CreateOption
CreateNamespace sets the namespace
func CreateType ¶
func CreateType(t string) CreateOption
CreateType sets the type of service to create
func ResourceLimits ¶
func ResourceLimits(r *Resources) CreateOption
ResourceLimits sets the resources for the service to use
func WithArgs ¶
func WithArgs(args ...string) CreateOption
WithArgs specifies the command to execute
func WithCommand ¶
func WithCommand(cmd ...string) CreateOption
WithCommand specifies the command to execute
func WithRetries ¶
func WithRetries(retries int) CreateOption
WithRetries sets the max retries attempts
func WithSecret ¶
func WithSecret(key, value string) CreateOption
WithSecret sets a secret to provide the service with
type CreateOptions ¶
type CreateOptions struct { Context context.Context Output io.Writer Resources *Resources Secrets map[string]string Image string Namespace string Type string Command []string Args []string Env []string Retries int }
CreateOptions configure runtime services
type DeleteOption ¶
type DeleteOption func(o *DeleteOptions)
DeleteOption func signature
func DeleteContext ¶
func DeleteContext(ctx context.Context) DeleteOption
DeleteContext sets the context
func DeleteNamespace ¶
func DeleteNamespace(ns string) DeleteOption
DeleteNamespace sets the namespace
type DeleteOptions ¶
DeleteOptions struct
type Event ¶
type Event struct { // Timestamp of event Timestamp time.Time // Service the event relates to Service *Service // Options to use when processing the event Options *CreateOptions // ID of the event ID string // Type is event type Type EventType }
Event is notification event
type Log ¶
type Log struct { // Metadata holds metadata Metadata metadata.Metadata // Message holds the message Message string }
Log is a log message
type Logs ¶
type Logs interface { // Error returns error Error() error // Chan return chan log Chan() chan Log // Stop stops the log stream Stop() error }
Logs returns a log stream
type LogsOption ¶
type LogsOption func(o *LogsOptions)
LogsOption configures runtime logging
func LogsCount ¶
func LogsCount(count int64) LogsOption
LogsCount confiures how many existing lines to show
func LogsStream ¶
func LogsStream(stream bool) LogsOption
LogsStream configures whether to stream new lines
type LogsOptions ¶
LogsOptions configure runtime logging
type Option ¶
type Option func(o *Options)
Option func signature
func WithScheduler ¶
WithScheduler specifies a scheduler for updates
type Options ¶
type Options struct { Scheduler Scheduler Client client.Client Logger logger.Logger Type string Source string Image string }
Options configure runtime
type ReadOption ¶
type ReadOption func(o *ReadOptions)
ReadOption func signature
func ReadService ¶
func ReadService(service string) ReadOption
ReadService returns services with the given name
func ReadVersion ¶
func ReadVersion(version string) ReadOption
ReadVersion confifgures service version
type ReadOptions ¶
type ReadOptions struct { Context context.Context Service string Version string Type string Namespace string }
ReadOptions queries runtime services
type Resources ¶
type Resources struct { // CPU is the maximum amount of CPU the service will be allocated (unit millicpu) // e.g. 0.25CPU would be passed as 250 CPU int // Mem is the maximum amount of memory the service will be allocated (unit mebibyte) // e.g. 128 MiB of memory would be passed as 128 Mem int // Disk is the maximum amount of disk space the service will be allocated (unit mebibyte) // e.g. 128 MiB of memory would be passed as 128 Disk int }
Resources which are allocated to a serivce
type Runtime ¶
type Runtime interface { // Init initializes runtime Init(...Option) error // Create registers a service Create(*Service, ...CreateOption) error // Read returns the service Read(...ReadOption) ([]*Service, error) // Update the service in place Update(*Service, ...UpdateOption) error // Remove a service Delete(*Service, ...DeleteOption) error // Logs returns the logs for a service Logs(*Service, ...LogsOption) (Logs, error) // Start starts the runtime Start() error // Stop shuts down the runtime Stop() error // String describes runtime String() string }
Runtime is a service runtime manager
type Scheduler ¶
type Scheduler interface { // Notify publishes schedule events Notify() (<-chan Event, error) // Close stops the scheduler Close() error }
Scheduler is a runtime service scheduler
type Service ¶
type Service struct { // Metadata stores metadata Metadata metadata.Metadata // Name of the service Name string // Version of the service Version string // Name of the service Source string }
Service is runtime service
type UpdateOption ¶
type UpdateOption func(o *UpdateOptions)
UpdateOption func signature
func UpdateContext ¶
func UpdateContext(ctx context.Context) UpdateOption
UpdateContext sets the context
func UpdateNamespace ¶
func UpdateNamespace(ns string) UpdateOption
UpdateNamespace sets the namespace
func UpdateSecret ¶
func UpdateSecret(key, value string) UpdateOption
UpdateSecret sets a secret to provide the service with