Add quartz deployment for docs hosting (Phase 1b)
- Create ArgoCD Application and manifests for quartz service - Add docs.ops.eblu.me to Caddy reverse proxy - ConfigMap points to blumeops v1.0.0 release tarball - Tailscale ingress with homepage annotations for auto-discovery Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
a1044a8c4a
commit
6450c981db
8 changed files with 122 additions and 0 deletions
|
|
@ -70,6 +70,9 @@ caddy_services:
|
|||
- name: hajimari
|
||||
host: "go.{{ caddy_domain }}"
|
||||
backend: "https://go.tail8d86e.ts.net"
|
||||
- name: docs
|
||||
host: "docs.{{ caddy_domain }}"
|
||||
backend: "https://docs.tail8d86e.ts.net"
|
||||
- name: sifaka
|
||||
host: "nas.{{ caddy_domain }}"
|
||||
backend: "http://sifaka:5000"
|
||||
|
|
|
|||
18
argocd/apps/quartz.yaml
Normal file
18
argocd/apps/quartz.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: quartz
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: ssh://forgejo@forge.ops.eblu.me:2222/eblume/blumeops.git
|
||||
targetRevision: main
|
||||
path: argocd/manifests/quartz
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: quartz
|
||||
syncPolicy:
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
10
argocd/manifests/quartz/configmap.yaml
Normal file
10
argocd/manifests/quartz/configmap.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: quartz-config
|
||||
namespace: quartz
|
||||
data:
|
||||
# BlumeOps docs release URL
|
||||
# Update this to deploy a new docs version
|
||||
DOCS_RELEASE_URL: "https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.0.0/docs-v1.0.0.tar.gz"
|
||||
43
argocd/manifests/quartz/deployment.yaml
Normal file
43
argocd/manifests/quartz/deployment.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: quartz
|
||||
namespace: quartz
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: quartz
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: quartz
|
||||
spec:
|
||||
containers:
|
||||
- name: quartz
|
||||
image: registry.ops.eblu.me/blumeops/quartz:v1.0.0
|
||||
ports:
|
||||
- containerPort: 80
|
||||
name: http
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: quartz-config
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "10m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 80
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 30
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 80
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
25
argocd/manifests/quartz/ingress-tailscale.yaml
Normal file
25
argocd/manifests/quartz/ingress-tailscale.yaml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: quartz-tailscale
|
||||
namespace: quartz
|
||||
annotations:
|
||||
tailscale.com/proxy-class: "default"
|
||||
gethomepage.dev/enabled: "true"
|
||||
gethomepage.dev/name: "Docs"
|
||||
gethomepage.dev/group: "Apps"
|
||||
gethomepage.dev/icon: "mdi-book-open-page-variant"
|
||||
gethomepage.dev/description: "BlumeOps Documentation"
|
||||
gethomepage.dev/href: "https://docs.ops.eblu.me"
|
||||
gethomepage.dev/pod-selector: "app=quartz"
|
||||
spec:
|
||||
ingressClassName: tailscale
|
||||
defaultBackend:
|
||||
service:
|
||||
name: quartz
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- docs
|
||||
9
argocd/manifests/quartz/kustomization.yaml
Normal file
9
argocd/manifests/quartz/kustomization.yaml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: quartz
|
||||
resources:
|
||||
- configmap.yaml
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
- ingress-tailscale.yaml
|
||||
13
argocd/manifests/quartz/service.yaml
Normal file
13
argocd/manifests/quartz/service.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: quartz
|
||||
namespace: quartz
|
||||
spec:
|
||||
selector:
|
||||
app: quartz
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 80
|
||||
|
|
@ -63,6 +63,7 @@ The documentation is being restructured to follow the [Diataxis](https://diataxi
|
|||
```
|
||||
- [ ] Test end-to-end: commit -> build -> release -> deploy
|
||||
- [ ] Set up `CHANGELOG.md` with [towncrier](https://towncrier.readthedocs.io/) using news fragments from zk cards
|
||||
- [ ] Add `docs.ops.eblu.me` link to homepage dashboard
|
||||
|
||||
### Phase 2: Tutorials
|
||||
Learning-oriented content for getting started.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue