(Just- migrated this instance over to kubernetes… just testing federation…)
You did a Kubernete! Congrats!
Edit to add: one Kubernetes instance talking to another!
NOT only did I do it in kubernetes, But- I built all of the manifests by hand.
AND- I am not using that crappy nginx proxy. I created the manifests to use my default traefik proxy’s ingressroute.
Edit- and thanks for the reply!
Here’s a cronjob to clean up the useless activity table every day:
apiVersion: batch/v1beta1 kind: CronJob metadata: name: postgresql-cleanup namespace: lemmy spec: schedule: "0 0 * * *" jobTemplate: spec: template: spec: containers: - name: postgres-cleanup image: postgres:alpine command: ["psql", "--host=postgresql", "--dbname=postgres", "--username=postgres", "--command=DELETE FROM activity WHERE published < NOW() - INTERVAL '1 day';"] env: - name: PGPASSWORD valueFrom: secretKeyRef: name: postgresql key: postgres-password backoffLimit: 0 ttlSecondsAfterFinished: 3600
Oh sweet, here, I will share my lovely ingressroute in return… to replace the nginx stuff everyone else is using.
apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: lemmy namespace: lemmy spec: entryPoints: - websecure routes: - kind: Rule match: Host(`lemmyonline.com`) && (Headers(`Accept`, `application/activity+json`) || Headers(`Accept`, `application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"`)) services: - name: lemmy port: http - kind: Rule match: Host(`lemmyonline.com`) && (PathPrefix(`/api`) || PathPrefix(`/pictrs`) || PathPrefix(`/feeds`) || PathPrefix(`/nodeinfo`) || PathPrefix(`/.well-known`)) services: - name: lemmy port: http - kind: Rule match: Host(`lemmyonline.com`) && Method(`POST`) services: - name: lemmy port: http - kind: Rule match: Host(`lemmyonline.com`) services: - name: lemmy-ui port: http
Thanks!
Edit- could be consolidated down to only two rules, I left it expanded out to be a tad easier to read.
If anyone else has made it this far and are thinking “ah balls, I’m using ingress-nginx”, here’s the ingress annotation for you!
nginx.ingress.kubernetes.io/configuration-snippet: | if ($http_accept = "application/activity+json") { set $proxy_upstream_name "lemmy-lemmy-8536"; } if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") { set $proxy_upstream_name "lemmy-lemmy-8536"; } if ($request_method = POST) { set $proxy_upstream_name "lemmy-lemmy-8536"; }
NORMALLY, this is the part where we would gold each other. Or something.
Sadly- I guess we can’t do that.
But, if anyone knows a decent amount on building helm charts- I found a gitlab earlier which was pretty close to where it needs to be-
I forked a copy of it over to github to prepare to make a few changes, such as using PROPER ingress rules.
https://github.com/XtremeOwnageDotCom/Helm
I do believe it’s possible to build a helm chart with options for both traefik ingress and nginx ingress too.
The real gold was the friends we made along the way.
And- the mountains we all moved together.
(Oh, and don’t forget those rare times where most of reddit bonded together, and accomplished big things. )
Can we please make this the top post in the fediverse?
I didn’t think it was that cool, if you want a more interesting story-
Check this one out: https://lemmyonline.com/post/3751
115 mph is ridiculous.
I am working on exporting this video with sound…
https://www.youtube.com/watch?v=JqqDlPlWRA0
But, here in a few days, I am going to have a interesting write-up over on https://static.xtremeownage.com/blog sharing the story too.
Edit- note, those glitches are youtube, and not my camera. The camera was 100% stable the entire time. I need to export/transcode to H264 and reupload.
That’s so crazy, dude.
But still…this post to the top! 👆
Test test :)
Hi from Midwest!
Hi from the west coast best coast!
Hey!
Hey back from the midwest too!
What going on, eh?
Welp. I can see it here: https://beehaw.org/post/669935
So, that is a good sign.