Documentation
¶
Overview ¶
Package client is a generated GoMock package.
Index ¶
- Constants
- Variables
- func ComposeVolumeName(appName, volumeName string) string
- func ExecuterForUser(username v1beta1.Username) (executer.Executer, error)
- func IsCommandAvailable(cmdName string) bool
- func IsComposeAvailable() bool
- func IsPodmanRootless() bool
- func NewComposeID(input string) string
- func NewFromConfig(config *baseclient.Config, log *log.PrefixLogger, opts ...HTTPClientOption) (*client.ClientWithResponses, error)
- func NormalizeChartRef(chartRef string) string
- func ParseChartRef(chartRef string) (name, version string, err error)
- func ParseComposeFromSpec(contents []v1beta1.ApplicationContent) (*common.ComposeSpec, error)
- func ParseComposeSpecFromDir(reader fileio.Reader, dir string) (*common.ComposeSpec, error)
- func ParseQuadletReferencesFromDir(reader fileio.Reader, dir string) (map[string]*common.QuadletReferences, error)
- func ParseQuadletReferencesFromSpec(contents []v1beta1.ApplicationContent) (map[string]*common.QuadletReferences, error)
- func SanitizeChartRef(chartRef string) string
- func SanitizePodmanLabel(name string) string
- func SplitChartRef(chartRef string) (chartPath, version string)
- func TryReload(m Management) (bool, error)
- func WithResponseHook(hook ResponseHook) func(ctx context.Context, req *http.Request) error
- type ArtifactInspect
- type ArtifactLayer
- type ArtifactManifest
- type Bootc
- type CLIClients
- type CLIClientsOption
- type CRI
- type ChartRefType
- type ClientOption
- type Compose
- type ConfigType
- type Enrollment
- type HTTPClientOption
- type Helm
- func (h *Helm) DependencyUpdate(ctx context.Context, chartPath string, opts ...ClientOption) error
- func (h *Helm) DryRun(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) (string, error)
- func (h *Helm) GetChartPath(chartRef string) string
- func (h *Helm) Install(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) error
- func (h *Helm) IsResolved(chartRef string) (bool, error)
- func (h *Helm) Lint(ctx context.Context, chartPath string, opts ...HelmOption) error
- func (h *Helm) Pull(ctx context.Context, chartRef, destDir string, opts ...ClientOption) error
- func (h *Helm) RemoveChart(chartRef string) error
- func (h *Helm) Resolve(ctx context.Context, chartRef string, opts ...ClientOption) error
- func (h *Helm) Template(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) (string, error)
- func (h *Helm) Uninstall(ctx context.Context, releaseName string, opts ...HelmOption) error
- func (h *Helm) Upgrade(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) error
- func (h *Helm) Version(ctx context.Context) (*HelmVersion, error)
- type HelmOption
- func WithAtomic() HelmOption
- func WithCreateNamespace() HelmOption
- func WithHelmEnv(env map[string]string) HelmOption
- func WithHelmTimeout(timeout time.Duration) HelmOption
- func WithIgnoreNotFound() HelmOption
- func WithInstall() HelmOption
- func WithKubeconfig(path string) HelmOption
- func WithNamespace(namespace string) HelmOption
- func WithPostRenderer(path string, args ...string) HelmOption
- func WithRollbackOnFailure() HelmOption
- func WithValuesFile(path string) HelmOption
- func WithValuesFiles(paths []string) HelmOption
- type HelmVersion
- type Journalctl
- type Kube
- func (k *Kube) Binary() string
- func (k *Kube) EnsureNamespace(ctx context.Context, namespace string, opts ...KubeOption) error
- func (k *Kube) IsAvailable() bool
- func (k *Kube) Kustomize(ctx context.Context, dir string) (stdout, stderr string, exitCode int)
- func (k *Kube) NamespaceExists(ctx context.Context, namespace string, opts ...KubeOption) (bool, error)
- func (k *Kube) RefreshBinary() bool
- func (k *Kube) ResolveKubeconfig() (string, error)
- func (k *Kube) WatchPodsCmd(ctx context.Context, opts ...KubeOption) (*exec.Cmd, error)
- type KubeOption
- type KubernetesOption
- type LogOptions
- type Management
- type ManagementDelegate
- func (d *ManagementDelegate) CreateCertificateSigningRequest(ctx context.Context, csr api.CertificateSigningRequest, ...) (*api.CertificateSigningRequest, int, error)
- func (d *ManagementDelegate) GetCertificateSigningRequest(ctx context.Context, name string, rcb ...agentclient.RequestEditorFn) (*api.CertificateSigningRequest, int, error)
- func (d *ManagementDelegate) GetRenderedDevice(ctx context.Context, name string, params *api.GetRenderedDeviceParams, ...) (*api.Device, int, error)
- func (d *ManagementDelegate) PatchDeviceStatus(ctx context.Context, name string, patch api.PatchRequest, ...) error
- func (d *ManagementDelegate) Reload() error
- func (d *ManagementDelegate) SetRPCMetricsCallback(cb RPCMetricsCallback)
- func (d *ManagementDelegate) UpdateDeviceStatus(ctx context.Context, name string, device api.Device, ...) error
- type ManagementFactory
- type MockBootc
- func (m *MockBootc) Apply(ctx context.Context) error
- func (m *MockBootc) EXPECT() *MockBootcMockRecorder
- func (m *MockBootc) Status(ctx context.Context) (*container.BootcHost, error)
- func (m *MockBootc) Switch(ctx context.Context, image string) error
- func (m *MockBootc) UsrOverlay(ctx context.Context) error
- type MockBootcMockRecorder
- type MockEnrollment
- func (m *MockEnrollment) CreateEnrollmentRequest(ctx context.Context, req v1beta1.EnrollmentRequest, ...) (*v1beta1.EnrollmentRequest, error)
- func (m *MockEnrollment) EXPECT() *MockEnrollmentMockRecorder
- func (m *MockEnrollment) GetEnrollmentRequest(ctx context.Context, id string, cb ...client.RequestEditorFn) (*v1beta1.EnrollmentRequest, error)
- func (m *MockEnrollment) SetRPCMetricsCallback(cb RPCMetricsCallback)
- type MockEnrollmentMockRecorder
- type MockManagement
- func (m *MockManagement) CreateCertificateSigningRequest(ctx context.Context, csr v1beta1.CertificateSigningRequest, ...) (*v1beta1.CertificateSigningRequest, int, error)
- func (m *MockManagement) EXPECT() *MockManagementMockRecorder
- func (m *MockManagement) GetCertificateSigningRequest(ctx context.Context, name string, rcb ...client.RequestEditorFn) (*v1beta1.CertificateSigningRequest, int, error)
- func (m *MockManagement) GetRenderedDevice(ctx context.Context, name string, params *v1beta1.GetRenderedDeviceParams, ...) (*v1beta1.Device, int, error)
- func (m *MockManagement) PatchDeviceStatus(ctx context.Context, name string, patch v1beta1.PatchRequest, ...) error
- func (m *MockManagement) SetRPCMetricsCallback(cb RPCMetricsCallback)
- func (m *MockManagement) UpdateDeviceStatus(ctx context.Context, name string, device v1beta1.Device, ...) error
- type MockManagementMockRecorder
- func (mr *MockManagementMockRecorder) CreateCertificateSigningRequest(ctx, csr any, rcb ...any) *gomock.Call
- func (mr *MockManagementMockRecorder) GetCertificateSigningRequest(ctx, name any, rcb ...any) *gomock.Call
- func (mr *MockManagementMockRecorder) GetRenderedDevice(ctx, name, params any, rcb ...any) *gomock.Call
- func (mr *MockManagementMockRecorder) PatchDeviceStatus(ctx, name, patch any, rcb ...any) *gomock.Call
- func (mr *MockManagementMockRecorder) SetRPCMetricsCallback(cb any) *gomock.Call
- func (mr *MockManagementMockRecorder) UpdateDeviceStatus(ctx, name, device any, rcb ...any) *gomock.Call
- type MockPullConfigProvider
- type MockPullConfigProviderMockRecorder
- type OCIDescriptor
- type OCIManifest
- type Podman
- func (p *Podman) ArtifactDigest(ctx context.Context, reference string) (string, error)
- func (p *Podman) ArtifactExists(ctx context.Context, artifact string) bool
- func (p *Podman) Compose() *Compose
- func (p *Podman) Copy(ctx context.Context, src, dst string) error
- func (p *Podman) CopyContainerData(ctx context.Context, image, destPath string) error
- func (p *Podman) CreateVolume(ctx context.Context, name string, labels []string) (string, error)
- func (p *Podman) EnsureArtifactSupport(ctx context.Context) error
- func (p *Podman) EventsSinceCmd(ctx context.Context, events []string, sinceTime string) *exec.Cmd
- func (p *Podman) ExtractArtifact(ctx context.Context, artifact, destination string) (string, error)
- func (p *Podman) GetImageCopyTmpDir(ctx context.Context) (string, error)
- func (p *Podman) ImageDigest(ctx context.Context, image string) (string, error)
- func (p *Podman) ImageExists(ctx context.Context, image string) bool
- func (p *Podman) Inspect(ctx context.Context, image string) (string, error)
- func (p *Podman) InspectArtifactAnnotations(ctx context.Context, reference string) (map[string]string, error)
- func (p *Podman) InspectLabels(ctx context.Context, image string) (map[string]string, error)
- func (p *Podman) InspectVolumeDriver(ctx context.Context, name string) (string, error)
- func (p *Podman) InspectVolumeMount(ctx context.Context, name string) (string, error)
- func (p *Podman) ListArtifacts(ctx context.Context) ([]string, error)
- func (p *Podman) ListImages(ctx context.Context) ([]string, error)
- func (p *Podman) ListNetworks(ctx context.Context, labels []string, filters []string) ([]string, error)
- func (p *Podman) ListPods(ctx context.Context, labels []string) ([]string, error)
- func (p *Podman) ListVolumes(ctx context.Context, labels []string, filters []string) ([]string, error)
- func (p *Podman) Mount(ctx context.Context, image string) (string, error)
- func (p *Podman) Pull(ctx context.Context, image string, opts ...ClientOption) (string, error)
- func (p *Podman) PullArtifact(ctx context.Context, artifact string, opts ...ClientOption) (string, error)
- func (p *Podman) RemoveArtifact(ctx context.Context, artifact string) error
- func (p *Podman) RemoveContainer(ctx context.Context, labels []string) error
- func (p *Podman) RemoveImage(ctx context.Context, image string) error
- func (p *Podman) RemoveNetworks(ctx context.Context, networks ...string) error
- func (p *Podman) RemovePods(ctx context.Context, pods ...string) error
- func (p *Podman) RemoveVolumes(ctx context.Context, volumes ...string) error
- func (p *Podman) StopContainers(ctx context.Context, labels []string) error
- func (p *Podman) Unmount(ctx context.Context, image string) error
- func (p *Podman) Unshare(ctx context.Context, args ...string) (string, error)
- func (p *Podman) Version(ctx context.Context) (*PodmanVersion, error)
- func (p *Podman) VolumeExists(ctx context.Context, name string) bool
- type PodmanContainerConfig
- type PodmanContainerState
- type PodmanEvent
- type PodmanFactory
- type PodmanInspect
- type PodmanVersion
- type PullConfig
- type PullConfigProvider
- type RPCMetricsCallback
- type RPMOSTree
- func (c *RPMOSTree) Apply(ctx context.Context) error
- func (c *RPMOSTree) RemoveRollback(_ context.Context) error
- func (c *RPMOSTree) RemoveStaged(_ context.Context) error
- func (c *RPMOSTree) Status(_ context.Context) (*container.BootcHost, error)
- func (c *RPMOSTree) Switch(_ context.Context, target string) error
- type Reloadable
- type ResponseHook
- type RetryTransport
- type Skopeo
- type SkopeoFactory
- type SystemDUnitListEntry
- type Systemd
- func (s *Systemd) DaemonReload(ctx context.Context) error
- func (s *Systemd) Disable(ctx context.Context, name string) error
- func (s *Systemd) Enable(ctx context.Context, name string) error
- func (s *Systemd) ListDependencies(ctx context.Context, unit string) ([]string, error)
- func (s *Systemd) ListJobs(ctx context.Context) ([]SystemdJob, error)
- func (s *Systemd) ListUnitsByMatchPattern(ctx context.Context, matchPatterns []string) ([]SystemDUnitListEntry, error)
- func (s *Systemd) Reboot(ctx context.Context) error
- func (s *Systemd) Reload(ctx context.Context, name string) error
- func (s *Systemd) ResetFailed(ctx context.Context, units ...string) error
- func (s *Systemd) Restart(ctx context.Context, name string) error
- func (s *Systemd) SdNotify(ctx context.Context, messages ...string) error
- func (s *Systemd) Show(ctx context.Context, unit string, opts ...SystemdShowOptions) ([]string, error)
- func (s *Systemd) ShowByMatchPattern(ctx context.Context, matchPatterns []string) ([]map[string]string, error)
- func (s *Systemd) Start(ctx context.Context, units ...string) error
- func (s *Systemd) Stop(ctx context.Context, units ...string) error
- type SystemdJob
- type SystemdShowOptions
Constants ¶
const ( ComposeOverrideFilename = "99-compose-flightctl-agent.override.yaml" ComposeDockerProjectLabelKey = "com.docker.compose.project" )
const (
BootcCmd = "bootc"
)
const (
// HelmChartsDir is the subdirectory within the data directory where helm charts are cached.
HelmChartsDir = "helm/charts"
)
const (
QuadletProjectLabelKey = "io.flightctl.quadlet.project"
)
Variables ¶
var ( BaseComposeFiles = []string{ "docker-compose.yaml", "docker-compose.yml", "podman-compose.yaml", "podman-compose.yml", } OverrideComposeFiles = []string{ "docker-compose.override.yaml", "docker-compose.override.yml", "podman-compose.override.yaml", "podman-compose.override.yml", } )
var ( ErrEmptyResponse = errors.New("empty response") ErrDeviceNotFound = errors.New("device not found - certificate should be wiped and agent restarted") )
var (
ErrNoSystemDUnits = errors.New("no units defined")
)
Functions ¶
func ComposeVolumeName ¶ added in v0.8.1
ComposeVolumeName generates a unique Compose-compatible volume name based on the application and volume names.
func IsCommandAvailable ¶ added in v0.3.0
IsCommandAvailable checks if a command is available in the PATH.
func IsComposeAvailable ¶ added in v0.3.0
func IsComposeAvailable() bool
func IsPodmanRootless ¶ added in v0.3.0
func IsPodmanRootless() bool
func NewComposeID ¶ added in v0.8.1
NewComposeID generates a deterministic, lowercase, DNS-compatible ID with a fixed-length hash suffix.
func NewFromConfig ¶
func NewFromConfig(config *baseclient.Config, log *log.PrefixLogger, opts ...HTTPClientOption) (*client.ClientWithResponses, error)
NewFromConfig returns a new Flight Control API client from the given config.
func NormalizeChartRef ¶
NormalizeChartRef ensures a chart reference has the oci:// scheme. If no scheme is present, it assumes OCI and adds the prefix.
func ParseChartRef ¶
ParseChartRef extracts the chart name and version/digest from a chart reference. Supports both tag-based (oci://registry/chart:version) and digest-based (oci://registry/chart@sha256:...) references.
func ParseComposeFromSpec ¶ added in v0.9.0
func ParseComposeFromSpec(contents []v1beta1.ApplicationContent) (*common.ComposeSpec, error)
ParseComposeSpecFromSpec parses a Compose specification from a slice of inline application content, as used in inline application providers.
func ParseComposeSpecFromDir ¶ added in v0.4.0
ParseComposeSpecFromDir reads a compose spec from the given directory and will perform a merge of the base {docker,podman}-compose.yaml and -override.yaml files.
func ParseQuadletReferencesFromDir ¶ added in v1.0.0
func ParseQuadletReferencesFromDir(reader fileio.Reader, dir string) (map[string]*common.QuadletReferences, error)
ParseQuadletReferencesFromDir reads quadlet specs from the given directory. It returns a map where the key is the filename and the value is the parsed QuadletSpec.
func ParseQuadletReferencesFromSpec ¶ added in v1.0.0
func ParseQuadletReferencesFromSpec(contents []v1beta1.ApplicationContent) (map[string]*common.QuadletReferences, error)
ParseQuadletReferencesFromSpec parses Quadlet specifications from a slice of inline application content. Drop-in overrides are applied to ensure that the specs It returns a map where the key is the filename and the value is the parsed QuadletSpec.
func SanitizeChartRef ¶
SanitizeChartRef converts a chart reference into a filesystem-safe directory name.
func SanitizePodmanLabel ¶ added in v0.4.0
SanitizePodmanLabel sanitizes a string to be used as a label in Podman. Podman labels must be lowercase and can only contain alpha numeric characters, hyphens, and underscores. Any other characters are replaced with an underscore.
func SplitChartRef ¶
SplitChartRef splits a chart reference into the chart path and version components. For tag-based references (oci://registry/chart:version), returns (oci://registry/chart, version). For digest-based references (oci://registry/chart@sha256:...), returns (chartRef, "") since the digest must remain part of the URL for helm pull.
func TryReload ¶
func TryReload(m Management) (bool, error)
TryReload is a best-effort helper: if m supports Reloadable it reloads it. It returns (true, err) when Reload was attempted, and (false, nil) otherwise.
func WithResponseHook ¶ added in v0.10.0
WithResponseHook creates a RequestEditorFn that adds a response hook to the request context The hook will be called before retry decisions are made
Types ¶
type ArtifactInspect ¶ added in v1.0.0
type ArtifactInspect struct {
Manifest ArtifactManifest `json:"Manifest"`
Name string `json:"Name"`
Digest string `json:"Digest"`
}
ArtifactInspect represents the structure of artifact inspect output
type ArtifactLayer ¶ added in v1.0.0
type ArtifactManifest ¶ added in v1.0.0
type ArtifactManifest struct {
Layers []ArtifactLayer `json:"layers"`
}
type Bootc ¶ added in v0.4.0
type Bootc interface {
// Status returns the current bootc status.
Status(ctx context.Context) (*container.BootcHost, error)
// Switch targets a new container image reference to boot.
Switch(ctx context.Context, image string) error
// UsrOverlay adds a transient writable overlayfs on `/usr` that will be discarded on reboot.
UsrOverlay(ctx context.Context) error
// Apply restart or reboot into the new target image.
Apply(ctx context.Context) error
}
type CLIClients ¶
type CLIClients interface {
Podman() *Podman
Skopeo() *Skopeo
Kube() *Kube
Helm() *Helm
CRI() *CRI
}
CLIClients provides access to CLI-based clients for container and Kubernetes operations.
func NewCLIClients ¶
func NewCLIClients(opts ...CLIClientsOption) CLIClients
NewCLIClients creates a new CLIClients instance with the provided options.
type CLIClientsOption ¶
type CLIClientsOption func(*cliClients)
CLIClientsOption is a functional option for configuring CLIClients.
func WithCRIClient ¶
func WithCRIClient(cri *CRI) CLIClientsOption
WithCRIClient sets the CRI client.
func WithHelmClient ¶
func WithHelmClient(h *Helm) CLIClientsOption
WithHelmClient sets the Helm client.
func WithKubeClient ¶
func WithKubeClient(k *Kube) CLIClientsOption
WithKubeClient sets the Kubernetes CLI client.
func WithPodmanClient ¶
func WithPodmanClient(p *Podman) CLIClientsOption
WithPodmanClient sets the Podman client.
func WithSkopeoClient ¶
func WithSkopeoClient(s *Skopeo) CLIClientsOption
WithSkopeoClient sets the Skopeo client.
type CRI ¶
type CRI struct {
// contains filtered or unexported fields
}
CRI provides a client for executing crictl CLI commands.
func NewCRI ¶
func NewCRI(log *log.PrefixLogger, exec executer.Executer, readWriter fileio.ReadWriter) *CRI
NewCRI creates a new CRI client for interacting with container runtimes via crictl.
func (*CRI) ImageExists ¶
ImageExists checks if an image exists in the CRI runtime.
func (*CRI) RemoveImage ¶
RemoveImage removes an image using crictl rmi.
type ChartRefType ¶
type ChartRefType int
ChartRefType indicates whether a chart reference uses a tag or digest.
const ( ChartRefTypeTag ChartRefType = iota ChartRefTypeDigest )
type ClientOption ¶ added in v0.4.0
type ClientOption func(*clientOptions)
ClientOption is a functional option for configuring the client.
func Timeout ¶ added in v0.9.0
func Timeout(timeout time.Duration) ClientOption
Timeout sets a custom timeout for the client operation. When defined, this value overrides the default client timeout.
func WithCRIConfig ¶
func WithCRIConfig(path string) ClientOption
WithCRIConfig sets the path to the crictl configuration file. This is used for configuring the CRI runtime endpoint.
func WithPullSecret ¶ added in v0.5.0
func WithPullSecret(path string) ClientOption
WithPullSecret sets the path to the pull secret. If unset uses the default path for the runtime.
func WithRepositoryConfig ¶
func WithRepositoryConfig(path string) ClientOption
WithRepositoryConfig sets the path to the Helm repository configuration file. This is used for authenticating with HTTP-based Helm chart repositories.
type Compose ¶ added in v0.3.0
type Compose struct {
*Podman
}
func (*Compose) UpFromWorkDir ¶ added in v0.3.0
func (p *Compose) UpFromWorkDir(ctx context.Context, workDir, projectName string, noRecreate bool) error
UpFromWorkDir runs `podman compose up -d` from the given workDir using Compose file layering.
It searches for Compose files in the following order:
- One base file (required), chosen from BaseComposeFiles.
- One standard override file (optional), chosen from OverrideComposeFiles.
- An optional flightctl override file (ComposeOverrideFilename) if present.
The method builds the final compose command by layering the discovered files in order. The noRecreate flag, if true, adds `--no-recreate` to prevent recreating existing containers.
type ConfigType ¶
type ConfigType string
ConfigType identifies the type of configuration being resolved.
const ( // ConfigTypeContainerSecret is the configuration type for container registry pull secrets. ConfigTypeContainerSecret ConfigType = "container-secret" // ConfigTypeHelmRegistrySecret is the configuration type for Helm OCI registry secrets. ConfigTypeHelmRegistrySecret ConfigType = "helm-registry-secret" //nolint:gosec // ConfigTypeHelmRepoConfig is the configuration type for Helm repository configuration. ConfigTypeHelmRepoConfig ConfigType = "helm-repo-config" // ConfigTypeCRIConfig is the configuration type for CRI runtime configuration. ConfigTypeCRIConfig ConfigType = "cri-config" )
type Enrollment ¶
type Enrollment interface {
SetRPCMetricsCallback(cb RPCMetricsCallback)
CreateEnrollmentRequest(ctx context.Context, req v1beta1.EnrollmentRequest, cb ...client.RequestEditorFn) (*v1beta1.EnrollmentRequest, error)
GetEnrollmentRequest(ctx context.Context, id string, cb ...client.RequestEditorFn) (*v1beta1.EnrollmentRequest, error)
}
Enrollment is client the interface for managing device enrollment.
func NewEnrollment ¶
func NewEnrollment( client *client.ClientWithResponses, cb RPCMetricsCallback, ) Enrollment
type HTTPClientOption ¶ added in v0.10.0
type HTTPClientOption func(*httpClientOptions)
HTTPClientOption is a functional option for configuring the HTTP client
func WithHTTPRetry ¶ added in v0.10.0
func WithHTTPRetry(config poll.Config) HTTPClientOption
WithHTTPRetry configures custom retry settings for the HTTP client
func WithHeader ¶ added in v1.0.0
func WithHeader(key, value string) HTTPClientOption
WithHeader returns an HTTPClientOption that sets the given HTTP header for outgoing requests.
func WithUserAgent ¶ added in v1.0.0
func WithUserAgent() HTTPClientOption
WithUserAgent returns an HTTPClientOption that sets the User-Agent header for outgoing requests using the flightctl-agent version and runtime information.
type Helm ¶
type Helm struct {
// contains filtered or unexported fields
}
Helm provides a client for executing helm CLI commands.
func NewHelm ¶
func NewHelm(log *log.PrefixLogger, exec executer.Executer, readWriter fileio.ReadWriter, dataDir string) *Helm
NewHelm creates a new Helm client with the specified logger, executor, and data directory.
func (*Helm) DependencyUpdate ¶
DependencyUpdate updates the dependencies for a chart at the specified path.
func (*Helm) DryRun ¶
func (h *Helm) DryRun(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) (string, error)
DryRun performs a helm upgrade --install --dry-run=server to validate the chart against the Kubernetes API server without actually installing it. Returns only the manifest (raw YAML) for compatibility with Template output.
func (*Helm) GetChartPath ¶
GetChartPath returns the local filesystem path for a cached chart.
func (*Helm) Install ¶
func (h *Helm) Install(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) error
Install installs a helm chart as a release with the specified name.
func (*Helm) IsResolved ¶
IsResolved returns true if the chart has been fully resolved (pulled and dependencies updated).
func (*Helm) Pull ¶
Pull downloads a helm chart from a registry to the specified destination directory.
func (*Helm) RemoveChart ¶
RemoveChart removes a cached helm chart by its reference. The chart reference format is: oci://registry/chart:version or registry/chart:version
func (*Helm) Template ¶
func (h *Helm) Template(ctx context.Context, releaseName, chartPath string, opts ...HelmOption) (string, error)
Template renders a helm chart and returns the resulting Kubernetes manifests.
type HelmOption ¶
type HelmOption func(*helmOptions)
HelmOption is a functional option for configuring helm operations.
func WithAtomic ¶
func WithAtomic() HelmOption
WithAtomic enables atomic mode for helm install/upgrade operations.
func WithCreateNamespace ¶
func WithCreateNamespace() HelmOption
WithCreateNamespace enables automatic namespace creation for helm operations.
func WithHelmEnv ¶
func WithHelmEnv(env map[string]string) HelmOption
WithHelmEnv sets custom environment variables for this helm operation.
func WithHelmTimeout ¶
func WithHelmTimeout(timeout time.Duration) HelmOption
WithHelmTimeout sets a custom timeout for helm operations.
func WithIgnoreNotFound ¶
func WithIgnoreNotFound() HelmOption
WithIgnoreNotFound treats "release not found" as a successful uninstall.
func WithInstall ¶
func WithInstall() HelmOption
WithInstall enables the --install flag for helm upgrade operations.
func WithKubeconfig ¶
func WithKubeconfig(path string) HelmOption
WithKubeconfig sets the kubeconfig file path for helm operations.
func WithNamespace ¶
func WithNamespace(namespace string) HelmOption
WithNamespace sets the Kubernetes namespace for helm operations.
func WithPostRenderer ¶
func WithPostRenderer(path string, args ...string) HelmOption
WithPostRenderer sets the post-renderer binary path and arguments. The post-renderer is invoked after Helm renders templates, allowing modification of the manifests before they are applied.
func WithRollbackOnFailure ¶
func WithRollbackOnFailure() HelmOption
WithRollbackOnFailure enables the --rollback-on-failure flag for helm upgrade operations. This is the Helm 4.x replacement for --atomic.
func WithValuesFile ¶
func WithValuesFile(path string) HelmOption
WithValuesFile sets a single values file path for helm operations.
func WithValuesFiles ¶
func WithValuesFiles(paths []string) HelmOption
WithValuesFiles sets multiple values file paths for helm operations.
type HelmVersion ¶
HelmVersion represents a parsed helm CLI version.
func (HelmVersion) GreaterOrEqual ¶
func (v HelmVersion) GreaterOrEqual(major, minor int) bool
GreaterOrEqual returns true if this version is greater than or equal to the specified major.minor version.
type Journalctl ¶ added in v1.0.0
type Journalctl struct {
// contains filtered or unexported fields
}
func NewJournalctl ¶ added in v1.0.0
func NewJournalctl(exec executer.Executer) *Journalctl
func (*Journalctl) Logs ¶ added in v1.0.0
func (j *Journalctl) Logs(ctx context.Context, options ...LogOptions) ([]string, error)
type Kube ¶
type Kube struct {
// contains filtered or unexported fields
}
Kube provides a client for executing kubectl/oc CLI commands.
func NewKube ¶
func NewKube( log *log.PrefixLogger, exec executer.Executer, readWriter fileio.ReadWriter, opts ...KubernetesOption, ) *Kube
NewKube creates a new Kube client. It auto-discovers kubectl or oc if no binary is specified. Use IsAvailable to check if a kubernetes CLI binary was found.
func (*Kube) EnsureNamespace ¶
EnsureNamespace creates a namespace if it doesn't exist and applies any specified labels.
func (*Kube) IsAvailable ¶
IsAvailable returns true if a kubernetes CLI binary (kubectl or oc) is available.
func (*Kube) Kustomize ¶
Kustomize runs kubectl kustomize on the specified directory and returns the output.
func (*Kube) NamespaceExists ¶
func (k *Kube) NamespaceExists(ctx context.Context, namespace string, opts ...KubeOption) (bool, error)
NamespaceExists checks if a namespace exists in the cluster.
func (*Kube) RefreshBinary ¶
RefreshBinary re-runs binary discovery to find kubectl or oc. This is a no-op if a binary is already set. Returns true if a binary is available.
func (*Kube) ResolveKubeconfig ¶
ResolveKubeconfig finds a valid kubeconfig path by checking KUBECONFIG env, microshift path, and the default ~/.kube/config location. KUBECONFIG may contain multiple paths. The first existing path is returned.
func (*Kube) WatchPodsCmd ¶
WatchPodsCmd returns an exec.Cmd configured to watch pod events across all namespaces. Use WithKubeLabels to filter pods by label selector.
type KubeOption ¶
type KubeOption func(*kubeOptions)
KubeOption is a functional option for configuring individual kube operations.
func WithKubeKubeconfig ¶
func WithKubeKubeconfig(path string) KubeOption
WithKubeKubeconfig sets the kubeconfig file path for kube operations.
func WithKubeLabels ¶
func WithKubeLabels(labels []string) KubeOption
WithKubeLabels sets labels to apply during kube operations. Each label should be in the format "key=value".
type KubernetesOption ¶
type KubernetesOption func(*kubernetesOptions)
KubernetesOption is a functional option for configuring the Kube client.
func WithBinary ¶
func WithBinary(binary string) KubernetesOption
WithBinary sets a specific kubectl/oc binary path instead of auto-discovering.
type LogOptions ¶ added in v1.0.0
type LogOptions func(*logOptions)
func WithLogSince ¶ added in v1.0.0
func WithLogSince(t time.Time) LogOptions
func WithLogTag ¶ added in v1.0.0
func WithLogTag(tag string) LogOptions
func WithLogUnit ¶ added in v1.0.0
func WithLogUnit(unit string) LogOptions
type Management ¶
type Management interface {
UpdateDeviceStatus(ctx context.Context, name string, device v1beta1.Device, rcb ...client.RequestEditorFn) error
GetRenderedDevice(ctx context.Context, name string, params *v1beta1.GetRenderedDeviceParams, rcb ...client.RequestEditorFn) (*v1beta1.Device, int, error)
PatchDeviceStatus(ctx context.Context, name string, patch v1beta1.PatchRequest, rcb ...client.RequestEditorFn) error
SetRPCMetricsCallback(cb RPCMetricsCallback)
CreateCertificateSigningRequest(ctx context.Context, csr v1beta1.CertificateSigningRequest, rcb ...client.RequestEditorFn) (*v1beta1.CertificateSigningRequest, int, error)
GetCertificateSigningRequest(ctx context.Context, name string, rcb ...client.RequestEditorFn) (*v1beta1.CertificateSigningRequest, int, error)
}
Management is the client interface for managing devices.
func NewManagement ¶
func NewManagement( client *client.ClientWithResponses, cb RPCMetricsCallback, ) Management
type ManagementDelegate ¶
type ManagementDelegate struct {
// contains filtered or unexported fields
}
ManagementDelegate delegates Management calls to a swappable underlying client.
func NewManagementDelegate ¶
func NewManagementDelegate(factory ManagementFactory) (*ManagementDelegate, error)
NewManagementDelegate creates a Management client wrapper that delegates all calls to an underlying Management instance produced by the given factory.
The delegate allows the underlying client to be atomically replaced at runtime (via Reload), which is useful for scenarios such as client TLS certificate rotation, transport reconfiguration, or full client rebuilds.
Callers should treat the returned Management as long-lived and stable, while the delegate transparently swaps the actual client implementation underneath without requiring re-wiring of consumers.
func (*ManagementDelegate) CreateCertificateSigningRequest ¶
func (d *ManagementDelegate) CreateCertificateSigningRequest( ctx context.Context, csr api.CertificateSigningRequest, rcb ...agentclient.RequestEditorFn, ) (*api.CertificateSigningRequest, int, error)
func (*ManagementDelegate) GetCertificateSigningRequest ¶
func (d *ManagementDelegate) GetCertificateSigningRequest( ctx context.Context, name string, rcb ...agentclient.RequestEditorFn, ) (*api.CertificateSigningRequest, int, error)
func (*ManagementDelegate) GetRenderedDevice ¶
func (d *ManagementDelegate) GetRenderedDevice( ctx context.Context, name string, params *api.GetRenderedDeviceParams, rcb ...agentclient.RequestEditorFn, ) (*api.Device, int, error)
func (*ManagementDelegate) PatchDeviceStatus ¶
func (d *ManagementDelegate) PatchDeviceStatus( ctx context.Context, name string, patch api.PatchRequest, rcb ...agentclient.RequestEditorFn, ) error
func (*ManagementDelegate) Reload ¶
func (d *ManagementDelegate) Reload() error
Reload forces re-creation of the underlying client (e.g., after cert rotation).
func (*ManagementDelegate) SetRPCMetricsCallback ¶
func (d *ManagementDelegate) SetRPCMetricsCallback(cb RPCMetricsCallback)
func (*ManagementDelegate) UpdateDeviceStatus ¶
func (d *ManagementDelegate) UpdateDeviceStatus( ctx context.Context, name string, device api.Device, rcb ...agentclient.RequestEditorFn, ) error
type ManagementFactory ¶
type ManagementFactory func() (Management, error)
ManagementFactory creates a new underlying Management client.
type MockBootc ¶ added in v0.4.0
type MockBootc struct {
// contains filtered or unexported fields
}
MockBootc is a mock of Bootc interface.
func NewMockBootc ¶ added in v0.4.0
func NewMockBootc(ctrl *gomock.Controller) *MockBootc
NewMockBootc creates a new mock instance.
func (*MockBootc) EXPECT ¶ added in v0.4.0
func (m *MockBootc) EXPECT() *MockBootcMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockBootcMockRecorder ¶ added in v0.4.0
type MockBootcMockRecorder struct {
// contains filtered or unexported fields
}
MockBootcMockRecorder is the mock recorder for MockBootc.
func (*MockBootcMockRecorder) Apply ¶ added in v0.4.0
func (mr *MockBootcMockRecorder) Apply(ctx any) *gomock.Call
Apply indicates an expected call of Apply.
func (*MockBootcMockRecorder) Status ¶ added in v0.4.0
func (mr *MockBootcMockRecorder) Status(ctx any) *gomock.Call
Status indicates an expected call of Status.
func (*MockBootcMockRecorder) Switch ¶ added in v0.4.0
func (mr *MockBootcMockRecorder) Switch(ctx, image any) *gomock.Call
Switch indicates an expected call of Switch.
func (*MockBootcMockRecorder) UsrOverlay ¶ added in v0.4.0
func (mr *MockBootcMockRecorder) UsrOverlay(ctx any) *gomock.Call
UsrOverlay indicates an expected call of UsrOverlay.
type MockEnrollment ¶
type MockEnrollment struct {
// contains filtered or unexported fields
}
MockEnrollment is a mock of Enrollment interface.
func NewMockEnrollment ¶
func NewMockEnrollment(ctrl *gomock.Controller) *MockEnrollment
NewMockEnrollment creates a new mock instance.
func (*MockEnrollment) CreateEnrollmentRequest ¶
func (m *MockEnrollment) CreateEnrollmentRequest(ctx context.Context, req v1beta1.EnrollmentRequest, cb ...client.RequestEditorFn) (*v1beta1.EnrollmentRequest, error)
CreateEnrollmentRequest mocks base method.
func (*MockEnrollment) EXPECT ¶
func (m *MockEnrollment) EXPECT() *MockEnrollmentMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockEnrollment) GetEnrollmentRequest ¶
func (m *MockEnrollment) GetEnrollmentRequest(ctx context.Context, id string, cb ...client.RequestEditorFn) (*v1beta1.EnrollmentRequest, error)
GetEnrollmentRequest mocks base method.
func (*MockEnrollment) SetRPCMetricsCallback ¶
func (m *MockEnrollment) SetRPCMetricsCallback(cb RPCMetricsCallback)
SetRPCMetricsCallback mocks base method.
type MockEnrollmentMockRecorder ¶
type MockEnrollmentMockRecorder struct {
// contains filtered or unexported fields
}
MockEnrollmentMockRecorder is the mock recorder for MockEnrollment.
func (*MockEnrollmentMockRecorder) CreateEnrollmentRequest ¶
func (mr *MockEnrollmentMockRecorder) CreateEnrollmentRequest(ctx, req any, cb ...any) *gomock.Call
CreateEnrollmentRequest indicates an expected call of CreateEnrollmentRequest.
func (*MockEnrollmentMockRecorder) GetEnrollmentRequest ¶
func (mr *MockEnrollmentMockRecorder) GetEnrollmentRequest(ctx, id any, cb ...any) *gomock.Call
GetEnrollmentRequest indicates an expected call of GetEnrollmentRequest.
func (*MockEnrollmentMockRecorder) SetRPCMetricsCallback ¶
func (mr *MockEnrollmentMockRecorder) SetRPCMetricsCallback(cb any) *gomock.Call
SetRPCMetricsCallback indicates an expected call of SetRPCMetricsCallback.
type MockManagement ¶
type MockManagement struct {
// contains filtered or unexported fields
}
MockManagement is a mock of Management interface.
func NewMockManagement ¶
func NewMockManagement(ctrl *gomock.Controller) *MockManagement
NewMockManagement creates a new mock instance.
func (*MockManagement) CreateCertificateSigningRequest ¶ added in v0.10.0
func (m *MockManagement) CreateCertificateSigningRequest(ctx context.Context, csr v1beta1.CertificateSigningRequest, rcb ...client.RequestEditorFn) (*v1beta1.CertificateSigningRequest, int, error)
CreateCertificateSigningRequest mocks base method.
func (*MockManagement) EXPECT ¶
func (m *MockManagement) EXPECT() *MockManagementMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockManagement) GetCertificateSigningRequest ¶ added in v0.10.0
func (m *MockManagement) GetCertificateSigningRequest(ctx context.Context, name string, rcb ...client.RequestEditorFn) (*v1beta1.CertificateSigningRequest, int, error)
GetCertificateSigningRequest mocks base method.
func (*MockManagement) GetRenderedDevice ¶ added in v0.5.0
func (m *MockManagement) GetRenderedDevice(ctx context.Context, name string, params *v1beta1.GetRenderedDeviceParams, rcb ...client.RequestEditorFn) (*v1beta1.Device, int, error)
GetRenderedDevice mocks base method.
func (*MockManagement) PatchDeviceStatus ¶ added in v0.6.0
func (m *MockManagement) PatchDeviceStatus(ctx context.Context, name string, patch v1beta1.PatchRequest, rcb ...client.RequestEditorFn) error
PatchDeviceStatus mocks base method.
func (*MockManagement) SetRPCMetricsCallback ¶ added in v0.9.0
func (m *MockManagement) SetRPCMetricsCallback(cb RPCMetricsCallback)
SetRPCMetricsCallback mocks base method.
func (*MockManagement) UpdateDeviceStatus ¶
func (m *MockManagement) UpdateDeviceStatus(ctx context.Context, name string, device v1beta1.Device, rcb ...client.RequestEditorFn) error
UpdateDeviceStatus mocks base method.
type MockManagementMockRecorder ¶
type MockManagementMockRecorder struct {
// contains filtered or unexported fields
}
MockManagementMockRecorder is the mock recorder for MockManagement.
func (*MockManagementMockRecorder) CreateCertificateSigningRequest ¶ added in v0.10.0
func (mr *MockManagementMockRecorder) CreateCertificateSigningRequest(ctx, csr any, rcb ...any) *gomock.Call
CreateCertificateSigningRequest indicates an expected call of CreateCertificateSigningRequest.
func (*MockManagementMockRecorder) GetCertificateSigningRequest ¶ added in v0.10.0
func (mr *MockManagementMockRecorder) GetCertificateSigningRequest(ctx, name any, rcb ...any) *gomock.Call
GetCertificateSigningRequest indicates an expected call of GetCertificateSigningRequest.
func (*MockManagementMockRecorder) GetRenderedDevice ¶ added in v0.5.0
func (mr *MockManagementMockRecorder) GetRenderedDevice(ctx, name, params any, rcb ...any) *gomock.Call
GetRenderedDevice indicates an expected call of GetRenderedDevice.
func (*MockManagementMockRecorder) PatchDeviceStatus ¶ added in v0.6.0
func (mr *MockManagementMockRecorder) PatchDeviceStatus(ctx, name, patch any, rcb ...any) *gomock.Call
PatchDeviceStatus indicates an expected call of PatchDeviceStatus.
func (*MockManagementMockRecorder) SetRPCMetricsCallback ¶ added in v0.9.0
func (mr *MockManagementMockRecorder) SetRPCMetricsCallback(cb any) *gomock.Call
SetRPCMetricsCallback indicates an expected call of SetRPCMetricsCallback.
func (*MockManagementMockRecorder) UpdateDeviceStatus ¶
func (mr *MockManagementMockRecorder) UpdateDeviceStatus(ctx, name, device any, rcb ...any) *gomock.Call
UpdateDeviceStatus indicates an expected call of UpdateDeviceStatus.
type MockPullConfigProvider ¶
type MockPullConfigProvider struct {
// contains filtered or unexported fields
}
MockPullConfigProvider is a mock of PullConfigProvider interface.
func NewMockPullConfigProvider ¶
func NewMockPullConfigProvider(ctrl *gomock.Controller) *MockPullConfigProvider
NewMockPullConfigProvider creates a new mock instance.
func (*MockPullConfigProvider) Cleanup ¶
func (m *MockPullConfigProvider) Cleanup()
Cleanup mocks base method.
func (*MockPullConfigProvider) EXPECT ¶
func (m *MockPullConfigProvider) EXPECT() *MockPullConfigProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockPullConfigProvider) Get ¶
func (m *MockPullConfigProvider) Get(configType ConfigType) *PullConfig
Get mocks base method.
type MockPullConfigProviderMockRecorder ¶
type MockPullConfigProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockPullConfigProviderMockRecorder is the mock recorder for MockPullConfigProvider.
func (*MockPullConfigProviderMockRecorder) Cleanup ¶
func (mr *MockPullConfigProviderMockRecorder) Cleanup() *gomock.Call
Cleanup indicates an expected call of Cleanup.
type OCIDescriptor ¶ added in v1.0.0
type OCIDescriptor struct {
MediaType string `json:"mediaType"`
Digest string `json:"digest"`
Size int64 `json:"size"`
}
OCIDescriptor represents a content descriptor in an OCI manifest
type OCIManifest ¶ added in v1.0.0
type OCIManifest struct {
MediaType string `json:"mediaType"`
ArtifactType string `json:"artifactType,omitempty"`
Config *OCIDescriptor `json:"config,omitempty"`
Manifests json.RawMessage `json:"manifests,omitempty"`
}
OCIManifest represents the minimal OCI manifest structure needed for type detection
type Podman ¶ added in v0.3.0
type Podman struct {
// contains filtered or unexported fields
}
func NewPodman ¶ added in v0.3.0
func NewPodman(log *log.PrefixLogger, exec executer.Executer, readWriter fileio.ReadWriter, backoff poll.Config) *Podman
func (*Podman) ArtifactDigest ¶ added in v1.0.0
ArtifactDigest returns the digest of the specified artifact.
func (*Podman) ArtifactExists ¶ added in v0.9.0
ArtifactExists returns true if the artifact exists in storage otherwise false.
func (*Podman) CopyContainerData ¶ added in v0.6.0
func (*Podman) CreateVolume ¶ added in v0.8.1
func (*Podman) EnsureArtifactSupport ¶ added in v1.0.0
EnsureArtifactSupport verifies the local podman version can execute artifact commands.
func (*Podman) EventsSinceCmd ¶ added in v0.3.0
EventsSinceCmd returns a command to get podman events since the given time. After creating the command, it should be started with exec.Start(). When the events are in sync with the current time a sync event is emitted.
func (*Podman) ExtractArtifact ¶ added in v0.8.1
ExtractArtifact to the given destination, which should be an already existing directory if the artifact contains multiple layers, otherwise podman will extract a single layer in the artifact to the destination path directly as a file.
See https://github.com/opencontainers/image-spec/blob/main/manifest.md#guidelines-for-artifact-usage for details on the expected structure of artifacts. Regular images are considered artifacts by podman due to the intentional looseness of the spec.
func (*Podman) GetImageCopyTmpDir ¶ added in v0.9.0
GetImageCopyTmpDir returns the image copy tmp dir exposed by the podman info API.
func (*Podman) ImageDigest ¶ added in v1.0.0
ImageDigest returns the digest of the specified image. Returns empty string and error if the image does not exist or cannot be inspected.
func (*Podman) ImageExists ¶ added in v0.3.0
func (*Podman) Inspect ¶ added in v0.3.0
Inspect returns the JSON output of the image inspection. The expectation is that the image exists in local container storage.
func (*Podman) InspectArtifactAnnotations ¶ added in v1.0.0
func (p *Podman) InspectArtifactAnnotations(ctx context.Context, reference string) (map[string]string, error)
InspectArtifactAnnotations inspects an OCI artifact and returns its annotations map.
func (*Podman) InspectLabels ¶ added in v0.3.0
func (*Podman) InspectVolumeDriver ¶ added in v1.0.0
func (*Podman) InspectVolumeMount ¶ added in v0.8.1
func (*Podman) ListArtifacts ¶
ListArtifacts returns a list of all OCI artifacts stored on the device.
func (*Podman) ListImages ¶
ListImages returns a list of all container images stored on the device. Returns image references in the format "repository:tag" or image ID for untagged images.
func (*Podman) ListNetworks ¶ added in v0.3.0
func (*Podman) ListVolumes ¶ added in v1.0.0
func (*Podman) Pull ¶ added in v0.3.0
Pull pulls an image from the registry with optional retry and authentication via a pull secret. Logs progress periodically while the operation is in progress.
func (*Podman) PullArtifact ¶ added in v0.8.1
func (p *Podman) PullArtifact(ctx context.Context, artifact string, opts ...ClientOption) (string, error)
PullArtifact pulls an artifact from the registry with optional retry and authentication via a pull secret. Logs progress periodically while the operation is in progress.
func (*Podman) RemoveArtifact ¶
RemoveArtifact removes the specified OCI artifact from Podman. Returns an error if the removal fails. Handles non-existent artifacts gracefully.
func (*Podman) RemoveContainer ¶ added in v0.3.0
func (*Podman) RemoveImage ¶
RemoveImage removes the specified container image from Podman. Returns an error if the removal fails. Handles non-existent images gracefully.
func (*Podman) RemoveNetworks ¶ added in v0.3.0
func (*Podman) RemovePods ¶ added in v1.0.0
func (*Podman) RemoveVolumes ¶ added in v0.3.0
func (*Podman) StopContainers ¶ added in v0.3.0
type PodmanContainerConfig ¶ added in v0.6.0
type PodmanContainerState ¶ added in v0.6.0
type PodmanContainerState struct {
OciVersion string `json:"OciVersion"`
Status string `json:"Status"`
Running bool `json:"Running"`
Paused bool `json:"Paused"`
Restarting bool `json:"Restarting"`
OOMKilled bool `json:"OOMKilled"`
Dead bool `json:"Dead"`
Pid int `json:"Pid"`
ExitCode int `json:"ExitCode"`
Error string `json:"Error"`
StartedAt string `json:"StartedAt"`
FinishedAt string `json:"FinishedAt"`
Healthcheck string `json:"Healthcheck"`
}
ContainerState represents the container state part of the podman inspect output
type PodmanEvent ¶ added in v0.6.0
type PodmanEvent struct {
ContainerExitCode int `json:"ContainerExitCode,omitempty"`
ID string `json:"ID"`
Image string `json:"Image"`
Name string `json:"Name"`
Status string `json:"Status"`
Type string `json:"Type"`
TimeNano int64 `json:"timeNano"`
Attributes map[string]string `json:"Attributes"`
}
PodmanEvent represents the structure of a podman event as produced via a CLI events command. It should be noted that the CLI represents events differently from libpod. (notably the time properties) https://github.com/containers/podman/blob/main/cmd/podman/system/events.go#L81-L96
type PodmanFactory ¶
PodmanFactory creates a podman client. A blank username means to use the process user.
func NewPodmanFactory ¶
func NewPodmanFactory(log *log.PrefixLogger, backoff poll.Config, rwFactory fileio.ReadWriterFactory) PodmanFactory
type PodmanInspect ¶ added in v0.6.0
type PodmanInspect struct {
Restarts int `json:"RestartCount"`
State PodmanContainerState `json:"State"`
Config PodmanContainerConfig `json:"Config"`
}
PodmanInspect represents the overall structure of podman inspect output
type PodmanVersion ¶ added in v0.8.1
func (PodmanVersion) GreaterOrEqual ¶ added in v0.8.1
func (v PodmanVersion) GreaterOrEqual(major, minor int) bool
type PullConfig ¶
type PullConfig struct {
// Path is the absolute path to the configuration file.
Path string
// Cleanup removes temporary files created for inline configurations.
Cleanup func()
}
PullConfig holds the path to a configuration file and a cleanup function for temporary files.
func ResolvePullConfig ¶
func ResolvePullConfig( log *log.PrefixLogger, rw fileio.ReadWriter, desired *v1beta1.DeviceSpec, configPath string, ) (*PullConfig, bool, error)
ResolvePullConfig returns the pull config path, preferring inline spec then falling back to on disk. Cleanup removes tmp files generated from inline spec if found and is otherwise a no-op.
type PullConfigProvider ¶
type PullConfigProvider interface {
// Get returns the PullConfig for the specified type, or nil if not available.
Get(configType ConfigType) *PullConfig
// Cleanup releases resources for all configurations.
Cleanup()
}
PullConfigProvider provides access to configuration files by type.
func NewPullConfigProvider ¶
func NewPullConfigProvider(configs map[ConfigType]*PullConfig) PullConfigProvider
NewPullConfigProvider creates a new PullConfigProvider with the given configurations.
type RPCMetricsCallback ¶ added in v0.9.0
RPCMetricsCallback defines the signature for RPC metrics callback functions.
type RPMOSTree ¶ added in v0.4.0
type RPMOSTree struct {
// contains filtered or unexported fields
}
func NewRPMOSTree ¶ added in v0.4.0
NewRPMOSTree creates a new rpm-ostree client.
func (*RPMOSTree) RemoveRollback ¶ added in v0.4.0
func (*RPMOSTree) RemoveStaged ¶ added in v0.4.0
type Reloadable ¶
type Reloadable interface {
Reload() error
}
Reloadable is an optional interface that callers can use to force recreating the underlying client (e.g., after rotating client TLS certs).
type ResponseHook ¶ added in v0.10.0
ResponseHook is called before retry decision is made Return true to continue with retry logic, false to stop retrying
type RetryTransport ¶ added in v0.10.0
type RetryTransport struct {
// contains filtered or unexported fields
}
func NewRetryTransport ¶ added in v0.10.0
func NewRetryTransport(transport http.RoundTripper, log *log.PrefixLogger, pollConfig poll.Config) *RetryTransport
type Skopeo ¶ added in v1.0.0
type Skopeo struct {
// contains filtered or unexported fields
}
func NewSkopeo ¶ added in v1.0.0
func NewSkopeo(log *log.PrefixLogger, exec executer.Executer, readWriter fileio.ReadWriter) *Skopeo
func (*Skopeo) InspectManifest ¶ added in v1.0.0
func (s *Skopeo) InspectManifest(ctx context.Context, image string, opts ...ClientOption) (*OCIManifest, error)
InspectManifest inspects an OCI image or artifact and returns the deserialized manifest. This is used to determine if a reference is an image or an artifact.
type SkopeoFactory ¶
SkopeoFactory creates a skopeo client. A blank username means to use the process user.
func NewSkopeoFactory ¶
func NewSkopeoFactory(log *log.PrefixLogger, rwFactory fileio.ReadWriterFactory) SkopeoFactory
type SystemDUnitListEntry ¶ added in v1.0.0
type Systemd ¶
type Systemd struct {
// contains filtered or unexported fields
}
func NewSystemd ¶
func NewUserSystemd ¶
NewUserSystemd creates an systemd client that will use the user instance of systemd instead of the system-wide instance. The user is determined by the executer -- whichever user it executes commands under by default.
func (*Systemd) ListDependencies ¶ added in v1.0.0
ListDependencies returns the list of units that the specified unit depends on. Uses `systemctl list-dependencies --plain` to get a flat list of dependencies.
func (*Systemd) ListJobs ¶ added in v0.10.0
func (s *Systemd) ListJobs(ctx context.Context) ([]SystemdJob, error)
ListJobs lists current systemd jobs in progress This is more reliable than is-active for detecting pending shutdown/reboot
func (*Systemd) ListUnitsByMatchPattern ¶ added in v0.4.0
func (*Systemd) ResetFailed ¶ added in v1.0.0
func (*Systemd) SdNotify ¶
SdNotify sends notification messages to systemd via the NOTIFY_SOCKET. The socket path is captured when NewSystemd is called, before bootstrap unsets it.
func (*Systemd) ShowByMatchPattern ¶ added in v1.0.0
type SystemdJob ¶ added in v0.10.0
SystemdJob represents a systemd job from list-jobs
type SystemdShowOptions ¶ added in v1.0.0
type SystemdShowOptions func(*systemdShowOpts)
func WithShowLoadState ¶ added in v1.0.0
func WithShowLoadState() SystemdShowOptions
func WithShowRestarts ¶ added in v1.0.0
func WithShowRestarts() SystemdShowOptions