aboutsummaryrefslogtreecommitdiff
path: root/alpine-ami.yaml
blob: 5991115011c58c0bcf2beb25cef65e00439432aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
variables:

  # NOTE:  Configuration is done with a 'variables.yaml' file.  If it doesn't
  # exist, default configuration is copied from 'variables.yaml-default'.

  # NOTE:  Changing alpine_release may require modifying 'make_ami.sh'.
  alpine_release: "3.8"


builders:
  - type: "amazon-ebssurrogate"

    ### Builder Instance Details

    region: "{{user `region`}}"
    subnet_id: "{{user `subnet`}}"
    security_group_id: "{{user `security_group`}}"
    instance_type: "t3.nano"
    associate_public_ip_address: "{{user `public_ip`}}"
    launch_block_device_mappings:
      - volume_type: "gp2"
        device_name: "/dev/xvdf"
        delete_on_termination: "true"
        volume_size: "{{user `volume_size`}}"
    ssh_username: "ec2-user"
    source_ami_filter:
      # use the latest Amazon Linux AMI
      filters:
        virtualization-type: "hvm"
        root-device-type: "ebs"
        architecture: "x86_64"
        name: "amzn-ami-hvm-*-x86_64-gp2"
      owners:
        - "137112412989"
      most_recent: "true"

    ### AMI Build Details

    ami_name: "{{user `ami_name_prefix`}}{{user `alpine_release`}}-r{{user `ami_release`}}{{user `ami_name_suffix`}}"
    ami_description: "{{user `ami_desc_prefix`}}{{user `alpine_release`}}-r{{user `ami_release`}}{{user `ami_desc_suffix`}}"
    ami_virtualization_type: "hvm"
    ami_root_device:
      source_device_name: "/dev/xvdf"
      device_name: "/dev/xvda"
      delete_on_termination: "true"
      volume_size: "{{user `volume_size`}}"
      volume_type: "gp2"
    encrypt_boot: "{{user `encrypt_ami`}}"
    ena_support: "true"
    sriov_support: "true"
    ami_groups: "{{user `ami_access`}}"
    ami_regions: "{{user `deploy_regions`}}"


provisioners:
  - type: "file"
    source: "nvme-ebs-links.sh"
    destination: "/tmp/"
  - type: "file"
    source: "nvme-ebs-mdev.conf"
    destination: "/tmp/"
  - type: "shell"
    script: "make_ami.sh"
    environment_vars:
      - "ALPINE_RELEASE={{user `alpine_release`}}"
    execute_command: 'sudo sh -c "{{ .Vars }} {{ .Path }} ''{{user `add_repos`}}'' ''{{user `add_pkgs`}}''"'