From 523930a7c1bdbfbdac5466c851b91cbb450672b8 Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Fri, 2 Dec 2016 15:45:08 -0800 Subject: [PATCH] design: use png rather than svg Signed-off-by: Stephen J Day --- design/architecture.md | 4 ++-- design/architecture.png | Bin 0 -> 17617 bytes design/architecture.svg | 4 ---- design/data-flow.png | Bin 0 -> 20650 bytes design/data-flow.svg | 4 ---- 5 files changed, 2 insertions(+), 10 deletions(-) create mode 100644 design/architecture.png delete mode 100644 design/architecture.svg create mode 100644 design/data-flow.png delete mode 100644 design/data-flow.svg diff --git a/design/architecture.md b/design/architecture.md index 22847a6e2..2059aa5ed 100644 --- a/design/architecture.md +++ b/design/architecture.md @@ -17,7 +17,7 @@ representation of a runtime container. _Bundles_ are mutable and can be passed to other systems for modification or packed up and distributed. In practice, it is simply a directory on the filesystem. -![Architecture](architecture.svg) +![Architecture](architecture.png) Note that while these architecteral ideas are important to understanding the system, code layout may not reflect the exact architecture. These ideas should @@ -67,7 +67,7 @@ components: As discussed above, the concept of a _bundle_ is central to containerd. Below is a diagram illustrating the data flow for bundle creation. -![data-flow](data-flow.svg) +![data-flow](data-flow.png) Let's take pulling an image as a demonstrated example: diff --git a/design/architecture.png b/design/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..891daaed29ede9cf4c280d8246bb59af31814a71 GIT binary patch literal 17617 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 literal 0 HcmV?d00001 diff --git a/design/architecture.svg b/design/architecture.svg deleted file mode 100644 index 1ac9ac38a..000000000 --- a/design/architecture.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/design/data-flow.png b/design/data-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9a0f6979d40348f1ab36ce5c554ce2c1d7315b GIT binary patch literal 20650 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 literal 0 HcmV?d00001 diff --git a/design/data-flow.svg b/design/data-flow.svg deleted file mode 100644 index d09805b36..000000000 --- a/design/data-flow.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -