• NeonSDK
  • NeonKUBE
Search Results for

    Show / Hide Table of Contents
    • Neon.Kube
      • ClusterContainerImage
      • ClusterDefinitionException
      • ClusterDeploymentStatus
      • ClusterDetails
      • ClusterHealth
      • ClusterHost
      • ClusterInfo
      • ClusterLock
      • ClusterManifest
      • ClusterNodeState
      • ClusterNodeTelemetry
      • ClusterSetupFailureMetadata
      • ClusterState
      • ClusterTelemetry
      • GrpcLogExporter
      • GrpcTraceExporter
      • HostingReadinessException
      • KubeClientConfig
      • KubeClientPlatform
      • KubeClusterAdvice
      • KubeConfigMapName
      • KubeConst
      • KubeDiagnostics
      • KubeDownloads
      • KubeEnv
      • KubeHelper
      • KubeImageType
      • KubeMinioBucket
      • KubeNamespace
      • KubeNodeFolder
      • KubeNodePort
      • KubePort
      • KubeSecretName
      • KubeService
      • KubeServiceAdvice
      • KubeSetupProperty
      • KubeSetupState
      • KubeVersions
      • NeonAnnotation
      • NeonKubeException
      • NeonLabel
      • NeonNodeTaskType
      • NodeImageInfo
      • PriorityClass
      • PriorityClass.PriorityDef
      • PrometheusClient
      • PrometheusMatrixResult
      • PrometheusMatrixValue
      • PrometheusResponseData<T>
      • PrometheusResponseStatus
      • PrometheusResponse<T>
      • PrometheusResult
      • PrometheusResultType
      • PrometheusTimeSeriesValue
      • PrometheusTimeSeriesValueConverter
      • PrometheusVectorResult
      • PrometheusVectorValue
      • TypedConfigMap<TConfigMapData>
      • TypedSecret<TSecretData>
      • VersionException
    • Neon.Kube.BuildInfo
      • ThisAssembly
      • ThisAssembly.Git
      • ThisAssembly.Git.BaseVersion
      • ThisAssembly.Git.SemVer
    • Neon.Kube.Clients
      • AzureComputePlan
      • AzureImageDetails
      • AzureImageReference
      • HeadendClient
      • HeadendClient.__Cluster
      • HeadendClient.__ClusterSetup
      • HeadendClient.__NeonDesktop
    • Neon.Kube.ClusterDef
      • AcmeOptions
      • AddressRule
      • AddressRuleAction
      • ApiServerOptions
      • AwsHelper
      • AwsHostingOptions
      • AwsNetworkOptions
      • AwsNodeOptions
      • AwsVolumeType
      • AzureCloudEnvironment
      • AzureCloudEnvironments
      • AzureHelper
      • AzureHostingOptions
      • AzureNetworkOptions
      • AzureNodeOptions
      • AzureStorageType
      • BareMetalHostingOptions
      • CloudOptions
      • ClusterDefinition
      • ClusterPurpose
      • ContainerOptions
      • DeploymentOptions
      • FeatureOptions
      • FeatureOptions.HarborOptions
      • GoogleHostingOptions
      • HealthCheckOptions
      • HostingEnvironment
      • HostingOptions
      • HyperVHostingOptions
      • HypervisorHost
      • HypervisorHostingOptions
      • HypervisorNodeOptions
      • IngressProtocol
      • IngressRule
      • JobOptions
      • JobSchedule
      • KubernetesOptions
      • LogOptions
      • MetricsOptions
      • MetricsStorageOptions
      • MinioOptions
      • MonitorOptions
      • NetworkCni
      • NetworkOptions
      • NodeDefinition
      • NodeLabels
      • NodeOptions
      • NodeRole
      • OpenEbsEngine
      • OpenEbsOptions
      • Registry
      • ResourceTag
      • SecurityOptions
      • StorageOptions
      • TraceOptions
      • XenServerHostingOptions
    • Neon.Kube.ClusterMetadata
      • ClusterLockState
      • ClusterLockStatus
    • Neon.Kube.Config
      • ClusterLoginExport
      • KubeClusterInfo
      • KubeConfig
      • KubeConfigAuthProvider
      • KubeConfigCluster
      • KubeConfigClusterConfig
      • KubeConfigContext
      • KubeConfigContextConfig
      • KubeConfigEnvironmentVariable
      • KubeConfigExecConfig
      • KubeConfigExecInteractiveMode
      • KubeConfigPreferences
      • KubeConfigUser
      • KubeConfigUserConfig
      • KubeContextName
      • KubeFileDetails
      • KubeSshKey
      • NeonKubeExtensions
    • Neon.Kube.Deployment
      • ClusterDeployment
      • NodeDeployment
    • Neon.Kube.DesktopService
      • DesktopService
      • GrpcDesktopService
    • Neon.Kube.Glauth
      • GlauthGroup
      • GlauthUser
      • GlauthUserCapability
    • Neon.Kube.GrpcProto
      • GrpcError
      • GrpcErrorExtensions
      • GrpcServiceException
      • NeonGrpcServices
    • Neon.Kube.GrpcProto.Desktop
      • DesktopConverters
      • GrpGetVmDrivesReply
      • GrpcAddVmDriveRequest
      • GrpcAddVmRequest
      • GrpcBaseReply
      • GrpcCompactDriveRequest
      • GrpcEjectVmDvdRequest
      • GrpcFindIPAddressReply
      • GrpcFindIPAddressRequest
      • GrpcFindNatByNameRequest
      • GrpcFindNatBySubnetRequest
      • GrpcFindNatReply
      • GrpcGetSwitchReply
      • GrpcGetSwitchRequest
      • GrpcGetVmDrivesRequest
      • GrpcGetVmNetworkAdaptersReply
      • GrpcGetVmNetworkAdaptersRequest
      • GrpcGetVmReply
      • GrpcGetVmRequest
      • GrpcGetWindowsOptionalFeaturesReply
      • GrpcGetWindowsOptionalFeaturesRequest
      • GrpcInsertVmDvdRequest
      • GrpcIsNestedVirtualizationReply
      • GrpcIsNestedVirtualizationRequest
      • GrpcListLocalHostsSectionsReply
      • GrpcListLocalHostsSectionsRequest
      • GrpcListNatsReply
      • GrpcListNatsRequest
      • GrpcListSwitchesReply
      • GrpcListSwitchesRequest
      • GrpcListVmsReply
      • GrpcListVmsRequest
      • GrpcLocalHostSection
      • GrpcNewExternalSwitchRequest
      • GrpcNewInternalSwitchRequest
      • GrpcRelayLogBatchReply
      • GrpcRelayLogBatchRequest
      • GrpcRelayTraceBatchReply
      • GrpcRelayTraceBatchRequest
      • GrpcRemoveSwitchRequest
      • GrpcRemoveVmRequest
      • GrpcSaveVmRequest
      • GrpcStartVmRequest
      • GrpcStopVmRequest
      • GrpcVirtualDrive
      • GrpcVirtualIPAddress
      • GrpcVirtualMachine
      • GrpcVirtualMachineNetworkAdapter
      • GrpcVirtualNat
      • GrpcVirtualSwitch
      • GrpcVmExistsReply
      • GrpcVmExistsRequest
      • IGrpcDesktopService
    • Neon.Kube.Hosting
      • HostedNodeInfo
      • HostingCapabilities
      • HostingConstrainedResourceType
      • HostingLoader
      • HostingManager
      • HostingManagerFactory
      • HostingProviderAttribute
      • HostingReadiness
      • HostingReadinessProblem
      • HostingResourceAvailability
      • HostingResourceConstraint
      • IHostingLoader
      • IHostingManager
      • IHostingManagerFactory
      • StopMode
    • Neon.Kube.Hosting.Aws
      • AwsHostingManager
    • Neon.Kube.Hosting.Azure
      • AzureHostingManager
    • Neon.Kube.Hosting.BareMetal
      • BareMetalHostingManager
    • Neon.Kube.Hosting.Google
      • GoogleHostingManager
    • Neon.Kube.Hosting.HyperV
      • HyperVHostingManager
    • Neon.Kube.Hosting.XenServer
      • XenServerHostingManager
      • XenServerHostingManager.DiskTemplateInfo
    • Neon.Kube.K8s
      • KubernetesExtensions
      • KubernetesObjectMetadata
      • KubernetesRetryHandler
      • LeaderElectionConfig
      • LeaderElector
      • V1CustomObjectList<T>
      • WatchEvent<T>
      • Watcher<T>
    • Neon.Kube.Models
      • AzureComputePlan
      • AzureImageDetails
      • AzureImageReference
    • Neon.Kube.Models.Headend
      • IClusterApi
      • IClusterSetupApi
      • INeonDesktopApi
      • Stub
    • Neon.Kube.Oauth2Proxy
      • Oauth2ProxyConfig
      • Oauth2ProxyHeader
      • Oauth2ProxyHeaderValue
      • Oauth2ProxyLoginUrlParameterRule
      • Oauth2ProxyLoginUrlParameters
      • Oauth2ProxyOidcOptions
      • Oauth2ProxyProvider
      • Oauth2ProxyProviderType
      • Oauth2ProxySecretSource
      • Oauth2ProxyServer
      • Oauth2ProxyTls
      • Oauth2ProxyUpstream
      • Oauth2ProxyUpstreamConfig
    • Neon.Kube.PortForward
      • IPortForwardManager
      • PortForwardManager
    • Neon.Kube.Proxy
      • ClusterProxy
      • ClusterProxy.Operation
      • ClusterResetOptions
      • NodeProxyCreator
    • Neon.Kube.Resources
      • CustomResourceException
      • ResourceHelper
    • Neon.Kube.Resources.Calico
      • V1FelixConfiguration
    • Neon.Kube.Resources.CertManager
      • AcmeChallengeSolver
      • AcmeChallengeSolverDns01
      • AcmeExternalAccountBinding
      • AcmeIssuer
      • AcmeIssuerDns01ProviderRoute53
      • AcmeIssuerDns01ProviderWebhook
      • AcmeSecretKeySelector
      • CertificateDnsNameSelector
      • ChallengeAction
      • ChallengePayload
      • ChallengeRequest
      • ChallengeResponse
      • ClusterIssuer
      • IssuerRef
      • JKS
      • KeyAlgorithm
      • KeyEncoding
      • Keystores
      • PKCS12
      • PasswordSecretRef
      • PrivateKey
      • RotationPolicy
      • Subject
      • V1Certificate
      • V1CertificateRequest
      • V1CertificateSpec
      • V1CertificateStatus
      • V1IssuerSpec
      • X509Usages
    • Neon.Kube.Resources.Cluster
      • TestStatus
      • V1CrioConfiguration
      • V1CrioConfiguration.CrioConfigurationSpec
      • V1NeonClusterJobs
      • V1NeonClusterJobs.JobSchedule
      • V1NeonClusterJobs.JobStatus
      • V1NeonClusterJobs.NeonClusterJobsSpec
      • V1NeonClusterJobs.NeonClusterJobsStatus
      • V1NeonContainerRegistry
      • V1NeonContainerRegistry.RegistrySpec
      • V1NeonDashboard
      • V1NeonDashboard.NeonDashboardSpec
      • V1NeonNodeTask
      • V1NeonNodeTask.Phase
      • V1NeonNodeTask.TaskSpec
      • V1NeonNodeTask.TaskStatus
      • V1NeonSsoCallbackUrl
      • V1NeonSsoClient
      • V1NeonSsoConnector
      • V1NeonTestObject
      • V1SsoCallbackUrlSpec
      • V1SsoCallbackUrlStatus
      • V1SsoClientSpec
      • V1SsoClientStatus
      • V1TestSpec
    • Neon.Kube.Resources.Dex
      • DexConfig
      • DexConnector
      • DexConnectorConverter
      • DexConnectorType
      • DexConnector<T>
      • DexExpiryConfig
      • DexFrontendConfig
      • DexGrpcConfig
      • DexLdapConfig
      • DexLdapSearch
      • DexLogConfig
      • DexOauth2Config
      • DexOidcClaimMapping
      • DexOidcConfig
      • DexRefreshTokenConfig
      • DexStaticUser
      • DexStorage
      • DexStorageType
      • DexTelemetryConfig
      • DexUserMatcher
      • DexWebConfig
      • IDexConnectorConfig
      • IDexConnector<T>
      • IV1DexConnector
      • Oauth2ResponseType
    • Neon.Kube.Resources.ExternalDns
      • DnsEndpoint
      • DnsRecordType
      • ExternalDnsEndpoint
      • V1DnsEndpointSpec
    • Neon.Kube.Resources.Grafana
      • V1Grafana
      • V1GrafanaDashboard
      • V1GrafanaDashboardSpec
      • V1GrafanaDatasource
    • Neon.Kube.Resources.Harbor
      • V1HarborCluster
      • V1HarborConfiguration
      • V1HarborNotaryServer
      • V1HarborNotarySigner
    • Neon.Kube.Resources.Istio
      • Abort
      • AuthorizationPolicyAction
      • AuthorizationPolicyOperation
      • AuthorizationPolicyRule
      • AuthorizationPolicyRule.From
      • AuthorizationPolicyRule.To
      • AuthorizationPolicySource
      • ClientTLSSettings
      • CorsPolicy
      • Delay
      • Delegate
      • Destination
      • ExtensionProvider
      • HTTPFaultInjection
      • HTTPMatchRequest
      • HTTPMethod
      • HTTPRedirect
      • HTTPRetry
      • HTTPRewrite
      • HTTPRoute
      • HTTPRouteDestination
      • HeaderOperations
      • Headers
      • L4MatchAttributes
      • Location
      • Percent
      • Port
      • PortProtocol
      • PortSelector
      • Resolution
      • RouteDestination
      • Server
      • ServerTLSSettings
      • ServiceEntry
      • StringMatch
      • TCPRoute
      • TLSMatchAttributes
      • TLSMode
      • TLSProtocol
      • TLSRoute
      • Tracing
      • TracingProvider
      • TrafficPolicy
      • UInt32Value
      • V1AuthorizationPolicy
      • V1AuthorizationPolicySpec
      • V1DestinationRule
      • V1DestinationRuleSpec
      • V1Gateway
      • V1GatewaySpec
      • V1ServiceEntrySpec
      • V1Telemetry
      • V1TelemetrySpec
      • V1VirtualService
      • V1VirtualServiceSpec
      • WorkloadEntry
      • WorkloadSelector
    • Neon.Kube.Resources.JsonConverters
      • DexConnectorJsonConverter
      • JsonCollectionItemConverter<TDatatype, TConverterType>
      • JsonV1ResourceConverter
    • Neon.Kube.Resources.Kiali
      • V1Kiali
    • Neon.Kube.Resources.Minio
      • BucketQuota
      • RetentionMode
      • RetentionSpec
      • V1MinioBucket
      • V1MinioBucket.V1MinioBucketSpec
      • V1MinioBucket.V1MinioBucketStatus
      • V1MinioTenant
      • VersioningMode
    • Neon.Kube.Resources.OpenEBS
      • BlockDeviceCapacity
      • BlockDeviceDetails
      • BlockDeviceDevLink
      • BlockDeviceType
      • DataRaidGroupTypes
      • DevLinkType
      • DriveType
      • FileSystemInfo
      • V1CStorBlockDevice
      • V1CStorBlockDeviceList
      • V1CStorBlockDeviceRef
      • V1CStorBlockDeviceSpec
      • V1CStorDataRaidGroup
      • V1CStorPoolCluster
      • V1CStorPoolClusterList
      • V1CStorPoolClusterSpec
      • V1CStorPoolConfig
      • V1CStorPoolSpec
    • Neon.Kube.Resources.Prometheus
      • Endpoint
      • NamespaceSelector
      • V1ServiceMonitor
      • V1ServiceMonitorSpec
    • Neon.Kube.SSH
      • INodeSshProxy
      • NodeSshProxyExtensions
      • NodeSshProxy<TMetadata>
    • Neon.Kube.Setup
      • DesktopServiceProxy
      • ISetupController
      • ISetupControllerStep
      • KubeSetup
      • NodeLog
      • PrepareClusterOptions
      • SetupClusterOptions
      • SetupClusterStatus
      • SetupConsoleWriter
      • SetupController<NodeMetadata>
      • SetupDisposition
      • SetupNodeStatus
      • SetupProgressDelegate
      • SetupProgressMessage
      • SetupStatusChangedDelegate
      • SetupStepDetails
      • SetupStepState
      • SetupStepStatus
    • Neon.Kube.Xunit
      • AwsClusterDefinitions
      • AzureClusterDefinitions
      • ClusterFactAttribute
      • ClusterFixture
      • ClusterFixtureOptions
      • ClusterTheoryAttribute
      • HyperVClusterDefinitions
      • KubeTestHelper
      • KubeTestManager
      • XenServerClustersDefinitions

    Class KubeHelper

    cluster related utilties.

    Inheritance
    object
    KubeHelper
    Namespace: Neon.Kube
    Assembly: Neon.Kube.dll
    Syntax
    public static class KubeHelper

    Fields

    CurlOptions

    CURL command common options.

    Declaration
    public const string CurlOptions = "-4fsSL --retry 10 --retry-delay 30 --max-redirs 10"
    Field Value
    Type Description
    string

    VmImageFolderName

    The name of the user's cluster virtual machine image cache folder.

    Declaration
    public const string VmImageFolderName = "images"
    Field Value
    Type Description
    string

    Properties

    CacheFolder

    Returns the path the folder containing cached files for various environments.

    Declaration
    public static string CacheFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    ClientConfig

    Accesses the NEONDESKTOP client configuration.

    Declaration
    public static KubeClientConfig ClientConfig { get; set; }
    Property Value
    Type Description
    KubeClientConfig

    ClientId

    Returns a unique ID for the client installation. This used for identifying the client for logs and traces so we can correlate problems specific users are seeing.

    note

    This is persisted to: ~/.neonkube/desktop/client-id

    Declaration
    public static Guid ClientId { get; }
    Property Value
    Type Description
    Guid

    CurrentCluster

    Returns the current KubeConfigCluster specified by the CurrentContext from the KubeContext or null when no context is selected or the named cluster does not exist.

    Declaration
    public static KubeConfigCluster CurrentCluster { get; }
    Property Value
    Type Description
    KubeConfigCluster

    CurrentContext

    Returns the current KubeConfigContext from the KubeContext or null when no context is selected.

    Declaration
    public static KubeConfigContext CurrentContext { get; }
    Property Value
    Type Description
    KubeConfigContext

    CurrentContextName

    Returns the current context's CurrentContextName or null if there's no current context.

    Declaration
    public static KubeContextName CurrentContextName { get; }
    Property Value
    Type Description
    KubeContextName

    CurrentUser

    Returns the current KubeConfigUser specified by the CurrentContext from the KubeContext or null when no context is selected or the named user does not exist.

    Declaration
    public static KubeConfigUser CurrentUser { get; }
    Property Value
    Type Description
    KubeConfigUser

    DesktopCommonFolder

    Returns the path to the global NEONDESKTOP program data folder. This is used for information to be shared across all users as well as between the user programs and the neon-desktop-service.

    note

    All users will have read/write access to files in this folder.

    Declaration
    public static string DesktopCommonFolder { get; }
    Property Value
    Type Description
    string

    DesktopFolder

    Returns the path to the NEONDESKTOP state folder.

    Declaration
    public static string DesktopFolder { get; }
    Property Value
    Type Description
    string

    DesktopHypervFolder

    Returns path to the NEONDESKTOP Hyper-V state folder.

    Declaration
    public static string DesktopHypervFolder { get; }
    Property Value
    Type Description
    string

    DesktopLogFolder

    Returns path to the NEONDESKTOP log folder.

    Declaration
    public static string DesktopLogFolder { get; }
    Property Value
    Type Description
    string

    DevelopmentFolder

    Returns the path the folder used by NEONKUBE development tools, creating the folder if it doesn't already exist.

    Declaration
    public static string DevelopmentFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    HostPlatform

    Returns the KubeClientPlatform for the current workstation.

    Declaration
    public static KubeClientPlatform HostPlatform { get; }
    Property Value
    Type Description
    KubeClientPlatform

    InstallFolder

    Returns the path to the neon installation folder. This is where the either neon-cli or neon-desktop are installed. This is used to determine where tools like pwsh and ssh-keygen are located.

    Declaration
    public static string InstallFolder { get; }
    Property Value
    Type Description
    string
    Remarks

    One of neon-cli or neon-desktop are allowed to be installed on a user's workstation and the NEON_INSTALL_FOLDER environment variable will be set during installation to point to the program installation folder.

    This folder will be structured like for a neon-cli onlyinstallation:

    C:\Program Files\NEONFORGE\neon-cli\
        .                       # neon-cli binaries
        neon-desktop-service    # neon-desktop-service binaries
        ssh\                    # SSH related tools

    and this for neon-desktop (which includes neon-cli):

    C:\Program Files\NEONFORGE\neon-desktop\
        .                       # neon-desktop and neon-cli binaries
        neon-desktop-service    # neon-desktop-service binaries
        ssh\                    # SSH related tools

    IsRelease

    Returns true if the current assembly was built from the production PROD source code branch.

    Declaration
    public static bool IsRelease { get; }
    Property Value
    Type Description
    bool

    KubeConfig

    Returns the user's current KubeConfig.

    Declaration
    public static KubeConfig KubeConfig { get; }
    Property Value
    Type Description
    KubeConfig

    KubeConfigPath

    Returns the path to the Kubernetes configuration file.

    Declaration
    public static string KubeConfigPath { get; }
    Property Value
    Type Description
    string

    LogDetailsFolder

    Returns the default directory path where neon-cli cluster details will be written.

    Declaration
    public static string LogDetailsFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    LogFolder

    Returns the default directory path where neon-cli logs will be written.

    Declaration
    public static string LogFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    NeonCliPath

    Locates the most recent neon-cli executable. Note that this returns the path to our version of kubectl rather than the neon-cli executable that implements our customized subcommands.

    Declaration
    public static string NeonCliPath { get; }
    Property Value
    Type Description
    string

    The path to the executable.

    Remarks

    This method is intended to work well on normal user machines where the neonKUBE/neonCLOUD sources and build environments are not configured as well as for maintainers that need to execute most recent executable to test/debug recent changes.

    If either of neon-cli or neon-desktop is installed on the workstation (determined by the presence of the NEON_INSTALL_FOLDER environment variable), we'll return the path to the executable from the installation folder. When those are not installed, we'll return $(NC_ROOT)/Build/neon-cli/neon.exe.

    A FileNotFoundException will be thrown we couldn't locate the executable.

    Exceptions
    Type Condition
    FileNotFoundException

    Thrown when no executable was found.

    NeonKubeUserFolder

    Returns the path the folder holding the user specific cluster logins and other files.

    Declaration
    public static string NeonKubeUserFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    NodeContainerImagesFolder

    Returns the path the folder used by NEONKUBE development tools to cache the packed container image files used to prepare NEONKUBE node images, creating the folder if it doesn't already exist.

    note

    The path returned will always be within the user's original HOME folder. This does not honor custom HOME folders set via SetUserHomeFolder(string). We do this because we use this folder to cache these images so we don't need to rebuild them multiple times for a release.

    Declaration
    public static string NodeContainerImagesFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    OpenSshConfig

    Returns the OpenSSH configuration file used for cluster nodes.

    Declaration
    public static string OpenSshConfig { get; }
    Property Value
    Type Description
    string

    PasswordsFolder

    Returns path to the folder holding the encryption passwords.

    Declaration
    public static string PasswordsFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    Resources

    Returns the IStaticDirectory for the assembly's resources.

    Declaration
    public static IStaticDirectory Resources { get; }
    Property Value
    Type Description
    IStaticDirectory

    RunFolder

    Returns the directory path where the [neon run CMD ...] will copy secrets and run the command.

    Declaration
    public static string RunFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    SetupFolder

    Returns the path the folder containing the temporary setup state files, creating the folder if it doesn't already exist.

    Declaration
    public static string SetupFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    Remarks

    This folder holds KubeSetupState for clusters in the process of being prepared and setup. Files will be named like CLUSTER-NAME.json

    StandardNeonKubeFolder

    Returns the path to the current user's .neonkube folder.

    Declaration
    public static string StandardNeonKubeFolder { get; }
    Property Value
    Type Description
    string

    TelemetryTags

    Returns the tags to be included in all logs and root activity traces.

    Declaration
    public static IEnumerable<KeyValuePair<string, object>> TelemetryTags { get; }
    Property Value
    Type Description
    IEnumerable<KeyValuePair<string, object>>

    TempFolder

    Returns the path the user specific NEONKUBE temporary folder, creating the folder if it doesn't already exist.

    Declaration
    public static string TempFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    Remarks

    This folder will exist on developer/operator workstations that have used the neon-cli to deploy and manage clusters.

    ToolsFolder

    Returns the path the folder used for holding Kubernetes related tools when running neon-cli as a developer, creating the folder if it doesn't already exist.

    Declaration
    public static string ToolsFolder { get; }
    Property Value
    Type Description
    string

    The folder path.

    UserSshFolder

    Returns the path to the .ssh folder within user's home folder.

    Declaration
    public static string UserSshFolder { get; }
    Property Value
    Type Description
    string

    VmImageFolder

    Returns the path to the current user's cluster virtual machine image cache folder, creating the directory if it doesn't already exist.

    Declaration
    public static string VmImageFolder { get; set; }
    Property Value
    Type Description
    string

    The path to the cluster setup folder.

    Remarks

    In very special situations, you may use this to set a custom cache folder.

    WinDesktopServiceSocketPath

    k

    Returns the path to the Windows Desktop Service Unix domain socket.

    note

    The Neon Windows Desktop Service runs in the background for all users so the socket will be located within the Windows program data folder.

    Declaration
    public static string WinDesktopServiceSocketPath { get; }
    Property Value
    Type Description
    string

    Methods

    CheckName(string)

    Determines whether a name is a valid Kubernetes name.

    • contain no more than 253 characters
    • contain only lowercase alphanumeric characters, '-' or '.'
    • start with an alphanumeric character
    • end with an alphanumeric character
    Declaration
    public static void CheckName(string name)
    Parameters
    Type Name Description
    string name

    The name to check.

    Exceptions
    Type Condition
    ArgumentNullException

    Thrown for null or empty names.

    FormatException

    Thrown for invalid names.

    CreateIsoFile(string, string, string)

    Packages files within a folder into an ISO file.

    note

    This requires Powershell to be installed and this will favor using the version of Powershell installed along with the neon-cli, if present.

    Declaration
    public static void CreateIsoFile(string sourceFolder, string isoPath, string label = null)
    Parameters
    Type Name Description
    string sourceFolder

    Path to the input folder.

    string isoPath

    Path to the output ISO file.

    string label

    Optionally specifies a volume label.

    Exceptions
    Type Condition
    ExecuteException

    Thrown if the operation failed.

    CreateKubeObject<T>(string)

    Constructs an initialized Kubernetes object of a specific type.

    Declaration
    public static T CreateKubeObject<T>(string name) where T : IKubernetesObject, IMetadata<V1ObjectMeta>, new()
    Parameters
    Type Name Description
    string name

    Specifies the object name.

    Returns
    Type Description
    T

    The new T.

    Type Parameters
    Name Description
    T

    The Kubernetes object type.

    Remarks

    Unfortunately, the default constructors for objects like V1ConfigMap do not initialize the ApiVersion and Kind and properties even though these values will be the same for all instances of each object type. (I assume that Microsoft doesn't do this as an optimization that avoids initializing these properties and then doing that again when deserializing responses from the API server.

    This method constructs the request object and then configures its ApiVersion and Kind properties by reflecting T and using the constant KubeGroup, KubeApiVersion and KubeKind values. This is very convenient but will be somwehat slower than setting these values explicitly but is probably worth the cost in most situations because Kubernetes objects are typically read much more often than being created.

    note

    This method requires that T define string KubeGroup KubeApiVersion and KubeKind constants that return the correct values for the type.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown when T does not define define string KubeGroup, KubeApiVersion and KubeKind constants.

    CreateKubernetesClient(string, string)

    Creates a IKubernetes client from a kubeconfig file.

    Declaration
    public static IKubernetes CreateKubernetesClient(string kubeConfigPath = null, string currentContext = null)
    Parameters
    Type Name Description
    string kubeConfigPath

    Optionally specifies the path to the kubecontext file.

    string currentContext

    Optionally specifies the name of the context to use.

    Returns
    Type Description
    IKubernetes

    The IKubernetes.

    Remarks

    This method just returns a client for the current context in the standard location when kubeConfigPath isn't passed, otherwise it will load the kubeconfig from that path and return a client for the current context or the specific context identified by currentContext.

    CreateNeonInitIso(ClusterDefinition, NodeDefinition, int, string)

    Creates an ISO file containing the neon-init.sh script that will be used for confguring the node on first boot. This includes disabling the APT package update services, optionally setting a secure password for the sysadmin account, and configuring the network interface with a static IP address.

    This override has obtains network settings from a ClusterDefinition and NodeDefinition.

    Declaration
    public static TempFile CreateNeonInitIso(ClusterDefinition clusterDefinition, NodeDefinition nodeDefinition, int nodeMtu = 0, string newPassword = null)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition

    The cluster definition.

    NodeDefinition nodeDefinition

    The node definition.

    int nodeMtu

    Optionally specifies the MTU to be configured for the node's network interface. Pass 0 to configure DefaultMTU or a value between 512-9000.

    string newPassword

    Optionally specifies the new SSH password to be configured on the node.

    Returns
    Type Description
    TempFile

    A TempFile that references the generated ISO file.

    Remarks

    The hosting manager will call this for each node being prepared and then insert the ISO into the node VM's DVD/CD drive before booting the node for the first time. The neon-init service configured on the corresponding node templates will look for this DVD and script and execute it early during the node boot process.

    The ISO file reference is returned as a TempFile. The caller should call Dispose() when it's done with the file to ensure that it is deleted.

    CreateNeonInitIso(string, string, string, IEnumerable<string>, int, string)

    Creates an ISO file containing the neon-init.sh script that will be used for confguring the node on first boot. This includes disabling the APT package update services, optionally setting a secure password for the sysadmin account, and configuring the network interface with a static IP address.

    This override has explict parameters for configuring the network.

    Declaration
    public static TempFile CreateNeonInitIso(string address, string subnet, string gateway, IEnumerable<string> nameServers, int nodeMtu = 0, string newPassword = null)
    Parameters
    Type Name Description
    string address

    The IP address to be assigned the the VM.

    string subnet

    The network subnet to be configured.

    string gateway

    The network gateway to be configured.

    IEnumerable<string> nameServers

    The nameserver addresses to be configured.

    int nodeMtu

    Optionally specifies the MTU to be configured for the node's network interface. Pass 0 to configure DefaultMTU or a value between 512-9000.

    string newPassword

    Optionally specifies the new SSH password to be configured on the node.

    Returns
    Type Description
    TempFile

    A TempFile that references the generated ISO file.

    Remarks

    The hosting manager will call this for each node being prepared and then insert the ISO into the node VM's DVD/CD drive before booting the node for the first time. The neon-init service configured on the corresponding node templates will look for this DVD and script and execute it early during the node boot process.

    The ISO file reference is returned as a TempFile. The caller should call Dispose() when it's done with the file to ensure that it is deleted.

    CreateSelfSigned(string, int, int, Wildcard, string, string, string)

    Generates a self-signed certificate for arbitrary hostnames, possibly including hostnames with wildcards.

    Declaration
    public static X509Certificate2 CreateSelfSigned(string hostname, int bitCount = 2048, int validDays = 365000, Wildcard wildcard = Wildcard.None, string issuedBy = null, string issuedTo = null, string friendlyName = null)
    Parameters
    Type Name Description
    string hostname

    The certificate host names.

    note

    You can use include a "*" to specify a wildcard certificate like: *.test.com.

    int bitCount

    The certificate key size in bits: one of 1024, 2048, or 4096 (defaults to 2048).

    int validDays

    The number of days the certificate will be valid. This defaults to 365,000 days or about 1,000 years.

    Wildcard wildcard

    Optionally generate a wildcard certificate for the subdomains of hostname or the combination of the subdomains and the hostname. This defaults to None which does not generate a wildcard certificate.

    string issuedBy

    Optionally specifies the issuer.

    string issuedTo

    Optionally specifies who/what the certificate is issued for.

    string friendlyName

    Optionally specifies the certificate's friendly name.

    Returns
    Type Description
    X509Certificate2

    The new X509Certificate2.

    DownloadNodeImageAsync(string, string, DownloadProgressDelegate, bool, CancellationToken)

    Downloads a multi-part node image to a local folder.

    Declaration
    public static Task<string> DownloadNodeImageAsync(string imageUri, string imagePath, DownloadProgressDelegate progressAction = null, bool strictCheck = true, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    string imageUri

    The node image multi-part download information URI.

    string imagePath

    The local path where the image will be written.

    DownloadProgressDelegate progressAction

    Optional progress action that will be called with operation percent complete.

    bool strictCheck

    Optionally used to disable a slow but more comprehensive check of any existing file. When this is disabled and the download file already exists along with its MD5 hash file, the method will assume that the existing file matches when the file size is the same as specified in the manifest and manifest overall MD5 matches the local MD5 file.

    Otherwise when strictCheck is true, this method will need to compute the MD5 hashes for the existing file parts and compare those to the part MD5 hashes in the manifest, which can take quite a while for large files.

    This defaults to true.

    CancellationToken cancellationToken

    Optional cancellation token.

    Returns
    Type Description
    Task<string>

    The path to the downloaded file.

    Remarks

    This checks to see if the target file already exists and will download only what's required to update the file to match the source. This means that partially completed downloads can restart essentially where they left off.

    Exceptions
    Type Condition
    SocketException

    Thrown for network errors.

    HttpException

    Thrown for HTTP network errors.

    OperationCanceledException

    Thrown when the operation was cancelled.

    EditNeonKubeVersion(SemanticVersion)

    Edits the $/NEONKUBE/Lib/Neon.Kube/KubeVersions.cs source file by setting the NeonKube constant to the version passed.

    Declaration
    public static bool EditNeonKubeVersion(SemanticVersion version)
    Parameters
    Type Name Description
    SemanticVersion version

    The new version number.

    Returns
    Type Description
    bool

    true if the version constant value was changed, false when the constant was already set to this version.

    EnsureIngressNodes(ClusterDefinition)

    Ensures that at least one cluster node is enabled for cluster ingress network traffic.

    note

    It is possible for the user to have set Ingress to false for all nodes. We're going to pick a reasonable set of nodes in this case. I there are 3 or more workers, then only the workers will receive traffic, otherwise all nodes will receive traffic.

    Declaration
    public static void EnsureIngressNodes(ClusterDefinition clusterDefinition)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition

    The cluster definition.

    GenerateClusterId()

    Generates a unique cluster ID.

    Declaration
    public static string GenerateClusterId()
    Returns
    Type Description
    string

    The generated cluster ID.

    GenerateSshKey(string, string)

    Creates a SSH key for a NEONKUBE cluster.

    Declaration
    public static KubeSshKey GenerateSshKey(string clusterName, string userName = "root")
    Parameters
    Type Name Description
    string clusterName

    The cluster name.

    string userName

    Optionally specifies the user name (defaults to root).

    Returns
    Type Description
    KubeSshKey

    A KubeSshKey holding the public and private parts of the key.

    GetBuiltinDesktopSshKey()

    Returns the fixed SSH key shared by all NEONDESKTOP clusters.

    note

    This isn't really a security issue because NEONDESKTOP clusters are not reachable from outside the machine they're deployed on and also because the NEONDESKTOP cluster is not intended to host production workloads.

    Declaration
    public static KubeSshKey GetBuiltinDesktopSshKey()
    Returns
    Type Description
    KubeSshKey

    The KubeSshKey.

    GetCachedComponentPath(KubeClientPlatform, string, string)

    Returns the path to the cached file for a specific named component with optional version.

    Declaration
    public static string GetCachedComponentPath(KubeClientPlatform platform, string component, string version)
    Parameters
    Type Name Description
    KubeClientPlatform platform

    Identifies the platform.

    string component

    The component name.

    string version

    The component version (or null).

    Returns
    Type Description
    string

    The component file path.

    GetClusterHealthAsync(KubeConfigContext, CancellationToken)

    Determines the health of a cluster by querying the API server.

    Declaration
    public static Task<ClusterHealth> GetClusterHealthAsync(KubeConfigContext context, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    KubeConfigContext context

    The cluster context.

    CancellationToken cancellationToken

    Optionally specifies the cancellation token.

    Returns
    Type Description
    Task<ClusterHealth>

    A ClusterHealth instance.

    GetClusterLdapUserAsync(IKubernetes, string)

    Returns the credentials for a specific cluster user from the Glauth LDAP secret.

    Declaration
    public static Task<GlauthUser> GetClusterLdapUserAsync(IKubernetes k8s, string username)
    Parameters
    Type Name Description
    IKubernetes k8s

    The Kubernetes client.

    string username

    The desired username.

    Returns
    Type Description
    Task<GlauthUser>

    The GlauthUser requested user credentials.

    Exceptions
    Type Condition
    KeyNotFoundException

    Thrown when the user doesn't exist.

    GetCurrentNamespaceAsync()

    Gets the current namespace from within a pod.

    Declaration
    public static Task<string> GetCurrentNamespaceAsync()
    Returns
    Type Description
    Task<string>

    The current namespacee.

    GetEmulatedPodName(string)

    Generates a unique(ish) pod name for application instances that are actually running outside of the cluster, typically for testing purposes. This is based on the deployment name passed and a small UUID.

    Declaration
    public static string GetEmulatedPodName(string deployment)
    Parameters
    Type Name Description
    string deployment
    Returns
    Type Description
    string

    The emulated pod name.

    GetHelmPath(string, bool)

    Returns the path to the a tool binary to be used by neon-cli.

    Declaration
    public static string GetHelmPath(string installFolder, bool userToolsFolder = false)
    Parameters
    Type Name Description
    string installFolder

    Path to the tool installation folder.

    bool userToolsFolder

    Optionally specifies that instead of downloading missing tool binaries to installFolder, the method will download the file to ToolsFolder.

    Returns
    Type Description
    string

    The fully qualified tool path.

    Remarks

    If the installFolder folder and the binary exist then we'll simply return the tool path when userToolsFolder=true and verify that tool version is correct when userToolsFolder=false.

    If the installFolder or binary does not exist, then the user is probably a developer running an uninstalled version of the tool, perhaps in the debugger. In this case, we're going to download the binaries to installFolder by default or to ToolsFolder when userToolsFolder=true.

    Exceptions
    Type Condition
    FileNotFoundException

    Thrown when the tool cannot be located.

    GetKubernetesClient(KubeConfig)

    Creates a IKubernetes client for the current cluster specified by a KubeConfig.

    Declaration
    public static IKubernetes GetKubernetesClient(KubeConfig config)
    Parameters
    Type Name Description
    KubeConfig config

    The source kubeconfig.

    Returns
    Type Description
    IKubernetes

    The IKubernetes.

    GetNeonKubeVersion()

    Returns the NeonKube constant value extracted from the $/NEONKUBE/Lib/Neon.Kube/KubeVersions.cs source file. Note that the NK_ROOT environment variable must reference the root of the NEONKUBE git repository.

    Declaration
    public static SemanticVersion GetNeonKubeVersion()
    Returns
    Type Description
    SemanticVersion

    The NeonKube version.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown if the NK_ROOT environment variable does not exist or the git repo is invalid, the source file doesn't exist or the NeonKube constant could not be located.

    GetOpenSshPrepareSubConfig(bool)

    Returns the contexts of the OpenSSH sub-config file to deployed during as node images are created or when the cluster nodes are provisioned to /etc/ssh/sshd_config.d/20-neonkube.conf to customize OpenSSH.

    Declaration
    public static string GetOpenSshPrepareSubConfig(bool allowPasswordAuth)
    Parameters
    Type Name Description
    bool allowPasswordAuth

    Enable password authentication.

    Returns
    Type Description
    string

    GetPlatformCacheFolder(KubeClientPlatform)

    Returns the path to the folder containing cached files for the specified platform.

    Declaration
    public static string GetPlatformCacheFolder(KubeClientPlatform platform)
    Parameters
    Type Name Description
    KubeClientPlatform platform

    Identifies the platform.

    Returns
    Type Description
    string

    The folder path.

    GetToolPath(string, string, Func<string, bool>, Func<string>, bool)

    Returns the path to the a tool binary to be used by neon-cli.

    Declaration
    public static string GetToolPath(string installFolder, string toolName, Func<string, bool> toolChecker, Func<string> toolUriRetriever, bool userToolsFolder = false)
    Parameters
    Type Name Description
    string installFolder

    Path to the tool installation folder.

    string toolName

    The requested tool name, currently helm is supported.

    Func<string, bool> toolChecker

    Callback taking the the tool path as a parameter and returning true when the tool version matches what's required.

    Func<string> toolUriRetriever

    Callback that returns the URI to be used to download the tool.

    bool userToolsFolder

    Optionally specifies that instead of downloading missing tool binaries to installFolder, the method will download the file to ToolsFolder.

    Returns
    Type Description
    string

    The fully qualified tool path.

    Remarks

    If the installFolder folder and the binary exist then we'll simply return the tool path when userToolsFolder=true and verify that tool version is correct when userToolsFolder=false.

    If the installFolder or binary does not exist, then the user is probably a developer running an uninstalled version of the tool, perhaps in the debugger. In this case, we're going to download the binaries to installFolder by default or to ToolsFolder when userToolsFolder=true.

    Exceptions
    Type Condition
    FileNotFoundException

    Thrown when the tool cannot be located.

    InitializeJson()

    Used to initialize KubernetesJson.

    Declaration
    public static void InitializeJson()

    InstallKubeCtl()

    Ensures that kubectl tool whose version is at least as great as the Kubernetes cluster version is installed to the NEONKUBE programs folder by copying the tool from the cache if necessary.

    note

    This will probably require elevated privileges.

    note

    This assumes that kubectl has already been downloaded and cached and also that more recent kubectl releases are backwards compatible with older deployed versions of Kubernetes.

    Declaration
    public static void InstallKubeCtl()

    InstallWorkstationHelm()

    Ensures that helm client installed on the workstation version is at least as great as the requested cluster version is installed to the NEONKUBE programs folder by copying the tool from the cache if necessary.

    note

    This will probably require elevated privileges.

    note

    This assumes that Helm has already been downloaded and cached and also that more recent Helm releases are backwards compatible with older deployed versions of Tiller.

    Declaration
    public static void InstallWorkstationHelm()

    IsCloudEnvironment(HostingEnvironment)

    Determines whether a cluster hosting environment deploys to the cloud.

    Declaration
    public static bool IsCloudEnvironment(HostingEnvironment hostingEnvironment)
    Parameters
    Type Name Description
    HostingEnvironment hostingEnvironment

    Specifies the hosting environment.

    Returns
    Type Description
    bool

    true for cloud environments.

    IsNeonKubeCustomResource(V1CustomResourceDefinition)

    Determines whether a custom resource definition is a NEONKUBE custom resource.

    Declaration
    public static bool IsNeonKubeCustomResource(V1CustomResourceDefinition crd)
    Parameters
    Type Name Description
    V1CustomResourceDefinition crd

    The custom resource definition.

    Returns
    Type Description
    bool

    true for NEONKUBE resource definitions.

    IsOnPremiseEnvironment(HostingEnvironment)

    Determines whether a cluster hosting environment deploys on-premise.

    Declaration
    public static bool IsOnPremiseEnvironment(HostingEnvironment hostingEnvironment)
    Parameters
    Type Name Description
    HostingEnvironment hostingEnvironment

    The hosting environment.

    Returns
    Type Description
    bool

    true for on-premise environments.

    IsOnPremiseHypervisorEnvironment(HostingEnvironment)

    Determines whether a cluster hosting environment deploys to on-premise hypervisors.

    Declaration
    public static bool IsOnPremiseHypervisorEnvironment(HostingEnvironment hostingEnvironment)
    Parameters
    Type Name Description
    HostingEnvironment hostingEnvironment

    The hosting environment.

    Returns
    Type Description
    bool

    true for on-premise environments.

    IsPaidHostingEnvironment(HostingEnvironment)

    Determines whether NEONFORGE collects revenue from a cluster hosting environment.

    Declaration
    public static bool IsPaidHostingEnvironment(HostingEnvironment hostingEnvironment)
    Parameters
    Type Name Description
    HostingEnvironment hostingEnvironment

    Specifies the hosting environment.

    Returns
    Type Description
    bool

    true for paid environments.

    IsPremiumEnvironment(HostingEnvironment)

    Determines whether a cluster hosting environment is available only for NEONFORGE premium (closed-source) related projects.

    Declaration
    public static bool IsPremiumEnvironment(HostingEnvironment hostingEnvironment)
    Parameters
    Type Name Description
    HostingEnvironment hostingEnvironment

    The hosting environment.

    Returns
    Type Description
    bool

    true for enteprise/closed-source related projects.

    Kubectl(params object[])

    Executes a kubectl command on the local workstation.

    Declaration
    public static ExecuteResponse Kubectl(params object[] args)
    Parameters
    Type Name Description
    object[] args

    The command arguments.

    Returns
    Type Description
    ExecuteResponse

    The ExecuteResponse.

    LoadClientConfig()

    Loads or reloads the ClientConfig.

    Declaration
    public static KubeClientConfig LoadClientConfig()
    Returns
    Type Description
    KubeClientConfig

    The client configuration.

    LoadConfig()

    Loads or reloads the Kubernetes configuration.

    Declaration
    public static KubeConfig LoadConfig()
    Returns
    Type Description
    KubeConfig

    The KubeConfig.

    LoginOidcAsync(string, string, string[])

    Performs Open IC Connect Login

    Declaration
    public static Task<LoginResult> LoginOidcAsync(string authority, string clientId, string[] scopes = null)
    Parameters
    Type Name Description
    string authority

    Specifies the authority.

    string clientId

    Specifies the client ID.

    string[] scopes

    Optionally specifies any scopes.

    Returns
    Type Description
    Task<LoginResult>

    A IdentityModel.OidcClient.LoginResult.

    LookupPassword(string)

    Looks up a password given its name.

    Declaration
    public static string LookupPassword(string passwordName)
    Parameters
    Type Name Description
    string passwordName

    The password name.

    Returns
    Type Description
    string

    The password value.

    Exceptions
    Type Condition
    KeyNotFoundException

    Thrown if the password doesn't exist.

    NeonCliExecuteAsync(object[])

    Executes a neon/kubectl command using the installed executable or the executable from the NEONCLOUD build folder.

    Declaration
    public static Task<int> NeonCliExecuteAsync(object[] args)
    Parameters
    Type Name Description
    object[] args

    The command line arguments.

    Returns
    Type Description
    Task<int>

    The command exit code.

    Remarks
    note

    For maintainers, this method will build the neon/kubectl tool if it does not already exist.

    NeonCliExecuteCapture(params object[])

    Executes a neon/kubectl command using the installed executable or the executable from the NEONCLOUD build folder, capturing the output streams.

    Declaration
    public static ExecuteResponse NeonCliExecuteCapture(params object[] args)
    Parameters
    Type Name Description
    object[] args

    The command line arguments.

    Returns
    Type Description
    ExecuteResponse

    The command exit code.

    Remarks
    note

    For maintainers, this method will build the neon/kubectl tool if it does not already exist.

    NeonCliExecuteCaptureAsync(params object[])

    Executes a neon/kubectl command using the installed executable or the executable from the NEONCLOUD build folder, capturing the output streams.

    Declaration
    public static Task<ExecuteResponse> NeonCliExecuteCaptureAsync(params object[] args)
    Parameters
    Type Name Description
    object[] args

    The command line arguments.

    Returns
    Type Description
    Task<ExecuteResponse>

    The command exit code.

    Remarks
    note

    For maintainers, this method will build the neon/kubectl tool if it does not already exist.

    PortForward(string, int, int, string, Process)

    Executes a kubectl port-forward command on the local workstation.

    Declaration
    public static void PortForward(string serviceName, int remotePort, int localPort, string @namespace, Process process)
    Parameters
    Type Name Description
    string serviceName

    The service to forward.

    int remotePort

    The service port.

    int localPort

    The local port to forward to.

    string namespace

    The Kubernetes namespace where the service is running.

    Process process

    The Process to use.

    SaveClientState()

    Persists the ClientConfig to disk.

    Declaration
    public static void SaveClientState()

    SetConfig(KubeConfig)

    Rewrites the local kubeconfig file.

    Declaration
    public static void SetConfig(KubeConfig config)
    Parameters
    Type Name Description
    KubeConfig config

    The new configuration.

    SetCurrentContext(KubeContextName)

    Sets the current Kubernetes config context.

    Declaration
    public static void SetCurrentContext(KubeContextName contextName)
    Parameters
    Type Name Description
    KubeContextName contextName

    The context name or null to clear the current context.

    Exceptions
    Type Condition
    ArgumentException

    Thrown if the context specified doesn't exist.

    SetCurrentContext(string)

    Sets the current Kubernetes config context by string name.

    Declaration
    public static void SetCurrentContext(string contextName)
    Parameters
    Type Name Description
    string contextName

    The context name or null to clear the current context.

    Exceptions
    Type Condition
    ArgumentException

    Thrown if the context specified doesn't exist.

    ValidateKubernetesLabel(string, string, string)

    Verifies that the label name and valud conforms to the Kubernetes label constraints: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set

    Declaration
    public static void ValidateKubernetesLabel(string labelType, string key, string value)
    Parameters
    Type Name Description
    string labelType

    Identifies the type of label being checked. Any exceptions thrown wil; have their message text prefixed by this.

    string key

    Specifies the label key.

    string value

    Specifies the label value.

    Exceptions
    Type Condition
    ClusterDefinitionException

    Thrown when the label name or value invalid.

    In this article
    Back to top © Copyright 2005-2023 by NEONFORGE LLC