• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..13-Dec-2021-

archive/H13-Dec-2021-695501

images/H03-May-2022-

storagenode-graceful-exit/H13-Dec-2021-554376

README.mdH A D13-Dec-20213.5 KiB7045

TEMPLATE.mdH A D13-Dec-2021789 3116

access-revocation.mdH A D13-Dec-20216.1 KiB146107

audit-containment.mdH A D13-Dec-202113.2 KiB230175

audit-suspend.mdH A D13-Dec-20218.6 KiB9158

audit-v2.mdH A D13-Dec-20217.7 KiB12184

cache-node-selection.mdH A D13-Dec-20218.9 KiB13293

coupon-codes.mdH A D13-Dec-20213.7 KiB7141

deletion-performance.mdH A D13-Dec-202111.3 KiB189120

disqualification.mdH A D13-Dec-20217.2 KiB8752

distributed-tracing.mdH A D13-Dec-20214.5 KiB7047

fast-billing-changes.mdH A D13-Dec-20215.8 KiB8252

garbage-collection.mdH A D13-Dec-202113.9 KiB221178

ge_refactoring.mdH A D13-Dec-20214.9 KiB12387

geofencing.mdH A D13-Dec-20218.7 KiB11564

horizontal-scale-garbage-collection.mdH A D13-Dec-20218.9 KiB13493

kademlia-removal.mdH A D13-Dec-20215.4 KiB11472

layer2-support.mdH A D13-Dec-20216.2 KiB124102

link-sharing-service.mdH A D13-Dec-20214.3 KiB12182

linux-setup.mdH A D13-Dec-202111.1 KiB188139

metainfo-rpc.mdH A D13-Dec-202116.4 KiB452341

mountable-drive.mdH A D13-Dec-20211.8 KiB4933

node-selection.mdH A D13-Dec-20217.1 KiB8756

notification-system.mdH A D13-Dec-20213.7 KiB11979

password-key-derivation.mdH A D13-Dec-20215.6 KiB6942

path-component-encoding.mdH A D13-Dec-20215.5 KiB8049

referral-manager-v1.mdH A D13-Dec-20218.9 KiB207157

repair-with-hashes.mdH A D13-Dec-20216 KiB8150

satellite-billing-system.mdH A D13-Dec-202130.1 KiB837698

satellite-svc-separation.mdH A D13-Dec-202114.9 KiB198128

server-side-rename.mdH A D13-Dec-20216.8 KiB5333

slow-down-and-retry.mdH A D13-Dec-20217 KiB9165

sparse-order-storage-rollout.mdH A D13-Dec-20213.3 KiB7550

sparse-order-storage.mdH A D13-Dec-20215.8 KiB12090

storage-node-automatic-updater.mdH A D13-Dec-20216.2 KiB146103

storage-node-downtime-tracking-with-audits.mdH A D13-Dec-202113.6 KiB16597

storage-node-satellite-selection.mdH A D13-Dec-202110.3 KiB305230

storage-node-windows-installer.mdH A D13-Dec-20213.6 KiB8061

trusted-delegated-repair.mdH A D13-Dec-202112.6 KiB14185

uplink-scopes.mdH A D13-Dec-20217 KiB6844

uplink-telemetry.mdH A D13-Dec-20212.9 KiB7051

value-attribution.mdH A D13-Dec-20213.2 KiB7042

zombie-segments-cleaner.mdH A D13-Dec-20216.2 KiB9773

README.md

1# Blueprint Process
2
3Design docs are now known as blueprints. We do not intend to keep blueprints up to date once
4the implementation has been completed. The final step of a blueprint is to update documentation
5elsewhere, such as:
6 * https://github.com/storj/docs
7 * https://docs.storj.io/node
8 * https://docs.storj.io
9 * https://pkg.go.dev/storj.io/uplink
10 * Other godoc documentation, etc.
11
12Blueprints will be checked in as Markdown files in `docs/blueprints` folder.
13
14Blueprints should have an editor, at least one discussion meeting, and at least two reviewers from the architecture board.
15
16The editor is responsible for:
17* soliciting authors or authoring the document themselves,
18* scheduling discussion meetings,
19* finding reviewers,
20* posting the document in our [forum](https://forum.storj.io/c/engineer-amas/design-draft), and
21* getting the document finalized and merged
22
23The editor is also responsible for making a list of epics and tickets after the blueprint is finalized and merged. These should include archiving the blueprint when completed and updating appropriate documentation.
24
25The reviewers are responsible for reviewing the clarity and reasonableness of the document.
26
27The discussion meeting should have at least three people present. Invitees should familiarize with the document prior to the discussion. The reviewers should be present. If there are open problems after the meeting, then the meeting should be repeated.
28
29One of the reviewers must be an architecture owner, currently:
30
31* Egon (@egonelbre),
32* Kaloyan (@kaloyan-raev),
33* JT (@jtolds),
34* Jens (@littleskunk),
35* unless agreed otherwise
36
37The other reviewer should be someone with significant distributed systems expertise, currently:
38
39* Paul (@thepaul),
40* Simon (@simongui),
41* Jeff (@zeebo),
42* Matt (@brimstone),
43* unless agreed otherwise.
44
45However, it is expected that there should be feedback from the engineering team, DevOps team, data science team, UX team, QA team, and the community.
46
47## Template
48
49The blueprint uses `TEMPLATE.md` as a guide. However, it can be modified when necessary.
50
51The template has the following sections:
52
53* **Abstract** gives an overview of the blueprint and what it accomplishes. It does not go into details about the problem.
54
55* **Background** gives an overview of the background why this blueprint exists. It describes the problems the blueprint tries to solve. It describes the goals of the design.
56
57* **Design** contains the solution and its parts. The level of detail should correspond to the level of risk. The more problems a wrong solution would cause, the more detailed should be the description. The design should describe the solution to the degree it is usable by the end-user.
58
59* **Rationale** section describes the alternate approaches and trade-offs. It should be clear why the proposed design was chosen among the alternate solutions.
60
61* **Implementation** describes the steps to complete this blueprint. It should contain a rough outline of tasks. If necessary, there can be additional details about the changes to the codebase and process.
62
63* **Wrap up** describes the steps needed
64
65* **Open Issues** contains open questions that the author did not know how to solve.
66
67## Format
68
69The blueprint is intended to be read by developer contributors outside of Storj, but not the wider public. It is okay to assume some familiarity with the Storj project. Try to avoid acronyms that aren't common in the general developer community. Prefer simple sentences. Active voice is usually easier to read. Overall, be clear.
70