Mentions légales du service

Skip to content
Snippets Groups Projects

packer

This repository contains Packer specifications for some ci.inria.fr templates.

All templates share the following properties:

  • there is a user ci, with password ci, with /builds for home directory,
  • there is an SSH server, with keys generated on first boot, which allows password-based authentication,
  • build-essential (make, gcc, ...) is installed,
  • gitlab-runner is installed, and gitlab-runner UID/GID are set to 995/995,
  • NFS client is installed,
  • the root partition is resized automatically at first boot to fill the actual root disk size. The initial root partitions are intentionally small (3 GB for Alpine and 9 GB for Ubuntu) to allow users to create VMs with small footprint,
  • motd-news is disabled,
  • /etc/update-motd.d/30-security-warning to ask the user to change the default passwords.

Ubuntu variants

Ubuntu variants share the following properties:

  • cloud-init is enabled with CloudStack as data source,
  • default-jre package is installed.

cloud-init is used for automatic installation and is activated again to run when virtual machines created from these templates are instantiated. cloud-init is responsible for regenerating SSH server keys.

To activate cloud-init again after automatic installation, the following steps are performed:

  • remove the arguments autoinstall 'ds=nocloud-net;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/' from the kernel command line in /boot/grub/grub.cfg: these arguments are inherited from the automatic installation setup and force cloud-init to consider only the data source nocloud-net,
  • run sudo cloud-init clean --machine-id.

ci.inria.fr/ubuntu-24.04.1/amd64

This variant is based on the ISO image Ubuntu 24.04.1 (Noble) Live Server for amd64.

ci.inria.fr/ubuntu-23.04/amd64

This variant is based on the ISO image Ubuntu 23.04 (Lunar) Live Server for amd64.

ci.inria.fr/ubuntu-22.04/amd64

This variant is based on the ISO image Ubuntu 22.04.2 (Jammy) Live Server for amd64.

Alpine variants

ci.inria.fr/alpine-3.18.2/amd64

This template is based on the ISO image Alpine standard 3.18.2 for x86_64.

The following packages are pre-installed: docker, openrc, sudo, curl, bash, shadow, git, gcompat. The package openjdk17-jre is installed in this variant as well.

gitlab-runner is installed.

cloud-init is not installed: I didn't manage to make cloud-init work with Alpine Linux.

ci.inria.fr/alpine-3.18.2-runner/amd64

This variant is similar to ci.inria.fr/alpine-3.18.2/amd64, but without openjdk17-jre, to save 190 MB disk space.