minikube working
This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: ecommerce
|
||||
resources:
|
||||
- ../../base
|
||||
images:
|
||||
- name: ecommerce-backend
|
||||
newName: 192.168.108.200:80/vaishnavi-ecommerce/ecommerce-backend
|
||||
newTag: latest # Jenkins will patch this via: kustomize edit set image
|
||||
patches:
|
||||
- path: patches/deployment-patch.yaml
|
||||
target:
|
||||
kind: Deployment
|
||||
name: ecommerce-app
|
||||
# apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
# kind: Kustomization
|
||||
# namespace: ecommerce
|
||||
# resources:
|
||||
# - ../../base
|
||||
# images:
|
||||
# - name: ecommerce-backend
|
||||
# newName: ecommerce-backend
|
||||
# newTag: latest
|
||||
# patches:
|
||||
# - path: patches/deployment-patch.yaml
|
||||
# target:
|
||||
# kind: Deployment
|
||||
# name: ecommerce-app
|
||||
@@ -1,33 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ecommerce-app
|
||||
namespace: ecommerce
|
||||
spec:
|
||||
replicas: 1
|
||||
template:
|
||||
spec:
|
||||
initContainers:
|
||||
- name: run-migrations
|
||||
imagePullPolicy: Always
|
||||
# imagePullSecrets are set at pod level below
|
||||
containers:
|
||||
- name: ecommerce-app
|
||||
imagePullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: harbor-registry-secret # kubectl create secret docker-registry harbor-registry-secret ...
|
||||
|
||||
# apiVersion: apps/v1
|
||||
# kind: Deployment
|
||||
# metadata:
|
||||
# name: ecommerce-app
|
||||
# namespace: ecommerce
|
||||
# spec:
|
||||
# template:
|
||||
# spec:
|
||||
# initContainers:
|
||||
# - name: run-migrations
|
||||
# imagePullPolicy: Never
|
||||
# containers:
|
||||
# - name: ecommerce-app
|
||||
# imagePullPolicy: Never
|
||||
49
k8s/overlays/minikube/backend-patch.yaml
Normal file
49
k8s/overlays/minikube/backend-patch.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
# Minikube backend patches — single replica, reduced resources, NodePort
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ecommerce-app
|
||||
namespace: ecommerce
|
||||
spec:
|
||||
replicas: 1
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: ecommerce-app
|
||||
# Never pull — use minikube's local Docker daemon image
|
||||
imagePullPolicy: Never
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: ecommerce-app
|
||||
namespace: ecommerce
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 3000
|
||||
nodePort: 30080
|
||||
protocol: TCP
|
||||
name: http
|
||||
---
|
||||
# Migration job also needs imagePullPolicy: Never
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: prisma-migrate
|
||||
namespace: ecommerce
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: migrate
|
||||
imagePullPolicy: Never
|
||||
17
k8s/overlays/minikube/kustomization.yaml
Normal file
17
k8s/overlays/minikube/kustomization.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ../../base
|
||||
|
||||
namespace: ecommerce
|
||||
|
||||
# ── Use locally built image (minikube docker-env) ──
|
||||
images:
|
||||
- name: ecommerce-backend
|
||||
newName: ecommerce-backend
|
||||
newTag: minikube
|
||||
|
||||
# ── Patches ──
|
||||
patches:
|
||||
- path: backend-patch.yaml
|
||||
36
k8s/overlays/on-premise/backend-patch.yaml
Normal file
36
k8s/overlays/on-premise/backend-patch.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
# On-premise backend patches
|
||||
# Adjust replicas, resource limits, and expose via NodePort
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ecommerce-app
|
||||
namespace: ecommerce
|
||||
spec:
|
||||
replicas: 2
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: ecommerce-app
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 2Gi
|
||||
---
|
||||
# Expose the backend as a NodePort for on-premise access
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: ecommerce-app
|
||||
namespace: ecommerce
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 3000
|
||||
nodePort: 30080
|
||||
protocol: TCP
|
||||
name: http
|
||||
19
k8s/overlays/on-premise/kustomization.yaml
Normal file
19
k8s/overlays/on-premise/kustomization.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ../../base
|
||||
|
||||
namespace: ecommerce
|
||||
|
||||
# ── Image overrides ──
|
||||
# Jenkins will run: kustomize edit set image ecommerce-backend=<HARBOR_IMAGE>:<TAG>
|
||||
images:
|
||||
- name: ecommerce-backend
|
||||
newName: 192.168.108.200:80/vaishnavi-ecommerce/ecommerce-backend
|
||||
newTag: latest
|
||||
|
||||
# ── Strategic-merge patches ──
|
||||
patches:
|
||||
- path: backend-patch.yaml
|
||||
- path: secrets-patch.yaml
|
||||
42
k8s/overlays/on-premise/secrets-patch.yaml
Normal file
42
k8s/overlays/on-premise/secrets-patch.yaml
Normal file
@@ -0,0 +1,42 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: ecommerce-secrets
|
||||
namespace: ecommerce
|
||||
type: Opaque
|
||||
data:
|
||||
# ── Override secrets for on-premise ──
|
||||
# Update these values for your on-premise environment.
|
||||
# echo -n 'value' | base64
|
||||
|
||||
# postgresql://vaishnavi:admin@postgres:5432/vaishnavi_db?schema=public
|
||||
DATABASE_URL: cG9zdGdyZXNxbDovL3ZhaXNobmF2aTphZG1pbkBwb3N0Z3Jlczo1NDMyL3ZhaXNobmF2aV9kYj9zY2hlbWE9cHVibGlj
|
||||
|
||||
# JWT
|
||||
JWT_SECRET: eW91ci1zdXBlci1zZWNyZXQtand0LWtleS1jaGFuZ2UtdGhpcy1pbi1wcm9kdWN0aW9u
|
||||
JWT_EXPIRES_IN: N2Q=
|
||||
JWT_REFRESH_SECRET: eW91ci1yZWZyZXNoLXRva2VuLXNlY3JldA==
|
||||
JWT_REFRESH_EXPIRES_IN: MzBk
|
||||
|
||||
# AWS S3 / MinIO
|
||||
AWS_ACCESS_KEY_ID: dUE3V3ZUOWZoeWRjb3p5ejVhbG8=
|
||||
AWS_SECRET_ACCESS_KEY: QXVzRXk2S0txYW5RUVUzWnczclhZQmFpUzVCTThhUG9BS2ZwY2JGcg==
|
||||
AWS_REGION: dXMtZWFzdC0x
|
||||
AWS_S3_BUCKET: ZS1jb21tZXJjZQ==
|
||||
AWS_ENDPOINT: czMuc2FoYXNyYXJhbWV0YS50ZWNo
|
||||
|
||||
# Email
|
||||
EMAIL_USER: dmFpYmhhdi5zYWhhc3JhcmFAZ21haWwuY29t
|
||||
EMAIL_PASS: cGV6amN4Zm5lZ2d1emt1aA==
|
||||
|
||||
# Paytm
|
||||
PAYTM_MERCHANT_ID: eW91cl9tZXJjaGFudF9pZA==
|
||||
PAYTM_MERCHANT_KEY: YWJjZDEyMzRhYmNkMTIzNA==
|
||||
PAYTM_WEBSITE: V0VCU1RBR0lORw==
|
||||
PAYTM_HOST: c2VjdXJlZ3ctc3RhZ2UucGF5dG0uaW4=
|
||||
PAYTM_CALLBACK_URL: aHR0cDovL2xvY2FsaG9zdDozMDAwL2FwaS9wYXltZW50cy9wYXl0bS9jYWxsYmFjaw==
|
||||
|
||||
# Postgres init credentials
|
||||
POSTGRES_USER: dmFpc2huYXZp
|
||||
POSTGRES_PASSWORD: YWRtaW4=
|
||||
POSTGRES_DB: dmFpc2huYXZpX2Ri
|
||||
Reference in New Issue
Block a user