From 23fb32b76175300e88f24a1abbe63ca5c7372284 Mon Sep 17 00:00:00 2001 From: Christie Wilson Date: Fri, 31 Aug 2018 17:15:35 -0700 Subject: [PATCH] Add pipeline strawman example @dlorenc @ImJasonH @tejal29 @aaron-prindle and I have been working on a strawman proposal for adding a Pipeline CRD and also for possibly envolving the Build CRD into a slightly more generic Task CRD. This PR demonstrates some paper prototype examples of what it could look like to define pipelines using the CRDs described in the README. --- crds.png | Bin 0 -> 38224 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 crds.png diff --git a/crds.png b/crds.png new file mode 100644 index 0000000000000000000000000000000000000000..f37eaffb72faf9c03fc0a3272a6859a2ce3bd860 GIT binary patch literal 38224 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

_SFpn5$(p$(0_J>T> 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