ansible playbook for installing + managing gentoo
  • HCL 27%
  • Shell 21.3%
  • Jinja 19.5%
  • Go Template 14.8%
  • Dockerfile 14.4%
  • Other 3%
Find a file
2025-03-18 12:01:12 -06:00
inventory fingers crossed 2024-09-15 13:37:41 -06:00
packer -distcc +plymouth-themes ~mirrorselect 2025-03-12 21:06:54 -06:00
playbooks a lot 2025-03-10 11:02:45 -06:00
roles ~steam use-flag 2025-03-18 12:01:12 -06:00
.gitignore let's actually do this 2024-07-06 11:55:14 -06:00
.gitmodules init 2024-06-11 21:45:56 -06:00
.justfile -distcc +plymouth-themes ~mirrorselect 2025-03-12 21:06:54 -06:00
ansible.cfg a lot 2025-03-10 11:02:45 -06:00
LICENSE init 2024-06-11 21:45:56 -06:00
local.yml a lot 2025-03-10 11:02:45 -06:00
README.md init 2024-06-11 21:45:56 -06:00
requirements.yml kernel-bin for a start 2024-08-05 21:39:19 -06:00
Vagrantfile init 2024-06-11 21:45:56 -06:00

Kayenne

An Ansible Playbook for Managing Gentoo Servers + Workstations + K3S Custer

Key Features

  • Full Ansible Config - the ability to create/manage linux servers and the K3S Custers
  • Virtual Development Env - using vagrant, has the ability to run on any machine!
  • a Packer Image build (WIP) - Ability to create cloud images to deploy everywhere!
  • Roles, Roles, and More Roles - lots of roles for all of my linux/windows/server needs
  • A Justfile - making some of the more repetitive/tedious commands a little easier

First time? 🪢

BEFORE BEGINNING this guide assumes you have a basic knowledge of ssh with how to connect to servers and ansible with how to run playbooks and roles. To clone and run this application, you'll need Git, Ansible, OpenSSH, and Vagrant installed on your computer.

There are a few ways to use this repo, each with there own dedicated sections:

  • The Justfile:

    Some command that'd be useful in general while using this ansible-playbook

  • Ansible Pull (💻 <= ☁️)):

    The Git Repo Controls your Computer(s)/Server(s) via Ansible Pull

  • Classic Ansible (💻 => ☁️️️☁️️️☁️️️)):

    Your Computer Controls your Server(s) via Ansible

  • Vagrant (💻 => 💽 💽 💽):

    Your Computer Controls Vagrant VM's via Ansible

  • License

    need to protect my work some how ¯_(ツ)_/¯

That's it! you're already an ansible pro (well not quiet yet). I hope this helps on your automation journey.

The Justfile

I've gone ahead and created a justfile to make some commands easier to run. Once you've installled the just runner, you should be able to list all runners using the command:

$ just

these are constantly changing, so I won't provide too much detail

Ansible Pull

this one is the simplest of the three, ansible pull does what it says, right in the name ;) we just pull from out git repo and WAM it's installed! DO NOTE you need to have ansible installed (obvi) but you you don't need anything else!

$ ansible-pull -o -U https://gitlab.com/imperialcoder/kayenne.git 

Classic Ansible

This is the classic usage for ansible where we have one computer managing a whole fleet of servers. this is great if you want to pick and choose what roles/playbooks to run on each of the servers.

# Clone this Repository
$ git clone https://gitlab.com/imperialcoder/kayenne.git && cd kayenne

# Create an Ansible SSH key
$ just ssh create

# Create an Ansible Inventory File with all of your servers
$ echo -e "192.168.1.1\n google.com" >> inventory/remote

# Bootstrap newly added servers
$ just play bootstrap -k

# Lets test is out!
$ ansible all -m ping

Vagrant

This is the playground environment (just in case you don't have a few servers or want to try something out) totally free to trash and gunk up with whatever your heart desires :) it's a great starting point to learn and try out ansible.

# Clone this Repository
$ git clone https://gitlab.com/imperialcoder/kayenne.git && cd kayenne

# Create an Ansible SSH key
$ just ssh create

# Setup Vagrant
$ just vagrant reset

# build + run vagrant
$ just vagrant up

# Test it out!
$ ansible all -m ping

License

GPLV3


jesseg.co  ·  GitLab @imperialcoder  ·