Hi! I’m a DevOps engineer and software dev who loves self-hosting things.

  • 1 Post
  • 9 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle









  • Yep I’m still working on a helm chart. Currently, each service is deployed with the bjw-s app-template helm chart, but I’d like to combine it all into a single chart.

    The hardest part was getting ingress-nginx to pass ActivityPub requests to the backend, but we settled on a hack that seems to work well. We had to add the following configuration snippet to the frontend’s ingress annotations:

    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";
      }
    

    The value of the variable is $NAMESPACE-$SERVICE-$PORT.
    I tested this pretty thoroughly and haven’t been able to break it so far, but please let me know if anybody has a better solution!