options

package
v1.12.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2026 License: Apache-2.0, Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToContext

func ToContext(ctx context.Context, opts *Options) context.Context

Types

type Options

type Options struct {
	ClusterName                    string  `json:"clusterName,omitempty"`
	ClusterEndpoint                string  `json:"clusterEndpoint,omitempty"` // => APIServerName in bootstrap, except needs to be w/o https/port
	VMMemoryOverheadPercent        float64 `json:"vmMemoryOverheadPercent,omitempty"`
	ClusterID                      string  `json:"clusterId,omitempty"`
	KubeletClientTLSBootstrapToken string  `json:"-"` // => TLSBootstrapToken in bootstrap (may need to be per node/nodepool)
	LinuxAdminUsername             string  `json:"-"`
	SSHPublicKey                   string  `json:"-"` // ssh.publicKeys.keyData => VM SSH public key // TODO: move to v1beta1.AKSNodeClass?

	NetworkPlugin     string `json:"networkPlugin,omitempty"`     // => NetworkPlugin in bootstrap
	NetworkPolicy     string `json:"networkPolicy,omitempty"`     // => NetworkPolicy in bootstrap
	NetworkPluginMode string `json:"networkPluginMode,omitempty"` // => Network Plugin Mode is used to control the mode the network plugin should operate in. For example, "overlay" used with --network-plugin=azure will use an overlay network (non-VNET IPs) for pods in the cluster. Learn more about overlay networking here: https://learn.microsoft.com/en-us/azure/aks/azure-cni-overlay?tabs=kubectl#overview-of-overlay-networking
	NetworkDataplane  string `json:"networkDataplane,omitempty"`
	DNSServiceIP      string `json:"dnsServiceIP,omitempty"`

	NodeIdentities          []string `json:"nodeIdentities,omitempty"`          // => Applied onto each VM
	KubeletIdentityClientID string   `json:"kubeletIdentityClientID,omitempty"` // => Flows to bootstrap and used in drift
	VnetGUID                string   `json:"vnetGuid,omitempty"`                // resource guid used by azure cni for identifying the right vnet
	SubnetID                string   `json:"subnetId,omitempty"`                // => VnetSubnetID to use (for nodes in Azure CNI Overlay and Azure CNI + pod subnet; for for nodes and pods in Azure CNI), unless overridden via AKSNodeClass

	ProvisionMode              string            `json:"provisionMode,omitempty"`
	NodeBootstrappingServerURL string            `json:"-"`
	UseSIG                     bool              `json:"useSIG,omitempty"` // => UseSIG is true if Karpenter is managed by AKS, false if it is a self-hosted karpenter installation
	SIGAccessTokenServerURL    string            `json:"-"`                // => SIGAccessTokenServerURL used to access SIG, not set if it is a self-hosted karpenter installation
	SIGSubscriptionID          string            `json:"sigSubscriptionId,omitempty"`
	NodeResourceGroup          string            `json:"nodeResourceGroup,omitempty"`
	AdditionalTags             map[string]string `json:"additionalTags,omitempty"`
	EnableAzureSDKLogging      bool              `json:"enableAzureSDKLogging,omitempty"` // Controls whether Azure SDK middleware logging is enabled
	DiskEncryptionSetID        string            `json:"diskEncryptionSetId,omitempty"`

	// If set to true, existing AKS machines created with an AKS Machine API provision mode will be managed even with other provision modes. This option does not have any effect if PROVISION_MODE is already an AKS Machine API mode, as it will behave as if this option is set to true.
	ManageExistingAKSMachines bool `json:"manageExistingAKSMachines,omitempty"`

	AKSMachinesPoolName string `json:"aksMachinesPoolName,omitempty"` // The name of the agent pool for the AKS machine API, assuming that all machines belong to the same agent pool. Only used on AKS machine API provision modes.
	BatchIdleTimeoutMS  int    `json:"batchIdleTimeoutMS,omitempty"`  // Idle timeout in milliseconds for batch accumulation (default 1000ms). Only used on provision mode aksmachineapiheaderbatch.
	BatchMaxTimeoutMS   int    `json:"batchMaxTimeoutMS,omitempty"`   // Maximum timeout in milliseconds for batch accumulation (default 5000ms). Only used on provision mode aksmachineapiheaderbatch.
	MaxBatchSize        int    `json:"maxBatchSize,omitempty"`        // Maximum number of machines per batch (default 50, AKS API limit). Only used on provision mode aksmachineapiheaderbatch.

	// computed options; do not set.
	ParsedDiskEncryptionSetID *arm.ResourceID `json:"-"`
	// contains filtered or unexported fields
}

func FromContext

func FromContext(ctx context.Context) *Options

func (*Options) AddFlags

func (o *Options) AddFlags(fs *coreoptions.FlagSet)

func (*Options) GetAPIServerName

func (o *Options) GetAPIServerName() string

func (*Options) IsAKSMachineAPIMode added in v1.12.0

func (o *Options) IsAKSMachineAPIMode() bool

IsAKSMachineAPIMode returns true if the current provision mode creates instances via the AKS Machine API.

func (*Options) IsAzureCNIOverlay added in v1.6.6

func (o *Options) IsAzureCNIOverlay() bool

func (*Options) IsCiliumNodeSubnet added in v1.6.6

func (o *Options) IsCiliumNodeSubnet() bool

func (*Options) IsNetworkPluginNone added in v1.6.6

func (o *Options) IsNetworkPluginNone() bool

func (*Options) Parse

func (o *Options) Parse(fs *coreoptions.FlagSet, args ...string) error

func (*Options) String added in v1.5.0

func (o *Options) String() string

func (*Options) ToContext

func (o *Options) ToContext(ctx context.Context) context.Context

func (*Options) Validate

func (o *Options) Validate() error

Jump to

Keyboard shortcuts

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