Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Used in:
Used in:
NoChange represents the 1st case - no change is needed as the LB cluster is currently attached and the desired spec contains no changes.
AttachingLoadBalancer represents 2nd case - the K8s cluster previously didn't have an LB cluster attached and the ports needed to communicate with the API server were exposed. After attaching an LB cluster to the existing K8s cluster the ports were closed and are no longer accessible, and thus we need to change the API endpoint.
DetachingLoadBalancer represents 3rd. case - the K8s cluster had an existing LB cluster attached but the new state removed the LB cluster and thus the API endpoint needs to be changed back to one of the control nodes of the cluster.
EndpointRenamed represents the 4th. case - the K8s cluster has an existing LB cluster attached and also keeps it but the endpoint has changed in the desired state.
MoveEndpoint represents the 5th. case - the K8s cluster has an existing LB cluster attached, but it will be switched to a different LB cluster in the desired state.
Autoscaler configuration on per node pool basis.
Used in: , ,
Minimum number of nodes in node pool.
Maximum number of nodes in node pool.
Target size within the [Min, Max] range to which the number of nodes in the cluster should be matched againts to meet the compute demands.
Used in:
Used in:
Used in:
ClusterInfo holds general information about the clusters.
Used in: ,
Name of the cluster.
Random hash of the cluster.
Array of node pools this cluster is made of.
Used in:
Used in:
Config holds data for a single manifest.
Used in: ,
version of the config.
Config name - same as input manifest name.
Information related within a k8s context.
Client defined manifest.
Clusters parsed from the supplied manifest.
Used in:
Creates a new kubernetes cluster with the attached [LBcluster], if any.
Used in:
The desired state of the kuberenetes cluster to create. This field is required to be present.
The desired state of the LoadBalancers attached to the kubernetes cluster to create. This field is optional, if the kuberentes cluster does not have any loadbalacners.
DNS holds general information about the DNS records.
Used in: ,
DNS zone for the DNS records.
User specified hostname. (optional)
Provider for the DNS records.
The whole hostname of the DNS record.
alternative names for which A records will be created in addition to the hostname.
Deletes an existing kubernetes cluster along with its attached [LBcluster], if any.
Used in:
The current state of the kuberentes cluster to delete. This field is required
The current state of the loadbalancers to delete, that are attached to the kubernetes cluster. This field depends on the above [k8s] field and is required if the kuberentes cluster has any loadbalancers attached.
DynamicNodePool represents dynamic node pool used in cluster.
Used in:
Machine type of the nodes.
OS image of the nodes.
Storage disk size of the nodes.
Geograhical region of the nodes.
Datacentre zone for the nodes.
Number of the nodes in the node pool.
Provider configuarion of the node pool.
Autoscaler configuration. (optional)
MachineSpec configuration. (optional)
Cidr initially empty, will be set once the exising state is transferred.
Network Name with public IPs (required for Openstack)
Spot requests a discounted, pre-emptible (Spot) instance. Worker pools only. Currently supported on GCP, Verda, AWS, Azure, OCI.
Different error levels supported by each scheduled 'Work' in claudie.
Used in:
Error FATAL describes that whatever the operation/scheduled 'Work' failed in, no further work must be done on the state and whatever changes has been made, if any, must be reported back to be synced.
Error WARN describes that whatever the operation/scheduled 'Work' failed in, it may continue work on the state, even if partial changes were made into the state of the accepted 'Work' that is currently being processed. **Use with caution**, make sure that all of the function in the chain with this error level can handle partial state.
Used in:
Used in:
Used in:
Used in:
Used in:
InstallationProxy holds general information about a proxy used to build a K8s cluster.
Used in: ,
Proxy installation mode.
Proxy endpoint used to access the proxy.
NoProxy is a comma-separated list of values that will be added to the default list of NoProxies used by Claudie. The default no proxy list is: 127.0.0.1/8,localhost,cluster.local,10.244.0.0/16,10.96.0.0/12" Any values specified will be appended to the end of the default NoProxy list. This field only has an effect if the Proxy is turned on.
K8scluster represents a single kubernetes cluster specified in the manifest.
Used in: , , , ,
General info about the cluster.
Network range for the VPN.
Kubeconfig of the cluster.
Kubernetes version.
General information about a proxy used to build a K8s cluster.
Used in: ,
name represents the input manifest resource name in Kubernetes
namespace represents the input manifest resource namespace in Kubernetes
LBcluster represents a single load balancer cluster specified in the manifest.
Used in: , , , ,
General info about the cluster.
Array of Load balancer roles.
DNS information.
Kubernetes cluster name of the cluster this load balancer is attached to.
usedApiEndpoint signals which LB is actually used as the api endpoint. Claudie manifest validation does not allow for multiple API endpoints to be present, however. Internally claudie can deal with more loadbalancers that have the API role, this is due to the creation of intermediate representation which always add new infrastructure before making any further changes. To recognize which of them is actually used this field was added.
Used in: ,
MachineSpec further specifies the requested server type.
Used in:
Number of CPU cores.
Memory in MB.
Number of NVIDIA GPUs.
NVIDIA GPU accelerator type (required for GCP when using GPUs).
Used in: ,
Used in:
Node represents a single node from the node pool.
Used in: , , , ,
Name of the node.
Private IP of the node in the VPN.
Public IP of the node.
Type of the node.
Username of a user with root privileges. Also used in SSH connection
Status of the node.
Per-node SSH port. Overrides NodePool.sshPort when > 0. Used by shared-IP / NAT nodes (e.g. CloudRift) where each VM gets its own mapped SSH port. 0 means inherit the node pool's sshPort (which itself defaults to 22).
Per-node WireGuard endpoint port advertised to peers. Used when the host-mapped UDP port differs from the in-VM ListenPort (shared-IP / NAT nodes). 0 means use the default WireGuard listen port (51820).
NodePool represents a single node pool used in cluster.
Used in: , , , ,
Dynamic or Static node pool info.
Name of static node pool.
Array of nodes in this node pool.
Flag to differentiate between control and compute nodes.
User defined labels.
User defined taints.
User definded annotations.
SSH port for the nodes in this node pool. Default 0 means port 22.
Used in:
Preparing states that the node is not joined into the cluster yet but is in the creation process whether spawning the infrastructure or configuring it or simply pending to be scheduled for creation.
Joined states that the node's infrastructure is spawned and configured and was successfully joined into the cluster.
MarkedForDeletion states that the nodes will at some point in the future be deleted from the current state of the cluster, Depending on the target size of the nodepool the node may be replaced by claudie or may simply be deleted.
NodeType specifies the type of the node.
Used in:
Worker/Compute node.
Master/Control node.
Master node, which is also an API endpoint.
Used in:
Used in:
Used in:
Used in: ,
= 5; deprecated hetznerdns.
Role represents a single loadbalancer role from the manifest.
Used in: ,
Name of the role.
Protocol that load balancer uses to forward traffic. ["tcp", "udp"]
Port that load balancer will forward from.
Port that load balancer will forward to.
Type of the role.
Targeted nodes in Kubernetes clusters.
Additional settings for the role.
Used in: ,
required port for the envoy admin interface, on change will issue restart of the envoy proxy.
RoleType specifies the type of the role.
Used in: ,
API server load balancer.
Ingress load balancer.
Used in:
Used in:
Used in:
Used in:
Used in: , , , , , , ,
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
StaticNodePool represents static node pool used in cluster.
Used in:
Map of keys for each static node in [<Node Endpoint>]<Key> form.
Enum used to replace data not present in static nodepools.
Taint defines a custom defined taint for the node pools.
Used in: ,
Taint key.
Taint value.
Taint effect.
Used in: ,
Used in:
Pipeline stages of the task through which it has to pass to be considered as done.
Index into the currently to be worked on pipeline stage.
LowerPriority Task is an optional field that is set whenever a higher priority task should be scheduled but the lower priority task should immediately follow after the higher priority task finishes. Only Higher priority tasks will have this field set. It is possible to create a chain of tasks with this that would follow based on priority until `nil` is hit.
If the Error.Kind is FATAL no useful information is stored in the result. Otherwise, if error is not set or PARTIAL, the result will contain valid data,.
ClearState specifies cluster IDs which should be cleared as changes processed by a scheduled task destroyed the infrastructure. Any non-nil value signals an update that should be done.
Used in:
If the kuberentes cluster is specified than all of its loadbalancers should be deleted even if they're not specified within this message.
ID of the loadbalancers that should be cleared.
Used in:
Used in:
None specifies that nothing should be done as a result of processing a task other than acknowledging that the task was processed, and thus moving to next task, if any.
Used in:
(message has no fields)
UpdateState specifies the current state should be updated as changes may have been done to it. All of the values are optionals and the receiving end should make sense of them. Any non-nil value signals an update that should be handled.
Used in:
If the [k8s] field is set then its current state should be merged/replaced with the state in this message.
Updates the loadbalancers that are attached to the [k8s] cluster. The loadbalancers in this message should only update existing matching loadbalancers and or add newly created ones. If any loadbalancers are missing while they're present in the current state they should not be deleted, as for that there is an explicit task result [ClearState].
Used in:
Unreachable are the nodes of the kubernetes cluster and all of its loadbalancer clusters which are unreachable. If this is included in some message, one should omit connecting to those nodes during the processing of the pipeline, if relevant.
Used in: , , , ,
Used in:
Used in:
Used in:
State that gets continiously updated as the task gets processed.
Additional information while the [Update] message is passed through the build pipeline to give context what has been scheduled and what to process.
Terraformer messages to consume
Ansibler message to consume
Kuber messages to consume
Consumed messages.
Deletions.
Utilities.
Used in:
Used in:
Used in:
Used in:
AnsiblerReplaceProxySettings is a message that once processed by the Ansibler service a result is send back to the Manager, it will consume the message and further stages will only have a [ReplacedProxySettings] message to process. New, "desired", state needs only to be present in the ansibler stage and all other services need to only see what has been done which will already be present in the [State] of the [Update] message.
Used in:
Used in:
updated settings.
AnsiblerReplaceTargetPools is a message that once processed by the Ansibler service a result is send back to the Manager, it will consume the message and further stages will only have a [ReplacedTargetPools] message to process. New, "desired", state needs only to be present in the ansibler stage and all other services need to only see what has been done which will already be present in the [State] of the [Update] message.
Used in:
Role to target pools
Used in:
ApiEndpoint works with the [State] that is part of the [Update] message thus no "message consuming" needs to happen.
Used in:
ApiPortOnCluster works with the [State] that is part of the [Update] message thus no "message consuming" needs to happen.
Used in:
DeleteLoadBalancer works with the [State] that is part of the [Update] message, thus no "message consuming" needs to happen.
Used in:
Unreachable infrastructure that is optionally set for the deletion process, in which presense, connecting to the unreachable infrastructure should be omitted.
DeleteLoadBalnacerRoles works with the [State] that is part of the [Update] message, thus no "message consuming" needs to happen.
Used in:
Used in:
Unreachable infrastructure that is optionally set for the deletion process, in which presense, connecting to the unreachable infrastructure should be omitted.
Used in:
The nodepool which was modified with the deletion of the nodes, which is still present in the [State] passed along the [Update] msg.
Nodes that were deleted.
Map of keys for each node. Will only be set if the partially deleted nodes were part of a static nodepool. [<Node Endpoint>]<Key>.
Used in:
The nodepool that was deleted from the current state along with all of its nodes.
Used in:
Unreachable infrastructure that is optionally set for the deletion process, in which presense, connecting to the unreachable infrastructure should be omitted.
id of the loadbalancer.
Used in:
The nodepool which was modified with the deletion of the nodes, which is still present in the [State] passed along the [Update] msg.
The nodes that were deleted.
Map of keys for each node. Will only be set if the partially deleted nodes were part of a static nodepool. [<Node Endpoint>]<Key>.
Used in:
The nodepool that was deleted from the current state along with all of its nodes.
K8sOnlyApiEndpoint works with the [State] that is part of the [Update] message, thus no "message consuming" needs to happen.
Used in:
KuberDeleteK8sNodes is a message that is processed by the Kuber service and a result is send back to the Manager, it will consume the message and further stages will only have a [DeletedK8sNodes] message to process. Old, "current", state needs to only be present in the Kuber stage and all other services need to only see the changes after the deletion for reconciliation which will already be present in the [State] of the [Update] message.
Used in:
Whether the NodePool itself was deleted from the cluster. Meaning that all nodes of the nodepool were deleted. Note that with autoscaling its possible to have a zero sized nodepool so this is only set if the nodepool is removed from the cluster.
Affected Nodepool.
Nodes that were deleted.
Unreachable infrastructure that is optionally set for the deletion process, in which presense, connecting to the unreachable infrastructure should be omitted.
KuberPatchNodes is a message that once processed by the Kuber service and a result is send back to the Manager, it will consume the message and further stages will only have a [PatchedNodes] message to process. New, "desired", state needs only to be present in the kuber stage and all other services need to only see what has been done which will already be present in the [State] of the [Update] message.
Used in:
Used in:
Used in:
Used in:
Used in: ,
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
(message has no fields)
Used in:
(message has no fields)
Used in:
Used in:
(message has no fields)
Used in:
Used in:
Used in:
Role to target pools.
Used in:
State is the current state as known by the Manager service that is continiously updated and merged into the [Update] message as it traverses the build pipeline.
Used in:
The state of the kubernetes cluster to update.
The state of the loadbalancers to update.
TerraformerAddK8sNodes is a message that is processed by the Terraformer service and a result is send back to the Manager, it will consume the message and further stages will only have a [AddedK8sNodes] message to process. New, "desired", state needs only to be present in the Terraformer stage and all other services need to only see what has been done which will already be present in the [State] of the [Update] message.
Used in:
Used in:
The nodepool which is to be modified with the addition of new nodes, which is already present in the [State] passed along the [Update] msg.
Nodes to be added.
Used in:
The new nodepool which is to be added to the [State] passed along the [Update] msg.
TerraformerAddLoadBalancer is a message that once processed by the Terraformer service and a result is send back to the Manager, the manager will consume the message further stages will only have a [AddedLoadBalancer] message to process. New, "desired", state needs only to be present in the terraformer stage and all other services need to only see what has been done and ocasionally index the loadbalancer, which will already be present in the [State] of the [Update] message.
Used in:
TerraformerAddLoadBalancerNodes is a message that is processed by the Terraformer service and a result is send back to the Manager, it will consume the message and further stages will only have a [AddedLoadBalancerNodes] message to process. New, "desired", state needs only to be present in the Terraformer stage and all other services need to only see what has been done which will already be present in the [State] of the [Update] message.
Used in:
Id of the loadbalancer.
Used in:
The nodepool which is to be modified with the addition of new nodes, which is already present in the [State] passed along the [Update] msg.
Nodes to be added.
Used in:
The new nodepool which is to be added to the [State] passed along the [Update] msg.
TerraformerAddLoadBalancerRoles is a message that is processed by the Terraformer service and a result is send back to the Manager, it will consume the message and further stages will only have a [AddedLoadBalancerRoles] message to process. New, "desired", state needs only to be present in the Terraformer stage and all other services need to only see what has been done which will already be present in the [State] of the [Update] message.
Used in:
TerraformerDeleteLoadBalancerNodes is a message that is processed by the Terraformer service and a result is send back to the Manager, it will consume the message and further stages will only have a [DeletedLoadBalancerNodes] message to process. Old, "current", state needs to only be present in the Terraformer stage and all other services need to only see the changes after the deletion for reconciliation which will already be present in the [State] of the [Update] message.
Used in:
Id of the loadbalancer.
Whether the NodePool itself was deleted from the cluster. Meaning that all nodes of the nodepool were deleted.
Affected Nodepool.
Nodes that were deleted.
Unreachable infrastructure that is optionally set for the deletion process, in which presense, connecting to the unreachable infrastructure should be omitted.
Does exactly the same thing as [TerraformerMoveNodePoolToAutoscaled] but instead moves it to a fixed size nodepool.
Used in:
TerraformerMoveNodePoolToAutoscaled is a message that once processed by the Terraformer service a result is send back to the Manager, the manager will consume the message and further stages will only have a [MovedNodePoolToAutoscaled] message to process. New, "desired", state needs to only be present in the terraformer stage and all other services need to only see what has been done and ocasionally index the performed change on the nodepool which will already be present in the [State] of the [Update] message.
Used in:
TerraformerReplaceDns is a message that once processed by the Terraformer service and a result is send back to the Manager, it will consume the message and further stages will only have a [ReplacedDns] message to process. New, "desired", state needs only to be present in the terraformer stage and all other services need to only see what has been done and occasionally index the LoadBalancer, which will already be present in the [State] of the [Update] message.
Used in:
Loadbalancer ID to which the new [Dns] is going to created for.
The new dns to replace the old within [LoadBalancerId].
If the [Dns] is part of a Api loadbalancer this field will be set to give extra information for when changing the Api endpoint from the old to the new.
Used in:
updated settings.
UpgradeVersion works with the [State] that is part of the [Update] message, thus no "message consuming" needs to happen.
Used in:
Used in:
The message that is used for the Message Queue.
The task to be worked on.
What exactly should be done with the task.
Used in:
additional information describing the state.
Information about previously finished workflows.
Ticks until refresh are the number of ticks until a refresh of the infrastructure is to be scheduled. Once this value reaches 0 the refresh of the infrastructure should be scheduled and this value should be reset back to its original starting value.
Used in: ,
DONE indicates that the workflow for a scheduled [Task] has finished.
ERROR indicates that an error occurred while processing the scheduled [Task]
IN_PROGRESS indicates that the [Task] is currently being worked on.
WAIT_FOR_PICKUP indicates that new a new [Task] was created or moved to the next stage to be worked on.