Documentation

Overview

    Package runtime is a service runtime manager

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var (
    	// DefaultRuntime is default micro runtime
    	DefaultRuntime Runtime = NewRuntime()
    	// DefaultName is default runtime service name
    	DefaultName = "go.micro.runtime"
    
    	ErrAlreadyExists = errors.New("already exists")
    )

    Functions

    This section is empty.

    Types

    type CreateOption

    type CreateOption func(o *CreateOptions)

    func CreateContext

    func CreateContext(ctx context.Context) CreateOption

      CreateContext sets the context

      func CreateImage

      func CreateImage(img string) CreateOption

        CreateImage sets the image to use

        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 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 WithEnv

                func WithEnv(env []string) CreateOption

                  WithEnv sets the created service environment

                  func WithOutput

                  func WithOutput(out io.Writer) CreateOption

                    WithOutput sets the arg output

                    func WithRetries

                    func WithRetries(retries int) CreateOption

                      WithRetries sets the max retries attemps

                      type CreateOptions

                      type CreateOptions struct {
                      	// Command to execut
                      	Command []string
                      	// Args to pass into command
                      	Args []string
                      	// Environment to configure
                      	Env []string
                      	// Log output
                      	Output io.Writer
                      	// Type of service to create
                      	Type string
                      	// Retries before failing deploy
                      	Retries int
                      	// Specify the image to use
                      	Image string
                      	// Namespace to create the service in
                      	Namespace string
                      	// Specify the context to use
                      	Context context.Context
                      }

                        CreateOptions configure runtime services

                        type DeleteOption

                        type DeleteOption func(o *DeleteOptions)

                        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

                            type DeleteOptions struct {
                            	// Namespace the service is running in
                            	Namespace string
                            	// Specify the context to use
                            	Context context.Context
                            }

                            type Event

                            type Event struct {
                            	// ID of the event
                            	ID string
                            	// Type is event type
                            	Type EventType
                            	// Timestamp is event timestamp
                            	Timestamp time.Time
                            	// Service the event relates to
                            	Service *Service
                            	// Options to use when processing the event
                            	Options *CreateOptions
                            }

                              Event is notification event

                              type EventType

                              type EventType int

                                EventType defines schedule event

                                const (
                                	// Create is emitted when a new build has been craeted
                                	Create EventType = iota
                                	// Update is emitted when a new update become available
                                	Update
                                	// Delete is emitted when a build has been deleted
                                	Delete
                                )

                                func (EventType) String

                                func (t EventType) String() string

                                  String returns human readable event type

                                  type LogRecord

                                  type LogRecord struct {
                                  	Message  string
                                  	Metadata map[string]string
                                  }

                                  type LogStream

                                  type LogStream interface {
                                  	Error() error
                                  	Chan() chan LogRecord
                                  	Stop() error
                                  }

                                    Stream returns a log stream

                                    type LogsOption

                                    type LogsOption func(o *LogsOptions)

                                      LogsOption configures runtime logging

                                      func LogsContext

                                      func LogsContext(ctx context.Context) LogsOption

                                        LogsContext sets the context

                                        func LogsCount

                                        func LogsCount(count int64) LogsOption

                                          LogsExistingCount confiures how many existing lines to show

                                          func LogsNamespace

                                          func LogsNamespace(ns string) LogsOption

                                            LogsNamespace sets the namespace

                                            func LogsStream

                                            func LogsStream(stream bool) LogsOption

                                              LogsStream configures whether to stream new lines

                                              type LogsOptions

                                              type LogsOptions struct {
                                              	// How many existing lines to show
                                              	Count int64
                                              	// Stream new lines?
                                              	Stream bool
                                              	// Namespace the service is running in
                                              	Namespace string
                                              	// Specify the context to use
                                              	Context context.Context
                                              }

                                                LogsOptions configure runtime logging

                                                type Option

                                                type Option func(o *Options)

                                                func WithClient

                                                func WithClient(c client.Client) Option

                                                  WithClient sets the client to use

                                                  func WithImage

                                                  func WithImage(t string) Option

                                                    WithImage sets the image to use

                                                    func WithScheduler

                                                    func WithScheduler(n Scheduler) Option

                                                      WithScheduler specifies a scheduler for updates

                                                      func WithSource

                                                      func WithSource(src string) Option

                                                        WithSource sets the base image / repository

                                                        func WithType

                                                        func WithType(t string) Option

                                                          WithType sets the service type to manage

                                                          type Options

                                                          type Options struct {
                                                          	// Scheduler for updates
                                                          	Scheduler Scheduler
                                                          	// Service type to manage
                                                          	Type string
                                                          	// Source of the services repository
                                                          	Source string
                                                          	// Base image to use
                                                          	Image string
                                                          	// Client to use when making requests
                                                          	Client client.Client
                                                          }

                                                            Options configure runtime

                                                            type ReadOption

                                                            type ReadOption func(o *ReadOptions)

                                                            func ReadContext

                                                            func ReadContext(ctx context.Context) ReadOption

                                                              ReadContext sets the context

                                                              func ReadNamespace

                                                              func ReadNamespace(ns string) ReadOption

                                                                ReadNamespace sets the namespace

                                                                func ReadService

                                                                func ReadService(service string) ReadOption

                                                                  ReadService returns services with the given name

                                                                  func ReadType

                                                                  func ReadType(t string) ReadOption

                                                                    ReadType returns services of the given type

                                                                    func ReadVersion

                                                                    func ReadVersion(version string) ReadOption

                                                                      ReadVersion confifgures service version

                                                                      type ReadOptions

                                                                      type ReadOptions struct {
                                                                      	// Service name
                                                                      	Service string
                                                                      	// Version queries services with given version
                                                                      	Version string
                                                                      	// Type of service
                                                                      	Type string
                                                                      	// Namespace the service is running in
                                                                      	Namespace string
                                                                      	// Specify the context to use
                                                                      	Context context.Context
                                                                      }

                                                                        ReadOptions queries runtime services

                                                                        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) (LogStream, 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

                                                                          func NewRuntime

                                                                          func NewRuntime(opts ...Option) Runtime

                                                                            NewRuntime creates new local runtime and returns it

                                                                            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 {
                                                                              	// Name of the service
                                                                              	Name string
                                                                              	// Version of the service
                                                                              	Version string
                                                                              	// url location of source
                                                                              	Source string
                                                                              	// Metadata stores metadata
                                                                              	Metadata map[string]string
                                                                              }

                                                                                Service is runtime service

                                                                                type UpdateOption

                                                                                type UpdateOption func(o *UpdateOptions)

                                                                                func UpdateContext

                                                                                func UpdateContext(ctx context.Context) UpdateOption

                                                                                  UpdateContext sets the context

                                                                                  func UpdateNamespace

                                                                                  func UpdateNamespace(ns string) UpdateOption

                                                                                    UpdateNamespace sets the namespace

                                                                                    type UpdateOptions

                                                                                    type UpdateOptions struct {
                                                                                    	// Namespace the service is running in
                                                                                    	Namespace string
                                                                                    	// Specify the context to use
                                                                                    	Context context.Context
                                                                                    }

                                                                                    Directories

                                                                                    Path Synopsis
                                                                                    Package kubernetes implements kubernetes micro runtime Package kubernetes taken from https://github.com/micro/go-micro/blob/master/debug/log/kubernetes/kubernetes.go There are some modifications compared to the other files as this package doesn't provide write functionality.
                                                                                    Package kubernetes implements kubernetes micro runtime Package kubernetes taken from https://github.com/micro/go-micro/blob/master/debug/log/kubernetes/kubernetes.go There are some modifications compared to the other files as this package doesn't provide write functionality.
                                                                                    Package local provides a local runtime
                                                                                    Package local provides a local runtime
                                                                                    build
                                                                                    Package build builds a micro runtime package
                                                                                    Package build builds a micro runtime package
                                                                                    build/docker
                                                                                    Package docker builds docker images
                                                                                    Package docker builds docker images
                                                                                    build/go
                                                                                    Package golang is a go package manager
                                                                                    Package golang is a go package manager
                                                                                    git
                                                                                    process
                                                                                    Package process executes a binary
                                                                                    Package process executes a binary
                                                                                    process/os
                                                                                    Package os runs processes locally Package os runs processes locally
                                                                                    Package os runs processes locally Package os runs processes locally
                                                                                    source
                                                                                    Package source retrieves source code
                                                                                    Package source retrieves source code
                                                                                    source/git
                                                                                    Package git provides a git source
                                                                                    Package git provides a git source
                                                                                    source/go
                                                                                    Package golang is a source for Go
                                                                                    Package golang is a source for Go