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 |