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

    Manages cluster provisioning on the Google Cloud Platform.

    Inheritance
    object
    HostingManager
    GoogleHostingManager
    Implements
    IHostingManager
    Inherited Members
    HostingManager.MaxAsyncParallelHostingOperations
    HostingManager.SupportsFsTrim(HostingEnvironment)
    HostingManager.SupportsFsZero(HostingEnvironment)
    HostingManager.Load(Action)
    HostingManager.Dispose()
    HostingManager.MaxParallel
    HostingManager.WaitSeconds
    HostingManager.NodeMtu
    HostingManager.AddPostProvisioningSteps(SetupController<NodeDefinition>)
    HostingManager.AddSetupSteps(SetupController<NodeDefinition>)
    HostingManager.AddPostSetupSteps(SetupController<NodeDefinition>)
    HostingManager.GetDatacenterCoordinatesAsync()
    HostingManager.CheckForConflictsAsync(ClusterDefinition)
    HostingManager.CheckForIPConflictsAsync(ClusterDefinition)
    HostingManager.AssignNodeAddresses(ClusterDefinition)
    HostingManager.ValidateCluster(ClusterDefinition, List<HostedNodeInfo>, HostingReadiness)
    HostingManager.DefaultStatusTimeout
    HostingManager.StartClusterAsync()
    HostingManager.StopClusterAsync(StopMode)
    HostingManager.PauseClusterAsync()
    HostingManager.ResumeClusterAsync()
    HostingManager.DeleteClusterAsync(ClusterDefinition)
    Namespace: Neon.Kube.Hosting.Google
    Assembly: Neon.Kube.Google.dll
    Syntax
    [HostingProvider(HostingEnvironment.Google)]
    public class GoogleHostingManager : HostingManager, IHostingManager
    Remarks

    Optional capability support:

    PausableYES
    StoppableYES

    Constructors

    GoogleHostingManager()

    Creates an instance that is only capable of validating the hosting related options in the cluster definition.

    Declaration
    public GoogleHostingManager()

    GoogleHostingManager(ClusterProxy, bool, string, string, string)

    Creates an instance that is capable of provisioning a cluster on Google Cloud.

    Declaration
    public GoogleHostingManager(ClusterProxy cluster, bool cloudMarketplace, string nodeImageUri = null, string nodeImagePath = null, string logFolder = null)
    Parameters
    Type Name Description
    ClusterProxy cluster

    The cluster being managed.

    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.

    string nodeImageUri

    Ignored.

    string nodeImagePath

    Ignored.

    string logFolder

    The folder where log files are to be written, otherwise or null or empty if logging is disabled.

    Remarks
    note

    One of nodeImageUri or nodeImagePath must be specified.

    Properties

    CanManageRouter

    Returns true if the hosting manage is capable of updating the upstream network router or load balancer. Cloud based managers will return true whereas on-premise managers will return false because we don't have the ability to manage physical routers yet.

    Declaration
    public override bool CanManageRouter { get; }
    Property Value
    Type Description
    bool
    Overrides
    HostingManager.CanManageRouter

    Capabilities

    Returns flags describing any optional capabilities supported by the hosting manager.

    Declaration
    public override HostingCapabilities Capabilities { get; }
    Property Value
    Type Description
    HostingCapabilities
    Overrides
    HostingManager.Capabilities

    HostingEnvironment

    Returns the hosting environment implemented by the manager.

    Declaration
    public override HostingEnvironment HostingEnvironment { get; }
    Property Value
    Type Description
    HostingEnvironment
    Overrides
    HostingManager.HostingEnvironment

    RequiresNodeAddressCheck

    Returns true if the hosting manager requires that the LAN be scanned for devices assigned IP addresses that may conflict with node addresses. This is typically required only for clusters deployed on-premise because cloud clusters are typically provisioned to their own isolated network.

    Declaration
    public override bool RequiresNodeAddressCheck { get; }
    Property Value
    Type Description
    bool
    Overrides
    HostingManager.RequiresNodeAddressCheck

    Methods

    AddProvisioningSteps(SetupController<NodeDefinition>)

    Adds the steps required to the setup controller passed that creates and initializes the cluster resources such as the virtual machines, networks, load balancers, network security groups, public IP addresses.

    Declaration
    public override void AddProvisioningSteps(SetupController<NodeDefinition> controller)
    Parameters
    Type Name Description
    SetupController<NodeDefinition> controller

    The setup controller.

    Overrides
    HostingManager.AddProvisioningSteps(SetupController<NodeDefinition>)

    CheckDeploymentReadinessAsync(ClusterDefinition)

    Performs any final hosting environmet readiness check before deploying a cluster.

    Declaration
    public override Task CheckDeploymentReadinessAsync(ClusterDefinition clusterDefinition)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition

    Specifies the cluster definition.

    Returns
    Type Description
    Task

    The tracking Task.

    Overrides
    HostingManager.CheckDeploymentReadinessAsync(ClusterDefinition)
    Exceptions
    Type Condition
    HostingReadinessException

    Thrown if any problems were detected.

    DisableInternetSshAsync()

    Disables public SSH access for every node in the cluster, honoring source address limitations specified by ManagementAddressRules in the cluster definition.

    note

    This currently supported only by cloud hosting managers like: Azure, AWS, and Google. This will do nothing for the on-premise hosting managers because we don't have the ability to manage physical routers yet.

    Declaration
    public override Task DisableInternetSshAsync()
    Returns
    Type Description
    Task
    Overrides
    HostingManager.DisableInternetSshAsync()

    Dispose(bool)

    Releases any important resources associated with the instance.

    Declaration
    public override void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing

    Pass true if the instance is being disposed as opposed to being finalized.

    Overrides
    HostingManager.Dispose(bool)

    EnableInternetSshAsync()

    Enables public SSH access for every node in the cluster, honoring source address limitations specified by ManagementAddressRules in the cluster definition.

    Each node will be assigned a public port that has a NAT rule directing SSH traffic to that specific node. These ports will be in the range of FirstExternalSshPort to LastExternalSshPort. GetSshEndpoint(string) will return the external endpoint for nodes when external SSH is enabled.

    note

    This currently supported only by cloud hosting managers like: Azure, AWS, and Google. This will do nothing for the on-premise hosting managers because we don't have the ability to manage physical routers yet.

    Declaration
    public override Task EnableInternetSshAsync()
    Returns
    Type Description
    Task
    Overrides
    HostingManager.EnableInternetSshAsync()

    GetClusterAddresses()

    Returns the IP address to be used to access the cluster. For clusters deployed the the cloud, this will be the ingress IP address assigned to the load balancer. For on-premise clusters, this returns the private IP addresses for the control-plane nodes.

    Declaration
    public override IEnumerable<string> GetClusterAddresses()
    Returns
    Type Description
    IEnumerable<string>

    The list of cluster IP addresses.

    Overrides
    HostingManager.GetClusterAddresses()

    GetClusterHealthAsync(TimeSpan)

    Retrieves the health status of the current cluster from the hosting manager's perspective This includes information about the infrastructure provisioned for the cluster.

    Declaration
    public override Task<ClusterHealth> GetClusterHealthAsync(TimeSpan timeout = default)
    Parameters
    Type Name Description
    TimeSpan timeout

    Optionally specifies the maximum time to wait for the result. This defaults to 15 seconds.

    Returns
    Type Description
    Task<ClusterHealth>

    The ClusterHealth information for the current cluster.

    note

    When there is no current cluster, the health information will return indicating that no cluster was found.

    Overrides
    HostingManager.GetClusterHealthAsync(TimeSpan)

    GetDataDisk(LinuxSshProxy)

    Identifies the data disk device for a node. This returns the data disk's device name when an uninitialized data disk exists or "PRIMARY" when the OS disk will be used for data.

    Declaration
    public override string GetDataDisk(LinuxSshProxy node)
    Parameters
    Type Name Description
    LinuxSshProxy node
    Returns
    Type Description
    string

    The disk device name or "PRIMARY".

    Overrides
    HostingManager.GetDataDisk(LinuxSshProxy)
    Remarks
    note

    This will not work after the node's data disk has been initialized.

    GetResourceAvailabilityAsync(long, long)

    Returns the availability of resources required to deploy a cluster.

    Declaration
    public override Task<HostingResourceAvailability> GetResourceAvailabilityAsync(long reserveMemory = 0, long reserveDisk = 0)
    Parameters
    Type Name Description
    long reserveMemory

    Optionally specifies the amount of host memory (in bytes) to be reserved for host operations.

    long reserveDisk
    Returns
    Type Description
    Task<HostingResourceAvailability>

    Details about whether cluster deployment can proceed.

    Overrides
    HostingManager.GetResourceAvailabilityAsync(long, long)
    Remarks

    The optional reserveMemory and reservedDisk parameters can be used to specify memory and disk that are to be reserved for the host environment. Hosting manager implementations are free to ignore this when they don't really makse sense.

    This is currently used for Hyper-V based clusters running on a user workstation or laptop to ensure that deployed clusters don't adverserly impact the host machine too badly.

    These parameters don't really make sense for cloud or dedicated hypervisor hosting environments because those environemnts will still work well when all available resources are consumed.

    GetSshEndpoint(string)

    Returns the FQDN or IP address (as a string) and the port to use to establish a SSH connection to a specific node.

    Declaration
    public override (string Address, int Port) GetSshEndpoint(string nodeName)
    Parameters
    Type Name Description
    string nodeName

    The target node's name.

    Returns
    Type Description
    (string Address, int Port)

    A (string Address, int Port) tuple.

    Overrides
    HostingManager.GetSshEndpoint(string)
    Remarks

    This will return the direct private node endpoint by default. If EnableInternetSshAsync() has been called and is supported by the hosting manager, then this returns the public address of the cluster along with the public NAT port.

    Load()

    Ensures that the assembly hosting this hosting manager is loaded.

    Declaration
    public static void Load()

    UpdateInternetRoutingAsync()

    Updates the cluster's load balancer or router to use the current set of ingress rules defined by IngressRules and the egress rules defined by EgressAddressRules.

    note

    This currently supported only by cloud hosting managers like for Azure, AWS, and Google. This will do nothing for the on-premise hosting managers because we don't have the ability to manage physical routers yet.

    Declaration
    public override Task UpdateInternetRoutingAsync()
    Returns
    Type Description
    Task
    Overrides
    HostingManager.UpdateInternetRoutingAsync()

    Validate(ClusterDefinition)

    Verifies that a cluster is valid for the hosting manager, customizing properties as required.

    Declaration
    public override void Validate(ClusterDefinition clusterDefinition)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition
    Overrides
    HostingManager.Validate(ClusterDefinition)
    Exceptions
    Type Condition
    ClusterDefinitionException

    Thrown if any problems were detected.

    Implements

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