Update to use Docker Hub registry

- Change from Quay.io to Docker Hub (andersonid/openshift-resource-governance)
- Update GitHub Actions to use DOCKERHUB_USERNAME and DOCKERHUB_TOKEN
- Update all scripts and documentation to use Docker Hub
- Add DOCKERHUB-SETUP.md with detailed setup instructions
- Update Makefile, deploy scripts, and templates
- Simplify registry references (no quay.io prefix needed)
This commit is contained in:
2025-09-25 14:46:09 -03:00
parent f5de2694fa
commit 2ca4b468cb
9 changed files with 142 additions and 16 deletions

View File

@@ -9,7 +9,7 @@ on:
env:
IMAGE_NAME: resource-governance
REGISTRY: quay.io/andersonid
REGISTRY: andersonid
NAMESPACE: resource-governance
jobs:
@@ -37,12 +37,11 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Quay.io
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract metadata
id: meta

View File

@@ -7,7 +7,7 @@ Este documento explica como fazer deploy da OpenShift Resource Governance Tool n
- Cluster OpenShift 4.x
- OpenShift CLI (oc) instalado e configurado
- Acesso ao cluster com permissões para criar recursos
- Container Registry (Quay.io, Docker Hub, etc.)
- Container Registry (Docker Hub, Quay.io, etc.)
## 🎯 Opções de Deploy
@@ -29,7 +29,7 @@ cd openshift-resource-governance
oc process -f openshift-git-deploy.yaml \
-p GITHUB_REPO="https://github.com/andersonid/openshift-resource-governance.git" \
-p IMAGE_TAG="latest" \
-p REGISTRY="quay.io/seu-usuario" \
-p REGISTRY="andersonid" \
-p NAMESPACE="resource-governance" | oc apply -f -
```
@@ -46,7 +46,7 @@ oc apply -f k8s/rbac.yaml
oc apply -f k8s/configmap.yaml
# 4. Atualizar imagem no DaemonSet
oc set image daemonset/resource-governance resource-governance=quay.io/seu-usuario/resource-governance:latest -n resource-governance
oc set image daemonset/resource-governance resource-governance=andersonid/resource-governance:latest -n resource-governance
# 5. Aplicar recursos
oc apply -f k8s/daemonset.yaml
@@ -146,7 +146,7 @@ oc describe clusterrole resource-governance-role
```bash
# Atualizar para nova tag
oc set image daemonset/resource-governance resource-governance=quay.io/seu-usuario/resource-governance:v1.1.0 -n resource-governance
oc set image daemonset/resource-governance resource-governance=andersonid/resource-governance:v1.1.0 -n resource-governance
# Aguardar rollout
oc rollout status daemonset/resource-governance -n resource-governance

127
DOCKERHUB-SETUP.md Normal file
View File

