Răsfoiți Sursa

Cambio total de estructura para incluir nginx

Celestino Rey 1 an în urmă
părinte
comite
7bbd8f92cf
100 a modificat fișierele cu 79 adăugiri și 1072 ștergeri
  1. 24 62
      Dockerfile
  2. 0 63
      K8S/Makefile
  3. 0 58
      K8S/Makefile.local
  4. 0 5
      K8S/creaDirs.sh
  5. 0 54
      K8S/db-deployment.yaml
  6. 0 17
      K8S/db-service.yaml
  7. 0 1
      K8S/entra.sh
  8. 0 1
      K8S/entraPsql.sh
  9. 0 20
      K8S/env-prod-configmap-local.yaml
  10. 0 20
      K8S/env-prod-configmap.yaml
  11. 0 11
      K8S/env-prod-db-configmap.yaml
  12. 0 134
      K8S/jugaralpadel-deployment.yaml
  13. 0 50
      K8S/jugaralpadel-prod-persistentvolumeclaim.yaml
  14. 0 7
      K8S/namespace.yaml
  15. 0 46
      K8S/nginx-deployment.yaml
  16. 0 20
      K8S/nginx-service.yaml
  17. 0 14
      K8S/postgres-data-persistentvolumeclaim.yaml
  18. 0 74
      K8S/pv-local-jugaralpadel.yaml
  19. 0 8
      K8S/reg-secret.yaml
  20. 0 14
      K8S/static-volume-persistentvolumeclaim.yaml
  21. 0 1
      K8S/verImg.sh
  22. 0 284
      deployment-jugar-al-padel-oc-git.yaml
  23. 0 51
      entorno.env
  24. 0 20
      entrypoint.sh
  25. 0 4
      nginx/Dockerfile
  26. 0 8
      nginx/Makefile
  27. 32 0
      nginx/default.conf
  28. 0 25
      nginx/nginx.conf
  29. 0 0
      src/accounts/.gitignore
  30. 0 0
      src/accounts/__init__.py
  31. 0 0
      src/accounts/admin.py
  32. 0 0
      src/accounts/apps.py
  33. 0 0
      src/accounts/models.py
  34. 0 0
      src/accounts/tests.py
  35. 0 0
      src/accounts/urls.py
  36. 0 0
      src/accounts/views.py
  37. 23 0
      src/config/entrypoint.sh
  38. 0 0
      src/eventos/__init__.py
  39. 0 0
      src/eventos/admin.py
  40. 0 0
      src/eventos/apps.py
  41. 0 0
      src/eventos/forms.py
  42. 0 0
      src/eventos/models.py
  43. 0 0
      src/eventos/static/css/portal.css
  44. 0 0
      src/eventos/static/images/app-logo.svg
  45. 0 0
      src/eventos/static/images/background/background-1.jpg
  46. 0 0
      src/eventos/static/images/background/background-2.jpg
  47. 0 0
      src/eventos/static/images/background/background-3.jpg
  48. 0 0
      src/eventos/static/images/background/background-palmeras.jpg
  49. 0 0
      src/eventos/static/images/doc-thumb-1.jpg
  50. 0 0
      src/eventos/static/images/doc-thumb-2.jpg
  51. 0 0
      src/eventos/static/images/favicon.ico
  52. 0 0
      src/eventos/static/images/favicon.png
  53. 0 0
      src/eventos/static/images/padel-court.jpg
  54. 0 0
      src/eventos/static/images/palapadel.svg
  55. 0 0
      src/eventos/static/images/portal-logo.svg
  56. 0 0
      src/eventos/static/images/profiles/profile-1.png
  57. 0 0
      src/eventos/static/images/profiles/profile-2.png
  58. 0 0
      src/eventos/static/images/profiles/profile-3.png
  59. 0 0
      src/eventos/static/images/profiles/profile-4.png
  60. 0 0
      src/eventos/static/images/profiles/profile-5.png
  61. 0 0
      src/eventos/static/images/profiles/profile-6.png
  62. 0 0
      src/eventos/static/images/reymota-logo.svg
  63. 0 0
      src/eventos/static/images/user.png
  64. 0 0
      src/eventos/static/images/users/user-1.jpg
  65. 0 0
      src/eventos/static/images/users/user-2.jpg
  66. 0 0
      src/eventos/static/images/users/user-3.jpg
  67. 0 0
      src/eventos/static/images/users/user-4.jpg
  68. 0 0
      src/eventos/static/images/users/user-5.jpg
  69. 0 0
      src/eventos/static/images/users/user-6.jpg
  70. 0 0
      src/eventos/static/images/users/user-7.jpg
  71. 0 0
      src/eventos/static/images/users/user-8.jpg
  72. 0 0
      src/eventos/static/images/users/user-9.jpg
  73. 0 0
      src/eventos/static/js/app.js
  74. 0 0
      src/eventos/static/js/charts-demo.js
  75. 0 0
      src/eventos/static/js/index-charts.js
  76. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.css
  77. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.css.map
  78. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.min.css
  79. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.min.css.map
  80. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.css
  81. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.css.map
  82. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.min.css
  83. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.min.css.map
  84. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.css
  85. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.css.map
  86. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.min.css
  87. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.min.css.map
  88. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.css
  89. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.css.map
  90. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.min.css
  91. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.min.css.map
  92. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.css
  93. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.css.map
  94. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.min.css
  95. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.min.css.map
  96. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.css
  97. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.css.map
  98. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.min.css
  99. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.min.css.map
  100. 0 0
      src/eventos/static/plugins/bootstrap/css/bootstrap.css

+ 24 - 62
Dockerfile

@@ -1,69 +1,31 @@
-# syntax=docker/dockerfile:1
-##################
-# BUILDER        #
-##################
+# yup, python 3.11!
+FROM python:3.11-slim
 
