Skip to content

Latest commit

 

History

History
61 lines (35 loc) · 1.96 KB

README.md

File metadata and controls

61 lines (35 loc) · 1.96 KB

apk.dag.dev

This is a web server for exploring the contents of an APK repository.

In the future, it may be all the best kinds of dags.

This code is not production quality. It is a hack.

Running it

Use ko to build this.

This is very much tailored to running my own stuff on Cloud Run.

Some things will probably break if the environment is different.

For local testing, I usually:

CACHE_DIR=/tmp/apk go run ./cmd/apk -v

If you want to point this at local files (e.g. under ./packages), pass a directory to argv.

Since apk would be a terrible binary name, I've symlinked apeekay to it, so you can:

go install ./cmd/apeekay

And then run:

apeekay ./packages

On Cloud Run, I set CACHE_BUCKET to a GCS bucket in the same region as the service.

If you want private GCP images to work via oauth, you need to set CLIENT_ID, CLIENT_SECRET, and REDIRECT_URL to the correct values.

If you want to use ambient creds, set AUTH=keychain.

Deploying to cloud run should look something like:

gcloud run deploy apk --image $(ko build ./cmd/apk -B)

It is a good idea to deploy it in the same region as your CACHE_BUCKET and (if possible) registry in order to avoid egress costs.

Contributions

Currently, this forks a lot of things in order to violate abstractions in the name of performance.

I'm very interested in anything that lets me unfork dependencies, docs, and features.

I'm somewhat interested in random cleanups, tests, and performance improvements.

I am okay with contributions that make this easier for you to run, as long as they don't add new external dependencies in a way that adds to my maintenance burden.

I am also not a frontend developer, so if there's something dumb I am doing with CSS or HTML that could be optimized or would make the frontend look nicer, I'm open to it; however, I will push back heavily against any javascript or frameworks unless there's a huge benefit to it.