apiVersion: v1 kind: Service metadata: name: pairdrop namespace: pairdrop spec: type: ClusterIP ports: - port: 80 targetPort: web name: web selector: app: pairdrop --- apiVersion: apps/v1 kind: Deployment metadata: name: pairdrop namespace: pairdrop spec: replicas: 1 selector: matchLabels: app: pairdrop template: metadata: labels: app: pairdrop spec: imagePullSecrets: - name: docker-config priorityClassName: low containers: - name: web image: ghcr.io/schlagmichdoch/pairdrop:v1.11.2 imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: web env: - name: RATE_LIMIT value: "1" - name: DONATION_BUTTON_ACTIVE value: "false" - name: TWITTER_BUTTON_ACTIVE value: "false" - name: MASTODON_BUTTON_ACTIVE value: "false" - name: BLUESKY_BUTTON_ACTIVE value: "false" - name: PRIVACYPOLICY_BUTTON_ACTIVE value: "false" resources: limits: memory: 100Mi requests: memory: 100Mi livenessProbe: httpGet: path: / port: web --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: pairdrop namespace: pairdrop annotations: cert-manager.io/cluster-issuer: letsencrypt ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: ingressClassName: nginx tls: - hosts: - drop.cluster.fun secretName: pairdrop-ingress rules: - host: drop.cluster.fun http: paths: - path: / pathType: ImplementationSpecific backend: service: name: pairdrop port: number: 80