-FROM python:3.11.4-slim-buster AS builder
+# install nginx
+RUN apt-get update && apt-get install nginx -y
+# copy our nginx configuration to overwrite nginx defaults
+COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
+# link nginx logs to container stdout
+RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
 
-# set work directory
-WORKDIR /app
-
-# set environment variables
-ENV PYTHONDONTWRITEBYTECODE=1
-ENV PYTHONUNBUFFERED=1
-
-# install system dependencies
-RUN apt-get update && \
-    apt-get install -y --no-install-recommends gcc
-
-# lint
-RUN pip install --upgrade pip
-RUN pip install flake8==6.0.0
-COPY . /app/
-RUN flake8 --ignore=E501,F401,E126,W391 .
-
-COPY ./requirements.txt .
-
-
-RUN pip wheel --no-cache-dir --no-deps --wheel-dir /app/wheels -r requirements.txt
-
-##################
-# FINAL          #
-##################
+# copy the django code
+COPY ./src ./app
 
-FROM python:3.11.4-slim-buster
+RUN chgrp -R 0 ./app && chmod -R g=u ./app
+RUN chgrp -R 0 /var/lib/nginx && chmod -R g=u /var/lib/nginx
 
+# change our working directory to the django projcet roo
+WORKDIR /app
 
-# create directory for the app user
-ENV APP_HOME=/app
-RUN mkdir -p $APP_HOME/gestion_reservas/staticfiles
-
-# create the app user
-RUN addgroup --system app && adduser --system --group app
-
-# create the appropriate directories
-WORKDIR $APP_HOME
-
-# install system dependencies
-RUN apt-get update && apt-get install -y sqlite3 netcat vim
-COPY --from=builder /app/wheels /wheels
-COPY --from=builder /app/requirements.txt .
-
-RUN pip install --upgrade pip
-RUN pip install --no-cache /wheels/*
-
-# copy entrypoint.sh
-COPY ./entrypoint.sh .
-
-# copy project
-COPY . $APP_HOME
-
-# chown all the files to the app user
-RUN chown -R app:app $APP_HOME
+# create virtual env (notice the location?)
+# update pip
+# install requirements
+RUN python -m venv /opt/venv && \
+    /opt/venv/bin/python -m pip install pip --upgrade && \
+    /opt/venv/bin/python -m pip install -r requirements.txt
 
-# change to the app user
-USER app
-WORKDIR $APP_HOME/gestion_reservas
+# make our entrypoint.sh executable
+RUN chmod +x config/entrypoint.sh
 
-# run entrypoint.sh
-ENTRYPOINT ["/app/entrypoint.sh"]
+# execute our entrypoint.sh file
+CMD ["./config/entrypoint.sh"]

+ 0 - 63
K8S/Makefile

@@ -1,63 +0,0 @@
-export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':')
-#export REGISTRY=localhost:5000
-export REGISTRY=registry.reymota.es
-
-export IMG_VERSION = 0.33
-export IMG_NGINX_VERSION = 2.3
-
-# limpia todo
-all: imagen clean install
-
-imagen:
-	cd ../; make
-
-install:
-	-kubectl create -f namespace.yaml
-	-kubectl create -f reg-secret.yaml
-	-kubectl create -f env-prod-configmap.yaml 
-	-kubectl create -f env-prod-db-configmap.yaml 
-
-	-kubectl create -f pv-local-jugaralpadel.yaml
-	-kubectl create -f jugaralpadel-prod-persistentvolumeclaim.yaml
-	-kubectl create -f static-volume-persistentvolumeclaim.yaml
-	-kubectl create -f postgres-data-persistentvolumeclaim.yaml
-
-	-kubectl create -f db-deployment.yaml
-	-kubectl create -f db-service.yaml
-
-	-envsubst < jugaralpadel-deployment.yaml |kubectl create -f -
-	-envsubst < nginx-deployment.yaml |kubectl create -f -
-	-kubectl create -f nginx-service.yaml
-
-clean:
-	-envsubst < nginx-deployment.yaml |kubectl delete -f -
-	-kubectl delete -f nginx-service.yaml
-	-envsubst < jugaralpadel-deployment.yaml |kubectl delete -f -
-
-	-kubectl delete -f db-deployment.yaml
-	-kubectl delete -f db-service.yaml
-
-	-kubectl delete -f env-prod-configmap.yaml 
-	-kubectl delete -f env-prod-db-configmap.yaml 
-
-	-kubectl delete -f postgres-data-persistentvolumeclaim.yaml
-	-kubectl delete -f static-volume-persistentvolumeclaim.yaml
-	-kubectl delete -f jugaralpadel-prod-persistentvolumeclaim.yaml
-	-kubectl delete -f pv-local-jugaralpadel.yaml
-	-kubectl delete -f reg-secret.yaml
-	-kubectl delete -f namespace.yaml
-
-nginx:
-	cd ../nginx; make
-
-verimg:
-	docker run -it  ${REGISTRY}/jugaralpadel-${ARQUITECTURA}:${IMG_VERSION} bash
-
-backup:
-	kubectl --kubeconfig /home/creylopez/.kube/config -n jugaralpadel exec -ti deployment.apps/db -- /usr/lib/postgresql/15/bin/pg_dump --username=creylopez --dbname=jugaralpadel > jugaralpadel-$(IMG_VERSION).sql
-   
-muestra:
-	-envsubst < jugaralpadel-deployment.yaml > /tmp/deployment.yaml
-
-
-

+ 0 - 58
K8S/Makefile.local

@@ -1,58 +0,0 @@
-export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':')
-export REGISTRY=localhost:30500
-#export REGISTRY=registry.reymota.es
-
-export IMG_VERSION = 1.25
-export IMG_NGINX_VERSION = 2.4
-
-# limpia todo
-all: imagen clean install
-
-imagen:
-	cd ../; make
-
-install:
-	-kubectl create -f namespace.yaml
-	-kubectl create -f reg-secret.yaml
-	-kubectl create -f env-prod-configmap-local.yaml 
-	-kubectl create -f env-prod-db-configmap.yaml 
-
-	-kubectl create -f pv-local-jugaralpadel.yaml
-	-kubectl create -f jugaralpadel-prod-persistentvolumeclaim.yaml
-	-kubectl create -f static-volume-persistentvolumeclaim.yaml
-	-kubectl create -f postgres-data-persistentvolumeclaim.yaml
-
-	-kubectl create -f db-deployment.yaml
-	-kubectl create -f db-service.yaml
-
-	-envsubst < jugaralpadel-deployment.yaml |kubectl create -f -
-	-envsubst < nginx-deployment.yaml |kubectl create -f -
-	-kubectl create -f nginx-service.yaml
-
-clean:
-	-envsubst < nginx-deployment.yaml |kubectl delete -f -
-	-kubectl delete -f nginx-service.yaml
-	-envsubst < jugaralpadel-deployment.yaml |kubectl delete -f -
-
-	-kubectl delete -f db-deployment.yaml
-	-kubectl delete -f db-service.yaml
-
-	-kubectl delete -f env-prod-configmap-local.yaml 
-	-kubectl delete -f env-prod-db-configmap.yaml 
-
-	-kubectl delete -f postgres-data-persistentvolumeclaim.yaml
-	-kubectl delete -f static-volume-persistentvolumeclaim.yaml
-	-kubectl delete -f jugaralpadel-prod-persistentvolumeclaim.yaml
-	-kubectl delete -f pv-local-jugaralpadel.yaml
-	-kubectl delete -f reg-secret.yaml
-	-kubectl delete -f namespace.yaml
-
-nginx:
-	cd ../nginx; make
-
-verimg:
-	docker run -it  ${REGISTRY}/jugaralpadel-${ARQUITECTURA}:${IMG_VERSION} bash
-
-backup:
-	kubectl --kubeconfig /home/creylopez/.kube/config -n jugaralpadel exec -ti deployment.apps/db -- /usr/lib/postgresql/15/bin/pg_dump --username=creylopez --dbname=jugaralpadel > jugaralpadel-$(IMG_VERSION).sql
-

+ 0 - 5
K8S/creaDirs.sh

@@ -1,5 +0,0 @@
-sudo mkdir -p /mnt/Externo/jugaralpadel/media
-sudo mkdir -p /mnt/Externo/jugaralpadel/migrations/eventos
-sudo mkdir -p /mnt/Externo/jugaralpadel/migrations/reymotausers
-sudo mkdir -p /mnt/Externo/jugaralpadel/static
-sudo mkdir -p /mnt/Externo/jugaralpadel/pg

+ 0 - 54
K8S/db-deployment.yaml

@@ -1,54 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.34.0 (cbf2835db)
-  labels:
-    io.kompose.service: db
-  name: db
-  namespace: jugaralpadel
-spec:
-  securityContext:
-    fsGroup: GROUP_ID
-  replicas: 1
-  selector:
-    matchLabels:
-      io.kompose.service: db
-  strategy:
-    type: Recreate
-  template:
-    metadata:
-      annotations:
-        kompose.cmd: kompose convert
-        kompose.version: 1.34.0 (cbf2835db)
-      labels:
-        io.kompose.service: db
-    spec:
-      containers:
-        - env:
-            - name: POSTGRES_DB
-              valueFrom:
-                configMapKeyRef:
-                  key: POSTGRES_DB
-                  name: env-prod-db
-            - name: POSTGRES_PASSWORD
-              valueFrom:
-                configMapKeyRef:
-                  key: POSTGRES_PASSWORD
-                  name: env-prod-db
-            - name: POSTGRES_USER
-              valueFrom:
-                configMapKeyRef:
-                  key: POSTGRES_USER
-                  name: env-prod-db
-          image: postgres:15
-          name: db
-          volumeMounts:
-            - mountPath: /var/lib/postgresql/data:z
-              name: postgres-data
-      restartPolicy: Always
-      volumes:
-        - name: postgres-data
-          persistentVolumeClaim:
-            claimName: postgres-data

+ 0 - 17
K8S/db-service.yaml

@@ -1,17 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.34.0 (cbf2835db)
-  labels:
-    io.kompose.service: db
-  name: db
-  namespace: jugaralpadel
-spec:
-  ports:
-    - name: "5432"
-      port: 5432
-      targetPort: 5432
-  selector:
-    io.kompose.service: db

+ 0 - 1
K8S/entra.sh

@@ -1 +0,0 @@
-kubectl -n jugaralpadel exec -ti deployment.apps/jugaralpadel -- /bin/bash

+ 0 - 1
K8S/entraPsql.sh

@@ -1 +0,0 @@
-kubectl -n jugaralpadel exec -ti deployment.apps/db -- psql --username=creylopez --dbname=jugaralpadel

+ 0 - 20
K8S/env-prod-configmap-local.yaml

@@ -1,20 +0,0 @@
-apiVersion: v1
-data:
-  DEBUG: "True"
-  ENTORNO: "Pruebas"
-  DJANGO_ALLOWED_HOSTS: "jugaralpadel.ddns.net vmcluster reymota.es k8s-server localhost 127.0.0.1 [::1]"
-  CSRF_TRUSTED_ORIGINS:  "https://jugaralpadel.ddns.net http://vmcluster"
-  SECRET_KEY: change_me
-  SQL_DATABASE: jugaralpadel
-  SQL_ENGINE: django.db.backends.postgresql
-  SQL_HOST: db
-  SQL_PASSWORD: Dsa-0213
-  SQL_PORT: "5432"
-  SQL_USER: creylopez
-  DATABASE: postgres
-kind: ConfigMap
-metadata:
-  labels:
-    io.kompose.service: web-env-prod
-  name: env-prod
-  namespace: jugaralpadel

+ 0 - 20
K8S/env-prod-configmap.yaml

@@ -1,20 +0,0 @@
-apiVersion: v1
-data:
-  DEBUG: "False"
-  ENTORNO: "Producción"
-  DJANGO_ALLOWED_HOSTS: "jugaralpadel.ddns.net vmcluster reymota.es k8s-server localhost 127.0.0.1 [::1]"
-  CSRF_TRUSTED_ORIGINS:  "https://jugaralpadel.ddns.net http://vmcluster"
-  SECRET_KEY: change_me
-  SQL_DATABASE: jugaralpadel
-  SQL_ENGINE: django.db.backends.postgresql
-  SQL_HOST: db
-  SQL_PASSWORD: Dsa-0213
-  SQL_PORT: "5432"
-  SQL_USER: creylopez
-  DATABASE: postgres
-kind: ConfigMap
-metadata:
-  labels:
-    io.kompose.service: web-env-prod
-  name: env-prod
-  namespace: jugaralpadel

+ 0 - 11
K8S/env-prod-db-configmap.yaml

@@ -1,11 +0,0 @@
-apiVersion: v1
-data:
-  POSTGRES_DB: jugaralpadel
-  POSTGRES_PASSWORD: Dsa-0213
-  POSTGRES_USER: creylopez
-kind: ConfigMap
-metadata:
-  labels:
-    io.kompose.service: db-env-prod-db
-  name: env-prod-db
-  namespace: jugaralpadel

+ 0 - 134
K8S/jugaralpadel-deployment.yaml

@@ -1,134 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  name: jugaralpadel
-  namespace: jugaralpadel
-spec:
-  ports:
-    - name: "8000"
-      port: 8000
-      targetPort: 8000
-  selector:
-    app: jugaralpadel
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: jugaralpadel
-  namespace: jugaralpadel
-  labels:
-    app: jugaralpadel
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: jugaralpadel
-  strategy:
-    type: Recreate
-  template:
-    metadata:
-      labels:
-        app: jugaralpadel
-    spec:
-      containers:
-      - args:
-          - gunicorn
-          - gestion_reservas.wsgi:application
-          - --bind
-          - 0.0.0.0:8000
-        name: jugaralpadel
-        image: $REGISTRY/jugaralpadel-$ARQUITECTURA:$IMG_VERSION
-        env:
-        - name: VERSION
-          value: "$IMG_VERSION"
-        - name: ENVIRONMENT
-          valueFrom:
-            configMapKeyRef:
-              key: ENTORNO
-              name: env-prod
-        - name: DEBUG
-          valueFrom:
-            configMapKeyRef:
-              key: DEBUG
-              name: env-prod
-        - name: DJANGO_ALLOWED_HOSTS
-          valueFrom:
-            configMapKeyRef:
-              key: DJANGO_ALLOWED_HOSTS
-              name: env-prod
-        - name: CSRF_TRUSTED_ORIGINS
-          valueFrom:
-            configMapKeyRef:
-              key: CSRF_TRUSTED_ORIGINS
-              name: env-prod
-        - name: SECRET_KEY
-          valueFrom:
-            configMapKeyRef:
-              key: SECRET_KEY
-              name: env-prod
-        - name: DATABASE
-          valueFrom:
-            configMapKeyRef:
-              key: DATABASE
-              name: env-prod
-        - name: SQL_HOST
-          valueFrom:
-            configMapKeyRef:
-              key: SQL_HOST
-              name: env-prod
-        - name: SQL_PORT
-          valueFrom:
-            configMapKeyRef:
-              key: SQL_PORT
-              name: env-prod
-        - name: SQL_ENGINE
-          valueFrom:
-            configMapKeyRef:
-              key: SQL_ENGINE
-              name: env-prod
-        - name: SQL_DATABASE
-          valueFrom:
-            configMapKeyRef:
-              key: SQL_DATABASE
-              name: env-prod
-        - name: SQL_USER
-          valueFrom:
-            configMapKeyRef:
-              key: SQL_USER
-              name: env-prod
-        - name: SQL_PASSWORD
-          valueFrom:
-            configMapKeyRef:
-              key: SQL_PASSWORD
-              name: env-prod
-        ports:
-        - containerPort: 8000
-          protocol: TCP
-        volumeMounts:
-        - mountPath: /app/gestion_reservas/mediafiles
-          name: jugaralpadel-media
-
-        - mountPath: /app/gestion_reservas/eventos/migrations
-          name: jugaralpadel-eventos-migrations
-        - mountPath: /app/gestion_reservas/reymotausers/migrations
-          name: jugaralpadel-reymotausers-migrations
-
-        - mountPath: /app/gestion_reservas/staticfiles
-          name: static-volume
-      imagePullSecrets:
-      - name: myregistrykey
-      restartPolicy: Always
-      volumes:
-      - name: jugaralpadel-media
-        persistentVolumeClaim:
-          claimName: jugaralpadel-media
-      - name: jugaralpadel-eventos-migrations
-        persistentVolumeClaim:
-          claimName: jugaralpadel-eventos-migrations
-      - name: jugaralpadel-reymotausers-migrations
-        persistentVolumeClaim:
-          claimName: jugaralpadel-reymotausers-migrations
-      - name: static-volume
-        persistentVolumeClaim:
-          claimName: static-volume
-status: {}

+ 0 - 50
K8S/jugaralpadel-prod-persistentvolumeclaim.yaml

@@ -1,50 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  creationTimestamp: null
-  labels:
-    io.kompose.service: jugaralpadel-media
-  name: jugaralpadel-media
-  namespace: jugaralpadel
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 100Mi
-  storageClassName: lvms-vg1
-status: {}
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  creationTimestamp: null
-  labels:
-    io.kompose.service: jugaralpadel-eventos-migrations
-  name: jugaralpadel-eventos-migrations
-  namespace: jugaralpadel
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 50Mi
-  storageClassName: lvms-vg1
-status: {}
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  creationTimestamp: null
-  labels:
-    io.kompose.service: jugaralpadel-reymotausers-migrations
-  name: jugaralpadel-reymotausers-migrations
-  namespace: jugaralpadel
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 53Mi
-  storageClassName: lvms-vg1
-status: {}

+ 0 - 7
K8S/namespace.yaml

@@ -1,7 +0,0 @@
-###################################################
-# Namespace Vehículos
-###################################################
-apiVersion: v1
-kind: Namespace
-metadata:
-  name: jugaralpadel

+ 0 - 46
K8S/nginx-deployment.yaml

@@ -1,46 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.34.0 (cbf2835db)
-  labels:
-    io.kompose.service: nginx
-  name: nginx
-  namespace: jugaralpadel
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      io.kompose.service: nginx
-  strategy:
-    type: Recreate
-  template:
-    metadata:
-      annotations:
-        kompose.cmd: kompose convert
-        kompose.version: 1.34.0 (cbf2835db)
-      labels:
-        io.kompose.service: nginx
-    spec:
-      containers:
-        - image: $REGISTRY/nginx-jugaralpadel-$ARQUITECTURA:$IMG_NGINX_VERSION
-          name: nginx
-          ports:
-            - containerPort: 80
-              protocol: TCP
-          volumeMounts:
-            - mountPath: /app/gestion_reservas/staticfiles
-              name: static-volume
-            - mountPath: /app/gestion_reservas/mediafiles
-              name: jugaralpadel-media
-      imagePullSecrets:
-      - name: myregistrykey
-      restartPolicy: Always
-      volumes:
-        - name: static-volume
-          persistentVolumeClaim:
-            claimName: static-volume
-        - name: jugaralpadel-media
-          persistentVolumeClaim:
-            claimName: jugaralpadel-media

+ 0 - 20
K8S/nginx-service.yaml

@@ -1,20 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.34.0 (cbf2835db)
-  labels:
-    io.kompose.service: nginx
-  name: nginx
-  namespace: jugaralpadel
-spec:
-  type: NodePort
-  ports:
-    - name: "1337"
-      port: 1337
-      nodePort: 30345
-      targetPort: 80
-  selector:
-    io.kompose.service: nginx
-

+ 0 - 14
K8S/postgres-data-persistentvolumeclaim.yaml

@@ -1,14 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  labels:
-    io.kompose.service: postgres-data
-  name: postgres-data
-  namespace: jugaralpadel
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 100Mi
-  storageClassName: lvms-vg1

+ 0 - 74
K8S/pv-local-jugaralpadel.yaml

@@ -1,74 +0,0 @@
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: jugaralpadel-media-folder
-  namespace: jugaralpadel
-  labels:
-    app: jugaralpadel
-spec:
-  capacity:
-    storage: 100Mi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: "/mnt/Externo/jugaralpadel/media"
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: jugaralpadel-eventos-migrations-folder
-  namespace: jugaralpadel
-  labels:
-    app: jugaralpadel
-spec:
-  capacity:
-    storage: 50Mi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: "/mnt/Externo/jugaralpadel/migrations/eventos"
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: jugaralpadel-reymotausers-migrations-folder
-  namespace: jugaralpadel
-  labels:
-    app: jugaralpadel
-spec:
-  capacity:
-    storage: 53Mi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: "/mnt/Externo/jugaralpadel/migrations/reymotausers"
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: jugaralpadel-static-folder
-  namespace: jugaralpadel
-  labels:
-    app: jugaralpadel
-spec:
-  capacity:
-    storage: 70Mi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: "/mnt/Externo/jugaralpadel/static"
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: jugaralpadel-pg-folder
-  namespace: jugaralpadel
-  labels:
-    app: jugaralpadel
-spec:
-  capacity:
-    storage: 200Mi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: "/mnt/Externo/jugaralpadel/pg"

+ 0 - 8
K8S/reg-secret.yaml

@@ -1,8 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
-  name: myregistrykey
-  namespace: jugaralpadel
-data:
-  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJyZWdpc3RyeS5yZXltb3RhLmVzIjogewoJCQkiYXV0aCI6ICJZM0psZVd4dmNHVjZPbEpsZVMweE1UYzIiCgkJfQoJfQp9
-type: kubernetes.io/dockerconfigjson

+ 0 - 14
K8S/static-volume-persistentvolumeclaim.yaml

@@ -1,14 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  labels:
-    io.kompose.service: static-volume
-  name: static-volume
-  namespace: jugaralpadel
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 70Mi
-  storageClassName: lvms-vg1

+ 0 - 1
K8S/verImg.sh

@@ -1 +0,0 @@
-docker run -it registry.jugaralpadel.es/jugaralpadel-x86_64:0.1 bash

+ 0 - 284
deployment-jugar-al-padel-oc-git.yaml

@@ -1,284 +0,0 @@
-kind: Deployment
-apiVersion: apps/v1
-metadata:
-  annotations:
-    alpha.image.policy.openshift.io/resolve-names: '*'
-    app.openshift.io/route-disabled: 'false'
-    app.openshift.io/vcs-ref: ''
-    app.openshift.io/vcs-uri: 'http://gitea.reymota.es/creylopez/JugarAlPadelOC.git'
-    deployment.kubernetes.io/revision: '3'
-    openshift.io/generated-by: OpenShiftWebConsole
-    image.openshift.io/triggers: >-
-      [{"from":{"kind":"ImageStreamTag","name":"jugar-al-padel-oc-git:latest","namespace":"jugaralpadel"},"fieldPath":"spec.template.spec.containers[?(@.name==\"jugar-al-padel-oc-git\")].image","paused":"false"}]
-  resourceVersion: '8774963'
-  name: jugar-al-padel-oc-git
-  uid: b66ba6a9-cb6e-4a8e-ada6-b26843556f75
-  creationTimestamp: '2025-01-10T18:12:34Z'
-  generation: 3
-  managedFields:
-    - manager: Mozilla
-      operation: Update
-      apiVersion: apps/v1
-      time: '2025-01-11T08:52:27Z'
-      fieldsType: FieldsV1
-      fieldsV1:
-        'f:metadata':
-          'f:annotations':
-            .: {}
-            'f:alpha.image.policy.openshift.io/resolve-names': {}
-            'f:app.openshift.io/route-disabled': {}
-            'f:app.openshift.io/vcs-ref': {}
-            'f:app.openshift.io/vcs-uri': {}
-            'f:image.openshift.io/triggers': {}
-            'f:openshift.io/generated-by': {}
-          'f:labels':
-            .: {}
-            'f:app': {}
-            'f:app.kubernetes.io/component': {}
-            'f:app.kubernetes.io/instance': {}
-            'f:app.kubernetes.io/name': {}
-            'f:app.kubernetes.io/part-of': {}
-        'f:spec':
-          'f:progressDeadlineSeconds': {}
-          'f:replicas': {}
-          'f:revisionHistoryLimit': {}
-          'f:selector': {}
-          'f:strategy':
-            'f:rollingUpdate':
-              .: {}
-              'f:maxSurge': {}
-              'f:maxUnavailable': {}
-            'f:type': {}
-          'f:template':
-            'f:metadata':
-              'f:annotations':
-                .: {}
-                'f:openshift.openshift.io/restartedAt': {}
-              'f:labels':
-                .: {}
-                'f:app': {}
-                'f:deployment': {}
-            'f:spec':
-              'f:containers':
-                'k:{"name":"jugar-al-padel-oc-git"}':
-                  .: {}
-                  'f:env':
-                    'k:{"name":"SQL_USER"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"DEBUG"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    .: {}
-                    'k:{"name":"CSRF_TRUSTED_ORIGINS"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"SQL_DATABASE"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"SQL_PASSWORD"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"DJANGO_ALLOWED_HOSTS"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"SQL_PORT"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"SQL_ENGINE"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"SQL_HOST"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                    'k:{"name":"DATABASE"}':
-                      .: {}
-                      'f:name': {}
-                      'f:valueFrom':
-                        .: {}
-                        'f:configMapKeyRef': {}
-                  'f:image': {}
-                  'f:imagePullPolicy': {}
-                  'f:name': {}
-                  'f:resources': {}
-                  'f:terminationMessagePath': {}
-                  'f:terminationMessagePolicy': {}
-              'f:dnsPolicy': {}
-              'f:restartPolicy': {}
-              'f:schedulerName': {}
-              'f:securityContext': {}
-              'f:terminationGracePeriodSeconds': {}
-    - manager: kube-controller-manager
-      operation: Update
-      apiVersion: apps/v1
-      time: '2025-01-11T08:52:28Z'
-      fieldsType: FieldsV1
-      fieldsV1:
-        'f:metadata':
-          'f:annotations':
-            'f:deployment.kubernetes.io/revision': {}
-        'f:status':
-          'f:conditions':
-            .: {}
-            'k:{"type":"Available"}':
-              .: {}
-              'f:lastTransitionTime': {}
-              'f:lastUpdateTime': {}
-              'f:message': {}
-              'f:reason': {}
-              'f:status': {}
-              'f:type': {}
-            'k:{"type":"Progressing"}':
-              .: {}
-              'f:lastTransitionTime': {}
-              'f:lastUpdateTime': {}
-              'f:message': {}
-              'f:reason': {}
-              'f:status': {}
-              'f:type': {}
-          'f:observedGeneration': {}
-          'f:replicas': {}
-          'f:unavailableReplicas': {}
-          'f:updatedReplicas': {}
-      subresource: status
-  namespace: jugaralpadel
-  labels:
-    app: jugar-al-padel-oc-git
-    app.kubernetes.io/component: jugar-al-padel-oc-git
-    app.kubernetes.io/instance: jugar-al-padel-oc-git
-    app.kubernetes.io/name: jugar-al-padel-oc-git
-    app.kubernetes.io/part-of: jugar-al-padel-oc-git-app
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: jugar-al-padel-oc-git
-  template:
-    metadata:
-      creationTimestamp: null
-      labels:
-        app: jugar-al-padel-oc-git
-        deployment: jugar-al-padel-oc-git
-      annotations:
-        openshift.openshift.io/restartedAt: '2025-01-11T08:52:27.178Z'
-    spec:
-      containers:
-        - name: jugar-al-padel-oc-git
-          image: >-
-            image-registry.openshift-image-registry.svc:5000/jugaralpadel/jugar-al-padel-oc-git@sha256:6e3483f13e9f507803385db57ab655d6cb809320f1651968b1a47931a9be2e22
-          env:
-            - name: DEBUG
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: DEBUG
-            - name: DJANGO_ALLOWED_HOSTS
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: DJANGO_ALLOWED_HOSTS
-            - name: CSRF_TRUSTED_ORIGINS
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: CSRF_TRUSTED_ORIGINS
-            - name: DATABASE
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: DATABASE
-            - name: SQL_HOST
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_HOST
-            - name: SQL_PORT
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_PORT
-            - name: SQL_ENGINE
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_ENGINE
-            - name: SQL_DATABASE
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_DATABASE
-            - name: SQL_USER
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_USER
-            - name: SQL_PASSWORD
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_PASSWORD
-          resources: {}
-          terminationMessagePath: /dev/termination-log
-          terminationMessagePolicy: File
-          imagePullPolicy: Always
-      restartPolicy: Always
-      terminationGracePeriodSeconds: 30
-      dnsPolicy: ClusterFirst
-      securityContext: {}
-      schedulerName: default-scheduler
-      imagePullSecrets: []
-  strategy:
-    type: RollingUpdate
-    rollingUpdate:
-      maxSurge: 25%
-      maxUnavailable: 25%
-  revisionHistoryLimit: 10
-  progressDeadlineSeconds: 600
-  paused: false
-status:
-  observedGeneration: 3
-  replicas: 1
-  updatedReplicas: 1
-  unavailableReplicas: 1
-  conditions:
-    - type: Progressing
-      status: 'True'
-      lastUpdateTime: '2025-01-11T08:52:28Z'
-      lastTransitionTime: '2025-01-10T18:12:34Z'
-      reason: NewReplicaSetAvailable
-      message: >-
-        ReplicaSet "jugar-al-padel-oc-git-7bc989c94d" has successfully
-        progressed.
-    - type: Available
-      status: 'False'
-      lastUpdateTime: '2025-01-11T08:52:28Z'
-      lastTransitionTime: '2025-01-11T08:52:28Z'
-      reason: MinimumReplicasUnavailable
-      message: Deployment does not have minimum availability.

+ 0 - 51
entorno.env

@@ -1,51 +0,0 @@
-          env:
-            - name: DEBUG
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: DEBUG
-            - name: DJANGO_ALLOWED_HOSTS
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: DJANGO_ALLOWED_HOSTS
-            - name: CSRF_TRUSTED_ORIGINS
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: CSRF_TRUSTED_ORIGINS
-            - name: DATABASE
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: DATABASE
-            - name: SQL_HOST
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_HOST
-            - name: SQL_PORT
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_PORT
-            - name: SQL_ENGINE
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_ENGINE
-            - name: SQL_DATABASE
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_DATABASE
-            - name: SQL_USER
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_USER
-            - name: SQL_PASSWORD
-              valueFrom:
-                configMapKeyRef:
-                  name: env-prod
-                  key: SQL_PASSWORD

+ 0 - 20
entrypoint.sh

@@ -1,20 +0,0 @@
-#!/bin/bash
-
-if [ "$DATABASE" = "postgres" ]
-then
-    echo "Waiting for postgres..."
-
-    while ! nc -z $SQL_HOST $SQL_PORT; do
-      sleep 0.1
-    done
-
-    echo "PostgreSQL started"
-else
-    echo "la base de datos no es postgres: '$DATABASE'"
-fi
-
-python manage.py collectstatic --noinput
-#python manage.py flush --no-input
-#python manage.py migrate
-
-exec "$@"

+ 0 - 4
nginx/Dockerfile

@@ -1,4 +0,0 @@
-FROM nginx:1.25
-
-RUN rm /etc/nginx/conf.d/default.conf
-COPY nginx.conf /etc/nginx/conf.d

+ 0 - 8
nginx/Makefile

@@ -1,8 +0,0 @@
-install:
-
-	echo "Creando imagen con version '${IMG_NGINX_VERSION}' para la arquitectura '${ARQUITECTURA}' en el registry '${REGISTRY}'"
-
-	docker build --no-cache -t ${REGISTRY}/nginx-jugaralpadel-${ARQUITECTURA}:${IMG_NGINX_VERSION} .
-	docker push ${REGISTRY}/nginx-jugaralpadel-${ARQUITECTURA}:${IMG_NGINX_VERSION}
-
-

+ 32 - 0
nginx/default.conf

@@ -0,0 +1,32 @@
+upstream django_project {
+    server localhost:8000;
+}
+
+error_log /var/log/nginx/error.log;
+
+server {
+    listen       80;
+    server_name  reymota.lab *.reymota.lab;
+    access_log /var/log/nginx/access.log;
+
+    location / {
+        proxy_pass http://django_project;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header Host $host;
+        proxy_redirect off;
+        client_max_body_size 100M;
+    }
+
+    location /static/ {
+        alias /app/wsgi/static/;
+    }
+
+    location /media/ {
+        alias /app/wsgi/mediafiles/;
+    }
+
+    error_page   500 502 503 504  /50x.html;
+    location = /50x.html {
+        root   /usr/share/nginx/html;
+    }
+}

+ 0 - 25
nginx/nginx.conf

@@ -1,25 +0,0 @@
-upstream jugaralpadel {
-    server jugaralpadel:8000;
-}
-
-server {
-
-    listen 80;
-
-    location / {
-        proxy_pass http://jugaralpadel;
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header Host $http_host;
-        proxy_redirect off;
-        client_max_body_size 100M;
-    }
-
-    location /static/ {
-        alias /app/gestion_reservas/staticfiles/;
-    }
-
-    location /media/ {
-        alias /app/gestion_reservas/mediafiles/;
-    }
-
-}

+ 0 - 0
gestion_reservas/accounts/.gitignore → src/accounts/.gitignore


+ 0 - 0
gestion_reservas/accounts/__init__.py → src/accounts/__init__.py


+ 0 - 0
gestion_reservas/accounts/admin.py → src/accounts/admin.py


+ 0 - 0
gestion_reservas/accounts/apps.py → src/accounts/apps.py


+ 0 - 0
gestion_reservas/accounts/models.py → src/accounts/models.py


+ 0 - 0
gestion_reservas/accounts/tests.py → src/accounts/tests.py


+ 0 - 0
gestion_reservas/accounts/urls.py → src/accounts/urls.py


+ 0 - 0
gestion_reservas/accounts/views.py → src/accounts/views.py


+ 23 - 0
src/config/entrypoint.sh

@@ -0,0 +1,23 @@
+#!/bin/bash
+RUN_PORT="8000"
+SQL_HOST=5432
+
+if [ "$DATABASE" = "postgres" ]
+then
+    echo "Waiting for postgres..."
+
+    while ! nc -z $SQL_HOST $SQL_PORT; do
+      sleep 0.1
+    done
+
+    echo "PostgreSQL started"
+
+	/opt/venv/bin/python manage.py migrate --no-input
+	/opt/venv/bin/python manage.py collectstatic --no-input
+
+	/opt/venv/bin/gunicorn gestion_reservas.wsgi:application --bind "0.0.0.0:${RUN_PORT}" --daemon
+
+	nginx -g 'daemon off;'
+else
+    echo "la base de datos no es postgres: '$DATABASE'"
+fi

+ 0 - 0
gestion_reservas/eventos/__init__.py → src/eventos/__init__.py


+ 0 - 0
gestion_reservas/eventos/admin.py → src/eventos/admin.py


+ 0 - 0
gestion_reservas/eventos/apps.py → src/eventos/apps.py


+ 0 - 0
gestion_reservas/eventos/forms.py → src/eventos/forms.py


+ 0 - 0
gestion_reservas/eventos/models.py → src/eventos/models.py


+ 0 - 0
gestion_reservas/eventos/static/css/portal.css → src/eventos/static/css/portal.css


+ 0 - 0
gestion_reservas/eventos/static/images/app-logo.svg → src/eventos/static/images/app-logo.svg


+ 0 - 0
gestion_reservas/eventos/static/images/background/background-1.jpg → src/eventos/static/images/background/background-1.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/background/background-2.jpg → src/eventos/static/images/background/background-2.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/background/background-3.jpg → src/eventos/static/images/background/background-3.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/background/background-palmeras.jpg → src/eventos/static/images/background/background-palmeras.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/doc-thumb-1.jpg → src/eventos/static/images/doc-thumb-1.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/doc-thumb-2.jpg → src/eventos/static/images/doc-thumb-2.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/favicon.ico → src/eventos/static/images/favicon.ico


+ 0 - 0
gestion_reservas/eventos/static/images/favicon.png → src/eventos/static/images/favicon.png


+ 0 - 0
gestion_reservas/eventos/static/images/padel-court.jpg → src/eventos/static/images/padel-court.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/palapadel.svg → src/eventos/static/images/palapadel.svg


+ 0 - 0
gestion_reservas/eventos/static/images/portal-logo.svg → src/eventos/static/images/portal-logo.svg


+ 0 - 0
gestion_reservas/eventos/static/images/profiles/profile-1.png → src/eventos/static/images/profiles/profile-1.png


+ 0 - 0
gestion_reservas/eventos/static/images/profiles/profile-2.png → src/eventos/static/images/profiles/profile-2.png


+ 0 - 0
gestion_reservas/eventos/static/images/profiles/profile-3.png → src/eventos/static/images/profiles/profile-3.png


+ 0 - 0
gestion_reservas/eventos/static/images/profiles/profile-4.png → src/eventos/static/images/profiles/profile-4.png


+ 0 - 0
gestion_reservas/eventos/static/images/profiles/profile-5.png → src/eventos/static/images/profiles/profile-5.png


+ 0 - 0
gestion_reservas/eventos/static/images/profiles/profile-6.png → src/eventos/static/images/profiles/profile-6.png


+ 0 - 0
gestion_reservas/eventos/static/images/reymota-logo.svg → src/eventos/static/images/reymota-logo.svg


+ 0 - 0
gestion_reservas/eventos/static/images/user.png → src/eventos/static/images/user.png


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-1.jpg → src/eventos/static/images/users/user-1.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-2.jpg → src/eventos/static/images/users/user-2.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-3.jpg → src/eventos/static/images/users/user-3.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-4.jpg → src/eventos/static/images/users/user-4.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-5.jpg → src/eventos/static/images/users/user-5.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-6.jpg → src/eventos/static/images/users/user-6.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-7.jpg → src/eventos/static/images/users/user-7.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-8.jpg → src/eventos/static/images/users/user-8.jpg


+ 0 - 0
gestion_reservas/eventos/static/images/users/user-9.jpg → src/eventos/static/images/users/user-9.jpg


+ 0 - 0
gestion_reservas/eventos/static/js/app.js → src/eventos/static/js/app.js


+ 0 - 0
gestion_reservas/eventos/static/js/charts-demo.js → src/eventos/static/js/charts-demo.js


+ 0 - 0
gestion_reservas/eventos/static/js/index-charts.js → src/eventos/static/js/index-charts.js


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.css → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.min.css → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.min.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.min.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.min.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.css → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.min.css → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.min.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.min.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-grid.rtl.min.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.css → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.min.css → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.min.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.min.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.min.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.css → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.min.css → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.min.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.min.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-reboot.rtl.min.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.css → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.min.css → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.min.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.min.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.min.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.css → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.min.css → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.min.css


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.min.css.map → src/eventos/static/plugins/bootstrap/css/bootstrap-utilities.rtl.min.css.map


+ 0 - 0
gestion_reservas/eventos/static/plugins/bootstrap/css/bootstrap.css → src/eventos/static/plugins/bootstrap/css/bootstrap.css


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff