Browse Source

Primer Fleet

Celestino Rey 1 year ago
parent
commit
cb0eba108b

+ 7 - 0
Fleet/15-namespace.yaml

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

+ 8 - 0
Fleet/20-reg-secret.yaml

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

+ 11 - 0
Fleet/25-env-prod-configmap.yaml

@@ -0,0 +1,11 @@
+apiVersion: v1
+data:
+  DEBUG: "False"
+  APP_VERSION: 14.0.1
+  DATABASE: postgres
+kind: ConfigMap
+metadata:
+  labels:
+    io.kompose.service: web-env-prod
+  name: env-prod
+  namespace: jugaralpadel

+ 11 - 0
Fleet/30-env-prod-db-configmap.yaml

@@ -0,0 +1,11 @@
+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

+ 74 - 0
Fleet/35-pv-local-jugaralpadel.yaml

@@ -0,0 +1,74 @@
+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: 150Mi
+  accessModes:
+    - ReadWriteOnce
+  hostPath:
+    path: "/mnt/Externo/jugaralpadel/pg"

+ 47 - 0
Fleet/40-pvc-jugaralpadel.yaml

@@ -0,0 +1,47 @@
+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
+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
+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
+status: {}

+ 13 - 0
Fleet/45-pvc-static.yaml

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

+ 13 - 0
Fleet/50-pvc-postgresql.yaml

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

+ 52 - 0
Fleet/55-db-deployment.yaml

@@ -0,0 +1,52 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  annotations:
+    kompose.cmd: kompose convert
+    kompose.version: 1.34.0 (cbf2835db)
+  labels:
+    io.kompose.service: postgresql
+  name: postgresql
+  namespace: jugaralpadel
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      io.kompose.service: postgresql
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      annotations:
+        kompose.cmd: kompose convert
+        kompose.version: 1.34.0 (cbf2835db)
+      labels:
+        io.kompose.service: postgresql
+    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: postgresql
+          volumeMounts:
+            - mountPath: /var/lib/postgresql/data
+              name: postgres-data
+      restartPolicy: Always
+      volumes:
+        - name: postgres-data
+          persistentVolumeClaim:
+            claimName: postgres-data

+ 17 - 0
Fleet/60-db-service.yaml

@@ -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: jugaralpadel
+spec:
+  ports:
+    - name: "5432"
+      port: 5432
+      targetPort: 5432
+  selector:
+    io.kompose.service: postgresql

+ 20 - 0
Fleet/65-nginx-service.yaml

@@ -0,0 +1,20 @@
+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
+

+ 84 - 0
Fleet/70-jugaralpadel-deployment.yaml

@@ -0,0 +1,84 @@
+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.reymota.es/jugaralpadel-x86_64:0.70.40
+        env:
+        - name: IMG_VERSION
+          value: "0.70.40"
+        - name: DEBUG
+          valueFrom:
+            configMapKeyRef:
+              key: DEBUG
+              name: env-prod
+        - name: APP_VERSION
+          valueFrom:
+            configMapKeyRef:
+              key: APP_VERSION
+              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: {}

+ 46 - 0
Fleet/75-nginx-deployment.yaml

@@ -0,0 +1,46 @@
+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.reymota.es/nginx-jugaralpadel-x86_64:2.3
+          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

+ 31 - 0
Fleet/80-jugaralpadel-ingress.yaml

@@ -0,0 +1,31 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  generation: 1
+  managedFields:
+    - apiVersion: networking.k8s.io/v1
+      fieldsType: FieldsV1
+      fieldsV1:
+        f:spec:
+          f:defaultBackend:
+            .: {}
+            f:service:
+              .: {}
+              f:name: {}
+              f:port: {}
+          f:rules: {}
+      manager: rancher
+      operation: Update
+  name: jugaralpadel
+  namespace: jugaralpadel
+spec:
+  defaultBackend:
+    service:
+      name: nginx
+      port:
+        number: 1337
+  ingressClassName: nginx
+  rules:
+    - host: jugaralpadel.rancher.reymota.lab
+status:
+  loadBalancer: {}

+ 0 - 1
src/eventos/forms.py

@@ -33,4 +33,3 @@ class MensajeCorreoForm(forms.Form):
         widget=forms.Textarea(attrs={'class': 'form-control', 'rows': 16}),
         required=True
     )
-

+ 0 - 1
src/eventos/serializers.py

@@ -32,4 +32,3 @@ class NoticiaSerializer(serializers.ModelSerializer):
     class Meta:
         model = Noticia
         fields = ['id', 'titulo', 'contenido', 'fecha_publicacion', 'publicado', 'usuario_email']
-

+ 0 - 1
src/gestion_reservas/admin.py

@@ -7,4 +7,3 @@ class AyudaAdmin(admin.ModelAdmin):
 
 
 admin.site.register(Ayuda, AyudaAdmin)
-

+ 0 - 1
src/gestion_reservas/models.py

@@ -15,4 +15,3 @@ class Ayuda(models.Model):
 
     def __str__(self):
         return f"{self.titulo} - {self.apartado}"
-

+ 10 - 13
src/gestion_reservas/settings.py

@@ -94,16 +94,16 @@ WSGI_APPLICATION = 'gestion_reservas.wsgi.application'
 # https://docs.djangoproject.com/en/5.1/ref/settings/#databases
 
 if LOCAL is False:
-	DATABASES = {
-		"default": {
-			"ENGINE": "django.db.backends.postgresql",
-			"NAME": "jugaralpadel",
-			"USER": "creylopez",
-			"PASSWORD": "Dsa-0213",
-			"HOST": "postgresql",
-			"PORT": "5432",
-		}
-	}
+    DATABASES = {
+        "default": {
+            "ENGINE": "django.db.backends.postgresql",
+            "NAME": "jugaralpadel",
+            "USER": "creylopez",
+            "PASSWORD": "Dsa-0213",
+            "HOST": "postgresql",
+            "PORT": "5432",
+        }
+    }
 else:
     DATABASES = {
         'default': {
@@ -112,8 +112,6 @@ else:
         }
     }
 
-
-
 # Password validation
 # https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators
 
@@ -246,4 +244,3 @@ LOGGING = {
         },
     },
 }
-

+ 0 - 1
src/gestion_reservas/urls.py

@@ -41,4 +41,3 @@ urlpatterns = [
     path("acerca-de/", views.acerca_de, name="acerca_de"),
 
 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
-

+ 0 - 1
src/reymotausers/admin.py

@@ -62,4 +62,3 @@ class ReyMotaUserAdmin(UserAdmin):
 
 
 admin.site.register(ReyMotaUser, ReyMotaUserAdmin)
-