posit-dev / posit-dev/images-shared

Public Docker image quality-of-life improvements

Open
#463 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cvp:2 docker tdp:3
Dominant language
Python
Stars
2
Forks
0
Avg merge
4d 13h
Merged PRs (30d)
22

Description

[!NOTE]
Moved from rstudio/platform-team#188

This came out of conversations with @colearendt and @bschwedler. Essentially, there are some things we'd like to improve about our public Docker images -- for the products especially but also their upstream base images -- but that are scattered across various people's heads or some isolated issues.

Items we've discussed as potential improvements:

  • Image rebuilds automatically triggered by updates to the base image. Ideally we'd like a holistic update cycle so it's clear how changes to r-docker base images and even r-build OS packages trigger updates up the stack. This should also catch security patches to the OS base images we use.

  • More efficient continuous integration. Currently CI for rstudio-docker-products (which runs on every commit and PR) takes about an hour, which really cuts into iteration time. Most of this is due to rebuilding all images even when a commit only touches one of them. Cole has some work in progress to improve this.

  • More layer optimisation (and, related, "as small as possible" images). We can potentially use tools like dive for analysis here.

  • Image signing (see #183) and signature verification of upstream components (GPG for packages, maybe Sigstore for base images).

  • Whether we can produce minimalist/distroless builds for Connect and Package Manager (for dramatically smaller images and improved image security).

  • Whether r-docker should be moved from Jenkins to GitHub Actions. It's a public project, so that seems like a reasonable choice and is consistent with rstudio-docker-products.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This is an umbrella issue rather than a single implementation task. Start by reviewing the unchecked items, especially the linked image-signing issue #183, and inspect the existing CI and image-build workflows in rstudio-docker-products and r-docker. Done requires narrowing one improvement into a concrete plan with defined image, workflow, or security outcomes.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions
Domain
build-system, ci-cd, devops, infrastructure, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.