This repository has been archived on 2024-02-03. You can view files and clone it, but cannot push or open issues or pull requests.
flow-packer/main.jsonnet

57 lines
1.5 KiB
Text
Raw Normal View History

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),
],
},
}