install

package
v0.0.0-...-c46dd35 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package install provides configuration and utilities for the CNI plugin installer. The cni-install binary is an init container that copies the Aether CNI plugin binary and configuration files to the host filesystem before the main agent starts.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Installer

type Installer struct {
	// contains filtered or unexported fields
}

func NewInstaller

func NewInstaller(logger logr.Logger, cfg *InstallerConfig) *Installer

NewInstaller returns an instance of Installer with the given config

func (*Installer) Run

func (in *Installer) Run(ctx context.Context) error

type InstallerConfig

type InstallerConfig struct {
	// Debug enables debug-level logging
	Debug bool
	// MountedCNINetDir is the location of the CNI config directory in the container
	// (typically the mount point for the host's /etc/cni/net.d)
	MountedCNINetDir string
	// CNIConfName is the name of the CNI network configuration file (e.g., "aether.conflist")
	CNIConfName string
	// CNIBinSourceDir is the directory inside the container where the CNI plugin binary is located
	// (typically /app/bin or similar)
	CNIBinSourceDir string
	// CNIBinTargetDir is the directory on the host where the CNI plugin binary should be copied
	// (typically /opt/cni/bin)
	CNIBinTargetDir string
	// OTLPEndpoint, when set, is written into the generated netconf so the CNI
	// plugin binary pushes traces and metrics to this OTLP gRPC collector.
	// Empty leaves plugin telemetry disabled.
	OTLPEndpoint string
	// CaptureRedirectAllDefault writes capture_redirect_all_default into the netconf
	// so the CNI plugin makes redirect-all the default for managed pods (proposal
	// 022, M2-default Step 4), opt-out via the capture.aether.io/redirect-all="false"
	// annotation. Off by default.
	CaptureRedirectAllDefault bool
	// MeshDNSEnabled writes mesh_dns_enabled into the netconf so the CNI plugin
	// installs the per-pod :53 DNAT (proposal 018, mesh-global FQDN). Off by default.
	MeshDNSEnabled bool
	// HostIP is the node IP (downward-API HOST_IP) written into the netconf as the
	// mesh-DNS DNAT target (the agent's host-local resolver).
	HostIP string
}

InstallerConfig holds configuration for the CNI plugin installer. It specifies where to find the plugin binary and config files in the container, and where to install them on the host filesystem.

func NewInstallerConfig

func NewInstallerConfig() *InstallerConfig

NewInstallerConfig creates a new InstallerConfig with default values. The defaults use standard Kubernetes CNI directory paths and the package constants.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL