#Flavour kind build { name = "kind" description = <" ] ssh_clear_authorized_keys = true } source "source.vmware-vmx.nuo" { output_directory = "${var.output_dir}/${var.version}/provisionned/vmware/nuo-harbor" vm_name = "${local.output_name}-${var.version}-nuo-harbor.img" source_path = "${var.output_dir}/${var.version}/base/${local.output_name}-${var.version}.img.vmx" boot_command = [ "" ] ssh_clear_authorized_keys = true vmx_data_post = { "memsize" = "8192", "numvcpus" = "4", } } // Install templater and bootstraper provisioner "shell" { script = "${local.locations.provisionning}/templater-install.sh" } // Copy configuration values on the image provisioner "shell" { inline = [ "sh -cx 'mkdir -p ${local.builder_config.TemplateDir}'", "sh -cx 'mkdir -p ${local.builder_config.ValueDir}'" ] } // Copy configuration templates to the image provisioner "file" { destination = "${local.builder_config.TemplateDir}/" source = "${local.locations.templates}/conf/${build.name}/" } // Copy configuration values on the image provisioner "file" { destination = "${local.builder_config.ValueDir}/${build.name}.json" content = "${jsonencode(local.Kind)}" } // Generate default configuration for kind provisioner "shell" { max_retries = 3 inline = [ "sh -cx '/usr/local/bin/btr -c ${local.builder_config.ValueDir}/ -t ${local.builder_config.TemplateDir}'" ] } // Complete kind install provisioner "shell" { expect_disconnect = true max_retries = 6 script = "${local.locations.provisionning}/${build.name}.sh" } // Copy ssh Cadoles keys provisioner "file" { destination = "/tmp" source = "${local.locations.provisionning}/ssh/cadoles/" } // Copy CNOUS SSH keys provisioner "file" { destination = "/tmp" source = "${local.locations.provisionning}/ssh/cnous/" } provisioner "shell" { inline = [ "sh -cx 'cat /tmp/*.pub >> /root/.ssh/authorized_keys'", "sh -cx 'chmod -R 600 /root/.ssh/authorized_keys'" ] } provisioner "shell" { inline = [ "service docker start", "service containerd start", "sleep 5", "kubeadm config images pull" ] } }