github.com/cilium/cilium@v1.16.2/operator/cmd/provider_azure_flags.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Cilium
     3  
     4  //go:build ipam_provider_azure
     5  
     6  package cmd
     7  
     8  import (
     9  	"github.com/spf13/cobra"
    10  	"github.com/spf13/viper"
    11  
    12  	operatorOption "github.com/cilium/cilium/operator/option"
    13  	"github.com/cilium/cilium/pkg/option"
    14  )
    15  
    16  func init() {
    17  	FlagsHooks = append(FlagsHooks, &azureFlagsHooks{})
    18  }
    19  
    20  type azureFlagsHooks struct{}
    21  
    22  func (hook *azureFlagsHooks) RegisterProviderFlag(cmd *cobra.Command, vp *viper.Viper) {
    23  	flags := cmd.Flags()
    24  
    25  	flags.String(operatorOption.AzureSubscriptionID, "", "Subscription ID to access Azure API")
    26  	option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureSubscriptionID, "AZURE_SUBSCRIPTION_ID")
    27  
    28  	flags.String(operatorOption.AzureResourceGroup, "", "Resource group to use for Azure IPAM")
    29  	option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureResourceGroup, "AZURE_RESOURCE_GROUP")
    30  
    31  	flags.String(operatorOption.AzureUserAssignedIdentityID, "", "ID of the user assigned identity used to auth with the Azure API")
    32  	option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureUserAssignedIdentityID, "AZURE_USER_ASSIGNED_IDENTITY_ID")
    33  
    34  	flags.Bool(operatorOption.AzureUsePrimaryAddress, false, "Use Azure IP address from interface's primary IPConfigurations")
    35  	option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureUsePrimaryAddress, "AZURE_USE_PRIMARY_ADDRESS")
    36  
    37  	vp.BindPFlags(flags)
    38  }