Documentation ¶
Overview ¶
Package runtime is a service runtime manager
Package runtime is a service runtime manager
Index ¶
- Constants
- Variables
- type CreateOption
- func CreateContext(ctx context.Context) CreateOption
- func CreateEntrypoint(e string) 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 WithPort(p string) CreateOption
- func WithRetries(retries int) CreateOption
- func WithSecret(key, value string) CreateOption
- func WithServiceAccount(s string) CreateOption
- func WithVolume(name, path string) CreateOption
- type CreateOptions
- type DeleteOption
- type DeleteOptions
- type Event
- type EventType
- type Log
- type Logs
- type LogsOption
- type LogsOptions
- type Namespace
- type NetworkPolicy
- type Option
- type Options
- type ReadOption
- type ReadOptions
- type Resource
- type Resources
- type Runtime
- type Service
- type ServiceStatus
- type UpdateOption
- type UpdateOptions
Constants ¶
const ( TypeNamespace = "namespace" TypeNetworkPolicy = "networkpolicy" TypeService = "service" )
Variables ¶
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 CreateEntrypoint ¶
func CreateEntrypoint(e string) CreateOption
CreateEntrypoint sets the entrypoint
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 attemps
func WithSecret ¶
func WithSecret(key, value string) CreateOption
WithSecret sets a secret to provide the service with
func WithServiceAccount ¶
func WithServiceAccount(s string) CreateOption
WithServiceAccount sets the ServiceAccount
func WithVolume ¶
func WithVolume(name, path string) CreateOption
WithVolume adds a volume to be mounted
type CreateOptions ¶
type CreateOptions struct { // Command to execut Command []string // Args to pass into command Args []string // Environment to configure Env []string // Entrypoint within the folder (e.g. in the case of a mono-repo) Entrypoint 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 // Port to expose Port string // Namespace to create the service in Namespace string // Specify the context to use Context context.Context // Secrets to use Secrets map[string]string // Resources to allocate the service Resources *Resources // Volumes to mount Volumes map[string]string // ServiceAccount to start the container with ServiceAccount string }
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 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 LogsOption ¶
type LogsOption func(o *LogsOptions)
LogsOption configures runtime logging
func LogsCount ¶
func LogsCount(count int64) LogsOption
LogsExistingCount confiures how many existing lines to show
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 Namespace ¶
type Namespace struct { // Name of the namespace Name string }
Namespace represents a logical namespace for organising resources
func NewNamespace ¶
NewNamespace mints a new namespace
type NetworkPolicy ¶
type NetworkPolicy struct { // The labels allowed ingress by this policy AllowedLabels map[string]string // Name of the network policy Name string // Namespace the network policy belongs to Namespace string }
NetworkPolicy represents an ACL of label pairs allowing ignress to a namespace
func NewNetworkPolicy ¶
func NewNetworkPolicy(name, namespace string, allowedLabels map[string]string) (*NetworkPolicy, error)
NewNetworkPolicy mints a new networkpolicy
type Options ¶
type Options struct { // Service type to manage Type string // Client to use when making requests Client client.Client // Base image to use Image string // Source of the services repository Source string }
Options configure runtime
type ReadOption ¶
type ReadOption func(o *ReadOptions)
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 { // 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 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 a resource Create(Resource, ...CreateOption) error // Read a resource Read(...ReadOption) ([]*Service, error) // Update a resource Update(Resource, ...UpdateOption) error // Delete a resource Delete(Resource, ...DeleteOption) error // Logs returns the logs for a resource Logs(Resource, ...LogsOption) (Logs, error) // Start starts the runtime Start() error // Stop shuts down the runtime Stop() error // String defines the runtime implementation String() string }
Runtime is a service runtime manager
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 // Status of the service Status ServiceStatus }
Service represents a Micro service running within a namespace
func NewService ¶
NewService mints a new service
type ServiceStatus ¶
type ServiceStatus int
ServiceStatus defines service statuses
const ( // Unknown indicates the status of the service is not known Unknown ServiceStatus = iota // Pending is the initial status of a service Pending // Building is the status when the service is being built Building // Starting is the status when the service has been started but is not yet ready to accept traffic Starting // Running is the status when the service is active and accepting traffic Running // Stopping is the status when a service is stopping Stopping // Stopped is the status when a service has been stopped or has completed Stopped // Error is the status when an error occured, this could be a build error or a run error. The error // details can be found within the service's metadata Error )
type UpdateOption ¶
type UpdateOption func(o *UpdateOptions)
func UpdateContext ¶
func UpdateContext(ctx context.Context) UpdateOption
UpdateContext sets the context
func UpdateEntrypoint ¶
func UpdateEntrypoint(e string) UpdateOption
UpdateEntrypoint sets the entrypoint
func UpdateNamespace ¶
func UpdateNamespace(ns string) UpdateOption
UpdateNamespace sets the namespace
func UpdateSecret ¶
func UpdateSecret(key, value string) UpdateOption
WithSecret sets a secret to provide the service with
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. |
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/go
Package golang is a source for Go
|
Package golang is a source for Go |
test/bar
Package main is used to test the local runtime, specifically the entrypoint function
|
Package main is used to test the local runtime, specifically the entrypoint function |
test/cmd/test
Package main is used to test the local runtime, specifically the entrypoint function
|
Package main is used to test the local runtime, specifically the entrypoint function |
test/foo/cmd/bar
Package main is used to test the local runtime, specifically the entrypoint function
|
Package main is used to test the local runtime, specifically the entrypoint function |
test/foo/cmd/baz
Package main is used to test the local runtime, specifically the entrypoint function
|
Package main is used to test the local runtime, specifically the entrypoint function |