mirror of
https://github.com/ryankazokas/turbovault-app.git
synced 2026-04-17 05:32:52 +00:00
Moving to github
This commit is contained in:
179
REGISTRY_SIMPLIFIED.md
Normal file
179
REGISTRY_SIMPLIFIED.md
Normal file
@@ -0,0 +1,179 @@
|
||||
# ✅ Container Registry Simplified!
|
||||
|
||||
The deployment has been simplified to be registry-agnostic. You can now use any container registry you prefer!
|
||||
|
||||
## What Changed
|
||||
|
||||
### Before:
|
||||
- Hardcoded for Gitea registry
|
||||
- Required 4 GitHub secrets
|
||||
- Complex setup instructions
|
||||
- Registry-specific documentation
|
||||
|
||||
### After:
|
||||
- **Default:** GitHub Container Registry (ghcr.io) - zero setup!
|
||||
- **Flexible:** Works with any registry (Docker Hub, private registry, etc.)
|
||||
- **Simple:** No secrets needed for default setup
|
||||
- **Clean:** Registry-agnostic documentation
|
||||
|
||||
## 🎯 Default Setup: GitHub Container Registry
|
||||
|
||||
**No setup required!** Just push a tag:
|
||||
|
||||
```bash
|
||||
git tag v1.0.0
|
||||
git push origin v1.0.0
|
||||
```
|
||||
|
||||
- ✅ Free
|
||||
- ✅ Built into GitHub
|
||||
- ✅ No secrets to configure
|
||||
- ✅ Automatic authentication
|
||||
- ✅ Public or private images
|
||||
|
||||
Your image will be at: `ghcr.io/YOUR_USERNAME/turbovault:v1.0.0`
|
||||
|
||||
## 🔧 Using a Different Registry (Optional)
|
||||
|
||||
Want to use Docker Hub, your own registry, or something else? Just modify the workflow:
|
||||
|
||||
### Docker Hub Example:
|
||||
```yaml
|
||||
# .github/workflows/build-and-push.yml
|
||||
env:
|
||||
REGISTRY: docker.io
|
||||
IMAGE_NAME: your-username/turbovault
|
||||
```
|
||||
|
||||
Add secrets: `DOCKERHUB_USERNAME`, `DOCKERHUB_TOKEN`
|
||||
|
||||
### Private Registry Example:
|
||||
```yaml
|
||||
env:
|
||||
REGISTRY: registry.example.com
|
||||
IMAGE_NAME: turbovault
|
||||
```
|
||||
|
||||
Add secrets for your registry credentials.
|
||||
|
||||
See [.github/SECRETS_SETUP.md](.github/SECRETS_SETUP.md) for examples.
|
||||
|
||||
## 📦 Kubernetes Deployment
|
||||
|
||||
Update the image in `k8s/deployment.yaml`:
|
||||
|
||||
```yaml
|
||||
# For GitHub Container Registry (default)
|
||||
image: ghcr.io/your-username/turbovault:latest
|
||||
|
||||
# For Docker Hub
|
||||
image: docker.io/your-username/turbovault:latest
|
||||
|
||||
# For private registry
|
||||
image: registry.example.com/turbovault:latest
|
||||
```
|
||||
|
||||
### Public Registry (ghcr.io public or Docker Hub public):
|
||||
No `imagePullSecrets` needed!
|
||||
|
||||
### Private Registry:
|
||||
```yaml
|
||||
imagePullSecrets:
|
||||
- name: registry-secret
|
||||
```
|
||||
|
||||
Create secret:
|
||||
```bash
|
||||
kubectl create secret docker-registry registry-secret \
|
||||
--docker-server=your-registry.com \
|
||||
--docker-username=your-username \
|
||||
--docker-password=your-token \
|
||||
--namespace=turbovault
|
||||
```
|
||||
|
||||
## 📁 Files Updated
|
||||
|
||||
### Removed:
|
||||
- ❌ `k8s/GITEA_SETUP.md` - Gitea-specific guide (no longer needed)
|
||||
- ❌ `k8s/gitea-registry-secret.yaml.example` - Gitea secret template
|
||||
- ❌ `docs/.github-gitea-setup.md` - GitHub+Gitea architecture
|
||||
|
||||
### Updated:
|
||||
- ✅ `.github/workflows/build-and-push.yml` - Uses ghcr.io by default
|
||||
- ✅ `.github/SECRETS_SETUP.md` - Simplified, no secrets needed for default
|
||||
- ✅ `k8s/deployment.yaml` - Example with ghcr.io
|
||||
- ✅ `k8s/migrate-job.yaml` - Example with ghcr.io
|
||||
- ✅ `k8s/README.md` - Registry-agnostic instructions
|
||||
- ✅ `README.md` - Updated deployment steps
|
||||
- ✅ `scripts/deploy-k8s.sh` - Generic registry prompts
|
||||
|
||||
## 🎉 Benefits
|
||||
|
||||
### For Users:
|
||||
- ✅ Simpler setup (zero config for ghcr.io)
|
||||
- ✅ Choice of any registry
|
||||
- ✅ No mandatory external dependencies
|
||||
- ✅ Standard GitHub workflow
|
||||
|
||||
### For Open Source:
|
||||
- ✅ Contributors don't need private registries
|
||||
- ✅ Works out of the box with GitHub
|
||||
- ✅ Easy to fork and deploy
|
||||
- ✅ Professional standard setup
|
||||
|
||||
## 📖 Updated Documentation
|
||||
|
||||
All documentation has been updated to:
|
||||
- Use GitHub Container Registry as the default example
|
||||
- Provide examples for other registries
|
||||
- Remove Gitea-specific instructions
|
||||
- Be registry-agnostic
|
||||
|
||||
**Key docs:**
|
||||
- [.github/SECRETS_SETUP.md](.github/SECRETS_SETUP.md) - Registry options
|
||||
- [k8s/README.md](k8s/README.md) - Kubernetes deployment
|
||||
- [README.md](README.md) - Main project README
|
||||
|
||||
## 🚀 Quick Start (Recommended Path)
|
||||
|
||||
1. **Push code to GitHub:**
|
||||
```bash
|
||||
git push origin main
|
||||
```
|
||||
|
||||
2. **Tag a release:**
|
||||
```bash
|
||||
git tag v1.0.0
|
||||
git push origin v1.0.0
|
||||
```
|
||||
|
||||
3. **Watch GitHub Actions:**
|
||||
- Go to Actions tab
|
||||
- See build complete
|
||||
- Image pushed to ghcr.io/YOUR_USERNAME/turbovault:v1.0.0
|
||||
|
||||
4. **Update k8s manifests:**
|
||||
```bash
|
||||
# Edit k8s/deployment.yaml and k8s/migrate-job.yaml
|
||||
image: ghcr.io/YOUR_USERNAME/turbovault:v1.0.0
|
||||
```
|
||||
|
||||
5. **Deploy:**
|
||||
```bash
|
||||
./scripts/deploy-k8s.sh
|
||||
```
|
||||
|
||||
Done! 🎉
|
||||
|
||||
## 💡 You Can Still Use Gitea (or any registry)
|
||||
|
||||
This change doesn't prevent you from using Gitea or any other registry. It just:
|
||||
- Makes the default simpler (uses GitHub's built-in registry)
|
||||
- Makes the code registry-agnostic
|
||||
- Removes hardcoded assumptions
|
||||
|
||||
**To use Gitea:** Just modify the workflow and k8s manifests with your Gitea registry paths. It's all flexible now!
|
||||
|
||||
---
|
||||
|
||||
**Everything is simpler, cleaner, and more flexible!** 🚀
|
||||
Reference in New Issue
Block a user