Skip to content

Commit 73bed33

Browse files
committed
feat: Worker agent config
Signed-off-by: Devon Crouse <devon.crouse@oracle.com>
1 parent 23037d9 commit 73bed33

File tree

6 files changed

+52
-3
lines changed

6 files changed

+52
-3
lines changed

module-workers.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ module "workers" {
6060
max_pods_per_node = var.max_pods_per_node
6161
node_labels = var.worker_node_labels
6262
node_metadata = var.worker_node_metadata
63+
agent_config = var.agent_config
6364
platform_config = var.platform_config
6465
pod_nsg_ids = concat(var.pod_nsg_ids, var.cni_type == "npn" ? [try(module.network.pod_nsg_id, null)] : [])
6566
pod_subnet_id = try(module.network.pod_subnet_id, "") # safe destroy; validated in submodule

modules/workers/instance.tf

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,16 @@ resource "oci_core_instance" "workers" {
4646
}
4747

4848
agent_config {
49-
are_all_plugins_disabled = false
50-
is_management_disabled = false
51-
is_monitoring_disabled = false
49+
are_all_plugins_disabled = each.value.agent_config.are_all_plugins_disabled
50+
is_management_disabled = each.value.agent_config.is_management_disabled
51+
is_monitoring_disabled = each.value.agent_config.is_monitoring_disabled
52+
dynamic "plugins_config" {
53+
for_each = each.value.agent_config.plugins_config
54+
content {
55+
name = each.key
56+
desired_state = each.value
57+
}
58+
}
5259
}
5360

5461
create_vnic_details {

modules/workers/instanceconfig.tf

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ resource "oci_core_instance_configuration" "workers" {
1313
instance_type = "compute"
1414

1515
launch_details {
16+
agent_config {
17+
are_all_plugins_disabled = each.value.agent_config.are_all_plugins_disabled
18+
is_management_disabled = each.value.agent_config.is_management_disabled
19+
is_monitoring_disabled = each.value.agent_config.is_monitoring_disabled
20+
dynamic "plugins_config" {
21+
for_each = each.value.agent_config.plugins_config
22+
content {
23+
name = each.key
24+
desired_state = each.value
25+
}
26+
}
27+
}
28+
1629
availability_domain = element(each.value.availability_domains, 1)
1730

1831
# First value specified on pool, or null to select automatically

modules/workers/locals.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ locals {
1414
}
1515

1616
worker_pool_defaults = {
17+
agent_config = {
18+
are_all_plugins_disabled = false
19+
is_management_disabled = false
20+
is_monitoring_disabled = false
21+
plugins_config = {}
22+
}
1723
allow_autoscaler = false
1824
assign_public_ip = var.assign_public_ip
1925
autoscale = false

modules/workers/variables.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,3 +302,14 @@ variable "platform_config" {
302302
percentage_of_cores_enabled = optional(bool),
303303
})
304304
}
305+
306+
variable "agent_config" {
307+
default = null
308+
description = "Default agent_config for self-managed worker pools created with mode: 'instance', 'instance-pool', or 'cluster-network'. See <a href=https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/datatypes/InstanceAgentConfig for more information."
309+
type = object({
310+
are_all_plugins_disabled = bool,
311+
is_management_disabled = bool,
312+
is_monitoring_disabled = bool,
313+
plugins_config = map(string),
314+
})
315+
}

variables-workers.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,14 @@ variable "platform_config" {
220220
percentage_of_cores_enabled = optional(bool),
221221
})
222222
}
223+
224+
variable "agent_config" {
225+
default = null
226+
description = "Default agent_config for self-managed worker pools created with mode: 'instance', 'instance-pool', or 'cluster-network'. See <a href=https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/datatypes/InstanceAgentConfig for more information."
227+
type = object({
228+
are_all_plugins_disabled = bool,
229+
is_management_disabled = bool,
230+
is_monitoring_disabled = bool,
231+
plugins_config = map(string),
232+
})
233+
}

0 commit comments

Comments
 (0)