options

package
v1.7.0-batching-test.load Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2026 License: Apache-2.0, Apache-2.0 Imports: 21 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 PROVISION_MODE=aksmachineapi will be managed even with other provision modes. This option does not have any effect if PROVISION_MODE=aksmachineapi, 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 mode.
	BatchCreationEnabled bool   `json:"batchCreationEnabled,omitempty"` // If set to true, enables batch creation for AKS Machine API to optimize scaling performance. Only used on AKS machine API provision mode.
	BatchIdleTimeoutMS   int    `json:"batchIdleTimeoutMS,omitempty"`   // Idle timeout in milliseconds for batch accumulation (default 1000ms). Only used when batch creation is enabled.
	BatchMaxTimeoutMS    int    `json:"batchMaxTimeoutMS,omitempty"`    // Maximum timeout in milliseconds for batch accumulation (default 5000ms). Only used when batch creation is enabled.
	MaxBatchSize         int    `json:"maxBatchSize,omitempty"`         // Maximum number of machines per batch (default 50, AKS API limit). Only used when batch creation is enabled.
	// 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) 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