HTTP_404_NotFound@lemmyonline.com to Chat@beehaw.orgEnglish · 1 year agoTest Postmessage-squaremessage-square25fedilinkarrow-up122arrow-down10file-text
arrow-up122arrow-down1message-squareTest PostHTTP_404_NotFound@lemmyonline.com to Chat@beehaw.orgEnglish · 1 year agomessage-square25fedilinkfile-text
minus-squarers5th@lemmy.scottlabs.iolinkfedilinkEnglisharrow-up10·edit-21 year agoYou did a Kubernete! Congrats! Edit to add: one Kubernetes instance talking to another!
minus-squareHTTP_404_NotFound@lemmyonline.comOPlinkfedilinkEnglisharrow-up7·edit-21 year agoNOT 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!
minus-squarers5th@lemmy.scottlabs.iolinkfedilinkEnglisharrow-up10·1 year agoHere’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
minus-squareHTTP_404_NotFound@lemmyonline.comOPlinkfedilinkEnglisharrow-up11·edit-21 year agoOh 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.
minus-squarers5th@lemmy.scottlabs.iolinkfedilinkEnglisharrow-up8·1 year agoIf 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"; }
minus-squareHTTP_404_NotFound@lemmyonline.comOPlinkfedilinkEnglisharrow-up5·1 year agoNORMALLY, 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.
minus-squarers5th@lemmy.scottlabs.iolinkfedilinkEnglisharrow-up5·1 year agoThe real gold was the friends we made along the way.
minus-squareHTTP_404_NotFound@lemmyonline.comOPlinkfedilinkEnglisharrow-up4·1 year agoAnd- the mountains we all moved together. (Oh, and don’t forget those rare times where most of reddit bonded together, and accomplished big things. )
minus-squarers5th@lemmy.scottlabs.iolinkfedilinkEnglisharrow-up5·1 year agoYou’re in OK?! I just moved from OK to CO last summer. Hope your family and lab gear are doing okay after the storms.
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. )
You’re in OK?! I just moved from OK to CO last summer. Hope your family and lab gear are doing okay after the storms.