profile
viewpoint

mrkurt/fsharp-indexing 5

A Lucene backed indexing library written in F#

mrkurt/ars-theme 3

The PHP app used to render Ars Technica

mrkurt/cloudseed 3

Rack middleware for CloudFront custom origins

mrkurt/basic_model 2

A very thin wrapper around CouchRest, for use with CouchDB and Ruby on Rails.

mrkurt/carrierwave 2

Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks

mrkurt/fsharp-presentation 2

This is an F# presentation (including sample code) I put together for local user groups

mrkurt/capacitor 1

A bounty management Rails Engine

issue commentsuperfly/flyctl

Non-standard `x-forwarded-for`

Feel free to open this back up with more questions.

juliaqiuxy

comment created time in a day

issue commentsuperfly/flyctl

Filter apps by organization

Closing in favor of #136

mrkurt

comment created time in a day

issue commentsuperfly/flyctl

flyctl secrets unset does not appear to unset

@juliaqiuxy agreed (just saw your comment).

We just deployed a change that will only show the actively in use secrets for a given app. It would be nice to let people see their secrets history as well, which we can do separately.

codepope

comment created time in a day

startedbigskysoftware/htmx

started time in 2 days

issue openedh2non/imaginary

Fail gracefully when `format=auto`

We're seeing images that fail on webp encoding, but work fine with just jpg. The actual issue is #270.

Is it possible to make imaginary fail gracefully and just return the jpeg data it has when this kind of error happens?

created time in 3 days

issue openedh2non/imaginary

Better HTTP status codes on errors?

Hello! Imaginary tends to return status 400 for almost everything, which is difficult to work with. Is there a way to make it return:

  • 404 if the upstream URL isn't found
  • 500 if the operations fail

And less important, but also useful would be:

  • 502/503 is upstream times out or is unavailable

created time in 3 days

issue openedsuperfly/flyctl

Stop / start apps

People keep asking for this, it would be a useful thing for both troubleshooting and "suspending" apps that aren't in use anymore.

We'd just need to communicate that IPs are still in use and certs are still being renewed if an app is disabled.

created time in 4 days

issue openedsuperfly/flyctl

Filter apps by organization

Something like flyctl apps list -o <myorg>.

created time in 5 days

PR opened leeoniya/uPlot

Tiny type definition fix for series.point options

The fields in point are all optional, this just fixes the type definition to match.

+5 -5

0 comment

1 changed file

pr created time in 5 days

issue openedleeoniya/uPlot

Possible to inset axis labels?

I'm doing some fun custom formatting on values, and they're actually long enough I'd rather have them inset over the graph area. Is that possible?

Right now they seem to be overflowing out the left side of the canvas. If insets aren't possible this is something I want to debug. :)

image

created time in 6 days

push eventmrkurt/uPlot

Kurt Mackey

commit sha 5f7b25f61c26cf853cbede7e6138150de15e886d

Tiny type definition fix for series.point options The fields in `point` are all optional, this just fixes the type definition to match.

view details

push time in 8 days

fork mrkurt/uPlot

📈 A small, fast chart for time series, lines, areas, ohlc & bars

fork in 8 days

issue commentleeoniya/uPlot

Legend values as JavaScript object

Oh nice, that should do it. Thank you!

mrkurt

comment created time in 9 days

issue openedleeoniya/uPlot

Legend values as JavaScript object

We're trying to do a bit more with legends, is there and event/hook that'll let us get at the current values for a legend?

created time in 9 days

fork mrkurt/discourse

A platform for community discussion. Free, open, simple.

https://www.discourse.org

fork in 12 days

PR opened gahabeen/flyio-fastify

Listen on all IPs

By default, it was only listening on localhost. On Fly it needs to be able to accept traffic on other IPs, this change just makes the process bind to all the IPs.

+1 -1

0 comment

1 changed file

pr created time in 12 days

push eventmrkurt/flyio-fastify

Kurt Mackey

commit sha 4edf707a4d119787c5f49ede2379dfc827e303c7

Listen on all IPs By default, it was only listening on localhost. On Fly it needs to be able to accept traffic on other IPs, this change just makes the process bind to all the IPs.

view details

push time in 12 days

fork mrkurt/deno-libs

Simple commands implemented for deno.

fork in 13 days

fork mrkurt/nivo

