• 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 KubeSetup

    Implements cluster setup operations.

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

    Properties

    ClusterManifest

    Returns the ClusterManifest for the current NEONKUBE build. This is generated by the internal neon-image prepare node ... tool command which prepares node images. This manifest describes the container images that will be provisioned into clusters.

    The cluster manifest is uploaded to our S3 bucket at NeonClusterManifestUri and is available from there and for installed neon-desktop and neon-cli applications, the cluster manifest will also be persisted as cluster-manifest.json in the app installation folder.

    This property first attempts to loads (and caches) the manifest from the local cluster-manifest.json file and then falls back to downloading it from S3.

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

    Resources

    Returns the IStaticDirectory for the assembly's resources.

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

    Methods

    CalculateResourceRequirements(ISetupController)

    Executed very early during cluster setup to determine service/pod requests and limits as a KubeClusterAdvice instance that will then be made available to the subquent setup steps as the ClusterAdvice property value.

    This gives cluster setup a chance to holistically examine the services as well as the resources available to the entire cluster to configure these values.

    Declaration
    public static void CalculateResourceRequirements(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    ConfigureApiserverIngressAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures external apiserver access.

    Declaration
    public static Task ConfigureApiserverIngressAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    ConfigureClusterCertificatesAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures the cluster certificates.

    Declaration
    public static Task ConfigureClusterCertificatesAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller
    NodeSshProxy<NodeDefinition> controlNode
    Returns
    Type Description
    Task

    ConfigureControlPlaneTaintsAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures pods to be schedule on control-plane nodes when enabled.

    Declaration
    public static Task ConfigureControlPlaneTaintsAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    ConfigureDesktopClusterCertificatesAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Renews the cluster certificates for a neeon desktop cluster.

    Declaration
    public static Task ConfigureDesktopClusterCertificatesAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller
    NodeSshProxy<NodeDefinition> controlNode
    Returns
    Type Description
    Task

    ConfigureKubelet(ISetupController, IEnumerable<NodeSshProxy<NodeDefinition>>)

    Configures the Kubernetes feature gates specified by the FeatureGates dictionary. It does this by editing the API server's static pod manifest located at /etc/kubernetes/manifests/kube-apiserver.yaml on the control-plane nodes as required. This also tweaks the --service-account-issuer option.

    Declaration
    public static void ConfigureKubelet(ISetupController controller, IEnumerable<NodeSshProxy<NodeDefinition>> controlNodes)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    IEnumerable<NodeSshProxy<NodeDefinition>> controlNodes

    The target control-plane nodes.

    ConfigureKubernetes(ISetupController, NodeSshProxy<NodeDefinition>)

    Basic Kubernetes cluster initialization.

    Declaration
    public static void ConfigureKubernetes(ISetupController controller, NodeSshProxy<NodeDefinition> firstControlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> firstControlNode

    The first control-plane node in the cluster where the operation will be performed.

    ConfigureMetadataAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Uploads cluster related metadata to cluster nodes to /etc/neonkube/metadata

    Declaration
    public static Task ConfigureMetadataAsync(ISetupController controller, NodeSshProxy<NodeDefinition> node)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> node

    The target cluster node.

    Returns
    Type Description
    Task

    The tracking Task.

    ConfigurePriorityClassesAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Adds the NEONKUBE standard priority classes to the cluster.

    Declaration
    public static Task ConfigurePriorityClassesAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    ConfigureWorkstation(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures the local workstation.

    Declaration
    public static void ConfigureWorkstation(ISetupController controller, NodeSshProxy<NodeDefinition> firstControlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> firstControlNode

    The first control-plane node in the cluster where the operation will be performed.

    ConnectCluster(ISetupController)

    Connects to a Kubernetes cluster if it already exists. This sets the K8sClient property in the setup controller state when Kubernetes is running and a connection has not already been established.

    note

    The K8sClient will not be set when Kubernetes has not been started, so Get<TValue>(string) calls for this property will fail when the cluster has not been connected yet, which will be useful for debugging setup steps that require a connection but this hasn't happened yet.

    Declaration
    public static void ConnectCluster(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    CreateClusterPrepareControllerAsync(ClusterDefinition, bool, PrepareClusterOptions)

    Constructs the ISetupController to be used for preparing a cluster.

    Declaration
    public static Task<ISetupController> CreateClusterPrepareControllerAsync(ClusterDefinition clusterDefinition, bool cloudMarketplace, PrepareClusterOptions options)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition

    The cluster definition.

    bool cloudMarketplace

    For cloud environments, this specifies whether the cluster should be provisioned using a VM image from the public cloud marketplace when true or from the private NEONFORGE image gallery for testing when false. This is ignored for on-premise environments.

    note

    Only NEONFORGE maintainers will have permission to use the private image.

    PrepareClusterOptions options

    Specifies the cluster prepare options.

    Returns
    Type Description
    Task<ISetupController>

    The ISetupController.

    Exceptions
    Type Condition
    NeonKubeException

    Thrown when there's a problem.

    CreateClusterSetupControllerAsync(ClusterDefinition, bool, SetupClusterOptions)

    Constructs the ISetupController to be used for setting up a cluster.

    Declaration
    public static Task<ISetupController> CreateClusterSetupControllerAsync(ClusterDefinition clusterDefinition, bool cloudMarketplace, SetupClusterOptions options)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition

    The cluster definition.

    bool cloudMarketplace

    For cloud environments, this specifies whether the cluster should be provisioned using a VM image from the public cloud marketplace when true or from the private NEONFORGE image gallery for testing when false. This is ignored for on-premise environments.

    note

    Only NEONFORGE maintainers will have permission to use the private image.

    SetupClusterOptions options

    Specifies the cluster setup options.

    Returns
    Type Description
    Task<ISetupController>

    The ISetupController.

    Exceptions
    Type Condition
    NeonKubeException

    Thrown when there's a problem.

    CreateCstorStorageClass(ISetupController, NodeSshProxy<NodeDefinition>, string, string, int, bool)

    Creates an OpenEBS cStor Kubernetes Storage Class.

    Declaration
    public static Task CreateCstorStorageClass(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, string name, string cstorPoolCluster = "cspc-stripe", int replicaCount = 3, bool isDefault = false)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    string name

    The new V1StorageClass name.

    string cstorPoolCluster

    Specifies the cStor pool name.

    int replicaCount

    Specifies the data replication factor.

    bool isDefault

    Specifies whether this should be the default storage class.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateDashboardsAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Creates the standard dashboard resources.

    Declaration
    public static Task CreateDashboardsAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateHostPathStorageClass(ISetupController, NodeSshProxy<NodeDefinition>, string, bool)

    Creates a Kubernetes Storage Class.

    Declaration
    public static Task CreateHostPathStorageClass(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, string name, bool isDefault = false)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    string name

    The new V1StorageClass name.

    bool isDefault

    Specifies whether this should be the default storage class.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateJivaStorageClass(ISetupController, NodeSshProxy<NodeDefinition>, string, int, string, bool)

    Creates a Kubernetes Storage Class.

    Declaration
    public static Task CreateJivaStorageClass(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, string name, int replicaCount = 3, string storagePool = "default", bool isDefault = false)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    string name

    The new V1StorageClass name.

    int replicaCount

    Specifies the data replication factor.

    string storagePool

    Specifies the OpenEBS storage pool.

    bool isDefault

    Optionally indicates that this is the default storage class.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateNamespaceAsync(ISetupController, NodeSshProxy<NodeDefinition>, string, bool)

    Creates a Kubernetes namespace.

    Declaration
    public static Task CreateNamespaceAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, string name, bool istioInjectionEnabled = true)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    string name

    The new WatchNamespace name.

    bool istioInjectionEnabled

    Whether Istio sidecar injection should be enabled.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateNamespacesAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Creates the required namespaces.

    Declaration
    public static Task CreateNamespacesAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateNeonDashboardAsync(ISetupController, NodeSshProxy<NodeDefinition>, string, string, string, bool, int)

    Creates a V1NeonDashboard idempotently.

    Declaration
    public static Task CreateNeonDashboardAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, string name, string url, string displayName = null, bool enabled = true, int displayOrder = 2147483647)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    string name

    The new bucket name.

    string url

    The dashboard URL

    string displayName

    The Dashboard display name.

    bool enabled

    Optionally specify whether the dashboard is enabled.

    int displayOrder

    Optionally specify the display order.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateRootUserAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures the root Kubernetes user.

    Declaration
    public static Task CreateRootUserAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    CreateStorageClass(ISetupController, NodeSshProxy<NodeDefinition>, string, int, bool)

    Creates the approperiate OpenEBS Kubernetes Storage Class for the cluster.

    Declaration
    public static Task CreateStorageClass(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, string name, int replicaCount = 3, bool isDefault = false)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    string name

    The new V1StorageClass name.

    int replicaCount

    Specifies the data replication factor.

    bool isDefault

    Specifies whether this should be the default storage class.

    Returns
    Type Description
    Task

    The tracking Task.

    GenerateKubernetesClusterConfig(ISetupController, NodeSshProxy<NodeDefinition>)

    Method to generate Kubernetes cluster configuration.

    Declaration
    public static string GenerateKubernetesClusterConfig(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    string

    The YAML with the Kubernetes config used to initialize the cluster.

    GetDesktopClusterDefinition(HostingEnvironment, string)

    Returns the cluster definition required to prepare a NEONDESKTOP cluster for a specific hosting environment.

    Declaration
    public static ClusterDefinition GetDesktopClusterDefinition(HostingEnvironment hostEnvironment, string deploymentPrefix = null)
    Parameters
    Type Name Description
    HostingEnvironment hostEnvironment

    Specifies the target environment.

    string deploymentPrefix

    Optionally specifies a deployment prefix string to be set as Prefix in the cluster definition returned. This can be used by ClusterFixture and custom tools to help isolated temporary cluster assets from production clusters.

    Returns
    Type Description
    ClusterDefinition

    The cluster definition.

    GetK8sClient(ISetupController)

    Returns the IKubernetes client persisted in the controller passed.

    Declaration
    public static IKubernetes GetK8sClient(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    Returns
    Type Description
    IKubernetes

    The Neon.Kubernetes client.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when there is no persisted Kubernetes client, indicating that ConnectCluster(ISetupController) has not been called yet.

    GetSystemDatabaseConnectionStringAsync(ISetupController)

    Returns the Postgres connection string for the default database for the cluster's NeonSystemDb deployment.

    Declaration
    public static Task<string> GetSystemDatabaseConnectionStringAsync(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    Returns
    Type Description
    Task<string>

    The connection string.

    GetTaintsAsync(ISetupController, string, string)

    Gets a list of taints that are currently applied to all nodes matching the given node label/value pair.

    Declaration
    public static Task<List<V1Taint>> GetTaintsAsync(ISetupController controller, string labelKey, string labelValue)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    string labelKey

    The target nodes label key.

    string labelValue

    The target nodes label value.

    Returns
    Type Description
    Task<List<V1Taint>>

    The taint list.

    InstallCalicoCniAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs the Calico CNI.

    Declaration
    public static Task InstallCalicoCniAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallCertManagerAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs CertManager.

    Declaration
    public static Task InstallCertManagerAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallClusterOperatorAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs neon-cluster-operator.

    Declaration
    public static Task InstallClusterOperatorAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallContainerRegistryResourcesAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Adds custom V1NeonContainerRegistry resources defined in the cluster definition to the cluster. neon-node-agent will pick these up and regenerate the CRI-O configuration.

    Declaration
    public static Task InstallContainerRegistryResourcesAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    Remarks
    note

    This must be called after InstallClusterOperatorAsync(ISetupController, NodeSshProxy<NodeDefinition>) because that's where the cluster CRDs get installed.

    InstallCrdsAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs CRDs used later on in setup by various helm charts.

    Declaration
    public static Task InstallCrdsAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallDexAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Dex.

    Declaration
    public static Task InstallDexAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallGlauthAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Glauth.

    Declaration
    public static Task InstallGlauthAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallGrafanaAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Grafana to the monitoring namespace.

    Declaration
    public static Task InstallGrafanaAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallHarborAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs a harbor container registry and required components.

    Declaration
    public static Task InstallHarborAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallIstioAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Istio.

    Declaration
    public static Task InstallIstioAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallKubeDashboardAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures the root Kubernetes user.

    Declaration
    public static Task InstallKubeDashboardAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallKubeStateMetricsAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Kube State Metrics to the monitoring namespace.

    Declaration
    public static Task InstallKubeStateMetricsAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallLokiAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Loki to the monitoring namespace.

    Declaration
    public static Task InstallLokiAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallMemcachedAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Memcached to the neon-system namespace.

    Declaration
    public static Task InstallMemcachedAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallMetricsServerAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs the Kubernetes Metrics Server service.

    Declaration
    public static Task InstallMetricsServerAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallMimirAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Mimir to the monitoring namespace.

    Declaration
    public static Task InstallMimirAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallMinioAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs a Minio cluster to the monitoring namespace.

    Declaration
    public static Task InstallMinioAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallMonitoringAsync(ISetupController)

    Installs an Neon Monitoring to the monitoring namespace.

    Declaration
    public static Task InstallMonitoringAsync(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallNeonCloudTokenAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs tokens needed to authenticate with NeonCLOUD services.

    Declaration
    public static Task InstallNeonCloudTokenAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallNeonSsoProxyAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Neon SSO Session Proxy.

    Declaration
    public static Task InstallNeonSsoProxyAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallNodeAgentAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs neon-node-agent.

    Declaration
    public static Task InstallNodeAgentAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallNodeProblemDetectorAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs the Node Problem Detector.

    Declaration
    public static Task InstallNodeProblemDetectorAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallOauth2ProxyAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Oauth2-proxy.

    Declaration
    public static Task InstallOauth2ProxyAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallOpenEbsAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs OpenEBS.

    Declaration
    public static Task InstallOpenEbsAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallPrometheusAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs The Grafana Agent to the monitoring namespace.

    Declaration
    public static Task InstallPrometheusAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallRedisAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs a harbor container registry and required components.

    Declaration
    public static Task InstallRedisAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallReloaderAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Reloader to the Neon system namespace.

    Declaration
    public static Task InstallReloaderAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallSsoAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Keycloak.

    Declaration
    public static Task InstallSsoAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallSystemDbAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs a Citus-postgres database used by neon-system services.

    Declaration
    public static Task InstallSystemDbAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    InstallTempoAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Installs Tempo to the monitoring namespace.

    Declaration
    public static Task InstallTempoAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    KubeSetupAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Some initial kubernetes configuration.

    Declaration
    public static Task KubeSetupAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    LabelNodesAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Adds the Kubernetes node labels.

    Declaration
    public static Task LabelNodesAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The first control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    SetClusterHealthAsync(ISetupController, NodeSshProxy<NodeDefinition>, bool)

    Writes the ClusterHealth and ClusterLock config maps to the NeonStatus namespace.

    Declaration
    public static Task SetClusterHealthAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode, bool ready)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    bool ready

    Pass false early in the cluster setup process to indicate that the cluster isn't ready yet and then true as the last setup step indicating that the cluster is ready.

    Returns
    Type Description
    Task

    The tracking Task.

    SetClusterLockAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Sets the ClusterLock config map in the NeonStatus namespace using the lock setting from the cluster definition.

    Declaration
    public static Task SetClusterLockAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    SetupClusterAsync(ISetupController, int)

    Initializes the cluster on the first manager, joins the remaining control-plane nodes and workers to the cluster and then performs the rest of cluster setup.

    Declaration
    public static Task SetupClusterAsync(ISetupController controller, int maxParallel = 10)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    int maxParallel

    The maximum number of operations on separate nodes to be performed in parallel. This defaults to defaultMaxParallelNodes.

    Returns
    Type Description
    Task

    The tracking Task.

    SetupEtcdHaProxy(ISetupController, NodeSshProxy<NodeDefinition>)

    Configures a local HAProxy container that makes the Kubernetes etcd cluster highly available.

    Declaration
    public static void SetupEtcdHaProxy(ISetupController controller, NodeSshProxy<NodeDefinition> node)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> node

    The node where the operation will be performed.

    StabilizeClusterAsync(ISetupController)

    Waits for the a NEONDESKTOP cluster to stabilize.

    Declaration
    public static Task StabilizeClusterAsync(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    Returns
    Type Description
    Task

    The tracking Task.

    TaintNodesAsync(ISetupController)

    Adds the node taints.

    Declaration
    public static Task TaintNodesAsync(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    Returns
    Type Description
    Task

    The tracking Task.

    ToSiString(decimal?)

    Converts a decimal into a nice byte units string.

    Declaration
    public static string ToSiString(decimal? value)
    Parameters
    Type Name Description
    decimal? value

    The input value (or null).

    Returns
    Type Description
    string

    The formatted output (or null).

    ToSiString(double?)

    Converts a double value into a nice byte units string.

    Declaration
    public static string ToSiString(double? value)
    Parameters
    Type Name Description
    double? value

    The input value (or null).

    Returns
    Type Description
    string

    The formatted output (or null).

    UploadClusterInfoAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Writes the ClusterInfo config map to the NeonStatus namespace.

    Declaration
    public static Task UploadClusterInfoAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    UploadClusterManifestAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Iploads the cluster manifest as a config..

    Declaration
    public static Task UploadClusterManifestAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

    UploadCopyright(ISetupController)

    Uploads a copyright/trademark text files to all of the cluster nodes.

    Declaration
    public static void UploadCopyright(ISetupController controller)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    WaitForPrometheusAsync(ISetupController, NodeSshProxy<NodeDefinition>)

    Waits for Prometheus to be fully ready.

    Declaration
    public static Task WaitForPrometheusAsync(ISetupController controller, NodeSshProxy<NodeDefinition> controlNode)
    Parameters
    Type Name Description
    ISetupController controller

    The setup controller.

    NodeSshProxy<NodeDefinition> controlNode

    The control-plane node where the operation will be performed.

    Returns
    Type Description
    Task

    The tracking Task.

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