Documentation
¶
Index ¶
Constants ¶
const ( StatusUnknown = "unknown" StatusError = "error" StatusReady = "ready" StatusUpdating = "updating" StatusStarted = "started" )
Constants for workload ready status. These are defined here so that no-one has to drag in Kubernetes dependencies to be able to use them.
Variables ¶
var AlwaysInclude = IncluderFunc(func(string) bool { return true })
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster interface {
// Get all of the services (optionally, from a specific namespace), excluding those
AllWorkloads(ctx context.Context, maybeNamespace string) ([]Workload, error)
SomeWorkloads(ctx context.Context, ids []resource.ID) ([]Workload, error)
IsAllowedResource(resource.ID) bool
Ping() error
Export(ctx context.Context) ([]byte, error)
Sync(SyncSet) error
PublicSSHKey(regenerate bool) (ssh.PublicKey, error)
}
The things we can get from the running cluster. These used to form the remote.Platform interface; but now we do more in the daemon so they are distinct interfaces.
type ContainersOrExcuse ¶
Sometimes we care if we can't find the containers for a service, sometimes we just want the information we can get.
type ExcludeIncludeGlob ¶ added in v1.19.0
ExcludeIncludeGlob is an Includer that uses glob patterns to decide what to include or exclude. Note that Include and Exclude are treated differently -- see the method IsIncluded.
func (ExcludeIncludeGlob) IsIncluded ¶ added in v1.19.0
func (ei ExcludeIncludeGlob) IsIncluded(s string) bool
IsIncluded implements Includer using the logic:
- if the string matches any exclude pattern, don't include it
- otherwise, if there are no include patterns, include it
- otherwise, if it matches an include pattern, include it = otherwise don't include it.
type IncluderFunc ¶ added in v1.19.0
func (IncluderFunc) IsIncluded ¶ added in v1.19.0
func (f IncluderFunc) IsIncluded(s string) bool
type RolloutStatus ¶
type RolloutStatus struct {
// Desired number of pods as defined in spec.
Desired int32
// Updated number of pods that are on the desired pod spec.
Updated int32
// Ready number of pods targeted by this deployment.
Ready int32
// Available number of available pods (ready for at least minReadySeconds) targeted by this deployment.
Available int32
// Outdated number of pods that are on a different pod spec.
Outdated int32
// Messages about unexpected rollout progress
// if there's a message here, the rollout will not make progress without intervention
Messages []string
}
RolloutStatus describes numbers of pods in different states and the messages about unexpected rollout progress a rollout status might be: - in progress: Updated, Ready or Available numbers are not equal to Desired, or Outdated not equal to 0 - stuck: Messages contains info if deployment unavailable or exceeded its progress deadline - complete: Updated, Ready and Available numbers are equal to Desired and Outdated equal to 0 See https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#deployment-status
type SyncError ¶
type SyncError []ResourceError
type SyncSet ¶
SyncSet groups the set of resources to be updated. Usually this is the set of resources found in a git repo; in any case, it must represent the complete set of resources, as garbage collection will assume missing resources should be deleted. The name is used to distinguish the resources from a set from other resources -- e.g., cluster resources not marked as belonging to a set will not be deleted by garbage collection.
type Workload ¶
type Workload struct {
ID resource.ID
Status string // A status summary for display
// Is the controller considered read-only because it's under the
// control of the platform. In the case of Kubernetes, we simply
// omit these controllers; but this may not always be the case.
IsSystem bool
// If this workload was created _because_ of another, antecedent
// resource through some mechanism (like an operator, or custom
// resource controller), we try to record the ID of that resource
// in this field.
Antecedent resource.ID
Labels map[string]string
Policies policy.Set
Rollout RolloutStatus
// Errors during the recurring sync from the Git repository to the
// cluster will surface here.
SyncError error
Containers ContainersOrExcuse
}
Workload describes a cluster resource that declares versioned images.
func (Workload) ContainersOrError ¶
func (Workload) ContainersOrNil ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package kubernetes provides implementations of `Cluster` and `manifests` that interact with the Kubernetes API (using kubectl or the k8s API client).
|
Package kubernetes provides implementations of `Cluster` and `manifests` that interact with the Kubernetes API (using kubectl or the k8s API client). |