Module: LanguageOperator::Constants::KubernetesLabels

Defined in:
lib/language_operator/constants/kubernetes_labels.rb

Overview

Kubernetes label constants and builder methods for consistent metadata across all resources

Constant Summary collapse

NAME =

Standard Kubernetes labels

'app.kubernetes.io/name'
COMPONENT =
'app.kubernetes.io/component'
MANAGED_BY =
'app.kubernetes.io/managed-by'
PART_OF =
'app.kubernetes.io/part-of'
VERSION =
'app.kubernetes.io/version'
PROJECT_NAME =

Language Operator specific values

'language-operator'
MANAGED_BY_AICTL =
'langop'
COMPONENT_AGENT =
'agent'
COMPONENT_TEST_AGENT =
'test-agent'
TOOL_LABEL =

Custom Language Operator labels

'langop.io/tool'
LEARNING_DISABLED_LABEL =
'langop.io/learning-disabled'
KIND_LABEL =
'langop.io/kind'
CLUSTER_LABEL =
'langop.io/cluster'

Class Method Summary collapse

Class Method Details

.agent_labels(agent_name) ⇒ Hash

Build standard agent labels for deployments and pods

Parameters:

  • The name of the agent

Returns:

  • Hash of labels for Kubernetes resources



31
32
33
34
35
36
37
38
# File 'lib/language_operator/constants/kubernetes_labels.rb', line 31

def agent_labels(agent_name)
  {
    NAME => agent_name,
    COMPONENT => COMPONENT_AGENT,
    MANAGED_BY => MANAGED_BY_AICTL,
    PART_OF => PROJECT_NAME
  }
end

.agent_selector(agent_name) ⇒ String

Build a label selector string for finding agent pods

Parameters:

  • The normalized agent name

Returns:

  • Label selector string for kubectl commands



57
58
59
# File 'lib/language_operator/constants/kubernetes_labels.rb', line 57

def agent_selector(agent_name)
  "#{NAME}=#{agent_name}"
end

.cluster_management_labelsHash

Common cluster management labels

Returns:

  • Hash of labels for cluster management resources



72
73
74
75
76
# File 'lib/language_operator/constants/kubernetes_labels.rb', line 72

def cluster_management_labels
  {
    MANAGED_BY => MANAGED_BY_AICTL
  }
end

.test_agent_labels(name) ⇒ Hash

Build test agent labels for temporary test pods

Parameters:

  • The name of the test agent

Returns:

  • Hash of labels for test Kubernetes resources



44
45
46
47
48
49
50
51
# File 'lib/language_operator/constants/kubernetes_labels.rb', line 44

def test_agent_labels(name)
  {
    NAME => name,
    COMPONENT => COMPONENT_TEST_AGENT,
    MANAGED_BY => MANAGED_BY_AICTL,
    PART_OF => PROJECT_NAME
  }
end

.tool_selector(tool_name) ⇒ String

Build a label selector string for finding tool pods

Parameters:

  • The tool name

Returns:

  • Label selector string for kubectl commands



65
66
67
# File 'lib/language_operator/constants/kubernetes_labels.rb', line 65

def tool_selector(tool_name)
  "#{TOOL_LABEL}=#{tool_name}"
end