From 58e38d65ad9dd57b76219826aea5937c6289bacc Mon Sep 17 00:00:00 2001 From: Karan Parashar Date: Sun, 13 Sep 2026 01:10:52 +0530 Subject: [PATCH] feat(apps): Add bentopdf --- apps/bentopdf/deployment.yaml | 47 +++++++++++++++++++++++++ apps/bentopdf/httproute.yaml | 23 ++++++++++++ apps/bentopdf/kustomization.yaml | 6 ++++ apps/bentopdf/service.yaml | 12 +++++++ argocd-apps/services/bentopdf.yaml | 22 ++++++++++++ argocd-apps/services/kustomization.yaml | 1 + 6 files changed, 111 insertions(+) create mode 100644 apps/bentopdf/deployment.yaml create mode 100644 apps/bentopdf/httproute.yaml create mode 100644 apps/bentopdf/kustomization.yaml create mode 100644 apps/bentopdf/service.yaml create mode 100644 argocd-apps/services/bentopdf.yaml diff --git a/apps/bentopdf/deployment.yaml b/apps/bentopdf/deployment.yaml new file mode 100644 index 0000000..83a1fc8 --- /dev/null +++ b/apps/bentopdf/deployment.yaml @@ -0,0 +1,47 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bentopdf + namespace: bentopdf +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: bentopdf + template: + metadata: + labels: + app.kubernetes.io/name: bentopdf + spec: + containers: + - image: ghcr.io/alam00000/bentopdf-simple:latest@sha256:3d62b8f8eece5fe947026ac3925ff08fda245b3d6ba2c3916b94da91e0010c74 + livenessProbe: + httpGet: + path: / + port: http + name: bentopdf + ports: + - containerPort: 8080 + name: http + readinessProbe: + httpGet: + path: / + port: http + resources: + limits: + cpu: 100m + memory: 128Mi + requests: + cpu: 10m + memory: 32Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + securityContext: + runAsGroup: 101 + runAsNonRoot: true + runAsUser: 101 + seccompProfile: + type: RuntimeDefault diff --git a/apps/bentopdf/httproute.yaml b/apps/bentopdf/httproute.yaml new file mode 100644 index 0000000..83cde1c --- /dev/null +++ b/apps/bentopdf/httproute.yaml @@ -0,0 +1,23 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + annotations: + argocd.argoproj.io/sync-wave: "2" + name: bentopdf + namespace: bentopdf +spec: + hostnames: + - pdf.whyredfire.dev + parentRefs: + - kind: Gateway + name: traefik-gateway + namespace: traefik + sectionName: websecure + rules: + - backendRefs: + - name: bentopdf + port: 8080 + matches: + - path: + type: PathPrefix + value: / diff --git a/apps/bentopdf/kustomization.yaml b/apps/bentopdf/kustomization.yaml new file mode 100644 index 0000000..31fd463 --- /dev/null +++ b/apps/bentopdf/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - deployment.yaml + - service.yaml + - httproute.yaml diff --git a/apps/bentopdf/service.yaml b/apps/bentopdf/service.yaml new file mode 100644 index 0000000..1a3089f --- /dev/null +++ b/apps/bentopdf/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: bentopdf + namespace: bentopdf +spec: + ports: + - name: http + port: 8080 + targetPort: http + selector: + app.kubernetes.io/name: bentopdf diff --git a/argocd-apps/services/bentopdf.yaml b/argocd-apps/services/bentopdf.yaml new file mode 100644 index 0000000..02bc368 --- /dev/null +++ b/argocd-apps/services/bentopdf.yaml @@ -0,0 +1,22 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + annotations: + argocd.argoproj.io/sync-wave: "3" + name: bentopdf + namespace: argocd +spec: + destination: + namespace: bentopdf + server: https://kubernetes.default.svc + project: default + source: + path: apps/bentopdf + repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git + targetRevision: main + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/argocd-apps/services/kustomization.yaml b/argocd-apps/services/kustomization.yaml index d976f8d..b48dc54 100644 --- a/argocd-apps/services/kustomization.yaml +++ b/argocd-apps/services/kustomization.yaml @@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - autoregexbot.yaml + - bentopdf.yaml - betterslcm.yaml - garage.yaml - garage-ui.yaml