feat: initial infrastructure baseline

This commit is contained in:
ja
2026-02-27 16:20:37 +01:00
commit 264cd31ce6
17 changed files with 497 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# mw-pfeddersheim-workstation Performance Tuning
## Overview
This document tracks optimization decisions, system tuning parameters, and cleanup routines implemented for the workstation to ensure maximum resource efficiency and stability.
## Current System State (2026-02-27)
- **CPU**: AMD/Intel (High core count assumed from load distribution)
- **RAM**: 64GB
- **Storage**: NVMe (77% usage detected)
- **OS**: CachyOS/Arch Linux
## Optimization Strategies
### 1. Kernel Parameter Tuning (Ansible)
- **vm.swappiness**: Set to `10` to prefer RAM over swap on the 64GB machine.
- **fs.inotify.max_user_watches**: Increase to `524288` for IDEs and build tools.
- **vm.vfs_cache_pressure**: Set to `50` to improve filesystem cache retention.
### 2. Storage & Filesystem Cleanup
- **Docker**: Automated pruning of unused images and volumes via `scripts/maintenance.sh`.
- **Journald**: Vacuuming logs older than 7 days or exceeding 500MB.
- **Package Manager**: Maintaining only the last 2 versions of packages in the cache.
### 3. Service Optimization
- **Ananicy**: (Optional) Use Ananicy-cpp for automatic process prioritizing (CachyOS default usually).
## Implementation Log
| Date | Type | Description |
|------|------|-------------|
| 2026-02-27 | Initial | Initial tuning document and strategy established. |
+44
View File
@@ -0,0 +1,44 @@
# Workstation Setup Guide
This guide describes how to bootstrap the **mw-pfeddersheim-workstation** infrastructure on a fresh installation.
## Prerequisites
- Linux (Arch/CachyOS preferred)
- Python 3.12+
- Git
## Bootstrap Steps
1. **Clone the Infrastructure Repo**
```bash
mkdir -p ~/infrastructure
cd ~/infrastructure
git clone <repo-url> mw-pfeddersheim-workstation
cd mw-pfeddersheim-workstation
```
2. **Install Ansible**
```bash
sudo pacman -S ansible
```
3. **Configure Secrets**
```bash
# Create a vault password file (do not commit!)
echo "your-strong-password" > ansible/vault_password
# Create secrets file
ansible-vault create ansible/vars/secrets.yml
```
4. **Run the Playbook**
```bash
ansible-playbook -i localhost, -c local --vault-password-file ansible/vault_password ansible/workstation.yml --check
# If check passes:
ansible-playbook -i localhost, -c local --vault-password-file ansible/vault_password ansible/workstation.yml
```
5. **Initialize Maintenance**
```bash
./scripts/maintenance.sh
```
+46
View File
@@ -0,0 +1,46 @@
# Software Stack - mw-pfeddersheim-workstation
## Core Development Environment
| Technology | Version | Description |
|------------|---------|-------------|
| **Node.js** | 25.6.1 | Primary JavaScript/TypeScript runtime |
| **Python** | 3.14.3 | Secondary scripting and AI automation language |
| **PHP** | 8.5.3 (CLI) | Legacy and ERP integration language |
| **Ansible** | 2.20.2 (core) | Infrastructure provisioning and configuration |
| **Docker** | 29.2.1 | Containerization and environment isolation |
| **Git** | latest | Version control |
## OS Context
- **OS**: Linux (CachyOS/Arch Linux based on detected GCC 15 and kernel 6.12)
- **Architecture**: x86_64
## Maintenance Policies
- **Updates**: System-wide updates via `pacman` managed through maintenance scripts.
- **Node.js**: Global packages managed via `pnpm`.
- **Python**: Use `uv` for environment management.
- **PHP**: Managed via system package manager, focused on CLI execution.
## Tool Path Summary
- **Ansible**: `/usr/bin/ansible`
- **Python**: `/usr/bin/python`
- **Docker**: `/usr/bin/docker`
## Deprecated Software (Pending Cleanup)
### Microsoft Visual Studio Code (Remnants)
The following remnants of Visual Studio Code / MS IDE components have been identified for review and potential removal to reduce software stack complexity.
| Type | Path / Identifyer | Description |
|------|-------------------|-------------|
| **Package** | `vscode` | Open Source build of Visual Studio Code (installed via pacman) |
| **Binary** | `/usr/bin/code` | Launcher script for VS Code |
| **Binary** | `/usr/bin/code-oss` | OSS specific launcher script |
| **Config** | `~/.vscode-oss` | Global VS Code OSS configuration and extensions |
| **Theming** | `~/.oh-my-bash/themes/vscode` | VS Code specific oh-my-bash theme |
| **Application Data** | `~/.config/Code - OSS/` | Extensive user data, logs, and cache |
| **Application Data** | `~/.local/share/pipx/venvs/*/lib/python*/site-packages/jupyter_lsp/specs/vscode_*` | Python/Jupyter LSP remnants |
| **Project Data** | `~/Projects/firebird/.vscode` | Local project settings |
| **Project Data** | `~/src/agent-zero/.vscode` | Local project settings |
| **Project Data** | `~/nerve/AutoGPT/.vscode` | Local project settings |
| **Project Data** | `~/agent-zero/data/.vscode` | Local project settings |