소스 검색

Merge pull request #578 from chris-crone/docs-architecture

docs: Add architecture diagram
Guillaume Tardif 5 년 전
부모
커밋
e9a575c4be
3개의 변경된 파일23개의 추가작업 그리고 0개의 파일을 삭제
  1. 22 0
      docs/architecture.md
  2. 1 0
      docs/images/cli-architecture-src.drawio
  3. BIN
      docs/images/cli-architecture.png

+ 22 - 0
docs/architecture.md

@@ -0,0 +1,22 @@
+# Architecture
+
+This CLI has the following high level design goals:
+1. Provide a way for the Docker experience to be mapped to different container
+   runtimes
+1. Provide a way to automatically generate high quality SDKs in popular
+   languages
+1. Ensure that existing Docker CLI commands continue to work as before
+
+These constraints resulted in the following architecture:
+
+![CLI architecture](./images/cli-architecture.png)
+
+What follows is a list of useful links to help navigate the code:
+* The CLI UX code is in [`cli/`](../cli)
+* The backend interface is defined in [`backend/`](../backend)
+  * An example backend can be found in [`example/`](../example)
+* The API is defined by protobufs that can be found in [`protos/`](../protos)
+* The API server is in [`server/`](../server)
+* The context management and interface can be found in [`context/`](../context)
+* The Node SDK is autogenerated and can be found in
+  [`docker/node-sdk`](https://github.com/docker/node-sdk)

+ 1 - 0
docs/images/cli-architecture-src.drawio

@@ -0,0 +1 @@
+<mxfile host="app.diagrams.net" modified="2020-09-03T12:25:43.326Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15" etag="K1jY54heY4eWQEn3n-xw" version="13.6.6" type="device"><diagram id="bcrsSplf0QZASel6j56T" name="Page-1">5VnbctowEP0aHtvBljHwCIZcpkknKdM2eRS2sNXIFiOLYPr1lbB8lUNpuHnSl0RaaWXr7J7jlegAJ0yuGVwG99RDpGN2vaQDJh3THBiG+CsNm9Rgg2Fq8Bn2UpNRGGb4N1LGrrKusIfiykROKeF4WTW6NIqQyys2yBhdV6ctKKk+dQl9pBlmLiS69Sf2eKC2ZfYL+w3CfpA92bDV/kKYTVY7iQPo0XXJBKYd4DBKedoKEwcRiV2GS+p39cZo/mIMRXwfB/PRfME4Gjx+H/Gb+yv8Y+IMP5mDdJlXSFZqx+pt+SaDgNFV5CG5SrcDxusAczRbQleOrkXMhS3gIRE9QzQXmBCHEspEP6KRmDT2YBxs3eW4/tZqI6+IcZSUTGoX14iGiLONmJLllAJUZVQO8LqIjwWULSjFJneEKif8fOkCNtFQyP0DioYG4hi6LyjypGPEEVtIuA7C9Qi4GcMqcMDSgTO7DcBZp8It20MJFOQJ+qmuyp8qTpTxgPo0guSO0qVC5xfifKPEA644rWKHEsyfSu1nudTnnupNErXytrPJOpHY4FO5U/KS3cJt28v8Yg4ZH0nhEQaXwDjGbma+wiR/pcjTJwljacqbEY/pirloF6xKJyHzEd81T8VVYr4zgRgikOPXqiQePxs0FjlUkCfhWzWNhNKy9nGoe2kOGf2zcqjgzXOZNo0cagMXwJ5cMOxWcQFoXBg93LYu+01bz37jrNnf0zXjTuDU/f50cbDM1oFla2ChBIZLAZAgCIo5jnzRmmely4XxAzX8LGBp+A3PqrR/K43PJKtFaVJUI8+5lh5cmrxfa/v7am2rpLavsWLqzFrEg1wjWsMD0A4enDyfB8fOU+X6QMWh8O0PBaifU1NCKa9a8PLXeH889SuAkXPbIgKYVq9lBLD+EwIcvSZuJwEMvTDqmDYRYI3nouHLxlfqyTJpNvmSDYlH5aMX50i9MjcaLsXOW2wauqz43x4cDantAb8CR8wZfUG1S8SGe0VIsB/JzEfyik0YJFzYhWSkBkLsefIxjfhXI3QMmap9p42BHgKrIQLmqSKQLbwrracJzur+7cGphandG5gVXHO1KKe22QCsfTJg9dN5gaMtTlRi49E8lv/c7Abro2Z9/ZTWGJ0m4QEni46u5rMg9aOrDxyJnlGPRE+LRP+c+gP20B+Hhksao6r8zFkhPnsI0uERJGjBD4vfBX7jMo70MRHd4kfItKQqfskF0z8=</diagram></mxfile>

BIN
docs/images/cli-architecture.png