Browse Source

Corrijo api para que busque coche por matrícula

main
Celestino Rey 9 months ago
parent
commit
9065dfe63e
10 changed files with 84 additions and 45 deletions
  1. +2
    -35
      README.md
  2. +11
    -0
      Yamls/env-prod-db-configmap.yaml
  3. +5
    -5
      Yamls/postgresql-deployment.yaml
  4. +17
    -0
      Yamls/postgresql-service.yaml
  5. +17
    -0
      Yamls/pvc-postgresql.yaml
  6. +0
    -0
      Yamls/pvc.yaml
  7. +27
    -0
      Yamls/reymota-development.yaml
  8. +3
    -3
      src/repostajes/management/commands/importar_repostajes.py
  9. +0
    -1
      src/repostajes/management/commands/importar_vehiculos.py
  10. +2
    -1
      src/repostajes/serializers.py

+ 2
- 35
README.md View File

@ -1,21 +1,14 @@
# Versión para openshift # Versión para openshift
## permitir a nginx correr con privilegios
### esto se hace una vez dentro del proyecto.
oc adm policy add-scc-to-user -z default anyuid
## Instalación ## Instalación
Crear un proyecto y luego añadir una app desde Agregar, importar desde git. 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
oc new-app http://gitea.reymota.es/creylopez/ReyMotaAppsOC.git -e DEBUG="False" -e VERSION=11.0 --name='reymota'
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
@ -65,29 +58,3 @@ 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. 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.
## Copiar ficheros al contenedor
Copy local directory to a pod directory
oc rsync /home/user/source devpod1234:/src
# Copy pod directory to a local directory
oc rsync devpod1234:/src /home/user/source
## 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
## Persistent Volume Claims y sus rutas de montaje
- mountPath: /app/lyrics/migrations
name: reymota-lyrics-migrations
- mountPath: /app/repostajes/migrations
name: reymota-repostajes-migrations
- mountPath: /app/reymotausers/migrations
name: reymota-reymotausers-migrations
- mountPath: /app/staticfiles
name: static-volume

+ 11
- 0
Yamls/env-prod-db-configmap.yaml View File

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

postgres-deployment.yaml → Yamls/postgresql-deployment.yaml View File

@ -5,14 +5,14 @@ metadata:
kompose.cmd: kompose convert kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db) kompose.version: 1.34.0 (cbf2835db)
labels: labels:
io.kompose.service: db
name: db
io.kompose.service: postgresql
name: postgresql
namespace: reymota namespace: reymota
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
io.kompose.service: db
io.kompose.service: postgresql
strategy: strategy:
type: Recreate type: Recreate
template: template:
@ -21,7 +21,7 @@ spec:
kompose.cmd: kompose convert kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db) kompose.version: 1.34.0 (cbf2835db)
labels: labels:
io.kompose.service: db
io.kompose.service: postgresql
spec: spec:
containers: containers:
- env: - env:
@ -41,7 +41,7 @@ spec:
key: POSTGRES_USER key: POSTGRES_USER
name: env-prod-db name: env-prod-db
image: postgres:15 image: postgres:15
name: db
name: postgresql
volumeMounts: volumeMounts:
- mountPath: /var/lib/postgresql/data - mountPath: /var/lib/postgresql/data
name: postgresql name: postgresql

+ 17
- 0
Yamls/postgresql-service.yaml View File

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

+ 17
- 0
Yamls/pvc-postgresql.yaml View File

@ -0,0 +1,17 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
finalizers:
- kubernetes.io/pvc-protection
labels:
template: postgresql-persistent-template
name: postgresql
namespace: reymota
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: lvms-vg1
volumeMode: Filesystem

pvc.yaml → Yamls/pvc.yaml View File


+ 27
- 0
Yamls/reymota-development.yaml View File

@ -0,0 +1,27 @@
volumeMounts:
- mountPath: /app/lyrics/migrations
name: reymota-lyrics-migrations
- mountPath: /app/mediafiles
name: reymota-media
- mountPath: /app/repostajes/migrations
name: reymota-repostajes-migrations
- mountPath: /app/reymotausers/migrations
name: reymota-reymotausers-migrations
- mountPath: /app/staticfiles
name: static-volume
volumes:
- name: reymota-lyrics-migrations
persistentVolumeClaim:
claimName: reymota-lyrics-migrations
- name: reymota-media
persistentVolumeClaim:
claimName: reymota-media
- name: reymota-repostajes-migrations
persistentVolumeClaim:
claimName: reymota-repostajes-migrations
- name: reymota-reymotausers-migrations
persistentVolumeClaim:
claimName: reymota-reymotausers-migrations
- name: static-volume
persistentVolumeClaim:
claimName: static-volume

+ 3
- 3
src/repostajes/management/commands/importar_repostajes.py View File

@ -26,10 +26,10 @@ class Command(BaseCommand):
repostajes_creados = 0 repostajes_creados = 0
for repostaje_data in datos: for repostaje_data in datos:
try: try:
vehiculo = Vehiculo.objects.get(id=repostaje_data["vehiculo"])
vehiculo = Vehiculo.objects.get(matricula=repostaje_data["vehiculo_matricula"])
creado = Repostaje.objects.create( creado = Repostaje.objects.create(
vehiculo_id=vehiculo.id,
vehiculo=vehiculo,
fecha=repostaje_data['fecha'], fecha=repostaje_data['fecha'],
kms=repostaje_data['kms'], kms=repostaje_data['kms'],
litros=repostaje_data['litros'], litros=repostaje_data['litros'],
@ -43,7 +43,7 @@ class Command(BaseCommand):
repostajes_creados += 1 repostajes_creados += 1
except Vehiculo.DoesNotExist: except Vehiculo.DoesNotExist:
self.stderr.write(self.style.ERROR(f"Vehiculo '{repostaje_data['vehiculo']}' no encontrado."))
self.stderr.write(self.style.ERROR(f"Vehiculo con matrícula '{repostaje_data['vehiculo_matricula']}' no encontrado."))
self.stdout.write(self.style.SUCCESS(f'Se importaron {repostajes_creados} repostajes correctamente.')) self.stdout.write(self.style.SUCCESS(f'Se importaron {repostajes_creados} repostajes correctamente.'))


+ 0
- 1
src/repostajes/management/commands/importar_vehiculos.py View File

@ -26,7 +26,6 @@ class Command(BaseCommand):
vehiculos_creados = 0 vehiculos_creados = 0
for vehiculo_data in datos: for vehiculo_data in datos:
creado = Vehiculo.objects.create( creado = Vehiculo.objects.create(
id=vehiculo_data['id'],
marca=vehiculo_data['marca'], marca=vehiculo_data['marca'],
modelo=vehiculo_data['modelo'], modelo=vehiculo_data['modelo'],
matricula=vehiculo_data['matricula'], matricula=vehiculo_data['matricula'],


+ 2
- 1
src/repostajes/serializers.py View File

@ -9,6 +9,7 @@ class VehiculoSerializer(serializers.ModelSerializer):
class RepostajeSerializer(serializers.ModelSerializer): class RepostajeSerializer(serializers.ModelSerializer):
vehiculo_matricula = serializers.CharField(source='vehiculo.matricula', read_only=True)
class Meta: class Meta:
model = Repostaje model = Repostaje
fields = '__all__' # Incluir todos los campos del modelo
fields = [ 'id', 'fecha', 'kms', 'litros', 'descuento', 'importe', 'precioxlitro', 'kmsrecorridos', 'consumo', 'vehiculo', 'vehiculo_matricula']

Loading…
Cancel
Save