I tried out sprites when they first came out, and I thought they were cool, but there wasn’t any native way to move files in and out of the sprite VM. I knew that the fly.io team wanted to get sprites in front of users early before polishing everything, so I figured file transfer would arrive soon.
I check back on sprites every few months thinking surely they’ll have supported file transfer or SSH, but it doesn’t look like any movement outside of third-party solutions:
Am I misunderstanding what sprites are for? How do you do software development without moving files in and out?
I know I could give the sprite access to git forge credentials and push in and out with git, but I consider those sensitive and don’t want to give my sprite credentialed access to any external services.
i use git to store code, a couple of sprites were promoted to fly machines, so that was easier to do when the time came
last time someone complained about file access on sprites i got claude to do this: WebDAV Server
_give it to claude, tell it to use uv, and give you connection details_
Yeah, I appreciate sharing the workarounds, and I know I could roll my own something with not too much effort, but I don’t want to build on top of a growing platform that’s growing away from my use case.
But I’m just generally more confused about the use case for sprites if moving files in and out is not a natively supported feature.
It’s like if a company announced a really cool car, but there were no doors. And when people asked about doors, users were like, “Well, you can break a window and get in that way? Or climb in through the trunk?” But if I saw a car like that, I’d feel like I wasn’t the right and be reluctant to buy it even if I could find workarounds for getting in and out.
here’s some stuff i currently have running on sprites:
a sort of wiki/knowledge-base completely written by claude. started as away for me to pass around instructions about how to make changes to sprites, eg: setup zswap. then evolved to include whatever i fancy reading at a latter time. markdown files render to html if you access with a browser, claude gets markdown. my other agents (sprite or not) are very often pulling docs from here.
a cms for agents. you point any agent at the root and it will know how to use it, and will publish whatever you need there. ex: i have two sprites, i do a thing in one and want to push step-by-step instructions to do something similar on another, publish there, copy the url, paste to the other agent, continue. app holds pub keys, agents hold onto their privates parts. works alright. if a broswer goes there, they get a nice html, claude get markdown.
a webdav server, because someone complained about file access here and i remembered macos talks webdav: https://filesystem-pt5.sprites.app
a dropbox for for media files, that converts what i throw at it into VBR mp3 files, and publishes a podcast ready rss file. ex: convert yt video to mp3, pull it into overcast for listening; single user, single token for auth, works okay, costs nearly nothing
i gave claude (dspy harness, not cc) an email address before cloudscale thought that might be cool, it runs on a fly machine but development happens in a sprite.
sandbox where i can give claude phish urls and it’ll go fetch the dropper, hunt a bit, then push IOCs and samples out. neat, and i feel safer the work happens in a system i can `sprite destroy` and go to sleep.
a couple of extra sprites where i pulled some open source project, then asked claude to find vulns. have to say sprites are really good for this.
i think i’m holding it a bit wrong, as i would be sad to lose some of these sprites, but i just push to github the parts i care to keep