diff --git a/ReyMotaAppsRancher/README.md b/ReyMotaAppsRancher/README.md index 445a7b2..f16606f 100644 --- a/ReyMotaAppsRancher/README.md +++ b/ReyMotaAppsRancher/README.md @@ -1,45 +1,112 @@ # Instalación +## Versión para kubernetes y Rancher +### Estructura de carpetas en K8S -Desde el directorio K8S ejecutar make (esto hace todo: la imagen, para los pods y los lanza otra vez) +. +├── ConfigMaps +│   ├── env-prod-configmap-local.yaml +│   ├── env-prod-configmap.yaml +│   └── env-prod-db-configmap.yaml +├── Deployments +│   ├── db-deployment.yaml +│   ├── nginx-deployment.yaml +│   └── reymota-deployment.yaml +├── Makefile +├── namespace.yaml +├── PVC +│   ├── postgres-data-persistentvolumeclaim.yaml +│   ├── reymota-prod-persistentvolumeclaim.yaml +│   └── static-volume-persistentvolumeclaim.yaml +├── reg-secret.yaml +├── Services +│   ├── db-service.yaml +│   ├── nginx-service.yaml +│   ├── reymota-ingress.yaml +│   └── reymota-service.yaml +└── Shells + ├── borraNS.sh + ├── entraPsql.sh + └── entra.sh -La primera vez, hay que entrar en el pod de vehículos con 'entra.sh' y +## Creación de Persistent Volume Claims -python manage.py createsuperuser +En Rancher está instalado el operador longhorn que se encarga de crear los Persistent Volumes automáticamente cuando se crea una PVC +La primera vez hay que crear las PVC. Si la aplicación cambia, no haría falta volver a crearlas, a no ser que los cambios afecten mucho a la estructura de las base de datos. -python manage.py makemigrations + kubectl create -f postgres-data-persistentvolumeclaim.yaml + kubectl create -f reymota-prod-persistentvolumeclaim.yaml + kubectl create -f static-volume-persistentvolumeclaim.yaml + + +## Despliegue de la aplicación + + make clean ; make install + +Si la aplicación hubiese cambiado y tuvieramos que crear una nueva imagen, entonces + + make + +esto hace todo: la imagen, para los pods y los lanza otra vez + +# Migraciones + +La primera vez, hay que entrar en el pod de vehículos con 'entra.sh', desde el directorio K8S/Shells y + +python manage.py makemigrations lyrics +python manage.py makemigrations reymotausers +python manage.py makemigrations repostajes python manage.py migrate ## Comprobar la base de datos -Con la shell entraPsql.sh: +Con la shell K8S/Shells/entraPsql.sh: \l para listar las BD \c reymota para usar nuestra db \dt para ver las tablas -# De dónde cogí ideas +# Importar datos + +Si tenemos un fichero json con los datos de otra instalación, podemos importarlo. + +## Descargar los datos + +Primero tendríamos que descargar los datos a través del api de la otra instalación. + + curl https://reymota.es/usuarios/api/usuarios/ > mediafiles/usuarios.json + + curl https://reymota.es/lyrics/api/artistas/ > mediafiles/artistas.json + curl https://reymota.es/lyrics/api/albumes/ > mediafiles/albumes.json + curl https://reymota.es/lyrics/api/canciones/ > mediafiles/canciones.json -https://learndjango.com/tutorials/django-login-and-logout-tutorial + curl https://reymota.es/repostajes/api/vehiculos/ > mediafiles/vehiculos.json + curl https://reymota.es/repostajes/api/repostajes/ > mediafiles/repostajes.json +## Importar los datos -Username: {{ user.username }} +Es importante hacerlo en este orden ya que hay dependencias entre las tablas -User Full name: {{ user.get_full_name }} + ./manage.py importar_usuarios mediafiles/usuarios.json -User Group: {{ user.groups.all.0 }} + ./manage.py importar_artistas mediafiles/artistas.json + ./manage.py importar_albumes mediafiles/albumes.json + ./manage.py importar_canciones mediafiles/canciones.json -Email: {{ user.email }} + ./manage.py importar_vehiculos mediafiles/vehiculos.json + ./manage.py importar_repostajes mediafiles/repostajes.json -Session Started at: {{ user.last_login }} +# Crear datos +Si no tenemos datos y vamos a crear una instancia de cero, lo primero que hay que hacer es crear un superusuario -## Para funcionar con gunicorn y nginx -https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/ + ./manage.py createsuperuser +A continuación, desde el interfaz web, se crean los datos. +# Miscelánea ## Cambiar la secuencia de lo sid