This document provides practical examples and advanced use cases for each major functionality in the DevOps-OS repository.
- Polyglot Microservices: Develop and test services in Python, Java, Go, and JavaScript/TypeScript within a single, consistent environment.
- Onboarding: New team members can start coding immediately with all tools pre-installed.
- Version Pinning: Ensure all developers use the same versions of compilers, linters, and CI/CD tools.
Edit .devcontainer/devcontainer.env.json to enable Ruby support:
{
"languages": {
"python": true,
"java": true,
"javascript": true,
"go": true,
"ruby": true
}
}- Rapid Pipeline Creation: Instantly generate GitHub Actions or Jenkins pipelines for new projects.
- Multi-Stack CI/CD: Create pipelines for projects using multiple languages or frameworks.
- Kubernetes Deployment: Generate manifests and deployment scripts for cloud-native applications.
python3 .devcontainer/github-actions-generator-improved.py --language python --test pytest --docker true- Local Cluster Management: Use KinD or Minikube to spin up test clusters.
- GitOps: Deploy with ArgoCD CLI or Flux for continuous delivery.
- Secret Management: Use Kubeseal to manage encrypted secrets in Git.
kubectl create secret generic mysecret --from-literal=password=supersecret --dry-run=client -o yaml | kubeseal --cert mycert.pem -o yaml > sealedsecret.yaml- Add New Tools: Edit the Dockerfile to install additional CLI tools or SDKs.
- Change Tool Versions: Update the
versionssection indevcontainer.env.jsonto pin or upgrade tool versions.
Edit the Dockerfile:
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
&& unzip awscliv2.zip \
&& sudo ./aws/install- Matrix Builds: Test across multiple language versions using GitHub Actions matrix strategy.
- Multi-Environment Deployments: Generate separate pipelines for dev, staging, and prod.
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, 3.10]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- run: pip install -r requirements.txt
- run: pytestFor more detailed examples, see the individual guides listed in the main README.md.