Skip to content

HDDS-15026. Introduce DevContainer to improve contributor experience#10075

Merged
peterxcli merged 1 commit intoapache:masterfrom
henrybear327:HDDS-15026
May 2, 2026
Merged

HDDS-15026. Introduce DevContainer to improve contributor experience#10075
peterxcli merged 1 commit intoapache:masterfrom
henrybear327:HDDS-15026

Conversation

@henrybear327
Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

With devcontainer, the development environment can be setup quickly, locally and also on Github Codespace, which reduces friction for contributors to onboard.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-15026

How was this patch tested?

  • Locally on M-series Mac
  • Creating a new Github Codespace

@henrybear327
Copy link
Copy Markdown
Contributor Author

cc: @peterxcli @adoroszlai

@adoroszlai
Copy link
Copy Markdown
Contributor

Thanks @henrybear327 for the patch. Please link to relevant docs that describe devcontainers.

How was this patch tested?

  • Locally on M-series Mac
  • Creating a new Github Codespace

Can you please provide steps?

@henrybear327
Copy link
Copy Markdown
Contributor Author

henrybear327 commented Apr 13, 2026

Thanks @henrybear327 for the patch. Please link to relevant docs that describe devcontainers.

How was this patch tested?

  • Locally on M-series Mac
  • Creating a new Github Codespace

Can you please provide steps?

Sorry for being too brief on this PR. I will make sure I include more context next time.


The official website is https://containers.dev/ - "A development container (or dev container for short) allows you to use a container as a full-featured development environment. It can be used to run an application, to separate tools, libraries, or runtimes needed for working with a codebase, and to aid in continuous integration and testing."

The main benefits are that developers can quickly spin up a Github Codespace and start working on the project, or, locally, a devcontainer, such that all toolchains required for developments are setup already.

It's also used in a lot of Apache projects.


Locally, I followed the devcontainer CLI guide here to install and spin up a devcontainer instance.

On github, I created a codespace against this branch, as shown in the following image:
Screenshot 2026-04-13 at 10 34 06 PM

For both environments, as docker-in-docker is enabled, I followed the README and ran cd hadoop-ozone/dist/target/ozone-*/compose/ozone; docker compose up -d --scale datanode=3 to see if I can spin up a cluster. Screenshot 2026-04-13 at 10 36 52 PM


Hope this helps.

Comment thread .devcontainer/devcontainer.json
@adoroszlai adoroszlai changed the title HDDS-15026: Introduce DevContainer to improve contributor experience HDDS-15026. Introduce DevContainer to improve contributor experience Apr 15, 2026
@adoroszlai
Copy link
Copy Markdown
Contributor

adoroszlai commented Apr 15, 2026

Thanks @henrybear327 for the detailed description.

We should also add the new .devcontainer dir to the source tarball like:

<fileSet>
<directory>.run</directory>
<includes>
<include>**/*</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>

@henrybear327 henrybear327 force-pushed the HDDS-15026 branch 2 times, most recently from 9f97fa7 to bd31c07 Compare April 25, 2026 09:33
@henrybear327
Copy link
Copy Markdown
Contributor Author

Thanks @henrybear327 for the detailed description.

We should also add the new .devcontainer dir to the source tarball like:

<fileSet>
<directory>.run</directory>
<includes>
<include>**/*</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
</fileSet>

Done! :) Thanks!

@henrybear327 henrybear327 requested a review from adoroszlai April 25, 2026 09:37
@henrybear327
Copy link
Copy Markdown
Contributor Author

Gentle ping @peterxcli @adoroszlai for a final review :)

Thank you!

@adoroszlai
Copy link
Copy Markdown
Contributor

@henrybear327 LGTM, I'm waiting for @peterxcli to take a look

Comment thread .devcontainer/devcontainer.json
Copy link
Copy Markdown
Member

@peterxcli peterxcli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other LGTM! can merge after comment is resolved.

@peterxcli
Copy link
Copy Markdown
Member

Really appreciate and look forward to this change, as I’m a VS Code/Cursor user too.

@henrybear327
Copy link
Copy Markdown
Contributor Author

Really appreciate and look forward to this change, as I’m a VS Code/Cursor user too.

Glad it helped :)

Please resolve the comment if you think the reply makes sense! Otherwise, I am happy to keep answering question until we are aligned! :)

@henrybear327 henrybear327 requested a review from peterxcli May 1, 2026 21:40
Copy link
Copy Markdown
Member

@peterxcli peterxcli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update! will merge after CI pass

@peterxcli peterxcli merged commit 9e89ee7 into apache:master May 2, 2026
32 checks passed
@peterxcli
Copy link
Copy Markdown
Member

Thanks @henrybear327 for the patch, @adoroszlai for the review!

@henrybear327 henrybear327 deleted the HDDS-15026 branch May 2, 2026 08:01
@henrybear327
Copy link
Copy Markdown
Contributor Author

Thanks @henrybear327 for the patch, @adoroszlai for the review!

Thanks @peterxcli and @adoroszlai for the review and discussion! :)

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

Successfully merging this pull request may close these issues.

3 participants