nivo provides a rich set of dataviz components, built on top of the awesome d3 and Reactjs libraries

https://nivo.rocks

fork in 14 days

push eventfly-examples/deno-apollo

Kurt

commit sha d8f314e33f6cc8ac4405ab07ba32fcdac6009248

initial commit

view details

push time in 18 days

push eventfly-examples/deno-apollo

Kurt

commit sha 96b8dbf575151888bb4e255b7fc791a42aaf9be9

initial commit

view details

push time in 18 days

create barnchfly-examples/deno-apollo

branch : master

created branch time in 18 days

created repositoryfly-examples/deno-apollo

created time in 18 days

pull request commentsuperfly/flyctl

Scale command rework

This looks nice. 👍

codepope

comment created time in 19 days

issue commentsuperfly/flyctl

Non-standard `x-forwarded-for`

There's actually a reason for this! If you run flyctl ips list you can a see a list of all the IPs your app accepts traffic from. When you parse x-forwarded-for, you can use those as "trusted", find the last instance of your IPs, and then check the preceding IP in the header to see what actually connected to your Fly app.

We also send the "Fly-Client-IP" header to simplify things, no parsing of x-forwarded-for required.

juliaqiuxy

comment created time in 23 days

startedcanonical/dqlite

started time in 23 days

issue openedsuperfly/flyctl

Certs create/check should show configuration instructions

It's not obvious what to do after you create a certificate with flyctl, and we should explain to people how to:

  1. Create a CNAME for DNS validation
  2. Just change DNS for ALPN validation (not on wildcards though)

This is a little tricky, so we could show basics and link them to docs.

➜  ~ flyctl certs create wat.watwatwat.wat
  Hostname                    =                       
  Configured                  = false                 
  Issued                      =                       
  Certificate Authority       =                       
  DNS Provider                =                       
  DNS Validation Instructions =                       
  DNS Validation Hostname     =                       
  DNS Validation Target       =                       
  Source                      =                       
  Created At                  = 0001-01-01T00:00:00Z  
  Status                      =  

created time in a month

issue commentsuperfly/flyctl

Can't deploy local docker image

@0az oh dang I didn't see your response! Hopefully this fix takes care of you in our next release though.

dyaa

comment created time in a month

issue commenthyperium/hyper

Merged cookies break python

We're not intentionally merging cookies. We're just taking a request from an HTTP server and handing it off as a request to the HTTP client, we do add some headers but don't touch cookies.

mrkurt

comment created time in a month

issue openedhyperium/hyper

Merged cookies break python

We're using Hyper to proxy http2 -> http1.1, and the way it combines cookies breaks for Python apps. The built in Python cookie parser splits multiple cookie values on ,, while Hyper combines them with just a ,. Hyper isn't wrong to do this, but the Python devs are being obstinate and it seems like an easy-ish workaround to just add the space in Hyper.

Stupid Python bug: https://bugs.python.org/issue23930)

created time in a month

issue openedsuperfly/flyctl

Cookie delimiter issues with http handler and django

A few django apps have been throwing CSRF errors, I think because the cookie delimiters django expects are different than what it gets after the http handler.

created time in a month

issue openedsuperfly/flyctl

First deploy sometimes errors on CLI with "no deployment available"

==> Monitoring Deployment
You can detach the terminal anytime without stopping the deployment
Error 1 error occurred:

* No deployment available

When these happen, it seems like the deploy actually works in the background, there's just no progress in the terminal.

created time in a month

issue commentsuperfly/flyctl

Batch secret assignment from a file

@juliaqiuxy This might work!

cat .env | tr '\n' ' ' | xargs flyctl secrets set # set secrets

We're working on env vars in config, using secrets for generic env vars is not great. :)

michaeldwan

comment created time in a month

startedMuxLabs/ws-ingest

started time in a month

startedagrinman/wormhole

started time in a month

issue commentsuperfly/flyctl

Add Docker registry login helper

To push + deploy from our registry right now:

Get auth token:

flyctl auth token

Authenticate with our Docker repo, use token as username, x for password:

docker auth registry.fly.io

Build your Docker image, tag it for fly:

docker build . -t registry.fly.io/<app>:<tag>

Push to registry:

docker push registry.fly.io/<app>:<tag>

Deploy

flyctl deploy -i registry.fly.io/<app>:<tag>
mrkurt

