Open AdrianoKF opened 3 months ago
I've hacked together a Trie-based path matching class that can be used to validate Gitignore (or Dockerignore) patterns against a file path: https://gist.github.com/AdrianoKF/d5bf77f200592c2cab2b8633b85f8a97
This can serve as the starting point when building an archive of the build context locally for upload to the server.
As a data scientist / ML engineer, I do not want to go through the overhead of downloading all sorts of dependencies and uploading them back to the internet as a container image, before I can sub my job for execution (since I am on a limited-bandwidth connection).
Instead, I want these container images to be built on a build server, according to the image specification given as part of my job metadata.
This approach yields additional benefits:
High-level Design
Overview
POST /builds
API endpoint that takes the following informationGET /builds/<id>
API endpointGET /builds/<id>/logs
endpoint (both historic and streaming logs)Server-side
BackgroundTasks
Client-side
.dockerignore
or deriving sensible defaults (e.g., from.gitignore
)jobq.assembler
package)Additional Considerations
Security
buildx
builders orbuildkitd
instances per jobq team/project (#130)Correctness
docker build
..dockerignore
fileOpen Questions
POST /jobs
and image build API?Client-based Orchestration