Files
devcontainers/README.md

71 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# devcontainers
## DevOps
This devcontainer is built on **mcr.microsoft.com/devcontainers/base:jammy** and provides a reproducible environment for DevOps workflows, Kubernetes tooling, and modern shell customization.
I currently use it across all my infrastructure projects — from Kubernetes clusters to CI/CD pipelines — and even drop it into running pods when I need to trace or debug issues directly insitu. It has become my **Swissarmy knife for infrastructure**, giving me a consistent, portable toolkit wherever I work.
## 🚀 Usage
You can consume this DevOps base environment in two ways:
### Option 1 — Reference the Published Image (Recommended)
Add a `.devcontainer/devcontainer.json` to your project that points to the published image:
```json
{
"name": "my-project",
"image": "ghcr.io/your-org/devops:22.04",
"remoteUser": "vscode"
}
```
### Option 2 — Bootstrap with the Template JSON
you prefer to start from the canonical template (with preconfigured VS Code plugins), execute:
``` bash
mkdir -p .devcontainer
curl -sSL https://gitlimbosolutions.com/mf/devcontainers/devops/templates/devcontainer.json -o .devcontainer/devcontainer.json
```
This will copy the baseline devcontainer.json into your project. You can then layer projectspecific extensions or settings on top.
## 🧾 Included Components
### 🔧 Base Packages
- **curl, wget, git** → essential CLI tools
- **python3 + pip** → scripting and automation support
- **jq** → JSON parsing
- **ca-certificates, software-properties-common** → secure package management
- **ansible** → configuration management and automation
- **rclone, rsync** → file synchronization and transfer utilities
### ☸️ Kubernetes Tooling
- **kubectl** → latest stable release installed from upstream
- **Helm 3** → Kubernetes package manager
- **yq** → YAML processor for configuration pipelines
### 🟢 Node.js Runtime
- **Node.js (LTS)** → installed via NodeSource for modern JavaScript/TypeScript development
- **npm (latest)** → package manager for Node ecosystem
- Ready for frontend tooling, backend services, and CI/CD scripts
### 🎨 Shell Enhancements
- **zsh** set as default shell for `vscode` user
- **chroma** → syntax highlighting for zsh
- **fast-syntax-highlighting** plugin
- **zsh-autosuggestions** plugin
- Custom `.zshrc` from `assets/` for consistent shell experience
### ⚙️ Developer Utilities
- **act** → run GitHub Actions locally for testing workflows