diff --git a/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.pdf b/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2bafaefe8ab42b422044adbb060556b45d424535 --- /dev/null +++ b/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f473f9b76f954503121c92daeedf0bec2b1a046b0c9a44f2bbd796fb8d8a6f2 +size 102590 diff --git a/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.tikz b/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.tikz new file mode 100644 index 0000000000000000000000000000000000000000..7ee26260c0c11c83a86819325e9fb028c9c7a561 --- /dev/null +++ b/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.tikz @@ -0,0 +1,62 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Description. +% +% System architecture for the iffAiiDA Jupyter server. +% URL https://iffAiiDA.fz-juelich.de +% Figure by Ingo Meier, Scientific IT Systems, Forschungszentrum Jülich. +% URL https://pgi-jcns.fz-juelich.de +% This is a copy of original, up-to-date version on iffTeX. +% URL (invite-only) https://ifftex.fz-juelich.de/project/668559f4fd7fbc4aa3315771 +% Last update 2024-07-08. +% +% Changelog. +% - 2024-07-03 IM created figure on iffTeX. +% - 2024-07-08 JW added logos +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \usepackage[utf8]{inputenc} +% \usepackage[T1]{fontenc} +% \usepackage{lmodern} +% \usepackage[ngerman]{babel} +% \usepackage[usenames, dvipsnames, svgnames, table]{xcolor} +% \usepackage{fontawesome5} +% \usepackage[pdftex]{graphicx} +% \usepackage{tikz} +\usetikzlibrary{calc} + +\tikzstyle{largebox}=[rectangle,draw,fill=helmholtzpaleblue,minimum +size=1.4em] +\tikzstyle{mediumbox}=[rectangle,draw,fill=helmholtzlightblue,minimum +size=1.4em] +\tikzstyle{smallbox}=[rectangle,draw,fill=helmholtzpaleblue,minimum +size=1.4em] + + +\begin{tikzpicture}[x=3cm, y=3cm, yscale=-1] + \sffamily + \node[draw] (jupyterhub) at (2.35,0) [largebox] {\parbox{11cm}{\centering{}\logoJupyter{}JupyterHub server\\\vspace{7cm}}}; + \node[draw] (user) at (0,0) [smallbox] {\parbox{1.0cm}{\centering{\color{helmholtzdarkblue}{\faUser}}\\User}}; + \node[draw] (authorization) at (1, 0) [smallbox] {\parbox{2.5cm}{\centering{\color{helmholtzdarkblue}{\faLock}}\\Authorization}}; + \node[draw] (login service) at (0, 1) [smallbox] {Central Login}; + \node[draw] (docker container) at (3, 0) [mediumbox] {\parbox{6cm}{\centering\logoDocker{}\\Docker container\\\vspace{5cm}}}; + \node[draw] (jupyter client) at (3, 0) [smallbox] {\logoJupyter{} JupyterLab client}; + \node[draw] (aiida kernel) at (3, 0.5) [smallbox] {\logoAiida{} Python kernel}; + \node[draw] (file server) at (2.5, 1.75) [smallbox] {\parbox{2.5cm}{\centering{\color{helmholtzdarkblue}{\faDatabase}}\\File server}}; + \node[draw] (compute cluster) at (3.5, 1.75) [smallbox] {\parbox{2.75cm}{\centering{\color{helmholtzdarkblue}{\faServer}}\\Compute cluster}}; + \node[draw] (local storage) at (4.75, 0) [smallbox] {\parbox{2.5cm}{\centering{\color{helmholtzdarkblue}{\faFile}}\\Local storage}}; + \node[draw] (browser) at (2.5, -1.75) [smallbox] {\parbox{2.5cm}{\centering{\color{fzjorange}{\faFirefox}}\\Web browser}}; + \node[draw] (ssh) at (3.5, -1.75) [smallbox] {\parbox{2.5cm}{\centering{\color{helmholtzdarkblue}{\faTerminal}}\\SSH tunnel}}; + + \begin{scope}[>=latex] + \draw[->] (user) -- (authorization); + \draw[->] (authorization) -- (authorization |- login service) -- node[above] {OAuth2} (login service); + \draw[->] (authorization) -- (docker container); + \draw[<->] (jupyter client) -- (aiida kernel); + \draw[<->] (docker container) -- (file server); + \draw[<->] (docker container) -- (compute cluster); + \draw[<->] (docker container) -- (local storage); + \draw[->] (browser) -- (docker container); + \draw[->] (ssh) -- (docker container); + \end{scope} +\end{tikzpicture} diff --git a/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture.tikz b/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture.tikz new file mode 100644 index 0000000000000000000000000000000000000000..0a72c89e966c513aa06247ad0b3b5d4bb73550bd --- /dev/null +++ b/fig/external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture.tikz @@ -0,0 +1,50 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Description. +% +% System architecture for the iffAiiDA Jupyter server. +% URL https://iffAiiDA.fz-juelich.de +% Figure by Ingo Meier, Scientific IT Systems, Forschungszentrum Jülich. +% URL https://pgi-jcns.fz-juelich.de +% This is a copy of original, up-to-date version on iffTeX. +% URL (invite-only) https://ifftex.fz-juelich.de/project/668559f4fd7fbc4aa3315771 +% Last update 2024-07-08. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \usepackage[utf8]{inputenc} +% \usepackage[T1]{fontenc} +% \usepackage{lmodern} +% \usepackage[ngerman]{babel} +% \usepackage[usenames, dvipsnames, svgnames, table]{xcolor} +% \usepackage{fontawesome5} +% \usepackage[pdftex]{graphicx} +% \usepackage{tikz} +\usetikzlibrary{calc} + +\begin{tikzpicture}[x=3cm, y=3cm, yscale=-1] + \sffamily + \node[draw] (jupterhub) at (2.35,0) {\parbox{11cm}{\centering{}JupyterHub\\\vspace{7cm}}}; + \node[draw] (user) at (0,0) {\faUser}; + \node[draw] (authorization) at (1, 0) {\parbox{2.5cm}{\centering\faLock\\Authorization}}; + \node[draw] (login service) at (0, 1) {Central Login}; + \node[draw] (docker container) at (3, 0) {\parbox{6cm}{\centering\faDocker\\User's Docker container\\\vspace{5cm}}}; + \node[draw] (jupyter client) at (3, 0) {JupyterHub/Lab client}; + \node[draw] (aiida kernel) at (3, 0.5) {AiiDA kernel}; + \node[draw] (file server) at (2.5, 1.75) {\parbox{2.5cm}{\centering\faServer\\File server}}; + \node[draw] (compute cluster) at (3.5, 1.75) {Compute Cluster}; + \node[draw] (local storage) at (4.75, 0) {\parbox{2.5cm}{\centering\faFile\\Local storage}}; + \node[draw] (browser) at (2.5, -1.75) {\parbox{2.5cm}{\centering\faFirefox\\Browser}}; + \node[draw] (ssh) at (3.5, -1.75) {\parbox{2.5cm}{\centering\faTerminal\\SSH}}; + + \begin{scope}[>=latex] + \draw[->] (user) -- (authorization); + \draw[->] (authorization) -- (authorization |- login service) -- node[above] {OAuth2} (login service); + \draw[->] (authorization) -- (docker container); + \draw[<->] (jupyter client) -- (aiida kernel); + \draw[<->] (docker container) -- (file server); + \draw[<->] (docker container) -- (compute cluster); + \draw[<->] (docker container) -- (local storage); + \draw[->] (browser) -- (docker container); + \draw[->] (ssh) -- (docker container); + \end{scope} +\end{tikzpicture} diff --git a/fig/tikz-tmp.tex b/fig/tikz-tmp.tex index 558d545a72b555e38313c9d02af77af596c3829e..8a835663d46b01e26fd75c11f64a14d9d1fd6cec 100644 --- a/fig/tikz-tmp.tex +++ b/fig/tikz-tmp.tex @@ -1,5 +1,5 @@ % Use this file to create, compile and edit TikZ figures -\newcommand{\pathtotikzfig}{report-2023-07-01/atomistic-ml/classification-of-atomistic-ml_2023-07-01_ktikz.tikz} +\newcommand{\pathtotikzfig}{external/fzj/scientific-it-systems/iffaiida-architecture/iffaiida-architecture-with-logos.tikz} \input{tikz-preamble.tex} % while editing the tikz figure, go to logos and switch the paths as described % there. for insertion into document, switch them back.