Giter Site home page Giter Site logo

ele-runners-terraform's Introduction

Terraform templates for kvm github runners

How to use

  • clone the repo
  • create your own NAME.tfvars with your variables override (see docs)
  • terraform init
  • terraform plan -var-file=NAME.tfvars to see the plan*
  • terraform apply -var-file=NAME.tfvars to update the infra (if needed)*

*This expects a terraform.tfstate with the infra state, otherwise you would be recreating the infra from scratch

This plan will create a number of VMs and connect them to github in order to server as CI runners. Should work for both x86 and aarch64 as long as the config is set properly (see arch input below)

Requirements

Name Version
libvirt ~>0.6
template ~>2.2

Providers

Name Version
libvirt 0.6.14
template 2.2.0

Resources

Name Type
libvirt_cloudinit_disk.commoninit resource
libvirt_domain.github_runner resource
libvirt_network.runner_network resource
libvirt_pool.runners resource
libvirt_volume.jeos resource
libvirt_volume.volume resource
template_file.user_data data source

Inputs

Name Description Type Default Required
github_token PAT token to use. This is used to auto obtain runner tokens. Use a short lived token (7 days) as its no necessary after the bootstrap string n/a yes
arch Arch to use string "x86_64" no
github_repo Github repo to add the runner to string "rancher/elemental-toolkit" no
memory Memory for each server number 4096 no
pool_dir Pool dir to store the VM data string "/data/vm" no
qemu_uri Qemu url string "qemu:///system" no
runner_version github runner version to use string "2.293.0" no
servers Number of servers to deploy number 1 no
vcpu Cpus for each server number 4 no

Outputs

Name Description
ips Pair of nodename:IP of created VMs

ele-runners-terraform's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.