Evan Jarrett
banner
evan.jarrett.net
Evan Jarrett
@evan.jarrett.net
DevOps Engineer.
Working on @atcr.io
#kubernetes #homelab enthusiast

Husband of @jarrett.mom
North TX 💙
Classic Claude still wanting to use “Federated with the Bluesky network”
But this an awesome idea. I’ll probably take it for a spin this week
December 23, 2025 at 1:48 PM
Hrm, but I’m sending the manifest to the pds above that line so this would only be in the appview db. I then upsert from the manifest in jetstream afterwards. I have seen base labels leak in cases where the image doesn’t have annotations so that code could be removed/modified. Thanks
December 23, 2025 at 1:41 PM
I misspoke in an an attempt to simplify.
I’m reading from the manifest annotation key on push.
But I create them with LABEL in the Dockerfile.
So technically a correction if you are using cli args, you want —annotation in most build tools
December 23, 2025 at 5:23 AM
Could update @stitch.selfhosted.social to use the tangled open graph cards :)
December 22, 2025 at 9:36 PM
It also listens to OCI labels in the docker image for author, description etc.
I have 2 custom ones that can set the avatar and readme file.

tangled.org/evan.jarrett...
December 20, 2025 at 2:36 AM
It’s not the only confusion I’ve seen on who owns @atcr.io. Clearly i don’t promote it myself enough.
December 19, 2025 at 10:06 PM
They even have a way to make it better:
www.noctua.at/en/expertise...
www.noctua.at
December 19, 2025 at 7:27 PM
I have a docker credential helper that trades the atproto oauth for jwt which you can use. But its not really designed for CI systems.
December 19, 2025 at 1:07 AM
I should preface this with by saying I have this running on a custom spindle engine. YMMV with the standard nixery spindle.
evan.jarrett.net/loom
Kubernetes Operator for Tangled Spindles
tangled.org
December 19, 2025 at 12:36 AM
Works similar to how tangled works. You can deploy your own service that stores the actual layers in S3
The manifests and tag are actually stored in your PDS though
December 18, 2025 at 10:47 PM
Bobby’; drop tables
December 18, 2025 at 6:31 AM
Comments on that post seems to be that OP is using chatgpt in the kleenex sense of the word. Basically saying that google search and its AI summary arent useful. Which is true, but thats because google search is pay to win. And they use their dumbest AI model on the front page lol.
December 18, 2025 at 12:50 AM
Curious if this worked? I know people have done it, but with the standard nixery spindle, it’s more complicated than it has to be.
December 17, 2025 at 7:14 AM
Yeah I’ve started doing this more. I give it read access to things in my local k8s cluster just because its too much typing and too many API args to remember. “Find out why pod no work, you have kubectl”
December 15, 2025 at 6:01 AM
Would a different term than costumer be better? As someone that focus on devops and internal tooling, I consider the other engineers as my clients, and Im still producing a product for them to use even if its free to them. I don’t consider it a consumerist view it just the definition of product.
December 12, 2025 at 3:08 PM
So someone liking a post was enough to fix this glitch
December 11, 2025 at 9:03 PM
Its pronounced tict-ayy-see-toe
December 11, 2025 at 7:50 PM
I believe this has been fixed. turns out I needed to enable ntp port 123 on my upcloud firewall for it to properly timesync....
although every time i checked the drift it was only nanoseconds ahead of ntp time.
December 7, 2025 at 5:07 PM
the code works to specify the PDS host. but I also hacked my PDS to allow a +30s offset in OAUTH calls to fix this stupid "timestamp check failed". I may be doing something wrong, but I get failures when the timestamps are .005ms out of sync.
December 7, 2025 at 4:10 PM
Looking at this... but the error is that either your PDS or my server has the time incorrect...
"map[error:invalid_client error_description:Validation of \"client_assertion\" failed: \"iat\" claim timestamp check failed (it should be in the past)]
December 7, 2025 at 4:07 PM