From 5698eb828f76c9b890cf7b14509b57665a5d6be0 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 11:21:48 +0100 Subject: [PATCH 01/14] Expongo el puerto --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index ac6f5f2..436eeaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,5 +29,7 @@ RUN python -m venv /opt/venv && \ # make our entrypoint.sh executable RUN chmod +x config/entrypoint.sh +EXPOSE 80 + # execute our entrypoint.sh file CMD ["./config/entrypoint.sh"] From 253c0c9816996f8838b59193e3cd88a08a4a196e Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 11:35:07 +0100 Subject: [PATCH 02/14] Pongo credenciales de cloudnativepg --- src/config/entrypoint.sh | 2 +- src/reymota/settings.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/config/entrypoint.sh b/src/config/entrypoint.sh index eaf2e6e..8d18228 100644 --- a/src/config/entrypoint.sh +++ b/src/config/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/bash RUN_PORT="8000" DATABASE=postgres -SQL_HOST=postgresql +SQL_HOST=cluster-pg-rw.cloudnativepg SQL_PORT=5432 if [ "$DATABASE" = "postgres" ] diff --git a/src/reymota/settings.py b/src/reymota/settings.py index 053346d..9e4af2d 100644 --- a/src/reymota/settings.py +++ b/src/reymota/settings.py @@ -85,9 +85,9 @@ DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": "reymota", - "USER": "creylopez", - "PASSWORD": "Dsa-0213", - "HOST": "postgresql", + "USER": "app", + "PASSWORD": "wiR4vARfHADTPSaGqeyfRpAH4OuVyB428zGPsQ8rfzndfz2yt9X0hR3yWmwPFIHd", + "HOST": "cluster-pg-rw.cloudnativepg", "PORT": "5432", } } From 5649da52d9abd09fa5726621982b5d350cfc5154 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 12:04:10 +0100 Subject: [PATCH 03/14] =?UTF-8?q?A=C3=B1ado=20rest=5Fframework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/requirements.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/requirements.txt b/src/requirements.txt index 17e59e2..af504e9 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -1,14 +1,20 @@ asgiref==3.8.1 Django==4.2 +django-calculation==1.0.0 +djangorestframework==3.15.2 flake8==7.1.1 gunicorn==22.0.0 mccabe==0.7.0 +numpy==2.2.2 packaging==24.1 +pandas==2.2.3 pillow==10.4.0 psycopg2-binary==2.9.6 pycodestyle==2.12.1 pyflakes==3.2.0 +python-dateutil==2.9.0.post0 +pytz==2025.1 +six==1.17.0 sqlparse==0.5.1 typing_extensions==4.12.2 -django-calculation==1.0.0 -pandas==2.2.3 \ No newline at end of file +tzdata==2025.1 From 773991301f5a32e878fe4997e0c92230534e5527 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 12:15:41 +0100 Subject: [PATCH 04/14] Pongo USER 0 en Dockerfile antes de lanzar el entrypoint --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 436eeaf..d1fd426 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,5 +31,7 @@ RUN chmod +x config/entrypoint.sh EXPOSE 80 +USER 0 + # execute our entrypoint.sh file CMD ["./config/entrypoint.sh"] From c0ba2edd5fa015b98e6ddd6a8f34bf7846f8965a Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 12:33:18 +0100 Subject: [PATCH 05/14] Actualiza el puerto y pongo 8080 --- Dockerfile | 4 +--- nginx/default.conf | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index d1fd426..2a35dc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,9 +29,7 @@ RUN python -m venv /opt/venv && \ # make our entrypoint.sh executable RUN chmod +x config/entrypoint.sh -EXPOSE 80 - -USER 0 +EXPOSE 8080 # execute our entrypoint.sh file CMD ["./config/entrypoint.sh"] diff --git a/nginx/default.conf b/nginx/default.conf index 99f6af4..213d2d0 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -5,7 +5,7 @@ upstream django_project { error_log /var/log/nginx/error.log; server { - listen 80; + listen 8080; access_log /var/log/nginx/access.log; From afd5ea7677ec08fd27fff5c343bc1a7ab9bee12b Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 12:48:06 +0100 Subject: [PATCH 06/14] Vuelvo al puerto 80 --- Dockerfile | 2 +- README.md | 6 ++++-- nginx/default.conf | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a35dc8..436eeaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,7 +29,7 @@ RUN python -m venv /opt/venv && \ # make our entrypoint.sh executable RUN chmod +x config/entrypoint.sh -EXPOSE 8080 +EXPOSE 80 # execute our entrypoint.sh file CMD ["./config/entrypoint.sh"] diff --git a/README.md b/README.md index c55aa3d..76ea256 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # Versión para openshift -## ATENCIÓN +## permitir a nginx correr con privilegios -Creo que el Dockerfile que hay en el directorio raíz no sirve para nada. +### esto se hace una vez dentro del proyecto. + +oc adm policy add-scc-to-user -z default anyuid ## Instalación diff --git a/nginx/default.conf b/nginx/default.conf index 213d2d0..99f6af4 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -5,7 +5,7 @@ upstream django_project { error_log /var/log/nginx/error.log; server { - listen 8080; + listen 80; access_log /var/log/nginx/access.log; From 565e4ac50bcd13515a231d96435594805d944cff Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 12:49:51 +0100 Subject: [PATCH 07/14] Actualizo README --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 76ea256..787ec62 100644 --- a/README.md +++ b/README.md @@ -62,3 +62,10 @@ ALTER SEQUENCE tablename_id_seq RESTART WITH nn; esto se hace cuando restauro un volcado de la bd sobre una instalación nueva. Si hay índices ya creados, hay que reinciar a partir del último. +## Para que git no pida credenciales + +git config --global credential.helper store + + +la siguiente vez que se haga el push nos la pedirá una última vez + From 923e7ff5e3a5b61bc7f409cef82e265801635aad Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 13:03:00 +0100 Subject: [PATCH 08/14] Pongo path al venv en entrypoint.sh --- README.md | 3 +++ src/config/entrypoint.sh | 2 ++ 2 files changed, 5 insertions(+) diff --git a/README.md b/README.md index 787ec62..815b20c 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,9 @@ Crear un proyecto y luego añadir una app desde Agregar, importar desde git. Tal y como está la estructura de directorios, deberia detectar automáticamente una compilación Python +Desde la línea de comandos, sería: + +oc new-app http://gitea.reymota.es/creylopez/ReyMotaAppsOC.git -e DEBUG=True diff --git a/src/config/entrypoint.sh b/src/config/entrypoint.sh index 8d18228..9bee90b 100644 --- a/src/config/entrypoint.sh +++ b/src/config/entrypoint.sh @@ -4,6 +4,8 @@ DATABASE=postgres SQL_HOST=cluster-pg-rw.cloudnativepg SQL_PORT=5432 +export PATH=/opt/venv/bin:$PATH + if [ "$DATABASE" = "postgres" ] then echo "Waiting for postgres..." From cd2fef72403f72b60ac91e18862e2cd5129c6a6e Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 15:24:27 +0100 Subject: [PATCH 09/14] Limpio migrations --- entra.sh | 1 + nuevaapp.sh | 1 + pvc.yaml | 67 +++++++++++++++++++++ src/lyrics/migrations/0001_initial.py | 52 ---------------- src/lyrics/migrations/__init__.py | 0 src/reymotausers/migrations/0001_initial.py | 34 ----------- src/reymotausers/migrations/__init__.py | 0 7 files changed, 69 insertions(+), 86 deletions(-) create mode 100644 entra.sh create mode 100644 nuevaapp.sh create mode 100644 pvc.yaml delete mode 100644 src/lyrics/migrations/0001_initial.py delete mode 100644 src/lyrics/migrations/__init__.py delete mode 100644 src/reymotausers/migrations/0001_initial.py delete mode 100644 src/reymotausers/migrations/__init__.py diff --git a/entra.sh b/entra.sh new file mode 100644 index 0000000..bb524a2 --- /dev/null +++ b/entra.sh @@ -0,0 +1 @@ +oc exec -it deployment.apps/reymotaappsoc -- bash diff --git a/nuevaapp.sh b/nuevaapp.sh new file mode 100644 index 0000000..a4f16fc --- /dev/null +++ b/nuevaapp.sh @@ -0,0 +1 @@ +oc new-app http://gitea.reymota.es/creylopez/ReyMotaAppsOC.git -e DEBUG=True diff --git a/pvc.yaml b/pvc.yaml new file mode 100644 index 0000000..d189e15 --- /dev/null +++ b/pvc.yaml @@ -0,0 +1,67 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: reymota-media + name: reymota-media + namespace: reymota +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi + storageClassName: lvms-vg1 +status: {} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: reymota-lyrics-migrations + name: reymota-lyrics-migrations + namespace: reymota +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Mi + storageClassName: lvms-vg1 +status: {} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: reymota-repostajes-migrations + name: reymota-repostajes-migrations + namespace: reymota +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 52Mi + storageClassName: lvms-vg1 +status: {} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: reymota-reymotausers-migrations + name: reymota-reymotausers-migrations + namespace: reymota +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 53Mi + storageClassName: lvms-vg1 +status: {} diff --git a/src/lyrics/migrations/0001_initial.py b/src/lyrics/migrations/0001_initial.py deleted file mode 100644 index 538cf8c..0000000 --- a/src/lyrics/migrations/0001_initial.py +++ /dev/null @@ -1,52 +0,0 @@ -# Generated by Django 4.2 on 2024-09-10 13:23 - -import django.core.validators -from django.db import migrations, models -import django.db.models.deletion -import lyrics.models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Album', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=200)), - ('year', models.PositiveBigIntegerField(default=2024, validators=[django.core.validators.MinValueValidator(1984), lyrics.models.max_value_current_year])), - ('cover_image', models.ImageField(blank=True, null=True, upload_to='cover_image/')), - ], - ), - migrations.CreateModel( - name='Artista', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('nombre', models.CharField(max_length=200)), - ('biografia', models.TextField(blank=True, null=True)), - ('foto', models.ImageField(blank=True, null=True, upload_to='artistas/')), - ], - ), - migrations.CreateModel( - name='Song', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=200)), - ('year', models.PositiveBigIntegerField(default=2024, validators=[django.core.validators.MinValueValidator(1984), lyrics.models.max_value_current_year])), - ('lyrics', models.CharField(max_length=1000)), - ('pista', models.DecimalField(blank=True, decimal_places=0, max_digits=5, null=True)), - ('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='lyrics.album')), - ('artist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='lyrics.artista')), - ], - ), - migrations.AddField( - model_name='album', - name='artist', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='lyrics.artista'), - ), - ] diff --git a/src/lyrics/migrations/__init__.py b/src/lyrics/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/reymotausers/migrations/0001_initial.py b/src/reymotausers/migrations/0001_initial.py deleted file mode 100644 index 6bd788d..0000000 --- a/src/reymotausers/migrations/0001_initial.py +++ /dev/null @@ -1,34 +0,0 @@ -# Generated by Django 4.2 on 2024-09-03 14:49 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('auth', '0012_alter_user_first_name_max_length'), - ] - - operations = [ - migrations.CreateModel( - name='ReyMotaUser', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('password', models.CharField(max_length=128, verbose_name='password')), - ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), - ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), - ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), - ('foto', models.ImageField(blank=True, default='profile_images/default.jpg', upload_to='profile_images')), - ('is_staff', models.BooleanField(default=False)), - ('is_active', models.BooleanField(default=True)), - ('nombre', models.CharField(blank=True, max_length=200, null=True)), - ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')), - ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')), - ], - options={ - 'abstract': False, - }, - ), - ] diff --git a/src/reymotausers/migrations/__init__.py b/src/reymotausers/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 From 823ec04f12eafd23dd98c1163d8b3bb09423e832 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Tue, 11 Feb 2025 15:49:15 +0100 Subject: [PATCH 10/14] =?UTF-8?q?A=C3=B1ado=20curl,=20vim=20y=20jq=20a=20l?= =?UTF-8?q?a=20imagen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 436eeaf..4e1ff24 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ # yup, python 3.11! FROM python:3.11-slim -# install nginx -RUN apt-get update && apt-get install nginx netcat-openbsd -y +# install nginx y otras cosas +RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq -y # copy our nginx configuration to overwrite nginx defaults RUN rm /etc/nginx/sites-enabled/default RUN rm /etc/nginx/sites-available/default From e124b9fbc62814f500417d14eaa406e88626686a Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Wed, 12 Feb 2025 08:52:28 +0100 Subject: [PATCH 11/14] Quito cloudnativepg --- src/reymota/settings.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reymota/settings.py b/src/reymota/settings.py index 9e4af2d..053346d 100644 --- a/src/reymota/settings.py +++ b/src/reymota/settings.py @@ -85,9 +85,9 @@ DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": "reymota", - "USER": "app", - "PASSWORD": "wiR4vARfHADTPSaGqeyfRpAH4OuVyB428zGPsQ8rfzndfz2yt9X0hR3yWmwPFIHd", - "HOST": "cluster-pg-rw.cloudnativepg", + "USER": "creylopez", + "PASSWORD": "Dsa-0213", + "HOST": "postgresql", "PORT": "5432", } } From 18482c80950e72605f2abb947c8992db0e6697a7 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Wed, 12 Feb 2025 09:00:38 +0100 Subject: [PATCH 12/14] Nombre de host de postgres lo pongo en db --- src/reymota/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reymota/settings.py b/src/reymota/settings.py index 053346d..a3294ba 100644 --- a/src/reymota/settings.py +++ b/src/reymota/settings.py @@ -87,7 +87,7 @@ DATABASES = { "NAME": "reymota", "USER": "creylopez", "PASSWORD": "Dsa-0213", - "HOST": "postgresql", + "HOST": "db", "PORT": "5432", } } From 188e5a6df15d21db1417a958a95d6210ad2de0b9 Mon Sep 17 00:00:00 2001 From: creylopez Date: Wed, 12 Feb 2025 12:01:45 +0000 Subject: [PATCH 13/14] Pongo el host de postgres a db --- src/config/entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/entrypoint.sh b/src/config/entrypoint.sh index 9bee90b..2e5ae5c 100644 --- a/src/config/entrypoint.sh +++ b/src/config/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/bash RUN_PORT="8000" DATABASE=postgres -SQL_HOST=cluster-pg-rw.cloudnativepg +SQL_HOST=db SQL_PORT=5432 export PATH=/opt/venv/bin:$PATH From c04abab64cc16d19cf44b2b6e95eb68cccfb37b5 Mon Sep 17 00:00:00 2001 From: creylopez Date: Wed, 12 Feb 2025 12:24:32 +0000 Subject: [PATCH 14/14] Cambio a puerto 8080 --- nginx/default.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/default.conf b/nginx/default.conf index 99f6af4..213d2d0 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -5,7 +5,7 @@ upstream django_project { error_log /var/log/nginx/error.log; server { - listen 80; + listen 8080; access_log /var/log/nginx/access.log;