Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Infra checklist #41

Open
48 of 84 tasks
meeDamian opened this issue Sep 3, 2019 · 4 comments
Open
48 of 84 tasks

Docker Infra checklist #41

meeDamian opened this issue Sep 3, 2019 · 4 comments

Comments

@meeDamian
Copy link
Member

meeDamian commented Sep 3, 2019

I've had a lot of stuff happening all around the place, so I want to create this issue to just gather it all together (Perhaps move it to some wiki later)…

🧩 meeDamian/simple-qemu

tl;dr: Fetches qemu source, and from it builds static binaries for amd64 host system. Result is pushed to Docker registry(ies), and binaries are uploaded to Github Release.

  • Get rid of workflow generation scripts, once :octocat: Actions allows for either:
    • optional jobs (not steps, nor workflows)
    • referencing jobs in different workflows
Click to expand already done
  • Get it to build
  • Verify it works
  • Build multiple versions
    • [x]: v3.1.0 v3.1.1 v4.0.0 v4.1.0
  • Create short/floating tags
    • v4, v3, v4.0, v4.1, v3.1, arm, aarch64, latest, arm32v7, arm64v8, enable, riscv32, riscv64, etc…
  • Create permanent tags
  • Push to 🐳 Hub
  • Push to :octocat: Registry It's borked. Perhaps later…
  • Write proper README.md
  • Create short script to generate the Simple tags section the way most repos have it
  • Ask @lncm/lncm for code, and process review

🧩 lncm/berkeleydb

tl;dr: Pre-builds and packages BerkeleyDB v4.8.30.NC into a small container, that later can be reused in Dockerfile with sth like:

COPY --from=meedamian/berkeleydb:db-4.8.30.NC  /opt/  /opt/
  • Document build process more in README.md(?)
Click to expand already done
  • Push to :octocat: Registry It's borked. Perhaps later…
  • Setup build on :octocat: Actions
  • Build for amd64, arm32v7, and arm64v8
  • Push to 🐳 Hub
  • BDB doesn't use semver, but for consistency permanent tags can behave the same as above +build
  • See if it's possible to help consumers emulating CPU arch choose the correct version based on manifest, w/o specifying it verbatim
  • Ask @lncm/lncm for code, and process review
  • :octocat: Actions are enabled for the org (see Build process move to Github Actions docker-berkeleydb#11)
  • Move back to lncm/ namespace (blocked by: Trigger build by pushing a git-tag docker-berkeleydb#13, AKA no-secrets-in-forks issue)

🧩 lncm/bitcoind

tl;dr: Docker image with Bitcoin Core client built for amd64, arm32v7, and arm64v8.

  • Create a nowallet variant(?)
  • Push to 🐳 Hub
  • Document build process more in README.md
  • Document new release process more in README.md (or another .md file)
  • Move back to lncm/ namespace
  • Use +build to distinguish internal builds(?)
  • Ask @lncm/lncm for code, and process review
Click to expand already done
  • Push to :octocat: Registry It's borked. Perhaps later…
  • Get it to build on a CI
  • Split build into jobs
    • 1. Berkeleydb
    • 2. Finish at make
    • 3. Start at make check
    • 2. Build images
    • 3. Upload images
  • Build a few last, non vulnerable, versions
    • builds latest ~3 on each push to master
  • Build for amd64, arm32v7, and arm64v8
  • Do not upload anything to image registry, until builds of all architecture variants complete green

🧩 lncm/lnd

tl;dr: Docker image of a Lightning Network client built for amd64, arm32v7, and arm64v8.

  • Create a neutrino variant (if warrants a separate image)
  • From :octocat: Actions push to 🐳 Hub
  • Move back to lncm/ namespace
  • Ask @lncm/lncm for code and process review
Click to expand already done
  • Push to :octocat: Registry It's borked. Perhaps later…
  • Move to :octocat: Actions
  • Build for amd64, arm32v7, and arm64v8
  • Use Go v1.13
  • Use -trimpath -mod=readonly
  • In each build, build each binary twice:
    • alpine
    • debian:*-slim
    • compare checksums

🧩 lncm/invoicer

tl;dr: Utility living on top of lnd (and optionally bitcoind), that helps with creation of payment-accepting frontends

  • Add tests
  • Document a release process
  • Get rid of the Makefile(?)
Click to expand already done
  • Push to :octocat: Registry It's borked. Perhaps later…
  • Move to :octocat: Actions
  • Build for amd64, arm32v7, and arm64v8
  • Use Go v1.13
  • Use -trimpath -mod=readonly
  • In each build, build each binary twice:
    • alpine
    • debian:*-slim
    • compare checksums
  • From :octocat: Actions push to 🐳 Hub
  • Move back to lncm/ namespace once :octocat: Actions are enabled for the org (see Build process move to Github Actions docker-berkeleydb#11)
  • Get rid of *BSD platforms (@AnotherDroog?)
  • Ask @lncm/lncm for code and process review

🧩 lncm/donations

tl;dr: A UI that lives on top of invoicer that facilitates receiving BTC & LN donations.

  • Cleanup
    • Get rid of fluff

🧩 lncm/invoicer-ui

tl;dr: A UI that lives on top of invoicer that facilitates receiving BTC & LN in-store payments.

  • Should probably be renamed to sth along the lines of merchant-ui
  • is there anyone actually maintaining it?

🧩 lncm/noma

🧩 lncm/pi-factory

Other/General TODOs

Click to expand already done
@nolim1t
Copy link
Member

nolim1t commented Sep 4, 2019

merchant-ui

  • no active maintainers as far as I know

pi-factory

  • legacy box project. Working with latest lnd and bitcoind. Also invoicer to follow

lnd

  • have a neutrino build already on dockerhub

@meeDamian
Copy link
Member Author

have a neutrino build already on dockerhub

I don't think we'll "have it" until it's automated, and auditable. For what I, and anyone, knows you could've added code that sends you all of the btc there once there's enough deposited on that node ;).

@nolim1t
Copy link
Member

nolim1t commented Sep 4, 2019

You're welcome to audit it

@AnotherDroog
Copy link
Member

For what it’s worth, I’m happily using your lnd container @nolim1t

Of course auditing is a core concern for us. In that light, I’d like to see all components within one organization and the same git host.

That way at least all dependencies can be easily found

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants