@@ -102,17 +102,34 @@ data "cloudinit_config" "operator" {
102102 merge_type = local. default_cloud_init_merge_type
103103 }
104104
105+
106+ # OCI CLI installation from repo
107+ dynamic "part" {
108+ for_each = var. install_oci_cli_from_repo ? [1 ] : []
109+ content {
110+ content_type = " text/cloud-config"
111+ content = jsonencode ({
112+ runcmd = [
113+ " curl -LO https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh" ,
114+ " su -c 'bash /install.sh --accept-all-defaults' - ${ var . user } " ,
115+ ]
116+ })
117+ filename = " 20-oci_cli_from_repo.yml"
118+ merge_type = local. default_cloud_init_merge_type
119+ }
120+ }
121+
105122 # kubectl installation
106123 dynamic "part" {
107- for_each = var. install_kubectl_from_repo ? [] : [1 ]
124+ for_each = var. install_kubectl_from_repo ? [1 ] : []
108125 content {
109126 content_type = " text/cloud-config"
110127 content = jsonencode ({
111128 runcmd = [
112129 " CLI_ARCH='${ local . arch_amd } '" ,
113130 " if [ \"$(uname -m)\" = ${local.arch_arm} ]; then CLI_ARCH= 'arm64'; fi" ,
114131 " curl - LO https: // dl.k8s.io/release/${var.kubernetes_version}/bin/linux/$CLI_ARCH/kubectl",
115- " install -o root -g root -m 0755 kubectl /usr/bin/kubectl"
132+ " install -o root -g root -m 0755 kubectl /usr/bin/kubectl" ,
116133 ]
117134 })
118135 filename = " 20-kubectl.yml"
@@ -137,6 +154,23 @@ data "cloudinit_config" "operator" {
137154 }
138155 }
139156
157+ # Helm installation from repo
158+ dynamic "part" {
159+ for_each = var. install_helm_from_repo ? [1 ] : []
160+ content {
161+ content_type = " text/cloud-config"
162+ content = jsonencode ({
163+ runcmd = [
164+ " curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3" ,
165+ " chmod 700 get_helm.sh" ,
166+ " ./get_helm.sh" ,
167+ ]
168+ })
169+ filename = " 20-helm_from_repo.yml"
170+ merge_type = local. default_cloud_init_merge_type
171+ }
172+ }
173+
140174 # Optional Helm installation bashrc
141175 dynamic "part" {
142176 for_each = var. install_helm ? [1 ] : []
@@ -166,7 +200,7 @@ data "cloudinit_config" "operator" {
166200 content_type = " text/cloud-config"
167201 content = jsonencode ({
168202 runcmd = [
169- " curl -LO https://github.com/derailed/k9s/releases/download/v0.27.2 /k9s_Linux_amd64.tar.gz" ,
203+ " curl -LO https://github.com/derailed/k9s/releases/download/v0.40.5 /k9s_Linux_amd64.tar.gz" ,
170204 " tar -xvzf k9s_Linux_amd64.tar.gz && mv ./k9s /usr/bin/k9s" ,
171205 ]
172206 })
@@ -196,7 +230,7 @@ data "cloudinit_config" "operator" {
196230
197231 # stern installation
198232 dynamic "part" {
199- for_each = var. install_kubectx ? [1 ] : []
233+ for_each = var. install_stern ? [1 ] : []
200234 content {
201235 content_type = " text/cloud-config"
202236 content = jsonencode ({
@@ -311,6 +345,7 @@ data "cloudinit_config" "operator" {
311345}
312346
313347resource "null_resource" "await_cloudinit" {
348+ count = var. await_cloudinit ? 1 : 0
314349 connection {
315350 bastion_host = var. bastion_host
316351 bastion_user = var. bastion_user
@@ -329,4 +364,4 @@ resource "null_resource" "await_cloudinit" {
329364 provisioner "remote-exec" {
330365 inline = [" cloud-init status --wait &> /dev/null" ]
331366 }
332- }
367+ }
0 commit comments