oxidecomputer / oxidecomputer/omicron

simplify top-level repo directories?

Open
#3,350 1 comment 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

development
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

A few people (myself included) have observed that this repo has an overwhelming number of top-level directories. It might help new developers better find stuff if there were a bit more structure.

Some ideas, possibly terrible:

  • Maybe the contents of "deploy" (which I think only houses thing-flinger) could be merged into "dev-tools"? What do you think @andrewjstone?
  • Maybe the contents of "package" could go into "dev-tools" too?
  • Maybe these could be grouped together (in directories; I'm not suggesting changing the crate structure at all):
    • gateway: gateway, gateway-cli, gateway-test-utils, [gateway-client]
    • installinator: installinator, installinator-artifactd, installinator-common, [installinator-artifact-client]
    • tufaceous: tufaceous and tufaceous-lib
    • wicket: wicket, wicket-common, wicket-debug, wicketd, [wicketd-client?]
    • clients: bootstrap-agent-client, ddm-admin-client, dpd-client, dns-service-client, nexus-client, oxide-client, oximeter-client, sled-agent-client, gateway-client (if not above), wicketd-client (if not above), installinator-artifact-client (if not above)

I'm not familiar with most of these components and I'm basically just going by the names. If you are familiar with these and have feelings either way, speak up!

Also, if folks have better suggestions for organizing things, that'd be good, too.

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

Start by reviewing the repository’s top-level directories, especially deploy, package, and dev-tools, then compare the proposed gateway, installinator, tufaceous, wicket, and clients groupings. The issue asks for discussion rather than naming a chosen structure, so done would require maintainer agreement on an organization plan before any changes are made.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
developer-experience
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.