diff --git a/apps/sample-app/deployment.yaml b/apps/sample-app/deployment.yaml new file mode 100644 index 0000000..7c16a49 --- /dev/null +++ b/apps/sample-app/deployment.yaml @@ -0,0 +1,29 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sample-app + labels: + app: sample-app +spec: + replicas: 2 + selector: + matchLabels: + app: sample-app + template: + metadata: + labels: + app: sample-app + spec: + containers: + - name: nginx + image: nginx:alpine + ports: + - containerPort: 80 + resources: + limits: + cpu: 100m # Max CPU + memory: 128Mi # Max RAM + requests: + cpu: 50m # Min CPU + memory: 64Mi # Min RAM diff --git a/apps/sample-app/ingress.yaml b/apps/sample-app/ingress.yaml new file mode 100644 index 0000000..3569915 --- /dev/null +++ b/apps/sample-app/ingress.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: sample-app + labels: + app: sample-app +spec: + ingressClassName: nginx + rules: + - host: sample-app.local + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: sample-app + port: + number: 80 diff --git a/apps/sample-app/service.yaml b/apps/sample-app/service.yaml new file mode 100644 index 0000000..26e1be1 --- /dev/null +++ b/apps/sample-app/service.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: sample-app + labels: + app: sample-app +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 80 + protocol: TCP + selector: + app: sample-app diff --git a/clusters/dev/argocd-apps/apps.yaml b/clusters/dev/argocd-apps/apps.yaml index c30fc1c..924c290 100644 --- a/clusters/dev/argocd-apps/apps.yaml +++ b/clusters/dev/argocd-apps/apps.yaml @@ -10,10 +10,10 @@ spec: source: repoURL: https://github.com/Kobeep/k8s-gitops-template.git targetRevision: main - path: apps/sample-app/manifests + path: apps/sample-app destination: server: https://kubernetes.default.svc - namespace: dev + namespace: sample-app syncPolicy: automated: prune: true diff --git a/clusters/prod/argocd-apps/apps.yaml b/clusters/prod/argocd-apps/apps.yaml index fd92dfc..4ab13de 100644 --- a/clusters/prod/argocd-apps/apps.yaml +++ b/clusters/prod/argocd-apps/apps.yaml @@ -10,13 +10,16 @@ spec: source: repoURL: https://github.com/Kobeep/k8s-gitops-template.git targetRevision: main - path: apps/sample-app/manifests + path: apps/sample-app + helm: + valueFiles: + - values-prod.yaml destination: server: https://kubernetes.default.svc - namespace: prod + namespace: sample-app-prod syncPolicy: automated: - prune: false # Manual sync for prod + prune: false selfHeal: true syncOptions: - CreateNamespace=true