Skip to content
Snippets Groups Projects
user avatar
Sean Newman authored
5e931450
History
Name Last commit Last update
.gitlab-ci.yml
README.md
clouds.yaml
images.yaml

Cloud Images

Pulling cloud images into OpenStack using Image Shepherd.

This repository runs regularly scheduled Image Shepherd jobs via GitLab CI. These scheduled jobs are executed on a private GitLab runner on OpenStack.

The instance is named cloud-images-runner and is running in the snewman project at the time this README was written. This was because I was unable to allocate any more floating IPs, and there was no other project that I would be able to access a new VM on.

I ran the following commands to get the private runner up and running:

sudo apt update
sudo apt upgrade -y
curl -fsSL get.docker.com | sh
sudo shutdown -r 0

# After reboot
mkdir config
sudo docker run -d --name gitlab-runner --restart always \
  -v /home/ubuntu/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
sudo docker run --rm -it -v /home/ubuntu/config:/etc/gitlab-runner gitlab/gitlab-runner register
sudo docker restart gitlab-runner

Additionally, I created the clouds.yaml file by creating a new Application Credential in the ops project named image-shepherd with the _member_ and admin roles. The application credential ID and application credential secret were removed from the file and added to the repository as secrets.