https://github.com/archetypicalsoftware/vega-utility
This repo contains the simple docker base image that has powershell, kubectl and helm to aid with the building of Vega Atlas'
https://github.com/archetypicalsoftware/vega-utility
Last synced: 4 months ago
JSON representation
This repo contains the simple docker base image that has powershell, kubectl and helm to aid with the building of Vega Atlas'
- Host: GitHub
- URL: https://github.com/archetypicalsoftware/vega-utility
- Owner: ArchetypicalSoftware
- License: mit
- Created: 2024-12-27T04:32:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-19T17:56:09.000Z (9 months ago)
- Last Synced: 2025-10-06T02:49:06.017Z (8 months ago)
- Language: Dockerfile
- Size: 14.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vega Utility
[](https://github.com/ArchetypicalSoftware/vega-utility/actions/workflows/build-release.yaml)
[](https://github.com/ArchetypicalSoftware/vega-utility/actions/workflows/build-release.yaml)
## Supported Kubernetes Versions
[](https://hub.docker.com/r/archetypicalsoftware/vega-utility/tags)
[](https://hub.docker.com/r/archetypicalsoftware/vega-utility/tags)
[](https://hub.docker.com/r/archetypicalsoftware/vega-utility/tags)
[](https://hub.docker.com/r/archetypicalsoftware/vega-utility/tags)
## Overview
The Vega Utility is a Docker base image that provides essential Kubernetes tools in a PowerShell environment. This utility image combines PowerShell Core, kubectl (Kubernetes CLI), and Helm (Kubernetes package manager) to create a comprehensive toolset for building, deploying, and managing Vega Atlas applications and other Kubernetes-based solutions.
## What's Included
- **PowerShell Core**: Cross-platform PowerShell environment for scripting and automation
- **kubectl**: Official Kubernetes command-line tool for cluster management
- **Helm**: Kubernetes package manager for deploying and managing applications
- **curl**: HTTP client for API interactions and downloads
## Intended Use Cases
This utility image is designed for:
1. **CI/CD Pipelines**: Use in GitHub Actions, GitLab CI, or other CI/CD systems for Kubernetes deployments
2. **Vega Atlas Development**: Building and deploying Vega Atlas components with PowerShell automation
3. **Kubernetes Administration**: Running kubectl commands and Helm operations in a consistent environment
4. **Infrastructure as Code**: Executing PowerShell scripts that interact with Kubernetes clusters
5. **Development Workflows**: Local development containers for Kubernetes application development
## Usage
### Docker Hub
Pull the latest image:
```bash
docker pull archetypicalsoftware/vega-utility:latest
```
Pull a specific Kubernetes version:
```bash
docker pull archetypicalsoftware/vega-utility:v1.30.0
```
### In Docker Compose
```yaml
version: '3.8'
services:
vega-utility:
image: archetypicalsoftware/vega-utility:latest
volumes:
- ~/.kube:/root/.kube:ro
- ./scripts:/scripts
working_dir: /scripts
command: pwsh -Command "& ./deploy.ps1"
```
### In GitHub Actions
```yaml
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: archetypicalsoftware/vega-utility:v1.30.0
steps:
- uses: actions/checkout@v3
- name: Deploy to Kubernetes
run: |
# Configure kubectl context
echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config
# Run PowerShell deployment script
pwsh -Command "& ./deploy-vega.ps1"
```
### Interactive Usage
```bash
# Run an interactive PowerShell session
docker run -it --rm \
-v ~/.kube:/root/.kube:ro \
-v $(pwd):/workspace \
-w /workspace \
archetypicalsoftware/vega-utility:latest
# In the container, you can now use:
# - pwsh for PowerShell
# - kubectl for Kubernetes operations
# - helm for package management
```
### Example PowerShell Script
```powershell
#!/usr/bin/env pwsh
# Example Vega deployment script
Write-Host "Deploying Vega Atlas components..."
# Check cluster connectivity
kubectl cluster-info
# Deploy using Helm
helm repo add vega https://charts.vega.example.com
helm repo update
helm upgrade --install vega-atlas vega/atlas --namespace vega --create-namespace
Write-Host "Deployment completed successfully!"
```
## Building Custom Images
If you need to customize the image:
```dockerfile
FROM archetypicalsoftware/vega-utility:v1.30.0
# Add your custom tools or scripts
COPY scripts/ /scripts/
RUN chmod +x /scripts/*.ps1
WORKDIR /scripts
```
## Image Updates
Docker images are automatically built monthly on the 1st of each month with the latest stable Kubernetes versions. Each image is tagged with the corresponding Kubernetes version (e.g., `v1.30.0`) and the latest version is also tagged as `latest`.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.