comment created time in a month

issue openedsuperfly/flyctl

Allow release tag on flyctl deploy

It would be nice to specify the image tag when you run flyctl deploy, so you can match it to a github commit sha or similar.

created time in a month

issue commentsuperfly/flyctl

Error Post "https://api.fly.io/api/v1/cli_sessions": net/http: TLS handshake timeout

Yesterday's might've been due to an outage. Can you give it another try today?

solrevdev

comment created time in a month

issue commentsuperfly/flyctl

Error Post "https://api.fly.io/api/v1/cli_sessions": EOF

We had an api outage for a bit, sorry about that! Can you give it another try?

dazzag24

comment created time in a month

issue closedsuperfly/flyctl

Error Post "https://api.fly.io/api/v1/cli_sessions": EOF

flyctl auth signup Error Post "https://api.fly.io/api/v1/cli_sessions": EOF

closed time in a month

dazzag24

PR opened publicsuffix/list

Add fly.io suffixes

<!-- #### READ THIS FIRST ####

If you haven't yet, please read our guidelines: https://github.com/publicsuffix/list/wiki/Guidelines#submit-the-change

If you'd like an example of what an excellent PR looks like see https://github.com/publicsuffix/list/pull/615 -->

  • [x ] Description of Organization
  • [ x] Reason for PSL Inclusion
  • [ ] DNS verification via dig
  • [ ] Run Syntax Checker (make test)

<!--

As you complete each item in the checklist please mark it with an X

Example:

  • [x] Description of Organization

-->

Description of Organization

Organization Website: https://fly.io

I'm an engineer at fly.io, a commercial company that hosts customer application servers close to users. <!-- Please tell us who you are and represent (i.e. individual, non-profit volunteer, engineer at a business) and what you do (i.e. DynDNS, Hosting, etc) -->

Reason for PSL Inclusion

