Renders LaTeX expressions into PNG pictures, PDF documents and native Telegram rich text messages, entirely locally with TeX Live and poppler. - Chat mode with /image, /pdf, /rich plus per-user preamble and DPI - Inline mode delivering picture, PDF and rich text results - Broad default package set preloaded into a TeX format at image build - MongoDB persistence: settings, users, groups, render statistics - Private S3-compatible bucket with short-lived presigned URLs - OpenTelemetry traces over OTLP - Kubernetes manifests and Argo CD application, Docker Compose, GitHub Actions CI, BSD 3-Clause license
42 lines
1.0 KiB
YAML
42 lines
1.0 KiB
YAML
# Optional: GitOps deployment with Argo CD. Point repoURL at your fork,
|
|
# adjust the project and the destination namespace.
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: latexgrambot
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: default
|
|
|
|
source:
|
|
repoURL: https://github.com/your-org/latexgrambot.git
|
|
targetRevision: main
|
|
path: k8s
|
|
directory:
|
|
recurse: false
|
|
# secret.example.yaml is intentionally excluded: the Telegram token
|
|
# and the S3 credentials are applied manually and must never reach
|
|
# the repository.
|
|
include: '{configmap.yaml,deployment.yaml,service.yaml}'
|
|
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: latexgrambot
|
|
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
allowEmpty: false
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- ServerSideApply=true
|
|
retry:
|
|
limit: 5
|
|
backoff:
|
|
duration: 5s
|
|
factor: 2
|
|
maxDuration: 3m
|