1
0
Fork 0
mirror of https://github.com/imjasonh/kontain.me synced 2026-07-07 00:32:28 +00:00
Commit graph

289 commits

Author SHA1 Message Date
977420c74d git: document incremental plan/blockers; some deps work
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-15 10:30:35 -04:00
fa405f78a6 tweak resources
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-14 11:32:11 -04:00
f70dbcb83d readme: links to oci.dag.dev
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-14 11:21:27 -04:00
c7ea6912f0 fix some tests
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-13 22:19:59 -04:00
c90342181d fix upload-pack negotiation for stateless-RPC
Three related bugs in the git smart-HTTP upload-pack handler surfaced as
'bad band #78', 60s 504 hangs, and "expected ACK/NAK, got '?PACK'" when
fetching after previous pulls.

- Don't advertise no-done; we don't implement the ACK ready handshake.
- With multi_ack_detailed, don't emit per-round NAKs — only the final
  one after 'done'. Per-round NAKs make the client treat the first as
  the transition to sideband pack data, then choke on the second.
- Break out of the negotiation loop when a round reads no content
  (client closed without 'done') so we don't spin on EOF.
- Only emit pack data when 'done' was actually received. Non-final
  rounds get just NAK so HTTP keep-alive doesn't desync the next round.

Also trigger null_resource.test on the ko_build image digest so tests
re-run on every deploy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 21:54:40 -04:00
ac854e7f67 git: use ref in cache key
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-13 18:08:57 -04:00
c99a73b556 redirect to github url
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-13 17:12:22 -04:00
83808c437f move infinite-git and infinite-go into this repo
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-13 17:01:52 -04:00
2b7bb23ae2 git: annotate the checkout layer with the resolved commit, source, and ref
gitLayer now returns the commit it checked out (dereferencing annotated
tags). build records it, the clone URL, and the ref name as
me.kontain.git.{commit,source,ref} annotations on the checkout layer's
manifest descriptor, so the commit a :branch / :tag / :latest pull
resolved to is visible from the image manifest. The test now also checks
gitLayer's returned commit matches what resolveRef resolved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 13:05:51 -04:00
Jason Hall
6f2d87dec0
Merge pull request #224 from imjasonh/claude/stream-packfile-to-tar-ZjahP
git: stream worktree into the layer instead of unpacking to disk
2026-05-12 12:47:33 -04:00
d3d7e20500 git: own the checkout as the image's user so git can write to it
The layer's entries were root-owned, but cgr.dev/chainguard/git runs as
uid 65532, so `git fetch`/`git commit` inside the checkout failed with
"Permission denied" creating .git/FETCH_HEAD. Stamp the base image's
runtime uid/gid onto every layer entry, and explicitly emit the
checkout's parent directories (git/, git/<repo>/, git/<repo>/.git/) so
the image extractor doesn't auto-create them root-owned.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 12:45:50 -04:00
Claude
b00925bf9e
git: assert objects stay packed in the layer
Guards against a regression where go-git would unpack the fetched packfile
into loose objects, which would put the repo's whole decompressed contents in
memory.

https://claude.ai/code/session_01Jfhuuwb5haNaasc9hs53jw
2026-05-12 15:28:42 +00:00
Claude
61e2ace4bc
git: stream worktree into the layer instead of unpacking to disk
git.kontain.me used to clone+checkout a repo onto Cloud Run's tmpfs (memory)
and then tar the result. Now it fetches the packfile into an in-memory git dir,
walks the requested commit's tree, and streams each blob straight into the
layer tar. Only the packfile bytes (plus go-git's delta cache) are buffered, so
memory no longer scales with the size of the checked-out worktree.

The shipped .git directory is preserved (with core.bare unset and a generated
index) so the git CLI still works inside the checkout. Object SHAs change since
the tar is rebuilt differently, but the contents are the same.

https://claude.ai/code/session_01Jfhuuwb5haNaasc9hs53jw
2026-05-12 14:54:11 +00:00
Jason Hall
0b1057459f
Merge pull request #223 from imjasonh/deps
update deps
2026-05-12 09:11:39 -04:00
29b97f8dd9 update deps
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-12 09:09:26 -04:00
2e4488f6d3 add git.kontain.me
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-05-11 21:42:04 -04:00
5d020bef59 bump deps
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-04-02 18:16:22 +01:00
c9c7d8731f also host infinite-git.kontain.me from external repo
Signed-off-by: Jason Hall <imjasonh@gmail.com>
2026-04-02 18:12:21 +01:00
Jason Hall
dc96e41aa3
put the train back on its rails
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-02-14 03:52:52 -06:00
Jason Hall
63d4d47f3b
update deps
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-02-14 03:32:27 -06:00
Jason Hall
b2021a0d88
bump go deps
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-12-31 15:48:47 -05:00
Jason Hall
379695ef28
add notification channel
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-12-31 15:44:38 -05:00
Jason Hall
b9cc0342fb
alerts
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-12-24 13:29:47 -05:00
Jason Hall
c329df25bf
add random image prober and prober dashboard
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-12-22 09:56:15 -05:00
Jason Hall
794dbed8cb
use glue dashboards, fix tests
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-12-19 20:02:31 -05:00
Jason Hall
d901616d26
add dashboards
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-12-07 22:42:46 -07:00
Jason Hall
ad02c93765
remove pipefail
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-26 12:51:16 -05:00
Jason Hall
1ffecd8d25
remove module indirection
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-20 10:39:18 -06:00
Jason Hall
edc2261325
streamline GHA
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-17 10:47:45 -05:00
Jason Hall
8e999f95f4
drop test.sh, fmt on CI
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-17 10:44:49 -05:00
Jason Hall
d13b71d327
moar context
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-15 09:32:51 -05:00
Jason Hall
80cfb3f0f6
Update ci.yaml 2023-11-14 22:17:49 -05:00
Jason Hall
28dbbeb511
Update deploy.yaml 2023-11-14 22:17:27 -05:00
Jason Hall
7c246f748f
bump GHA deps
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-14 21:42:53 -05:00
Jason Hall
787ea7e9b0
bump deps
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-14 21:39:50 -05:00
Jason Hall
9c3366aea9
go mod tidy
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-14 21:31:34 -05:00
Jason Hall
f95c30bdfd
use slog, refactor TF
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-11-14 21:27:18 -05:00
Jason Hall
add190f2a2
Update go.mod 2023-06-09 09:28:13 -04:00
Jason Hall
d062cd2f07
fix CORS on the bucket
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-05-08 14:43:06 -04:00
Jason Hall
22db212ec7
on second thought, let's not use graphviz; 'tis a silly place
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-04-27 21:33:21 -04:00
Jason Hall
2f72f14aaf
pipe straight to dot
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-04-27 18:29:13 -04:00
Jason Hall
113c1a6d07
upload plan more better
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-04-27 17:03:09 -04:00
Jason Hall
9eaad64ecf
upload plan.png
Signed-off-by: Jason Hall <jason@chainguard.dev>
2023-04-27 16:48:51 -04:00
Jason Hall
45af312696
keep tf state in GCS 2023-04-27 15:10:24 -04:00
Jason Hall
2b88a57ffb
fix deploy 2023-04-27 14:50:36 -04:00
Jason Hall
7bfb91239a
fix deploy 2023-04-27 14:47:41 -04:00
Jason Hall
efb708aab3
fix CI 2023-04-27 14:44:45 -04:00
Jason Hall
eb074f3593
Merge pull request #175 from imjasonh/tf
deploy using terraform
2023-04-27 14:43:57 -04:00
Jason Hall
b47e970e4e
fix CI 2023-04-26 14:09:35 -04:00
Jason Hall
ee97133f80
fix CI, bump ko 2023-04-26 13:24:42 -04:00