Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

footstone

footstone holds the container images the Eru project builds and runs code in: a build image that carries the Go toolchain together with fpm, rpm and dpkg for producing distribution packages, and a run-lambda image that gives Eru lambda workloads an unprivileged user with passwordless sudo. One directory per image, one Dockerfile each, all published to GHCR for linux/amd64 and linux/arm64.

Documentation: projecteru2.github.io/footstone (source in docs/).

Images

Image Base Contents
ghcr.io/projecteru2/footstone/build golang:1.27-alpine Go 1.27, fpm, rpm, dpkg, git, alpine-sdk, libgit2-dev
ghcr.io/projecteru2/footstone/run-lambda alpine:3.22 sudo, plus a lambda user (uid 65530) with passwordless sudo

Every image is tagged latest on a master push, with the commit sha, and with the tag name on a v* tag.

Quick start

Build an Eru component inside the build image:

docker run --rm -v "$PWD:/src" -w /src \
  ghcr.io/projecteru2/footstone/build \
  go build -o eru-core .

Use the lambda base for a workload image:

FROM ghcr.io/projecteru2/footstone/run-lambda
USER lambda

Related projects

  • core — stateless gRPC resource scheduler
  • agent — per-node daemon reporting node and workload status
  • cli — command line client for the core API
  • resource-extend — external resource plugins (gpu, storage)
  • quickstart — Ansible playbook that deploys an Eru cluster

Development

make check    # run the Dockerfile linter on every image
make build    # build every image for the local platform
make push     # build and push every image for linux/amd64,linux/arm64
make all      # check, then build

make help lists every target. REGISTRY, IMAGES, PLATFORMS and TAG override the defaults, for example make push TAG=v1.0.0 IMAGES=run-lambda.

License

This project is licensed under the MIT License. See LICENSE.

About

Container images the Eru project builds with: a Go plus fpm build and packaging image, and an Alpine base with a passwordless sudo user for Eru lambda workloads.

Topics

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages