Class KubeConst
Important cluster constants.
Namespace: Neon.Kube
Assembly: Neon.Kube.dll
Syntax
public static class KubeConst
Fields
BaseDiskSizeGiB
The size of the OS disk used for base images.
Declaration
public const int BaseDiskSizeGiB = 10
Field Value
| Type | Description |
|---|---|
| int |
CitusSecretKey
Identifies the secret name where the citus credentials are stored.
Declaration
public const string CitusSecretKey = "citus"
Field Value
| Type | Description |
|---|---|
| string |
CloudSubnetEndReservedIPs
The number of IP addresses reserved by cloud deployments at the end of the node subnet by the cloud provider. This typically includes the network UDP broadcast address.
Declaration
public const int CloudSubnetEndReservedIPs = 1
Field Value
| Type | Description |
|---|---|
| int |
CloudSubnetStartReservedIPs
The number of IP addresses reserved by cloud deployments at the beginning of the node subnet by the cloud provider and also for future NEONKUBE features. This typically includes the cloud default gateway and DNS forwarding IPs as well as potential future NEONKUBE features such as an integrated VPN and perhaps management VMs.
Declaration
public const int CloudSubnetStartReservedIPs = 10
Field Value
| Type | Description |
|---|---|
| int |
ClusterCrioConfigName
Returns the cluster wide crio config name.
Declaration
public const string ClusterCrioConfigName = "cluster"
Field Value
| Type | Description |
|---|---|
| string |
ClusterImagesLastChecked
Entry storing the last time cluster images were checked.
Declaration
public const string ClusterImagesLastChecked = "cluster-images-last-checked"
Field Value
| Type | Description |
|---|---|
| string |
ClusterLogName
Specifies the file name to use for the global cluster (non-node) log file.
Declaration
public const string ClusterLogName = "cluster.log"
Field Value
| Type | Description |
|---|---|
| string |
ClusterNodeDomain
Returns the domain used to configure cluster DNS names that can be resolved on the cluster nodes to access internal Kubernetes services like the Harbor registry etc.
Declaration
public const string ClusterNodeDomain = "neon.local"
Field Value
| Type | Description |
|---|---|
| string |
ClusterRegistryProjectName
Returns the Harbor Project name.
Declaration
public const string ClusterRegistryProjectName = "neon-internal"
Field Value
| Type | Description |
|---|---|
| string |
CrioSocketPath
The CIR-O socket.
Declaration
public const string CrioSocketPath = "/var/run/crio/crio.sock"
Field Value
| Type | Description |
|---|---|
| string |
DefaultPodSubnet
Default subnet for Kubernetes pods.
Declaration
public const string DefaultPodSubnet = "10.254.0.0/16"
Field Value
| Type | Description |
|---|---|
| string |
DefaultServiceSubnet
Default subnet for Kubernetes services.
Declaration
public const string DefaultServiceSubnet = "10.253.0.0/16"
Field Value
| Type | Description |
|---|---|
| string |
DesktopClusterDomain
The fixed domain for all desktop clusters.
Declaration
public const string DesktopClusterDomain = "desktop.neoncluster.io"
Field Value
| Type | Description |
|---|---|
| string |
DexSecret
Identifies the secret containing Dex credentials.
Declaration
public const string DexSecret = "neon-sso-dex"
Field Value
| Type | Description |
|---|---|
| string |
EtcHostsSectionName
$/etc/hosts section name used by NEONKUBE applications for persisting DNS host entries via ModifyLocalHosts(string, Dictionary<string, IPAddress>).
Declaration
public const string EtcHostsSectionName = "Added for NEONKUBE"
Field Value
| Type | Description |
|---|---|
| string |
GrafanaAdminSecret
Identifies the the secret containing admin credentials for Grafana.
Declaration
public const string GrafanaAdminSecret = "grafana-admin-credentials"
Field Value
| Type | Description |
|---|---|
| string |
GrafanaSecret
Identifies the the secret containing credentials used by Grafana.
Declaration
public const string GrafanaSecret = "grafana-secret"
Field Value
| Type | Description |
|---|---|
| string |
HarborCrioUser
User name used to log CRI-O on the cluster nodes into the local Harbor registry via podman.
Declaration
public const string HarborCrioUser = "root"
Field Value
| Type | Description |
|---|---|
| string |
HyperVInternalSwitchName
The name used by the HyperV hosting manager for creating the internal virtual switch where the NEONDESKTOP cluster as well as user-defined internal clusters will be attached.
Declaration
public const string HyperVInternalSwitchName = "neon-internal"
Field Value
| Type | Description |
|---|---|
| string |
ImagePrebuiltDesktopPath
Path to the node file indicating whether the node hosts a pre-built desktop cluster.
Declaration
public const string ImagePrebuiltDesktopPath = "/etc/neonkube/prebuilt-desktop"
Field Value
| Type | Description |
|---|---|
| string |
ImageTypePath
Path to the node image file holding the image type defined by KubeImageType.
Declaration
public const string ImageTypePath = "/etc/neonkube/image-type"
Field Value
| Type | Description |
|---|---|
| string |
ImageVersionPath
Path to the node file holding the NEONKUBE version.
Declaration
public const string ImageVersionPath = "/etc/neonkube/image-version"
Field Value
| Type | Description |
|---|---|
| string |
KubeGitHubRepoUrl
Returns the URL to the NEONKUBE GitHub repository.
Declaration
public const string KubeGitHubRepoUrl = "https://github.com/nforgeio/NEONKUBE"
Field Value
| Type | Description |
|---|---|
| string |
KubeHelpUrl
Returns the URL to th NEONKUBE help site.
Declaration
public const string KubeHelpUrl = "https://github.com/nforgeio/NEONKUBE"
Field Value
| Type | Description |
|---|---|
| string |
LocalClusterRegistry
Hostname used to reference the local Harbor registry within the cluster.
Declaration
public const string LocalClusterRegistry = "registry.neon.local/neonkube"
Field Value
| Type | Description |
|---|---|
| string |
LocalClusterRegistryHostName
Hostname used to reference the local Harbor registry within the cluster.
Declaration
public const string LocalClusterRegistryHostName = "registry.neon.local"
Field Value
| Type | Description |
|---|---|
| string |
LocalClusterRegistryProject
The local cluster registry project.
Declaration
public const string LocalClusterRegistryProject = "neonkube"
Field Value
| Type | Description |
|---|---|
| string |
LocalStorageClassName
The default name for the local V1StorageClass
Declaration
public const string LocalStorageClassName = "local-storage"
Field Value
| Type | Description |
|---|---|
| string |
LocalVolumePath
The default path for the LocalStorageClassName
note
This is temporary, once Kubernetes supports dynamic provisioning of local storage volumes, we'll use that instead.
Declaration
public const string LocalVolumePath = "/var/lib/neonkube/volumes"
Field Value
| Type | Description |
|---|---|
| string |
MaxControlPlaneNodes
The maximum number of cluster control-plane nodes.
Declaration
public const int MaxControlPlaneNodes = 5
Field Value
| Type | Description |
|---|---|
| int |
MaxJitter
Timespan used to introduce some random jitter before an operation is performed. This is typically used when it's possible that a large number of entities will tend to perform an operation at nearly the same time (e.g. when a message signalling that an operation should be performed is broadcast to a large number of listeners. Components can pass this to PseudoRandomTimespan(TimeSpan) to obtain a random delay timespan.
Declaration
public static readonly TimeSpan MaxJitter
Field Value
| Type | Description |
|---|---|
| TimeSpan |
MaxLabelLength
The maximum label length allowed.
Declaration
public const byte MaxLabelLength = 63
Field Value
| Type | Description |
|---|---|
| byte |
MaxNodeDiskSizeGiB
The maximum support cluster node disk size in GiB.
Declaration
public const int MaxNodeDiskSizeGiB = 16384
Field Value
| Type | Description |
|---|---|
| int |
MinControlNodeVCpus
The minimum number of vCPUs required by control-plane nodes.
Declaration
public const int MinControlNodeVCpus = 2
Field Value
| Type | Description |
|---|---|
| int |
MinControlPlaneNodeNics
The minimum required network interface cards for control-plane nodes.
Declaration
public const int MinControlPlaneNodeNics = 1
Field Value
| Type | Description |
|---|---|
| int |
MinControlPlaneNodeRamMiB
The minimum RAM (MiB) required for control-plane nodes.
Declaration
public const int MinControlPlaneNodeRamMiB = 8192
Field Value
| Type | Description |
|---|---|
| int |
MinNodeDiskSizeGiB
The minimum supported cluster node disk size in GiB.
note
This size should match the size of the virtual disks created the base Hyper-V and XenServer Ubuntu images.
Declaration
public const int MinNodeDiskSizeGiB = 48
Field Value
| Type | Description |
|---|---|
| int |
MinWorkerNodeNics
The minimum required network interface cards for worker nodes.
Declaration
public const int MinWorkerNodeNics = 1
Field Value
| Type | Description |
|---|---|
| int |
MinWorkerNodeRamMiB
The minimum RAM (MiB) required for worker nodes.
Declaration
public const int MinWorkerNodeRamMiB = 8192
Field Value
| Type | Description |
|---|---|
| int |
MinWorkerNodeVCpus
The minimum number of vCPUs required by worker nodes.
Declaration
public const int MinWorkerNodeVCpus = 4
Field Value
| Type | Description |
|---|---|
| int |
MinimumOsDiskAfterMinio
The minimum amount of OS disk on a cluster node after accounting for Minio volumes.
Declaration
public const string MinimumOsDiskAfterMinio = "40 GiB"
Field Value
| Type | Description |
|---|---|
| string |
NeonClusterDomain
The NEONKUBE domain used to host NEONKUBE cluster DNS records.
Declaration
public const string NeonClusterDomain = "neoncluster.io"
Field Value
| Type | Description |
|---|---|
| string |
NeonClusterOperatorDatabase
Identifies the neon-system-db superuser database.
Declaration
public const string NeonClusterOperatorDatabase = "neon_cluster_operator"
Field Value
| Type | Description |
|---|---|
| string |
NeonDesktopClusterName
The NEONDESKTOP cluster name.
Declaration
public const string NeonDesktopClusterName = "neon-desktop"
Field Value
| Type | Description |
|---|---|
| string |
NeonDesktopContextName
Identifies the Kubernetes context name for the NEONDESKTOP cluster.
Declaration
public const string NeonDesktopContextName = "root@neon-desktop"
Field Value
| Type | Description |
|---|---|
| string |
NeonDesktopHyperVVmName
Identifies the Hyper-V virtual machine used to host the NEONDESKTOP cluster.
Declaration
public const string NeonDesktopHyperVVmName = "neon-desktop"
Field Value
| Type | Description |
|---|---|
| string |
NeonJobSetupGrafana
Identifies the Kubernetes Job that is deployed to setup Grafana.
Declaration
public const string NeonJobSetupGrafana = "setup-grafana"
Field Value
| Type | Description |
|---|---|
| string |
NeonJobSetupHarbor
Identifies the Kubernetes Job that is deployed to setup Harbor.
Declaration
public const string NeonJobSetupHarbor = "setup-harbor"
Field Value
| Type | Description |
|---|---|
| string |
NeonKubeImageTag
The container image tag used to reference cluster container images tagged our prefix and the cluster version number.
Declaration
public const string NeonKubeImageTag = "neonkube-0.10.0-beta.5"
Field Value
| Type | Description |
|---|---|
| string |
NeonKubeReleaseOrganization
Identifies the GitHub organization where we host released NEONKUBE container images.
Declaration
public const string NeonKubeReleaseOrganization = "neonkube-release"
Field Value
| Type | Description |
|---|---|
| string |
NeonKubeReleaseRegistry
Identifies the NEONKUBE release container image registry.
Declaration
public const string NeonKubeReleaseRegistry = "ghcr.io/neonkube-release"
Field Value
| Type | Description |
|---|---|
| string |
NeonKubeResourceGroup
Identifies the Kubernetes group where NEONKUBE custom resources will be located.
Declaration
public const string NeonKubeResourceGroup = "neonkube.io"
Field Value
| Type | Description |
|---|---|
| string |
NeonKubeStageOrganization
Identifies the GitHub organization where we host staged NEONKUBE container images.
Declaration
public const string NeonKubeStageOrganization = "neonkube-stage"
Field Value
| Type | Description |
|---|---|
| string |
NeonKubeStageRegistry
Identifies the NEONKUBE stage container image registry.
Declaration
public const string NeonKubeStageRegistry = "ghcr.io/neonkube-stage"
Field Value
| Type | Description |
|---|---|
| string |
NeonSsoClientId
Neon SSO client ID.
Declaration
public const string NeonSsoClientId = "neon-sso"
Field Value
| Type | Description |
|---|---|
| string |
NeonSsoOauth2Proxy
Identifies the secret containing Neon SSO Oauth2 Proxy credentials.
Declaration
public const string NeonSsoOauth2Proxy = "neon-sso-oauth2-proxy"
Field Value
| Type | Description |
|---|---|
| string |
NeonSsoPublicClientId
Neon SSO Public client ID.
Declaration
public const string NeonSsoPublicClientId = "neon-sso-public"
Field Value
| Type | Description |
|---|---|
| string |
NeonSsoSessionProxySecret
Identifies the secret containing Neon SSO Session Proxy credentials.
Declaration
public const string NeonSsoSessionProxySecret = "neon-sso-session-proxy"
Field Value
| Type | Description |
|---|---|
| string |
NeonSystemDbAdminSecret
Identifies the secret containing the password for the NeonSystemDbAdminUser.
Declaration
public const string NeonSystemDbAdminSecret = "neon-admin.neon-system-db.credentials.postgresql"
Field Value
| Type | Description |
|---|---|
| string |
NeonSystemDbAdminUser
Identifies the username of the neon-system-db superuser.
Declaration
public const string NeonSystemDbAdminUser = "neon_admin"
Field Value
| Type | Description |
|---|---|
| string |
NeonSystemDbGrafanaDatabase
Identifies the database name to be used by Grafana.
Declaration
public const string NeonSystemDbGrafanaDatabase = "grafana"
Field Value
| Type | Description |
|---|---|
| string |
NeonSystemDbHarborPrefix
Identifies the prefix to be used by the Harbor Operator when creating Harbor related databases in neon-system-db.
Declaration
public const string NeonSystemDbHarborPrefix = "harbor"
Field Value
| Type | Description |
|---|---|
| string |
NeonSystemDbServiceSecret
Identifies the secret containing the password for the NeonSystemDbServiceUser.
Declaration
public const string NeonSystemDbServiceSecret = "neon-service.neon-system-db.credentials.postgresql"
Field Value
| Type | Description |
|---|---|
| string |
NeonSystemDbServiceUser
Identifies the neon-system-db username used by neon services.
Declaration
public const string NeonSystemDbServiceUser = "neon_service"
Field Value
| Type | Description |
|---|---|
| string |
NodeImagePartSize
The maximum size in bytes of a node image part published as a GitHub release.
Declaration
public const long NodeImagePartSize = 104857600
Field Value
| Type | Description |
|---|---|
| long |
RegistrySecretKey
Identifies the secret name where the harbor credentials are stored.
Declaration
public const string RegistrySecretKey = "registry"
Field Value
| Type | Description |
|---|---|
| string |
RegistryTokenCertSecretKey
Identifies the secret name where the harbor token cert is stored.
Declaration
public const string RegistryTokenCertSecretKey = "registry-token-cert"
Field Value
| Type | Description |
|---|---|
| string |
RemoteNodePackedImagePath
Returns the remote path on the virtual machine where the packed container images file will be uploaded when creating a node image.
Declaration
public const string RemoteNodePackedImagePath = "/tmp/container-images.tar.gz"
Field Value
| Type | Description |
|---|---|
| string |
RootDesktopPassword
The fixed SSO password for desktop clusters.
note
This isn't really a security risk because the desktop cluster cannot be reached from outside the computer because the cluster IP address is not routable.
Declaration
public const string RootDesktopPassword = "root"
Field Value
| Type | Description |
|---|---|
| string |
RootUser
The root Kubernetes context username for provisioned clusters.
Declaration
public const string RootUser = "root"
Field Value
| Type | Description |
|---|---|
| string |
SysAdminGID
The default host machine sysadmin group ID.
Declaration
public const int SysAdminGID = 1000
Field Value
| Type | Description |
|---|---|
| int |
SysAdminGroup
The default host machine sysadmin group.
Declaration
public const string SysAdminGroup = "sysadmin"
Field Value
| Type | Description |
|---|---|
| string |
SysAdminPassword
The default sysadmin account password baked into NEONKUBE base images. This will generally be changed to a secure password during cluster provisioning.
Declaration
public const string SysAdminPassword = "sysadmin0000"
Field Value
| Type | Description |
|---|---|
| string |
SysAdminUID
The default host machine sysadmin user ID.
Declaration
public const int SysAdminUID = 1000
Field Value
| Type | Description |
|---|---|
| int |
SysAdminUser
The default host machine sysadmin username.
Declaration
public const string SysAdminUser = "sysadmin"
Field Value
| Type | Description |
|---|---|
| string |
Properties
NeonKubeBranchRegistry
Returns the appropriate public container NEONKUBE registry to be used for the git branch the assembly was built from. This returns NeonKubeReleaseRegistry for release branches and NeonKubeStageRegistry for all other branches.
Declaration
public static string NeonKubeBranchRegistry { get; }
Property Value
| Type | Description |
|---|---|
| string |