<!-- Please tell us why your domain(s) should be listed in the PSL (i.e. Cookie Security, Let's Encrypt issuance, etc). --> We have several shared suffixes customers users for previewing their applications. They all use Lets Encrypt certificates, and none of them should share cookies.

DNS Verification via dig

<!-- For each domain you'd like to add to the list please create a DNS verification record pointing to your pull request.

For example, if you'd like to add example.com and example.net you would need to provide the following verifications:

dig +short TXT _psl.example.com
"https://github.com/publicsuffix/list/pull/XXXX"
dig +short TXT _psl.example.net
"https://github.com/publicsuffix/list/pull/XXXX"

Note that XXXX is replaced with the number of your pull request. -->

make test

<!-- Please verify that you followed the correct syntax and nothing broke

git clone https://github.com/publicsuffix/list.git cd list make test

Simply let us know that you ran the test -->

+6 -0

0 comment

1 changed file

pr created time in 2 months

push eventmrkurt/list

Kurt Mackey

commit sha d151065af75c06c6c917b492f99416b96a392fbe

Add fly.io suffixes

view details

push time in 2 months

push eventmrkurt/list

Kurt Mackey

commit sha 9416dad4b35dc939de19a0d6db8d3333636b225f

add fly.io public suffixes

view details

push time in 2 months

fork mrkurt/list

The Public Suffix List

https://publicsuffix.org/

fork in 2 months

issue openedsuperfly/flyctl

Print current app info when running commands

It's not obvious what flyctl secrets set does, since it's inferring the app name from the config. If anything that uses an app prints something like "Settings secrets on <app>" it should make things a little less magical.

created time in 2 months

issue openedsuperfly/flyctl

Add Docker registry login helper

Since we run a registry, we should let people login and push directly to it. Right now folks can run docker auth registry.fly.io and put their fly token as the username, but that's a little opaque.

created time in 2 months

create barnchmrkurt/imaginary

branch : master

created branch time in 2 months

created repositorymrkurt/imaginary

Imaginary on fly.io

created time in 2 months

issue commentsuperfly/flyctl

Error Post "https://api.fly.io/api/v1/cli_sessions": net/http: TLS handshake timeout

Is this still happening? If so, will you run traceroute api.fly.io and post the results?

solrevdev

comment created time in 2 months

issue closedsuperfly/flyctl

datasette-publish-fly - a plugin I built with Fly

Hi team,

I'm really excited about Fly - I'm always interested in new Docker hosting options, and Fly looks like a really great addition to the ecosystem.

My project Datasette is a tool for exploring and publishing data. It's a web application that provides a UI and JSON API on top of a SQLite database. It also has a set of tools for publishing SQLite databases wrapped in Datasette to different hosting providers.

Datasette comes with a command for publishing data, which currently works with Cloud Run, Heroku and the deprecated Zeit Now v1:

$ datasette publish heroku my-database.db
$ datasette publish cloudrun my-database.db
$ datasette publish nowv1 my-database.db

This mechanism can be extended to support new hosting providers via a plugin hook. So I built a plugin for Fly!

https://github.com/simonw/datasette-publish-fly

If you install this plugin you get a new option that looks like this:

$ datasette publish fly my-database.py --app myapp

Here's an example Datasette instance: https://datasette-demo.fly.dev/

I deployed it like so:

$ datasette publish fly trees.db fixtures.db --app datasette-demo
Selected App Name: datasette-demo
? Select organization: Simon Willison (simon-willison)
New app created
  Name     = datasette-demo  
  Owner    = simon-willison  
  Version  = 0               
  Status   =                 
  Hostname = <empty>         

Wrote config file fly.toml
==> Validating app configuration
...
Successfully built 74ff85999177
Successfully tagged registry.fly.io/datasette-demo:build-moyw73qel934xjk5
Image: registry.fly.io/datasette-demo:build-moyw73qel934xjk5
Image size: 1.1 GB
==> Pushing image
The push refers to repository [registry.fly.io/datasette-demo]
cb3c592d5833: Preparing
...
271910c4c150: Pushed
build-moyw73qel934xjk5: digest: sha256:80641567cb3603115daac53d04f2c5b9bcc8267c17557d25d91312d8685bd1ba size: 2853
--> done
Image: registry.fly.io/datasette-demo:build-moyw73qel934xjk5
[2020-03-19T01:58:58+00:00]
Build complete - succeeded
==> Optimizing image
--> done
==> Creating Release
Release v0 created
==> Monitoring Deployment
You can detach the terminal anytime without stopping the deployment
v0 is being deployed
1 desired, 1 placed, 1 healthy, 0 unhealthy [health checks: 1 total, 1 passing]
v0 deployed successfully

I'm posting this here partly because I thought you'd be interested, but also because I'd like to get a sanity-check that I'm using Fly in the right way here.

The plugin works by shelling out to the flyctl command - you can see the code here: https://github.com/simonw/datasette-publish-fly/blob/c95c21d22fc70396eb55afa5c91cc343f60af607/datasette_publish_fly/init.py#L106-L115

Currently I'm forcing users to specify a --app name, rather than using your default randomly created ones. The reason for this is that I worry about people deploying too many different applications, and running out of budget. I want to make it as easy as possible for my users to deploy a new version of an app that overwrites the previous one, and to do that I need them to reuse the same app name to update their existing app.

I also needed to figure out if I should run the flyctl apps create command or not. I'm currently doing that by checking your requested app name against a list of existing apps, obtained by parsing the output of flyctl apps list - which means if you change the output of that command my parser will break!

A flyctl apps list --json option for outputting that data as JSON would be useful here.

The command also pauses for an interactive selection of the user's organization the first time they run a deploy. I'd like it if I could avoid this entirely, but there doesn't seem to be a way of saying "use the default organization when creating this app" when running flyctl apps create.

Would love to get your feedback on this, I only just released the first alpha version.

Thanks,

Simon

closed time in 2 months

simonw

issue commentsuperfly/flyctl

datasette-publish-fly - a plugin I built with Fly

Community content 🙌

https://fly.io/blog/making-datasets-fly-with-datasette-and-fly/

simonw

comment created time in 2 months

issue closedsuperfly/flyctl

Spammy output when run on CI tools

The animated console output really spams up CI system logs now. I think it was better a month or so ago, but I could be mis-remembering.

[2020-01-19T22:05:56+00:00] Creating build context... ⣾ Creating build context... ⣽ Creating build context... ⣻ Creating build context... ⢿ Creating build context... ⡿ 

closed time in 2 months

mrkurt

issue commentsuperfly/flyctl

Spammy output when run on CI tools

Closing this in favor of #89 and #88

mrkurt

comment created time in 2 months

issue commentsuperfly/flyctl

Redis writes across regions are erratic

@michaeldwan I feel like this is fixed?

codepope

comment created time in 2 months

pull request commentlaverdet/isolated-vm

Add Algolia to the list of users

Whoah this is so cool. Are you letting users write JS to modify crawler behavior for specific indexes?

Jerska

comment created time in 2 months

issue commentsuperfly/flyctl

List open source apps that work with fly

Gogs seems workable: https://github.com/gogs/gogs/tree/master/docker

mrkurt

comment created time in 2 months

issue openedsuperfly/flyctl

List open source apps that work with fly

There are lots! Just add comments with a link + information, and make sure to specify if they are stateless or need a database:

  • Imaginary (stateless): https://github.com/h2non/imaginary

  • imgproxy (stateless): https://github.com/imgproxy/imgproxy

  • minio in gateway mode (needs scratch disk for cache): https://github.com/minio/minio

created time in 2 months

issue commentsuperfly/flyctl

[Question] UDP pass through

Ah that's a good one! That's definitely something we'd like to make work, although it won't yet.

CommonLoon102

comment created time in 2 months

issue commentsuperfly/flyctl

Flyctl could do with a plain mode that removes colour embeds

I'd definitely do both this and #88 together.

codepope

comment created time in 2 months

issue commentsuperfly/flyctl

Documentation for "flyctl scale vm" could do with more details

Those docs are actually generated from this project: https://github.com/superfly/flyctl/blob/master/helpgen/flyctlhelp.toml#L247

Right now it references flyctl platform vm-sizes, which might be new since you submitted this issue, but putting some sizes in the help directly is a good idea.

simonw

comment created time in 2 months

issue commentsuperfly/flyctl

I can't access my account settings because I signed up with GitHub

@simonw ahh good catch. Our password confirmation doesn't make much sense for signups from Github. For now, you'll need to use the password reset function to set a new password: https://fly.io/app/password_resets/new

We'll figure that out, I think we might be able to bounce you through Github to re-auth or something.

That placeholder text is confusing. Good call.

simonw

comment created time in 2 months

issue commentsuperfly/flyctl

Deploy doesn't detect all lowercase `dockerfile`

@dyaa yes but it appears Docker proper supports lowercase dockerfile, and we want flyctl deploy and docker build . to behave the same as much as possible. I have a feeling they relaxed that a bit for case insensitive file systems.

mrkurt

comment created time in 3 months

issue openedsuperfly/flyctl

Deploy doesn't detect all lowercase `dockerfile`

This seems like it's especially a problem on Windows. Docker does fine with one though!

created time in 3 months

issue commentsuperfly/flyctl

[Question] UDP pass through

Oh neat! Do you have a particular game server engine you're using? I'm curious about logic for routing individual UDP packets to specific processes.

CommonLoon102

comment created time in 3 months

issue commentsuperfly/flyctl

[Question] UDP pass through

Out of curiosity, what do you want to solve with UDP? There are some interesting problems routing stateless packets like that, most of what we've thought about is how to basically turn UDP protocols (like QUIC) into TCP for apps to consume.

CommonLoon102

comment created time in 3 months

PR opened keroxp/deno-redis

Fix Auth command assertion (bulkReply can be a status)

fixes #54

+2 -2

0 comment

1 changed file

pr created time in 3 months

push eventsuperfly/deno-redis

Kurt

commit sha aae6fc93d60b34533d164a31780f65aa903cdfe6

Fix Auth command assertion (bulkReply can be a status)

view details

push time in 3 months

push eventsuperfly/deno-redis

Kurt

commit sha 90ff26f5f19bf6d01795a009271124dfb549854b

Fix Auth command assertion (bulkReply can be a status)

view details

push time in 3 months

issue openedkeroxp/deno-redis

Broken auth assert

The most recent commit might've broken the auth command. I'm getting this error now, the previous version worked just fine:

error: Uncaught AssertionError: AUTH status OK
► asserts.ts:134:11

134     throw new AssertionError(msg);
              ^

    at AssertionError (asserts.ts:15:5)
    at assert (asserts.ts:134:11)
    at execBulkReply (io.ts:237:5)

created time in 3 months

push eventsuperfly/flyctl

Kurt

commit sha 5cd983c01dc2b3bf49268c1ec9b4872c10030063

fix cert configured for alpn certs

view details

push time in 3 months

more