Improve development environment + minor fixes #53
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The main highlight of this PR is switching to tilt instead of using a bunch of custom scripts. In addition, it includes a variety of QoL fixes.
Todo before merging:
tests/e2e/common
folder.deploy/Tiltfile
into multiple files for readability.Get signature checking working again. (Sigstore was not checking signatures in latest tests)-> laterMajor changes:
kind
withctlptl
now, instead ofminikube
. In local testing, this should be much more reliable and also faster. For context, minikube offers a lot of different options, like usingpodman
orkvm
orcontainerd
, etc., but not all of them work well with each other or with docker running on the same host—which necessitated a whole lot of useless debugging over the last month.tilt
instead of hand-rolling deployment shell scripts. Tilt is slightly slower on the first start and might need manual intervention, as sometimes it doesn't wait for everything to be ready before deploying the next step. However, after that, it has faster redeploys than our shell scripts, and comes with a nice UI showing the current cluster state at a glance.Some minor fixes/improvements made along the way that should help with both developing Apocryph and developing on top of Apocryph:
go build
; then also moved thatgo build
process into a container so that it uses the same glibc version for the binaries. This is much faster than full buildkit Docker builds, and coupled with Tilt's live update features, allows for iterating on thetpodserver
much faster.