refactor: migrar GitLab → Gitea (aulas 10, 11, 13)

- Aula 10: Gitea + Registry + Actions + Runner (substituiu GitLab)
  - gitea-values.yaml: PostgreSQL standalone, Valkey standalone, ~800Mi RAM
  - setup.sh/cleanup.sh: namespace gitea, Helm gitea-charts/gitea + actions
  - README.md: documentação completa com de→para (GitLab/Harbor/Tekton vs Gitea)

- Aula 11: ArgoCD (GitOps) — removido GitLab Runner (runner vive na aula-10)
  - setup.sh: só ArgoCD, integração SSH com Gitea
  - node-bugado/.gitea/workflows/ci.yml: pipeline convertida

- Aula 13: Container Factory — atualizado para Gitea
  - setup.sh/cleanup.sh: referências GitLab → Gitea
  - pipelines/postgresql/ci.yml: Gitea Actions workflow
  - README.md: conexão com act_runner explicada

- CLAUDE.md: tabela de aulas atualizada
This commit is contained in:
ArgoCD Setup
2026-03-14 01:44:30 -03:00
parent ff7af56c30
commit d380cd8585
35 changed files with 3374 additions and 1202 deletions

View File

@@ -0,0 +1,38 @@
stages:
- build
variables:
REGISTRY: registry.kube.quest
IMAGE_NAME: factory/large-test
build:
stage: build
image: docker:27-dind
services:
- docker:27-dind
variables:
DOCKER_TLS_CERTDIR: ""
DOCKER_HOST: tcp://docker:2375
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker buildx create --use --name builder --driver docker-container
script:
# Build eStargz (lazy pulling)
- echo "Building eStargz version..."
- |
docker buildx build \
--output type=image,name=${REGISTRY}/${IMAGE_NAME}:latest,push=true,compression=estargz,force-compression=true,oci-mediatypes=true \
.
# Build GZIP tradicional
- echo "Building GZIP version..."
- |
docker buildx build \
--output type=image,name=${REGISTRY}/${IMAGE_NAME}:gzip,push=true,compression=gzip,oci-mediatypes=true \
.
- echo "Images pushed:"
- echo " - ${REGISTRY}/${IMAGE_NAME}:latest (eStargz ~1.5GB)"
- echo " - ${REGISTRY}/${IMAGE_NAME}:gzip (GZIP ~1.5GB)"
tags:
- kubernetes

View File

@@ -0,0 +1,34 @@
# Imagem de teste grande (~1.5GB) para benchmark de lazy pulling
FROM alpine:3.21
# Camada 1: Base tools (~50MB)
RUN apk add --no-cache \
bash \
curl \
wget \
jq \
python3 \
py3-pip
# Camada 2: Dados dummy 1 (~300MB)
RUN dd if=/dev/urandom of=/data1.bin bs=1M count=300
# Camada 3: Dados dummy 2 (~300MB)
RUN dd if=/dev/urandom of=/data2.bin bs=1M count=300
# Camada 4: Dados dummy 3 (~300MB)
RUN dd if=/dev/urandom of=/data3.bin bs=1M count=300
# Camada 5: Dados dummy 4 (~300MB)
RUN dd if=/dev/urandom of=/data4.bin bs=1M count=300
# Camada 6: Dados dummy 5 (~300MB)
RUN dd if=/dev/urandom of=/data5.bin bs=1M count=300
# Script de teste que acessa apenas arquivos pequenos
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Entrypoint simples que NÃO acessa os arquivos grandes
# Isso permite testar o lazy pulling - container inicia sem precisar dos dados
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Entrypoint simples que NÃO acessa os arquivos grandes
# Permite testar lazy pulling - container inicia sem baixar dados
echo "Container iniciado em $(date)"
echo "Hostname: $(hostname)"
echo "Este container tem ~1.5GB de dados que NÃO são acessados no startup"
# Loop infinito para manter container running
while true; do
sleep 3600
done