minio is dead, external is dead, some envs are dead
This commit is contained in:
@@ -128,7 +128,7 @@ Our self-hosted Kubernetes stack compared to AWS based deployments:
|
|||||||
| AWS NLB | MetalLB | L2/L3 level load balancing |
|
| AWS NLB | MetalLB | L2/L3 level load balancing |
|
||||||
| AWS RDS for MySQL | MySQL Operator | Provision highly available relational databases |
|
| AWS RDS for MySQL | MySQL Operator | Provision highly available relational databases |
|
||||||
| AWS Route53 | Bind and RFC2136 | DNS records and Let's Encrypt DNS validation |
|
| AWS Route53 | Bind and RFC2136 | DNS records and Let's Encrypt DNS validation |
|
||||||
| AWS S3 | Minio Operator | Highly available object storage |
|
| AWS S3 | Garage | Highly available object storage |
|
||||||
| AWS VPC | Calico | Overlay network |
|
| AWS VPC | Calico | Overlay network |
|
||||||
| Dex | Passmower | ACL mapping and OIDC provider which integrates with GitHub/Samba |
|
| Dex | Passmower | ACL mapping and OIDC provider which integrates with GitHub/Samba |
|
||||||
| GitHub Actions | Woodpecker | Build Docker images |
|
| GitHub Actions | Woodpecker | Build Docker images |
|
||||||
|
|||||||
21
README.md
21
README.md
@@ -37,7 +37,7 @@ Static routes for 193.40.103.36/30 have been added in pve nodes to make them com
|
|||||||
- Dragonfly: `kind: Dragonfly` (replaces Redis[^redisdead])
|
- Dragonfly: `kind: Dragonfly` (replaces Redis[^redisdead])
|
||||||
- Longhorn: `storageClassName: longhorn` (filesystem storage)
|
- Longhorn: `storageClassName: longhorn` (filesystem storage)
|
||||||
- Mongo[^mongoproblems]: `kind: MongoDBCommunity` (NAS* `inventory-mongodb`)
|
- Mongo[^mongoproblems]: `kind: MongoDBCommunity` (NAS* `inventory-mongodb`)
|
||||||
- Minio S3: `kind: MinioBucketClaim` with `class: dedicated` (NAS*: `class: external`)
|
- Garage S3[^nominio]: buckets/credentials created with CLI and usually stored in secretspace/kube #TODO: link to docs, kube claim instead?
|
||||||
- MariaDB*: search for `mysql`, `mariadb`[^mariadb] (replaces MySQL)
|
- MariaDB*: search for `mysql`, `mariadb`[^mariadb] (replaces MySQL)
|
||||||
- Postgres*: hardcoded to [harbor/application.yml](harbor/application.yml)
|
- Postgres*: hardcoded to [harbor/application.yml](harbor/application.yml)
|
||||||
- Seeded secrets: `kind: SecretClaim` (generates random secret in templated format)
|
- Seeded secrets: `kind: SecretClaim` (generates random secret in templated format)
|
||||||
@@ -51,22 +51,7 @@ Static routes for 193.40.103.36/30 have been added in pve nodes to make them com
|
|||||||
|
|
||||||
[^mongoproblems]: Mongo problems: Incompatible with rawfile csi (wiredtiger.wt corrupts), complicated resizing (PVCs from statefulset PVC template).
|
[^mongoproblems]: Mongo problems: Incompatible with rawfile csi (wiredtiger.wt corrupts), complicated resizing (PVCs from statefulset PVC template).
|
||||||
|
|
||||||
|
[^nominio]: Replaces Minio S3.
|
||||||
|
|
||||||
***
|
***
|
||||||
_This page is referenced by wiki [front page](https://wiki.k-space.ee) as **the** technical documentation for infra._
|
_This page is referenced by wiki [front page](https://wiki.k-space.ee) as **the** technical documentation for infra._
|
||||||
|
|
||||||
## nas.k-space.ee pre-migration whouses listing
|
|
||||||
- S3: [minio-clusters](minio-clusters/README.md)
|
|
||||||
- postgres: only harbor, 172.20.43.1
|
|
||||||
|
|
||||||
### mongodb
|
|
||||||
- inventory
|
|
||||||
- wildduck
|
|
||||||
|
|
||||||
### mariadb.infra.k-space.ee (DNS from ns1 to 172.20.36.1)
|
|
||||||
- freescout
|
|
||||||
- gitea nb! MYSQL_ROOT_PASSWORD seems to be invalid, might be ok to reset it upstream
|
|
||||||
- wiki
|
|
||||||
- nextcloud
|
|
||||||
- etherpad NB! probably NOT using kspace_etherpad_kube NB! does not take DNS likely due to netpol, hardcoded to 172.20.36.1
|
|
||||||
- grafana
|
|
||||||
- woodpecker
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: minio-clusters
|
|
||||||
namespace: argocd
|
|
||||||
spec:
|
|
||||||
project: k-space.ee
|
|
||||||
source:
|
|
||||||
repoURL: 'git@git.k-space.ee:k-space/kube.git'
|
|
||||||
path: minio-clusters
|
|
||||||
targetRevision: HEAD
|
|
||||||
destination:
|
|
||||||
server: 'https://kubernetes.default.svc'
|
|
||||||
namespace: minio-clusters
|
|
||||||
syncPolicy:
|
|
||||||
automated:
|
|
||||||
prune: true
|
|
||||||
syncOptions:
|
|
||||||
- CreateNamespace=true
|
|
||||||
@@ -215,15 +215,6 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: 10Gi
|
storage: 10Gi
|
||||||
---
|
---
|
||||||
apiVersion: codemowers.cloud/v1beta1
|
|
||||||
kind: MinioBucketClaim
|
|
||||||
metadata:
|
|
||||||
name: attachments
|
|
||||||
namespace: freescout
|
|
||||||
spec:
|
|
||||||
capacity: 10Gi
|
|
||||||
class: external
|
|
||||||
---
|
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: PrometheusRule
|
kind: PrometheusRule
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -19,12 +19,3 @@ spec:
|
|||||||
- 'offline_access'
|
- 'offline_access'
|
||||||
tokenEndpointAuthMethod: 'client_secret_basic'
|
tokenEndpointAuthMethod: 'client_secret_basic'
|
||||||
pkce: false
|
pkce: false
|
||||||
---
|
|
||||||
apiVersion: codemowers.cloud/v1beta1
|
|
||||||
kind: MinioBucketClaim
|
|
||||||
metadata:
|
|
||||||
name: inventory-external
|
|
||||||
namespace: hackerspace
|
|
||||||
spec:
|
|
||||||
capacity: 10Gi
|
|
||||||
class: external
|
|
||||||
|
|||||||
@@ -20,8 +20,6 @@ spec:
|
|||||||
- image: harbor.k-space.ee/k-space/inventory-app:latest
|
- image: harbor.k-space.ee/k-space/inventory-app:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
env:
|
env:
|
||||||
- name: INVENTORY_ASSETS_BASE_URL
|
|
||||||
value: https://external.minio-clusters.k-space.ee/hackerspace-701d9303-0f27-4829-a2be-b1084021ad91/
|
|
||||||
- name: MACADDRESS_OUTLINK_BASEURL
|
- name: MACADDRESS_OUTLINK_BASEURL
|
||||||
value: https://grafana.k-space.ee/d/ddwyidbtbc16oa/ip-usage?orgId=1&from=now-2y&to=now&timezone=browser&var-Filters=mac%7C%3D%7C
|
value: https://grafana.k-space.ee/d/ddwyidbtbc16oa/ip-usage?orgId=1&from=now-2y&to=now&timezone=browser&var-Filters=mac%7C%3D%7C
|
||||||
- name: OIDC_USERS_NAMESPACE
|
- name: OIDC_USERS_NAMESPACE
|
||||||
|
|||||||
@@ -22,15 +22,6 @@ spec:
|
|||||||
pkce: false
|
pkce: false
|
||||||
---
|
---
|
||||||
apiVersion: codemowers.cloud/v1beta1
|
apiVersion: codemowers.cloud/v1beta1
|
||||||
kind: MinioBucketClaim
|
|
||||||
metadata:
|
|
||||||
name: harbor
|
|
||||||
namespace: harbor-operator
|
|
||||||
spec:
|
|
||||||
capacity: 1Ti
|
|
||||||
class: external
|
|
||||||
---
|
|
||||||
apiVersion: codemowers.cloud/v1beta1
|
|
||||||
kind: SecretClaim
|
kind: SecretClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: dragonfly-auth
|
name: dragonfly-auth
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
# minio-clusters
|
|
||||||
|
|
||||||
external.minio-clusters.k-space.ee terminates here and forwards to 172.20.9.2.
|
|
||||||
172.20.9.2 is directly attached to docker on nas.k-space.ee
|
|
||||||
|
|
||||||
pre-migra listing of applications and how they consume:
|
|
||||||
- nextcloud 172.20.9.2
|
|
||||||
- freescout https://external.minio-clusters.k-space.ee
|
|
||||||
- hackerspace/inventory https://external.minio-clusters.k-space.ee
|
|
||||||
- harbor https://external.minio-clusters.k-space.ee
|
|
||||||
- longhorn backups: 172.20.9.2
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: cert-manager.io/v1
|
|
||||||
kind: Certificate
|
|
||||||
metadata:
|
|
||||||
name: wildcard-tls
|
|
||||||
namespace: minio-clusters
|
|
||||||
spec:
|
|
||||||
dnsNames:
|
|
||||||
- "*.minio-clusters.k-space.ee"
|
|
||||||
issuerRef:
|
|
||||||
group: cert-manager.io
|
|
||||||
kind: ClusterIssuer
|
|
||||||
name: default
|
|
||||||
secretName: wildcard-tls
|
|
||||||
revisionHistoryLimit: 1
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: codemowers.cloud/v1beta1
|
|
||||||
kind: MinioBucketClass
|
|
||||||
metadata:
|
|
||||||
name: external
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/description: "External Minio cluster"
|
|
||||||
spec:
|
|
||||||
reclaimPolicy: Retain
|
|
||||||
shared: true
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: external
|
|
||||||
namespace: minio-clusters
|
|
||||||
spec:
|
|
||||||
externalName: 172.20.9.2
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
protocol: TCP
|
|
||||||
port: 9000
|
|
||||||
type: ExternalName
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: external-console
|
|
||||||
namespace: minio-clusters
|
|
||||||
spec:
|
|
||||||
externalName: 172.20.9.2
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
protocol: TCP
|
|
||||||
port: 9001
|
|
||||||
type: ExternalName
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: external
|
|
||||||
namespace: minio-clusters
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/ingress.class: traefik
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
external-dns.alpha.kubernetes.io/target: traefik.k-space.ee
|
|
||||||
spec:
|
|
||||||
rules:
|
|
||||||
- host: external.minio-clusters.k-space.ee
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- pathType: Prefix
|
|
||||||
path: "/"
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: external
|
|
||||||
port:
|
|
||||||
name: http
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- "*.k-space.ee"
|
|
||||||
secretName: wildcard-tls
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: external-console
|
|
||||||
namespace: minio-clusters
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/ingress.class: traefik
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
external-dns.alpha.kubernetes.io/target: traefik.k-space.ee
|
|
||||||
spec:
|
|
||||||
rules:
|
|
||||||
- host: external-console.minio-clusters.k-space.ee
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- pathType: Prefix
|
|
||||||
path: "/"
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: external-console
|
|
||||||
port:
|
|
||||||
name: http
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- "*.k-space.ee"
|
|
||||||
secretName: wildcard-tls
|
|
||||||
@@ -30,7 +30,6 @@ Sample queries:
|
|||||||
* [HDD power on hours](https://prom.k-space.ee/graph?g0.range_input=30m&g0.expr=smartmon_power_on_hours_raw_value&g0.tab=0), 8760 hours per year
|
* [HDD power on hours](https://prom.k-space.ee/graph?g0.range_input=30m&g0.expr=smartmon_power_on_hours_raw_value&g0.tab=0), 8760 hours per year
|
||||||
* [CPU/NB temperatures](https://prom.k-space.ee/graph?g0.range_input=1h&g0.expr=node_hwmon_temp_celsius&g0.tab=0)
|
* [CPU/NB temperatures](https://prom.k-space.ee/graph?g0.range_input=1h&g0.expr=node_hwmon_temp_celsius&g0.tab=0)
|
||||||
* [Disk space left](https://prom.k-space.ee/graph?g0.range_input=1h&g0.expr=node_filesystem_avail_bytes&g0.tab=1)
|
* [Disk space left](https://prom.k-space.ee/graph?g0.range_input=1h&g0.expr=node_filesystem_avail_bytes&g0.tab=1)
|
||||||
* Minio [s3 egress](https://prom.k-space.ee/graph?g0.expr=rate(minio_s3_traffic_sent_bytes%5B3m%5D)&g0.tab=0&g0.display_mode=lines&g0.show_exemplars=0&g0.range_input=6h), [internode egress](https://prom.k-space.ee/graph?g0.expr=rate(minio_inter_node_traffic_sent_bytes%5B2m%5D)&g0.tab=0&g0.display_mode=lines&g0.show_exemplars=0&g0.range_input=6h), [storage used](https://prom.k-space.ee/graph?g0.expr=minio_node_disk_used_bytes&g0.tab=0&g0.display_mode=lines&g0.show_exemplars=0&g0.range_input=6h)
|
|
||||||
|
|
||||||
Another useful tool for exploring Prometheus operator custom resources is
|
Another useful tool for exploring Prometheus operator custom resources is
|
||||||
[doc.crds.dev/github.com/prometheus-operator/prometheus-operator](https://doc.crds.dev/github.com/prometheus-operator/prometheus-operator@v0.75.0)
|
[doc.crds.dev/github.com/prometheus-operator/prometheus-operator](https://doc.crds.dev/github.com/prometheus-operator/prometheus-operator@v0.75.0)
|
||||||
|
|||||||
@@ -16,8 +16,6 @@ spec:
|
|||||||
- https://wiki.k-space.ee/
|
- https://wiki.k-space.ee/
|
||||||
- https://pad.k-space.ee/
|
- https://pad.k-space.ee/
|
||||||
- https://nextcloud.k-space.ee/
|
- https://nextcloud.k-space.ee/
|
||||||
- http://external-console.minio-clusters.k-space.ee/login
|
|
||||||
- http://shared-console.minio-clusters.k-space.ee/login
|
|
||||||
---
|
---
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: Probe
|
kind: Probe
|
||||||
|
|||||||
Reference in New Issue
Block a user