From 85d03e33ed8c84f5f669dc38c228abaa5616b317 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 3 Oct 2020 15:39:25 +0200 Subject: [PATCH] add(node): Buzfeed SSO and Oauth2 Proxy (#296) * Add: Buzfeed SSO and Oauth2 Proxy Signed-off-by: Nicolas Lamirault * Update: move buzzfeed-sso and oauth2-proxy into onprem.auth Signed-off-by: Nicolas Lamirault --- diagrams/onprem/auth.py | 19 +++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ resources/onprem/auth/buzzfeed-sso.png | Bin 0 -> 18611 bytes resources/onprem/auth/oauth2-proxy.png | Bin 0 -> 12655 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/auth.py create mode 100644 resources/onprem/auth/buzzfeed-sso.png create mode 100644 resources/onprem/auth/oauth2-proxy.png diff --git a/diagrams/onprem/auth.py b/diagrams/onprem/auth.py new file mode 100644 index 0000000..1ece9e7 --- /dev/null +++ b/diagrams/onprem/auth.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Auth(_OnPrem): + _type = "auth" + _icon_dir = "resources/onprem/auth" + + +class BuzzfeedSso(_Auth): + _icon = "buzzfeed-sso.png" + + +class Oauth2Proxy(_Auth): + _icon = "oauth2-proxy.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 014a8fd..9689341 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -25,6 +25,11 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Storm** - **diagrams.onprem.analytics.Tableau** +## onprem.auth + +- **diagrams.onprem.auth.BuzzfeedSso** +- **diagrams.onprem.auth.Oauth2Proxy** + ## onprem.cd - **diagrams.onprem.cd.Spinnaker** diff --git a/resources/onprem/auth/buzzfeed-sso.png b/resources/onprem/auth/buzzfeed-sso.png new file mode 100644 index 0000000000000000000000000000000000000000..e135d398eb66c1c3bd2015502c07b438dc48e8b3 GIT binary patch literal 18611 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
WsQx+y5yN|U!SdR{xRy8kmNj(#YqfW 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