this repo has no description

configurable cdn host (#6)

* add configurable cdn host

* update

* fix thumbnail size

authored by hailey.at and committed by GitHub 27b76c4a 0843fb4c

Changed files
+23 -10
api
cmd
api
internal
helpers
+2 -2
api/server/feedgetposts.go
··· 177 177 for _, img := range post.Images { 178 178 mediaImg := &vylet.MediaImages_ViewImage{ 179 179 Alt: img.Alt, 180 - Fullsize: helpers.ImageCidToCdnUrl(img.Cid, "fullsize"), 181 - Thumbnail: helpers.ImageCidToCdnUrl(img.Cid, "thumb"), 180 + Fullsize: helpers.ImageCidToCdnUrl(s.cdnHost, "fullsize", post.AuthorDid, img.Cid), 181 + Thumbnail: helpers.ImageCidToCdnUrl(s.cdnHost, "thumb", post.AuthorDid, img.Cid), 182 182 } 183 183 if img.Width != nil && img.Height != nil { 184 184 mediaImg.AspectRatio = &vylet.MediaDefs_AspectRatio{
+8 -3
api/server/server.go
··· 31 31 echo *echo.Echo 32 32 client *client.Client 33 33 directory *identity.CacheDirectory 34 + 35 + cdnHost string 34 36 } 35 37 36 38 type Args struct { 37 - Logger *slog.Logger 38 - Addr string 39 - DbHost string 39 + Logger *slog.Logger 40 + Addr string 41 + DbHost string 42 + CdnHost string 40 43 } 41 44 42 45 func New(args *Args) (*Server, error) { ··· 83 86 httpd: &httpd, 84 87 client: client, 85 88 directory: &directory, 89 + 90 + cdnHost: args.CdnHost, 86 91 } 87 92 88 93 server.echo.HTTPErrorHandler = server.errorHandler
+9 -3
cmd/api/main.go
··· 27 27 Value: "localhost:9090", 28 28 EnvVars: []string{"VYLET_API_DB_HOST"}, 29 29 }, 30 + &cli.StringFlag{ 31 + Name: "cdn-host", 32 + EnvVars: []string{"VYLET_API_CDN_HOST"}, 33 + Value: "http://localhost:9525", 34 + }, 30 35 }, 31 36 Action: run, 32 37 } ··· 43 48 telemetry.StartMetrics(cmd) 44 49 45 50 server, err := server.New(&server.Args{ 46 - Logger: logger, 47 - Addr: cmd.String("listen-addr"), 48 - DbHost: cmd.String("db-host"), 51 + Logger: logger, 52 + Addr: cmd.String("listen-addr"), 53 + DbHost: cmd.String("db-host"), 54 + CdnHost: cmd.String("cdn-host"), 49 55 }) 50 56 if err != nil { 51 57 return fmt.Errorf("failed to create new server: %w", err)
+1
docker-compose-staging.yaml
··· 117 117 environment: 118 118 VYLET_API_LISTEN_ADDR: ":8085" 119 119 VYLET_API_DB_HOST: "localhost:9091" 120 + VYLET_API_CDN_HOST: "https://img.cdn.staging.vylet.app" 120 121 restart: unless-stopped 121 122 122 123 firehose:
+3 -2
internal/helpers/helpers.go
··· 21 21 return &num 22 22 } 23 23 24 - func ImageCidToCdnUrl(cid string, size string) string { 25 - return fmt.Sprintf("https://cdn.vylet.app/%s/%s@png", cid, size) 24 + func ImageCidToCdnUrl(host, size, did, cid string) string { 25 + // http://localhost:9525/img/fullsize/plain/did:plc:oisofpd7lj26yvgiivf3lxsi/bafkreiesoy5p2kcc73o7qv4iywlxnzssdjivvsoa3ivhnaqy2uyjgmmnbq@jpeg 26 + return fmt.Sprintf("%s/img/%s/plain/%s/%s@jpeg", host, size, did, cid) 26 27 } 27 28 28 29 func StrToCid(str string) cid.Cid {