docs(readme): Update setup documentation and notes

This commit is contained in:
Tanguy Herbron 2023-02-07 09:47:24 +01:00
parent feb6e829e0
commit 03ebf6c3c4

View File

@ -6,10 +6,10 @@
| Vaultwarden | Password manager | Public | Pythagoras-b | MariaDB | - | 4AM K8s CronJob | Configured | Not available | - | Completed |
| Gitlab | Version control system | Public | Pythagoras-b | PostgreSQL | User created content | 5AM internal CronJob | Configured | Configured | Configured | Completed<sup>4</sup> |
| Radarr | Movie collection manager | Private | Plato | PostgreSQL | - | - | Configured | Configured | Configured | Completed |
| Flaresolverr | Cloudflare proxy | Private | Plato | - | - | - | - | - | - | Completed |
| Prometheus | Metrics aggregator | Private | Pythagoras-b | TBD | - | Not configured | Configured | Configured | - | Partial |
| Loki | Log aggregator | Private | Pythagoras-b | TBD | - | Not configured | Configured | Configured | - | Partial |
| Grafana | Graph visualizer | Public | Pythagoras-b | - | - | Not configured | Configured | Configured | Configured | Partial |
| Flaresolverr | Cloudflare proxy | Private | Plato | - | - | - | - | - | - | Configured |
| Sonarr | TV shows collection manager | Private | Plato | SQLite | - | Not configured | Configured | Configured | Configured | Partial |
| Prowlarr | Torrent indexer | Private | Plato | PostgreSQL | - | Not configured | Configured | Not available | Configured | Partial |
| Jellyfin | Media streaming | Public | Archimedes | SQLite** | - | - | Configured | Not configured | Not configured | Awaiting configuration |
@ -61,12 +61,13 @@ longhorn
```
## TODO
- Migrate Vaultwarden & Homeassistant to PostgreSQL instead of MariaDB
- Change host/deployment specific variables to use environment variables
- Write CI/CD pipeline to create environment loaded files
- Deploy PostgresQL cluster using operator for database HA and easy maintenance
- Change host/deployment specific variables to use environment variables (using Kustomize)
- ~~Write CI/CD pipeline to create environment loaded files~~ Done with Kustomize migration
- Write CI/CD pipeline to deploy cluster
- ~~Setup internal traefik with nodeport as reverse proxy for internal only services~~ Done through double ingress class and LB
- ~~Setup DB container sidecars for automated backups to Longhorn volume~~
- Setup secrets configuration through CI/CD variable injection
- Setup secrets configuration through CI/CD variable injection (using Kustomzie)
- Explore permission issues when issuing OVH API keys (not working for wildcard and `beta.halia.dev` subdomain)
- Setup default users for deployments
- ~~Setup log and metric monitoring~~
@ -74,15 +75,17 @@ longhorn
- ~~Look into CockroachDB for redundant database~~ Judged too complicated, moving to a 1 to 1 relationship between services and databases
- ~~Configure IP range accessibility through Traefik (Internal vs external services)~~ Impossible because of flannel ip-masq
- Schedule longhorn S3 backups
- Move to new naming conventions for files
- Move secrets to separate, private Git repository ?
- ~~Configure NFS connection for media library~~
- ~~Research IPv6 configuration for outsider node~~ Impossible in Denmark while using YouSee as an ISP for now (no IPv6 support)
## Notes
### Cluster base setup
Setup the cluster's backbone
```
kubectl apply -k .
kubectl apply -k environment/dev
```
NOTE: It might be required to update the metallb IP range as well as traefik LoadBalancerIPs
### Convert helm chart to k3s manifest
`helm template chart stable/chart --output-dir ./chart`