-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
76c59d9
commit 97be66c
Showing
1 changed file
with
38 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |