Skip to content

Commit c15e64a

Browse files
feat(homelab): self-host Plane issue tracker
1 parent c276c84 commit c15e64a

15 files changed

Lines changed: 4095 additions & 5 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
id: plane-commercial-issue-tracker
3+
type: plan
4+
status: in-progress
5+
board: false
6+
verification: operator
7+
disposition: active
8+
---
9+
10+
# Self-host Plane Commercial as a private issue tracker
11+
12+
## Summary
13+
14+
Deploy the free Plane Commercial tier with the official `plane-enterprise`
15+
Helm chart, pinned to chart `3.1.0` and app `v3.0.1`. Use Plane for private
16+
issue tracking only; leave wiki/pages available but unused. Access is through
17+
the Tailscale Kubernetes ingress at `plane.tailnet-1a49.ts.net`, with no public
18+
Funnel exposure.
19+
20+
## Implementation
21+
22+
- Pin the vendor chart and app versions and generate the typed Helm values.
23+
- Add the Plane CDK8s chart with the private ingress and a 1Password-backed
24+
`plane-secrets` Kubernetes Secret.
25+
- Add layered Argo CD applications: one for the local infrastructure chart and
26+
one sourcing `plane-enterprise` from `https://helm.plane.so/`.
27+
- Disable the vendor ingress, AI/PI, runner, local MinIO, and local OpenSearch.
28+
- Use local Postgres, Redis, and RabbitMQ on `zfs-ssd`.
29+
- Store attachments in the SeaweedFS S3 bucket `plane-attachments` through the
30+
in-cluster S3 endpoint and Plane storage proxy.
31+
- Add the stateful Plane PVCs to the explicit Velero backup inventory.
32+
33+
## Verification completed
34+
35+
- [x] Generate the vendor Helm types.
36+
- [x] Synthesize the CDK8s output.
37+
- [x] Render the vendor chart with the synthesized values.
38+
- [x] Create the dedicated 1Password item without storing credentials in Git.
39+
- [x] Validate the 1Password item references against the vault snapshot.
40+
- [x] Add focused synthesis assertions for the Argo values and private routes.
41+
42+
## Remaining
43+
44+
- [ ] Publish the local `plane` chart and let Argo CD reconcile both
45+
applications.
46+
- [ ] Confirm Argo CD reports Plane synced and healthy.
47+
- [ ] Exercise native login, workspace/project/issue/cycle/comment workflows,
48+
attachment persistence, and tailnet-only access.
49+
- [ ] Confirm Velero discovers the Plane Postgres, Redis, RabbitMQ, and monitor
50+
PVCs.
51+
52+
SMTP, OAuth, and SSO remain deferred until the issue-tracking deployment is
53+
validated.

packages/homelab/src/cdk8s/generated/helm/index.ts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)