Dan Anglin
9dc8490404
This will allow us to write the configuration for multiple images without the need to duplicate most of the source.
56 lines
1.5 KiB
Text
56 lines
1.5 KiB
Text
local provisioners = import 'jsonnet/lib/provisioners.libsonnet';
|
|
local type = std.extVar('type');
|
|
|
|
{
|
|
local images = {
|
|
lxd: {
|
|
local lxd_base_image = 'images:alpine/3.15',
|
|
local lxd_container_name = 'flow-infra-lxd-packer-builder',
|
|
local lxd_image_name = 'flow-infra-local',
|
|
source: {
|
|
lxd: {
|
|
flow_infra: {
|
|
container_name: lxd_container_name,
|
|
image: lxd_base_image,
|
|
publish_properties: {
|
|
description: 'LXD image for Flow Infrastructure Development',
|
|
},
|
|
virtual_machine: false,
|
|
},
|
|
},
|
|
},
|
|
|
|
build_source_ref: {
|
|
'lxd.flow_infra': {
|
|
name: lxd_image_name,
|
|
output_image: lxd_image_name,
|
|
},
|
|
},
|
|
},
|
|
|
|
linode: {
|
|
source: {},
|
|
build_source_ref: {},
|
|
},
|
|
},
|
|
|
|
source: images[type].source,
|
|
|
|
build: {
|
|
local flow_username = 'flow',
|
|
local flow_gid = 22379,
|
|
local flow_uid = 22379,
|
|
local root_setup_directory = '/etc/flow/setup',
|
|
|
|
source: images[type].build_source_ref,
|
|
|
|
provisioner: [
|
|
provisioners.installBash,
|
|
provisioners.runSetup(flow_username, flow_gid, flow_uid, root_setup_directory),
|
|
provisioners.uploadDockerCompose(root_setup_directory),
|
|
provisioners.uploadBootstrapScript(root_setup_directory),
|
|
provisioners.uploadTraefikTemplates(root_setup_directory),
|
|
provisioners.uploadGiteaTemplates(root_setup_directory),
|
|
],
|
|
},
|
|
}
|