docs: Add changelog and update role documentation
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Ansible Role: common
|
||||
|
||||
This role configures a baseline set of common configurations for Debian-based systems.
|
||||
This role configures a baseline set of common configurations for Debian-based systems, including time synchronization, essential packages, hostname, and specific developer tools.
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -11,33 +11,56 @@ None.
|
||||
Available variables are listed below, along with default values (see `vars/main.yml`):
|
||||
|
||||
```yaml
|
||||
# A list of common packages to install via apt.
|
||||
common_packages:
|
||||
- build-essential
|
||||
- curl
|
||||
- git
|
||||
- iperf3
|
||||
- neovim
|
||||
- rsync
|
||||
- smartmontools
|
||||
- sudo
|
||||
- systemd-timesyncd
|
||||
- tree
|
||||
- screen
|
||||
- bat
|
||||
- fd-find
|
||||
- ripgrep
|
||||
- nfs-common
|
||||
- open-iscsi
|
||||
- parted
|
||||
|
||||
# The hostname to configure.
|
||||
hostname: "new-host"
|
||||
|
||||
# A list of extra packages to install.
|
||||
extra_packages:
|
||||
- "htop"
|
||||
- "ncdu"
|
||||
- "stow"
|
||||
- "unzip"
|
||||
```
|
||||
|
||||
## Tasks
|
||||
|
||||
The role performs the following tasks:
|
||||
|
||||
1. **Configure Time**: Sets up `systemd-timesyncd` and timezone.
|
||||
2. **Configure Packages**: Installs the list of `common_packages`.
|
||||
3. **Configure Hostname**: Sets the system hostname.
|
||||
4. **Configure Extra-Packages**:
|
||||
- Installs `eza` (modern ls replacement).
|
||||
- Installs `bottom` (process viewer).
|
||||
- Installs `neovim` from AppImage and clones a custom configuration.
|
||||
5. **Configure Bash**: Sets up bash aliases and prompt.
|
||||
6. **Configure SSH**: Configures `sshd_config` for security.
|
||||
|
||||
## Dependencies
|
||||
|
||||
None.
|
||||
|
||||
## Example Playbook
|
||||
|
||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||
|
||||
```yaml
|
||||
- hosts: servers
|
||||
roles:
|
||||
- role: common
|
||||
hostname: "my-new-host"
|
||||
extra_packages:
|
||||
- "vim"
|
||||
- "curl"
|
||||
vars:
|
||||
hostname: "my-server"
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
@@ -7,7 +7,7 @@ This role sets up a Docker host, installs Docker, and configures it according to
|
||||
### General
|
||||
|
||||
- `docker_host_package_common_dependencies`: A list of common packages to be installed on the host.
|
||||
- Default: `nfs-common`, `firmware-misc-nonfree`, `linux-image-amd64`
|
||||
- Default: `nfs-common`
|
||||
- `apt_lock_files`: A list of apt lock files to check.
|
||||
- `arch`: The architecture of the host.
|
||||
- Default: `arm64` if `ansible_architecture` is `aarch64`, otherwise `amd64`.
|
||||
@@ -82,4 +82,4 @@ To use this role, include it in your playbook and set the required variables.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
|
||||
MIT
|
||||
|
||||
31
roles/edge_vps/README.md
Normal file
31
roles/edge_vps/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Edge VPS
|
||||
|
||||
(Work In Progress)
|
||||
|
||||
## Description
|
||||
|
||||
This role is currently a placeholder for configuring Edge VPS instances. It is intended to contain tasks for setting up and managing VPS hosts at the edge of the infrastructure.
|
||||
|
||||
## Requirements
|
||||
|
||||
None.
|
||||
|
||||
## Role Variables
|
||||
|
||||
None defined yet.
|
||||
|
||||
## Dependencies
|
||||
|
||||
None.
|
||||
|
||||
## Example Playbook
|
||||
|
||||
```yaml
|
||||
- hosts: all
|
||||
roles:
|
||||
- role: edge_vps
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
@@ -20,7 +20,6 @@ Available variables are listed below, along with default values (see `defaults/m
|
||||
The following tasks are performed by this role:
|
||||
|
||||
- **Install ArgoCD**: Creates the ArgoCD namespace and applies the installation manifests.
|
||||
- **Apply ArgoCD Ingress**: Applies an Ingress resource for the ArgoCD server. **Note:** The template file `ingress.yml.j2` is missing from the role.
|
||||
- **Apply ArgoCD CM**: Applies a ConfigMap with command parameters for ArgoCD.
|
||||
- **Apply ArgoCD repository**: Creates a Secret with Git repository credentials.
|
||||
- **Apply ArgoCD Root Application**: Creates a root Application resource for ArgoCD.
|
||||
|
||||
37
roles/node_exporter/README.md
Normal file
37
roles/node_exporter/README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Node Exporter
|
||||
|
||||
This role installs and configures the Prometheus Node Exporter on target hosts.
|
||||
|
||||
## Requirements
|
||||
|
||||
None.
|
||||
|
||||
## Role Variables
|
||||
|
||||
Available variables are listed below, along with default values (see `vars/main.yaml`):
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `version` | `latest` | The version of Node Exporter to install. |
|
||||
| `bind_port` | `9100` | The port Node Exporter will listen on. |
|
||||
| `serve` | `localhost` | The address to bind to. |
|
||||
| `options` | `""` | Additional command-line options for Node Exporter. |
|
||||
| `bin_path` | `/usr/local/bin/node_exporter` | Installation path for the binary. |
|
||||
|
||||
## Dependencies
|
||||
|
||||
None.
|
||||
|
||||
## Example Playbook
|
||||
|
||||
```yaml
|
||||
- hosts: all
|
||||
roles:
|
||||
- role: node_exporter
|
||||
vars:
|
||||
version: "1.5.0"
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user