Click or drag to resize

Neon.Kube Namespace

This namespace includes neonKUBE Kubernetes distribution related types.
Classes
  ClassDescription
Public classActionStep
Public classAwsOptions
Specifies the Amazon Web Services hosting settings.
Public classAzureCloudEnvironment
Specifies the target Azure environment.
Public classAzureHelper
Microsoft Azure helpers.
Public classAzureNodeOptions
Azure specific options for cluster cluster node. The default constructor initializes reasonable defaults.
Public classAzureOptions
Specifies the Microsoft Azure cluster hosting settings.
Public classAzureVmCapabilities
Describes the capabilities of the Azure virtual machines.
Public classCephOptions
Specifies the options for configuring the cluster integrated Ceph Distributed Storage cluster.
Public classClusterDefinition
Describes a Kubernetes cluster.
Public classClusterDefinitionException
Signals cluster definition errors.
Public classClusterProxy
Used to remotely manage a cluster via SSH/SCP.
Public classCommandBundle
Describes a collection of files to be uploaded to a Linux server along with the command to be executed after the files have been unpacked.
Public classCommandFile
Describes a file to be included in a CommandBundle.
Public classCommandResponse
Public classCommandStep
Runs a Linux command on a node, optionally uploading some command related files first. Commands are executed with root privileges.
Public classConfigStep
The abstract base class for node configuration step implementations.
Public classConfigStepList
Implements a list of ConfigSteps to be performed on a cluster.
Public classDesktopClient

Implements an HTTP client that will be used by the neon-cli tool for communicating with the neonKUBE Desktop application running on the same machine.

Note Note
Calls to the desktop application will fail silently if the desktop doesn't respond because the desktop may not be running and these are really just nice status notifications, not anything critical.
Public classDockerOptions
Describes the Docker options for a neonKUBE.
Public classElasticsearchOptions
Specifies the options for configuring the cluster integrated Elasticsearch metrics stack: https://Elastic.co/
Public classEtcdOptions
Specifies the options for configuring the cluster integrated Etcd metrics stack: https://Etcd.io/
Public classGoogleOptions
Specifies the Google Cloud Platform hosting settings.
Public classHeadendClient
Provides access to neonKUBE headend services.
Public classHostingManager
Base class for environment specific hosting managers.
Public classHostingManagerFactory
Provides for the creation of HostingManager implementations for a target hosting environment.
Public classHostingOptions
Specifies the cloud or colocation/on-premise hosting settings.
Public classHostingProviderAttribute
Use this attribute to identify IHostingManager class implementations so they can be discovered by the HostingManager class.
Public classHypervisorHost
Describes the location and credentials required to connect to a specific Hyper-V or XenServer hypervisor machine for cluster provisioning.
Public classHyperVOptions
Specifies hosting settings for the Microsoft Hyper-V hypervisor.
Public classIngress
Specifies the ingress rules for the cluster.
Public classKubeClientConfig
Used by the neonKUBE client desktop and command line tools to manage the client side configuration.
Public classKubeClientInfo
Describes client related information such as help, GitHub repo links as well as available update.
Public classKubeConfig
Used to manage serialization of Kubernetes kubeconfig files. These are used to manage cluster contexts on client machines: more information.
Public classKubeConfigCluster
Describes a Kubernetes cluster configuration.
Public classKubeConfigClusterProperties
Describes a Kubernetes cluster's properties.
Public classKubeConfigContext
Describes a Kubernetes context.
Public classKubeConfigContextProperties
Describes a Kubernetes context properties.
Public classKubeConfigUser
Describes a Kubernetes user configuration.
Public classKubeConfigUserProperties
Describes a Kubernetes user's credentials.
Public classKubeConst
Important cluster constants.
Public classKubeContextExtension
Holds extended cluster information such as the cluster definition and node SSH credentials. These records are persisted as files to the $HOME/.neonkube/clusters folder in YAML files named like USER@NAME.context.yaml.
Public classKubeContextName
Handles the parsing of a Kubernetes context name which by convention encodes the user, cluster, and namespace as a string.
Public classKubeException
Describes a cluster related related error.
Public classKubeFileDetails
Holds the contents and permissions for a downloaded Kubernetes file.
Public classKubeHelper
cluster related utilties.
Public classKubeHostFolders
Enumerates the paths of important directories on cluster host servers.
Public classKubeHostPorts
Defines reserved local node and cluster network ports.
Public classKubeLogin
Holds all of the information required to import/export a cluster login. This includes the Kubernetes cluster, login, and neonKUBE extensions.
Public classKubernetesOptions
Describes the Kubernetes options for a neonKUBE.
Public classKubeSetupDetails
Holds details required during setup or for provisioning additional cluster nodes.
Public classKubeSetupInfo
Describes the details required to setup a Kubernetes cluster.
Public classKubeSetupVersions
Indicates the versions for the installed components.
Public classLocalHyperVOptions
Specifies hosting settings for the local Microsoft Hyper-V hypervisor.
Public classM3DBOptions
Specifies the options for configuring the cluster integrated M3DB metrics stack: https://M3DB.io/
Public classMachineOptions
Specifies hosting settings for bare metal or virtual machines.
Public classMonOptions
Specifies the options for configuring the cluster integrated Elasticsearch/Fluentd/Kibana (EFK) logging stack.
Public classNetworkOptions
Describes the network options for a cluster.
Public classNodeDefinition
Describes a cluster host node.
Public classNodeLabels
Describes the standard cluster and custom labels to be assigned to a cluster node.
Public classNodeOptions
Describes cluster host node options.
Public classNodeRole
Enumerates the roles a cluster node can assume.
Public classPauseStep
Pauses cluster configuration for a period of time.
Public classPortForward

Implements a reverse HTTP or proxy between an endpoint on the local machine and an endpoint on a remote machine.

Note Note
This is supported only on Windows.
Public classPrometheusOptions
Specifies the options for configuring the cluster integrated Prometheus metrics stack: https://prometheus.io/
Public classRemoteCommandException
Indicates that a remote command execution failed.
Public classRemoteOperation
The payload passed to the desktop API server via StartOperationAsync(String) and EndOperationAsync(String, Boolean).
Public classReverseProxy

Implements a reverse HTTP or proxy between an endpoint on the local machine and an endpoint on a remote machine.

Note Note
This is supported only on Windows.
Public classSetupControllerNodeMetadata
Manages a cluster setup operation consisting of a series of setup operations steps, while displaying status to the Console.
Public classSetupOptions
Specifies setup related options.
Public classSshClientKey
Describes a client key used for SSH public key authentication.
Public classSshCredentials
Provides credentials suitable for connecting to a server machine via SSH.
Public classSshProxyTMetadata

Uses an SSH/SCP connection to provide access to Linux machines to access files, run commands, etc.

Note Note
This is class is not intended to be a general purpose SSH wrapper at this time. It currently assumes that the remote side is running some variant of Linux and it makes some globale changes including overwriting the /etc/sudoers.d/nopasswd file to disable password prompts for all users and creating some global directories.
Public classUploadStep
Uploads a file.
Public classVersionException
Indicates a client or other version incompatiblity.
Public classXenServerOptions
Specifies hosting settings for the Citrix XenServer hypervisor.
Interfaces
  InterfaceDescription
Public interfaceIBashCommandFormatter
Describes a type implementation that can render a nicely formatted Bash command.
Public interfaceIHostingLoader
INTERNAL USE ONLY: This interface describes a low-level class implementations that are registered by the Neon.Kube.Hosting class library with HostingManager to provide a way to access the various hosting implementations without having to bake this into the Neon.Kube assembly.
Public interfaceIHostingManager
Interface describing the hosting environment managers.
Public interfaceIHostingManagerFactory
Describes the implementation for mapping a hosting environment into a concrete IHostingManager implementation.
Public interfaceIXenClient
INTERNAL USE ONLY: Used internally by cluster as a potentially temporary hack required by SetupControllerNodeMetadata to display XenServer provisioning status. This may be removed at some point in the future.
Delegates
  DelegateDescription
Public delegateNodeProxyCreator
Creates a SshProxyTMetadata for the specified host and server name, configuring logging and the credentials as specified by the global command line options.
Enumerations
  EnumerationDescription
Public enumerationAzureCloudEnvironments
Enumerates the possible Azure hosting environments.
Public enumerationAzureStorageTypes
Enumerates the possible Azure storage account types.
Public enumerationAzureVmSizes
Enumerates the possible Azure VM sizes.
Public enumerationEnvironmentType
Enumerates the types of cluster operating environments.
Public enumerationHostingEnvironments
Enumerates the possible cluster hosting environments.
Public enumerationKubeHostPlatform
Enumerates the operating systems supported by neonKUBE.
Public enumerationNetworkCni
Enumerates the supported of cluster network providers.
Public enumerationOsUpgrade
Enumerates the possible host node operating system upgrade options.
Public enumerationRunOptions
Enumerates the possible options to use when executing a remote command on a SshProxyTMetadata. These options may be combined using the bitwise OR operator.