35e6b139fc
ci / validate (push) Failing after 1m8s
Rework portfolio around Linux operations, Zabbix monitoring, migration validation, and ELK/Grafana log observability. Add AAP-style LVM resize workflow, Zabbix server/proxy/agent automation assets, Linux/AIX monitoring templates, and updated validation CI.
93 lines
3.2 KiB
Markdown
93 lines
3.2 KiB
Markdown
# Linux Operations Automation
|
|
|
|
## Problem
|
|
|
|
Linux infrastructure work often starts as ticket-driven operations: deploy a server, patch it, harden SSH, check a failed service, expand a filesystem, and leave evidence that the change was safe. These tasks need automation that is readable, repeatable, and cautious enough for production-style environments.
|
|
|
|
## CV Relevance
|
|
|
|
This project maps directly to Linux/Unix operations, server deployment, patching, troubleshooting, and storage/LVM work from enterprise infrastructure environments. The LVM resize workflow is written in an AAP-style shape: explicit survey variables, dry-run defaults, pre-checks, resize actions, and before/after evidence.
|
|
|
|
## What This Project Demonstrates
|
|
|
|
- Ansible playbooks for common Linux node lifecycle operations.
|
|
- Role-based task organization with clear defaults and handlers.
|
|
- LVM filesystem expansion workflow suitable for Ansible Automation Platform job templates.
|
|
- Safe simulation scripts for failure, service, and scaling exercises.
|
|
- Reviewer-friendly evidence in `examples/` without relying on a live enterprise lab.
|
|
|
|
## Architecture
|
|
|
|
```text
|
|
Operator -> Make targets -> Ansible inventory -> Playbooks/Roles -> Linux nodes
|
|
-> Simulation scripts -> Example evidence
|
|
-> AAP-style LVM workflow -> Before/after report
|
|
```
|
|
|
|
Core components:
|
|
|
|
- `inventory/hosts.ini` defines realistic host groups.
|
|
- `playbooks/` contains provision, patch, harden, and decommission workflows.
|
|
- `playbooks/lvm_resize.yml` contains the storage expansion workflow.
|
|
- `roles/` contains the implemented Ansible roles.
|
|
- `scripts/` provides safe simulation helpers.
|
|
- `docker-compose.yml` is a lightweight local scaffold, not a production lab.
|
|
|
|
## Quickstart
|
|
|
|
```bash
|
|
cd professional-infra/linux-operations-automation
|
|
make test
|
|
make demo
|
|
```
|
|
|
|
`make test` runs offline syntax and lint checks. `make demo` runs a safe simulation with `SIMULATION_MODE=true` and does not require reachable SSH hosts.
|
|
|
|
To run playbooks against real or lab hosts, update `inventory/hosts.ini` and run:
|
|
|
|
```bash
|
|
make run
|
|
make patch
|
|
make harden
|
|
make decommission
|
|
```
|
|
|
|
Review the LVM workflow:
|
|
|
|
```bash
|
|
ansible-playbook -i inventory/hosts.ini playbooks/lvm_resize.yml --syntax-check
|
|
cat docs/aap_lvm_resize_workflow.md
|
|
```
|
|
|
|
## Validation
|
|
|
|
```bash
|
|
make test
|
|
docker compose config --quiet
|
|
```
|
|
|
|
The optional compose scaffold can be started with:
|
|
|
|
```bash
|
|
make up
|
|
make down
|
|
```
|
|
|
|
## Example Output
|
|
|
|
Sample evidence is available in [examples/patch-output.txt](examples/patch-output.txt), [examples/failure-simulation.txt](examples/failure-simulation.txt), and [examples/lvm-resize-output.txt](examples/lvm-resize-output.txt).
|
|
|
|
## Interview Talking Points
|
|
|
|
- How to make LVM resize automation safe with dry-run defaults and explicit approval.
|
|
- Why before/after evidence matters for storage and filesystem changes.
|
|
- How Ansible roles keep Linux baseline operations repeatable.
|
|
- Where AAP surveys and job templates reduce ticket handling errors.
|
|
|
|
## Roadmap
|
|
|
|
- Add complete service roles for application deployment examples.
|
|
- Add backup, security scan, and disaster recovery playbooks.
|
|
- Add a richer local lab with SSH-ready containers.
|
|
- Add cloud or Kubernetes deployment variants.
|