Documentation ¶
Overview ¶
Package holos defines types for the rest of the system.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArtifactMap ¶ added in v0.96.0
type ArtifactMap interface { Get(path string) (data []byte, ok bool) Set(path string, data []byte) error Save(dir, path string) error }
ArtifactMap sets and gets data for file artifacts.
Concrete values must ensure Set is write once, returning an error if a given FilePath was previously Set. Concrete values must be safe for concurrent reads and writes.
type BuildData ¶ added in v0.98.0
type BuildData struct { Value cue.Value ModuleRoot string InstancePath InstancePath Dir string }
BuildData represents the data necessary to produce a build plan. It is a convenience wrapper to store relevant fields to inform the user.
type Builder ¶ added in v0.96.0
type Builder interface {
Build(context.Context, ArtifactMap) error
}
Builder builds file artifacts.
type Discriminator ¶ added in v0.98.0
Discriminator is useful to discriminate by type meta, the kind and api version of something.
type FileContent ¶ added in v0.96.0
type FileContent string
FileContent represents the contents of a file as a string.
type FilePath ¶ added in v0.96.0
type FilePath string
FilePath represents the path of a file relative to the current working directory of holos at runtime.
type InstancePath ¶
type InstancePath string
A InstancePath is a string representing the absolute filesystem path of a holos instance. It is given a unique type so the API is clear.
type PathCueMod ¶
type PathCueMod string
A PathCueMod is a string representing the absolute filesystem path of a cue module. It is given a unique type so the API is clear.
type TypeMeta ¶ added in v0.96.0
type TypeMeta struct { Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` }
TypeMeta represents the kind and version of a resource holos needs to process. Useful to discriminate generated resources.
Directories ¶
Path | Synopsis |
---|---|
api
|
|
author/v1alpha3
Package v1alpha3 contains CUE definitions intended as convenience wrappers around the core data types defined in package core.
|
Package v1alpha3 contains CUE definitions intended as convenience wrappers around the core data types defined in package core. |
author/v1alpha5
Package author contains a standard set of schemas for component authors to generate common core BuildPlans.
|
Package author contains a standard set of schemas for component authors to generate common core BuildPlans. |
core/v1alpha2
Package v1alpha2 contains the core API contract between the holos cli and CUE configuration code.
|
Package v1alpha2 contains the core API contract between the holos cli and CUE configuration code. |
core/v1alpha3
Package v1alpha3 contains the core API contract between the holos cli and CUE configuration code.
|
Package v1alpha3 contains the core API contract between the holos cli and CUE configuration code. |
core/v1alpha5
Package core contains schemas for a Platform and BuildPlan.
|
Package core contains schemas for a Platform and BuildPlan. |
v1alpha1
Package v1alpha1 defines the api boundary between CUE and Holos.
|
Package v1alpha1 defines the api boundary between CUE and Holos. |
cmd
|
|
builder
Package builder is responsible for building fully rendered kubernetes api objects from various input directories.
|
Package builder is responsible for building fully rendered kubernetes api objects from various input directories. |
cli/controller
Package controller integrates Choria Machine Room into Holos for cluster management.
|
Package controller integrates Choria Machine Room into Holos for cluster management. |
cli/pull
Package pull pulls resources from the PlatformService and caches them in the local filesystem.
|
Package pull pulls resources from the PlatformService and caches them in the local filesystem. |
cli/push
Package push pushes resources to the holos api server.
|
Package push pushes resources to the holos api server. |
cli/register
Package register provides user registration via the command line.
|
Package register provides user registration via the command line. |
client
Package client provides configuration and convenience methods for making API calls to the holos server.
|
Package client provides configuration and convenience methods for making API calls to the holos server. |
errors
Package errors provides error wrapping with location information
|
Package errors provides error wrapping with location information |
logger
Package logger provides logging configuration and helpers to pass a logger instance through the context.
|
Package logger provides logging configuration and helpers to pass a logger instance through the context. |
push
Package push pushes resources to the holos api server.
|
Package push pushes resources to the holos api server. |
server/db
Package db manages database client and schema migrations to interact with entities.
|
Package db manages database client and schema migrations to interact with entities. |
server/handler
Package handler implements service handlers.
|
Package handler implements service handlers. |
server/middleware/authn
Package authn provides the middleware handler responsible for authenticating requests and adding the Identity to the request context.
|
Package authn provides the middleware handler responsible for authenticating requests and adding the Identity to the request context. |
server/middleware/logger
Package logger logs http responses See: https://github.com/elithrar/admission-control/blob/v0.6.7/request_logger.go#L40
|
Package logger logs http responses See: https://github.com/elithrar/admission-control/blob/v0.6.7/request_logger.go#L40 |
strings
Package strings implements simple functions to manipulate UTF-8 encoded strings that are not included in the standard library package.
|
Package strings implements simple functions to manipulate UTF-8 encoded strings that are not included in the standard library package. |
tint
Package tint copied from https://github.com/lmittmann/tint/tree/v1.0.4 to adjust the colors
|
Package tint copied from https://github.com/lmittmann/tint/tree/v1.0.4 to adjust the colors |
token
Package token obtains, caches, and provides an ID token to authenticate to the holos api server.
|
Package token obtains, caches, and provides an ID token to authenticate to the holos api server. |