letsencrypt / letsencrypt/boulder

Create a .devcontainer to make it easier to spin up and test boulder code changes

Open
#5,849 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

Most of the components for a dev container are already in place. The main things that we'd need for a dev container are:

  1. Probably only one of each component should be configured to start, to make sure breakpoints are being hit correctly.
  2. By default, none of the components should be in debug mode, but with a launch.json we should be able to attach to any running boulder process in the container with ease.

An example of a repository w/ a dev container can be found: https://github.com/satisfactorymodding/smr-api

If you clone this repo and open it vscode, vscode will (sometimes, not always for some reason) prompt you with an option to open it in a devcontainer. This container system automatically has the databases, etc all setup for the components to use.

This also means that github codespaces can actually spin up a new dev environments within seconds of pressing the "new codespaces" button.

More info: https://github.blog/2021-08-11-githubs-engineering-team-moved-codespaces/

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

Inspect the existing component and database setup, then compare it with the linked smr-api dev container example. Define a container that starts one instance of each component without debug mode, and use launch.json to attach to running Boulder processes. Done means the repository opens in VS Code or Codespaces with its dependencies ready for testing.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, vscode
Domain
cloud, developer-experience, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.