From 2ca4b468cb3e6b77f6574c5b64dae3eff754ba94 Mon Sep 17 00:00:00 2001 From: andersonid Date: Thu, 25 Sep 2025 14:46:09 -0300 Subject: [PATCH] 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) --- .github/workflows/openshift-deploy.yml | 9 +- DEPLOY.md | 8 +- DOCKERHUB-SETUP.md | 127 +++++++++++++++++++++++++ Makefile | 2 +- README.md | 4 +- openshift-deploy.sh | 2 +- openshift-git-deploy.yaml | 2 +- scripts/build.sh | 2 +- scripts/deploy.sh | 2 +- 9 files changed, 142 insertions(+), 16 deletions(-) create mode 100644 DOCKERHUB-SETUP.md diff --git a/.github/workflows/openshift-deploy.yml b/.github/workflows/openshift-deploy.yml index a9d7ec3..d693d99 100644 --- a/.github/workflows/openshift-deploy.yml +++ b/.github/workflows/openshift-deploy.yml @@ -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 diff --git a/DEPLOY.md b/DEPLOY.md index d2b3072..642831b 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -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 diff --git a/DOCKERHUB-SETUP.md b/DOCKERHUB-SETUP.md new file mode 100644 index 0000000..05171c7 --- /dev/null +++ b/DOCKERHUB-SETUP.md @@ -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 -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 diff --git a/Makefile b/Makefile index 80af0cf..6dad096 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/README.md b/README.md index cc08327..b4005bd 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/openshift-deploy.sh b/openshift-deploy.sh index d8a62c7..4973fb9 100755 --- a/openshift-deploy.sh +++ b/openshift-deploy.sh @@ -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" diff --git a/openshift-git-deploy.yaml b/openshift-git-deploy.yaml index ecb59b1..df08b0e 100644 --- a/openshift-git-deploy.yaml +++ b/openshift-git-deploy.yaml @@ -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" diff --git a/scripts/build.sh b/scripts/build.sh index bb583f2..872d5fd 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -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}" diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 64ac405..517da4d 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -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}"