@@ -0,0 +1,127 @@
# 🐳 Configuração do Docker Hub
## 📋 Secrets Necessários no GitHub
Para o GitHub Actions funcionar com Docker Hub, configure estes secrets:
### 1. **DOCKERHUB_USERNAME**
- **Nome**: `DOCKERHUB_USERNAME`
- **Valor**: `andersonid`
### 2. **DOCKERHUB_TOKEN**
- **Nome**: `DOCKERHUB_TOKEN`
- **Valor**: Seu token de acesso do Docker Hub
## 🔑 Como Obter o Token do Docker Hub
### 1. **Acesse o Docker Hub**
- Vá para: https://hub.docker.com
- Faça login com sua conta
### 2. **Criar Access Token**
- Clique no seu avatar (canto superior direito)
- Vá em **Account Settings**
- Clique em **Security****New Access Token**
- Dê um nome: `openshift-resource-governance`
- Selecione **Read, Write, Delete** permissions
- Clique em **Generate**
- **Copie o token** (você só verá uma vez!)
### 3. **Configurar no GitHub**
- Vá para: https://github.com/andersonid/openshift-resource-governance/settings/secrets/actions
- Clique em **New repository secret**
- Adicione os dois secrets acima
## 🚀 Deploy Automático
Após configurar os secrets, o deploy será automático:
1. **Push para main** → GitHub Actions executa
2. **Build da imagem**`andersonid/openshift-resource-governance:latest`
3. **Push para Docker Hub** → Imagem disponível publicamente
4. **Deploy no OpenShift** → Aplicação atualizada
## 🔧 Deploy Manual (Alternativo)
Se preferir deploy manual:
```bash
# 1. Build local
./scripts/build.sh
# 2. Login no Docker Hub
docker login
# 3. Push da imagem
docker push andersonid/openshift-resource-governance:latest
# 4. Deploy no OpenShift
./openshift-deploy.sh
```
## 📊 Verificar Deploy
```bash
# Ver imagem no Docker Hub
# https://hub.docker.com/r/andersonid/openshift-resource-governance
# Ver status no OpenShift
oc get all -n resource-governance
# Ver logs
oc logs -f daemonset/resource-governance -n resource-governance
```
## 🐛 Troubleshooting
### Erro de Login Docker Hub
```bash
# Verificar se está logado
docker login
# Testar push manual
docker push andersonid/openshift-resource-governance:latest
```
### Erro de Permissão GitHub Actions
- Verifique se os secrets estão configurados corretamente
- Verifique se o token tem permissões de Read, Write, Delete
- Verifique se o usuário tem acesso ao repositório Docker Hub
### Imagem não encontrada no OpenShift
```bash
# Verificar se a imagem existe
docker pull andersonid/openshift-resource-governance:latest
# Verificar logs do pod
oc describe pod <pod-name> -n resource-governance
```
## 📝 Notas Importantes
- **Imagem pública**: A imagem será pública no Docker Hub
- **Tags automáticas**: GitHub Actions cria tags baseadas no commit
- **Cache**: Docker Hub mantém cache das imagens
- **Limites**: Docker Hub tem limites de pull/push (verifique seu plano)
## 🔄 Atualizações
Para atualizar a aplicação:
```bash
# 1. Fazer mudanças no código
git add .
git commit -m "Update application"
git push origin main
# 2. GitHub Actions fará o resto automaticamente!
# - Build da nova imagem
# - Push para Docker Hub
# - Deploy no OpenShift
```
## 📞 Suporte
- **Docker Hub**: https://hub.docker.com/r/andersonid/openshift-resource-governance
- **GitHub**: https://github.com/andersonid/openshift-resource-governance
- **Issues**: https://github.com/andersonid/openshift-resource-governance/issues

View File

@@ -3,7 +3,7 @@
# Configurações
IMAGE_NAME = resource-governance
TAG = latest
REGISTRY = quay.io/openshift
REGISTRY = andersonid
FULL_IMAGE_NAME = $(REGISTRY)/$(IMAGE_NAME):$(TAG)
NAMESPACE = resource-governance

View File

@@ -33,7 +33,7 @@ Uma ferramenta de governança de recursos para clusters OpenShift que vai além
./scripts/build.sh v1.0.0
# Build para registry específico
./scripts/build.sh latest quay.io/seu-usuario
./scripts/build.sh latest seu-usuario
```
### 2. Deploy no OpenShift
@@ -46,7 +46,7 @@ Uma ferramenta de governança de recursos para clusters OpenShift que vai além
./scripts/deploy.sh v1.0.0
# Deploy para registry específico
./scripts/deploy.sh latest quay.io/seu-usuario
./scripts/deploy.sh latest seu-usuario
```
### 3. Acesso à Aplicação

View File

@@ -13,7 +13,7 @@ NC='\033[0m' # No Color
# Configurações
REPO_URL="https://github.com/andersonid/openshift-resource-governance.git"
IMAGE_NAME="resource-governance"
REGISTRY="quay.io/andersonid"
REGISTRY="andersonid"
TAG="${1:-latest}"
NAMESPACE="resource-governance"

View File

@@ -17,7 +17,7 @@ parameters:
- name: REGISTRY
displayName: "Container Registry"
description: "Registry da imagem Docker"
value: "quay.io/andersonid"
value: "andersonid"
- name: NAMESPACE
displayName: "Namespace"
description: "Namespace para deploy"

View File

@@ -13,7 +13,7 @@ NC='\033[0m' # No Color
# Configurações
IMAGE_NAME="resource-governance"
TAG="${1:-latest}"
REGISTRY="${2:-quay.io/openshift}"
REGISTRY="${2:-andersonid}"
FULL_IMAGE_NAME="${REGISTRY}/${IMAGE_NAME}:${TAG}"
echo -e "${BLUE}🚀 Building OpenShift Resource Governance Tool${NC}"

View File

@@ -14,7 +14,7 @@ NC='\033[0m' # No Color
NAMESPACE="resource-governance"
IMAGE_NAME="resource-governance"
TAG="${1:-latest}"
REGISTRY="${2:-quay.io/openshift}"
REGISTRY="${2:-andersonid}"
FULL_IMAGE_NAME="${REGISTRY}/${IMAGE_NAME}:${TAG}"
echo -e "${BLUE}🚀 Deploying OpenShift Resource Governance Tool${NC}"