feat: Add Lions Dev GitOps deployment infrastructure
🏗️ Kubernetes Manifests: - Namespace configuration for lions-apps - Deployment with 3 replicas and resource limits - Service for internal cluster communication - Ingress with SSL/TLS for lions.dev and www.lions.dev 🚀 Deployment Script: - Interactive deployment script with environment validation - Support for production deployment to k2 cluster - Safety confirmations and comprehensive logging 🌍 Production Configuration: - Domain: lions.dev with automatic SSL certificates - Cluster: k2 for production workloads - Registry: registry.lions.dev for container images - Namespace: lions-apps for application isolation Ready for deployment with lionsctl pipeline command.
This commit is contained in:
29
applications/lionsdev-client/kubernetes/deployment.yaml
Normal file
29
applications/lionsdev-client/kubernetes/deployment.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: lionsdev-client
|
||||||
|
namespace: lions-apps
|
||||||
|
labels:
|
||||||
|
app: lionsdev-client
|
||||||
|
spec:
|
||||||
|
replicas: 3
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: lionsdev-client
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: lionsdev-client
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: lionsdev-client
|
||||||
|
image: registry.lions.dev/lionsdev/lionsdev-client:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 256Mi
|
||||||
|
cpu: 200m
|
||||||
|
limits:
|
||||||
|
memory: 1Gi
|
||||||
|
cpu: 1000m
|
||||||
36
applications/lionsdev-client/kubernetes/ingress.yaml
Normal file
36
applications/lionsdev-client/kubernetes/ingress.yaml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: lionsdev-client-ingress
|
||||||
|
namespace: lions-apps
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: nginx
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
|
spec:
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- lions.dev
|
||||||
|
- www.lions.dev
|
||||||
|
secretName: lionsdev-client-tls
|
||||||
|
rules:
|
||||||
|
- host: lions.dev
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: lionsdev-client-service
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
- host: www.lions.dev
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: lionsdev-client-service
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
9
applications/lionsdev-client/kubernetes/namespace.yaml
Normal file
9
applications/lionsdev-client/kubernetes/namespace.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: lions-apps
|
||||||
|
labels:
|
||||||
|
name: lions-apps
|
||||||
|
app.kubernetes.io/name: lions-apps
|
||||||
|
app.kubernetes.io/part-of: lions-infrastructure
|
||||||
|
app.kubernetes.io/managed-by: lionsctl
|
||||||
15
applications/lionsdev-client/kubernetes/service.yaml
Normal file
15
applications/lionsdev-client/kubernetes/service.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: lionsdev-client-service
|
||||||
|
namespace: lions-apps
|
||||||
|
labels:
|
||||||
|
app: lionsdev-client
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
app: lionsdev-client
|
||||||
0
deploy-lionsdev-client.sh
Normal file
0
deploy-lionsdev-client.sh
Normal file
Reference in New Issue
Block a user