Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
perryflynn committed Apr 13, 2024
1 parent 76c59d9 commit 97be66c
Showing 1 changed file with 38 additions and 1 deletion.
39 changes: 38 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,39 @@
# iac
Infrastructure as Code

Infrastructure as Code.

This project installs and configures Arch Linux or Debian operating systems fully automated.

> ⚠ This project is in beta state and all scripts referencing hard coded to the `dev` branch.
Features:

- Uses `ansible-pull` for apply configurations by hostname
- Build the installer ISO image
- Install a minimal Arch Linux OS
- Install a minimal Debian OS
- Configure the Arch Linux OS with a graphical environment

## archiso

[Archiso](https://wiki.archlinux.org/title/archiso) is used as a base. [archiso/](./archiso/) contains
a Dockerfile and some scripts to build a custom Arch Linux installer iso with additional scripts.

- `./archiso/build.sh` builds the container image
- `./archiso/pack.sh` runs the container image to build the Arch Linux ISO image

## How to install a OS

- Build the Arch Linux ISO image
- Boot ISO in a virtual machine or on a physical system
- Ensure that the `diskdev` and `bootmode` are correct in the [inventoy](./inventory/defaults.yml)
- Run installer
- Debian: `perrys-bootstrapper.sh --flavor debian`
- Arch Linux: `perrys-bootstrapper.sh --flavor archlinux`
- Reboot into the new OS

## Configure Arch Linux OS

Run `perrys-ansible-apply.sh` as root.

It pull automatically pull the correct playbook from this repo by the hostname of the operating system.

0 comments on commit 97be66c

Please sign in to comment.