|
|
1 ay önce | |
|---|---|---|
| explorer | 1 ay önce | |
| k8s | 1 ay önce | |
| regbrowser | 1 ay önce | |
| venv | 1 ay önce | |
| .dockerignore | 1 ay önce | |
| Dockerfile | 1 ay önce | |
| HARBOR-ROBOT.md | 1 ay önce | |
| README.md | 1 ay önce | |
| db.sqlite3 | 1 ay önce | |
| manage.py | 1 ay önce | |
| renuevaRobot.sh | 1 ay önce | |
| requirements.txt | 1 ay önce | |
| run.sh | 1 ay önce |
Aplicación Django para explorar registries Docker privados con API v2.
# Crear entorno virtual (si no existe)
python3 -m venv venv
# Activar entorno virtual
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar migraciones
python manage.py migrate
# Crear usuario administrador
python manage.py createsuperuser
# Iniciar servidor
python manage.py runserver
La app corre en el cluster como deployment regbrowser en el namespace
regbrowser, accesible vía Ingress en http://regbrowser.reymota.lab
(Nginx Proxy Manager → ClusterIP del Service).
Componentes:
| Recurso | Descripción |
|---|---|
k8s/namespace.yaml |
Namespace regbrowser |
k8s/secrets.yaml |
SECRET_KEY de Django |
k8s/pvc.yaml |
PVC de 100Mi para la BD SQLite (/data/db.sqlite3) |
k8s/deployment.yaml |
Deployment con gunicorn (estrategia Recreate, 1 réplica) |
k8s/service-ingress.yaml |
Service ClusterIP + Ingress nginx |
Variables de entorno soportadas: SECRET_KEY, DEBUG, ALLOWED_HOSTS,
SQLITE_PATH.
# Construir y subir la imagen a Harbor
docker build -t harbor.reymota.es/reymota/regbrowser:latest .
docker push harbor.reymota.es/reymota/regbrowser:latest
# Reiniciar el deployment para que haga pull de la nueva imagen
kubectl rollout restart deploy/regbrowser -n regbrowser
# Ver el estado del rollout y los logs
kubectl rollout status deploy/regbrowser -n regbrowser
kubectl logs -f deploy/regbrowser -n regbrowser
Las migraciones se ejecutan automáticamente al arrancar el contenedor.
El deployment usa el secret myregistrykey (tipo
kubernetes.io/dockerconfigjson) para descargar la imagen. Para renovarlo
con otras credenciales:
kubectl delete secret myregistrykey -n regbrowser
kubectl create secret docker-registry myregistrykey \
--docker-server=harbor.reymota.es \
--docker-username='robot$regbrowser+ci' \
--docker-password='<token>' \
-n regbrowser
Nota: los manifests se eliminan por digest y quedan marcados como pendientes; ejecuta periódicamente
registry garbage-collecten el registry para liberar el espacio en disco.