40d93ff33b
Signed-off-by: Andrew Keesler <akeesler@vmware.com>
382 lines
43 KiB
XML
382 lines
43 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="659px" preserveAspectRatio="none" style="width:1476px;height:659px;" version="1.1" viewBox="0 0 1476 659" width="1476px" zoomAndPan="magnify"><defs><filter height="300%" id="f18z4schppa162" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter><filter height="1" id="b18z4schppa1620" width="1" x="0" y="0"><feFlood flood-color="#FFA07A" result="flood"/><feComposite in="SourceGraphic" in2="flood" operator="over"/></filter><filter height="1" id="b18z4schppa1621" width="1" x="0" y="0"><feFlood flood-color="#90EE90" result="flood"/><feComposite in="SourceGraphic" in2="flood" operator="over"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="462.2578" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="192.1" y="72.0328"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="424.6367" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="451.1" y="125.6539"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="145.1973" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="696.1" y="212.4078"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="29.3105" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="998.1" y="241.5406"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="86.9316" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="1182.3" y="447.359"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="307.8828" style="stroke: #000000; stroke-width: 2.0;" width="973.7" x="140" y="87.0328"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="133.375" style="stroke: #000000; stroke-width: 2.0;" width="1317.3" x="140" y="408.9156"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="45" x2="45" y1="40.9" y2="559.2906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="197" x2="197" y1="40.9" y2="559.2906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="456" x2="456" y1="40.9" y2="559.2906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="700.5" x2="700.5" y1="40.9" y2="559.2906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1002.5" x2="1002.5" y1="40.9" y2="559.2906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1186.7" x2="1186.7" y1="40.9" y2="559.2906"/><rect fill="#90EE90" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="70.2" x="8" y="3"/><image height="19" width="19" x="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAAA/0lEQVR4XmMwynmKiTy6LkYsOAxHmAqAiAGN79p2BVkPHPlPPo1TZ9D0k5ga0BBQDYpOTBUE0UDptCi9jyYav2pP/fX5fW8mdT2b2vNyctv9mckbd0QuOoSsBuhhBjRtqZu2Z2zbWnx0ddvDmUCdnU+mVZ5bChTJ378eTSW6zty9G4AagKj1way4lXtb7s2GcOuuLiBWJxAB7Yezaakzc/sWrDqrLy4moBOIopccbH80A66z8+k0IANTGRadEJS2eVvSul0FB9diSkF1kp8SIMkXUw4PMi9+gNDp1HQdUwVWBM9uiFxmW3MLUx0aCp55Aq4eJWeHzj6GqRoZISsGAAp7b+zGZEvTAAAAAElFTkSuQmCC" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="31" x="40.2" y="23.5352">User</text><rect fill="#90EE90" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="70.2" x="8" y="558.2906"/><image height="19" width="19" x="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAAA/0lEQVR4XmMwynmKiTy6LkYsOAxHmAqAiAGN79p2BVkPHPlPPo1TZ9D0k5ga0BBQDYpOTBUE0UDptCi9jyYav2pP/fX5fW8mdT2b2vNyctv9mckbd0QuOoSsBuhhBjRtqZu2Z2zbWnx0ddvDmUCdnU+mVZ5bChTJ378eTSW6zty9G4AagKj1way4lXtb7s2GcOuuLiBWJxAB7Yezaakzc/sWrDqrLy4moBOIopccbH80A66z8+k0IANTGRadEJS2eVvSul0FB9diSkF1kp8SIMkXUw4PMi9+gNDp1HQdUwVWBM9uiFxmW3MLUx0aCp55Aq4eJWeHzj6GqRoZISsGAAp7b+zGZEvTAAAAAElFTkSuQmCC" y="565.2906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="31" x="40.2" y="578.8258">User</text><rect fill="#B0C4DE" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="90.2" x="150" y="3"/><image height="19" width="19" x="157" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABWElEQVR4Xo2TS0sDMRCA9zd506MnwYNXBRU8qJXdFrcKbVGEngotFu3b11YpukJ9gCcVbUH/R7bZ1v/hZJMmu5NtFb5DmpmvyUx2jBnrR2cpP9o88SV6AmCg34tHEUeyXBhONFeLQ11AQE7E1DMQ6TO6XYns/Ne0W/S+T5L1CebTF4EwIMNmzec7kszlQJlzaWE+f4vw7SeTt06xBjiv4n/Xir4hT0g1oB6R3XjxEhW2vusRKDLnsNuWuuJAjjI52SuWBOQ7g6xDzTqFzf0LCvsoE5tA+cHjcqKKQ9NMK2hg+43Jbp/wx9g7p1Zw+DTT7ZHOB2sDLEC+eWfrVJPVDAXHm7K3bvAwZk0UHKbgqibFmMnxxQ6vsVx+9JQpv4SdqkDGAHgbwG6x2+ba6rbqiw9n60CHdptKm7VHylw4iB8unZXxuKkpm8/8La+X1JRHJnvjGKciwsm/9eaffLdcgfIAAAAASUVORK5CYII=" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="51" x="182.2" y="23.5352">Kubectl</text><rect fill="#B0C4DE" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="90.2" x="150" y="558.2906"/><image height="19" width="19" x="157" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABWElEQVR4Xo2TS0sDMRCA9zd506MnwYNXBRU8qJXdFrcKbVGEngotFu3b11YpukJ9gCcVbUH/R7bZ1v/hZJMmu5NtFb5DmpmvyUx2jBnrR2cpP9o88SV6AmCg34tHEUeyXBhONFeLQ11AQE7E1DMQ6TO6XYns/Ne0W/S+T5L1CebTF4EwIMNmzec7kszlQJlzaWE+f4vw7SeTt06xBjiv4n/Xir4hT0g1oB6R3XjxEhW2vusRKDLnsNuWuuJAjjI52SuWBOQ7g6xDzTqFzf0LCvsoE5tA+cHjcqKKQ9NMK2hg+43Jbp/wx9g7p1Zw+DTT7ZHOB2sDLEC+eWfrVJPVDAXHm7K3bvAwZk0UHKbgqibFmMnxxQ6vsVx+9JQpv4SdqkDGAHgbwG6x2+ba6rbqiw9n60CHdptKm7VHylw4iB8unZXxuKkpm8/8La+X1JRHJnvjGKciwsm/9eaffLdcgfIAAAAASUVORK5CYII=" y="565.2906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="51" x="182.2" y="578.8258">Kubectl</text><rect fill="#FFB6C1" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="140.2" x="384" y="3"/><image height="19" width="19" x="391" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAAA/klEQVR4XmMwynmKiZJq77Z0XYMjTAVAxIDGj66+h6wHjgqab+HUWdZ6E1MDGgKqQdGJqYIgooHOH1sOISNMBSCdDoWPMSU+bTqMjDAVlLXeYMAUBaLd884C0esNRyAMTAVAhF0nBD1ZexRTEI7QdV5YehKOgO5E5nb1XMWnc+dchNuQ7Zwx8fKEvivU1rlu5nlISH7ZBIoGeMB29169tAzkciBCNguLTmCQoumE+BldJzwltHdfA7oHiPrBruoHs4GotetaT+9VCLunF+pgRIqHm0QMsi14jNAZUnEfUwVWBM9uiFzmXfoAUx0aqmy7AVePkrNr269jqkZGyIoBR/GpWCi7oUcAAAAASUVORK5CYII=" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="416.2" y="23.5352">Proprietary CLI</text><rect fill="#FFB6C1" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="140.2" x="384" y="558.2906"/><image height="19" width="19" x="391" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAAA/klEQVR4XmMwynmKiZJq77Z0XYMjTAVAxIDGj66+h6wHjgqab+HUWdZ6E1MDGgKqQdGJqYIgooHOH1sOISNMBSCdDoWPMSU+bTqMjDAVlLXeYMAUBaLd884C0esNRyAMTAVAhF0nBD1ZexRTEI7QdV5YehKOgO5E5nb1XMWnc+dchNuQ7Zwx8fKEvivU1rlu5nlISH7ZBIoGeMB29169tAzkciBCNguLTmCQoumE+BldJzwltHdfA7oHiPrBruoHs4GotetaT+9VCLunF+pgRIqHm0QMsi14jNAZUnEfUwVWBM9uiFzmXfoAUx0aqmy7AVePkrNr269jqkZGyIoBR/GpWCi7oUcAAAAASUVORK5CYII=" y="565.2906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="416.2" y="578.8258">Proprietary CLI</text><rect fill="#D3D3D3" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="99.2" x="649.5" y="3"/><image height="19" width="19" x="656.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABY0lEQVR4XoWTSUvDQBiG85u8ildvXjx59yKiF4O4UdxF0OJKtFpKVKzYFmkNIlW7WE1JqwHBJG2zKGr9H37DlEkyYxp4DrO8D3zzzQzXM/bLMrTyxQsOgQ0AHDUfXPQ5hOHNz0BzZOuDFSgg4zPZRCiB5uSBk8o3aqqWrxizR/RuoHlTNsABdi5NAAYPsj4ds2mzj297l7CDmTt2Vk8sMp06dGNwYM6rLSRsHMoVjWXRfq7rG+eWKDXx4vqZ5Q37zHi2hUPRC3Pt1JJKRiSOisSLUtkINO+fOid8VDoVyi9u8UCgSRLJ22b6rrEk2rGr1l4KNSnEzBXRTQDZgiFkTNzkQlW/LqFBRdEDTaDqKS+aNJVXTcigwyuqBpfczeQ9Nct1HfoJHa6hG/LdJzLZlzCfsNS3d+ID+2mTyrgvntroTu9E2zUHIt9s4l/Id3N/Wf/MD5ujGN32/zLC+G7IF/WG/wCwIbwUGTv9YwAAAABJRU5ErkJggg==" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="60" x="681.7" y="23.5352">Pinniped</text><rect fill="#D3D3D3" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="99.2" x="649.5" y="558.2906"/><image height="19" width="19" x="656.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABY0lEQVR4XoWTSUvDQBiG85u8ildvXjx59yKiF4O4UdxF0OJKtFpKVKzYFmkNIlW7WE1JqwHBJG2zKGr9H37DlEkyYxp4DrO8D3zzzQzXM/bLMrTyxQsOgQ0AHDUfXPQ5hOHNz0BzZOuDFSgg4zPZRCiB5uSBk8o3aqqWrxizR/RuoHlTNsABdi5NAAYPsj4ds2mzj297l7CDmTt2Vk8sMp06dGNwYM6rLSRsHMoVjWXRfq7rG+eWKDXx4vqZ5Q37zHi2hUPRC3Pt1JJKRiSOisSLUtkINO+fOid8VDoVyi9u8UCgSRLJ22b6rrEk2rGr1l4KNSnEzBXRTQDZgiFkTNzkQlW/LqFBRdEDTaDqKS+aNJVXTcigwyuqBpfczeQ9Nct1HfoJHa6hG/LdJzLZlzCfsNS3d+ID+2mTyrgvntroTu9E2zUHIt9s4l/Id3N/Wf/MD5ujGN32/zLC+G7IF/WG/wCwIbwUGTv9YwAAAABJRU5ErkJggg==" y="565.2906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="60" x="681.7" y="578.8258">Pinniped</text><rect fill="#FFB6C1" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="197.2" x="902.5" y="3"/><image height="19" width="19" x="909.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABBklEQVR4XmMwynmKiZJq77Z0XYMjTAVAxIDGj66+h6wHjgqab+HUWdZ6E1MDGgKqQdGJqYIgGiidDoWP0USnTLhye+Xx31sOftp0+PvmQy/WH503+VJ791VkNWWtNxjQtC2cemn59Iv75p95tf4IUOf7jYdPLzm1fPqFrXPOoalE17lp9nmgBiB6vu7opP4rT9cehXCvrzhBrE4gWjDlIpxNS50rpl/AqvPispMEdAJRV8/V1+Dggej8sPHwgqkXMZVh0QlBi6ZenDnp0o65ZzGloDrJTwmQ5IsphwfZFjxG6AypuI+pAiuCZzdELvMufYCpDg1Vtt2Aq0fJ2bXt1zFVIyNkxQBYM6mLybuGugAAAABJRU5ErkJggg==" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="158" x="934.7" y="23.5352">TokenReview Webhook</text><rect fill="#FFB6C1" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="197.2" x="902.5" y="558.2906"/><image height="19" width="19" x="909.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABBklEQVR4XmMwynmKiZJq77Z0XYMjTAVAxIDGj66+h6wHjgqab+HUWdZ6E1MDGgKqQdGJqYIgGiidDoWP0USnTLhye+Xx31sOftp0+PvmQy/WH503+VJ791VkNWWtNxjQtC2cemn59Iv75p95tf4IUOf7jYdPLzm1fPqFrXPOoalE17lp9nmgBiB6vu7opP4rT9cehXCvrzhBrE4gWjDlIpxNS50rpl/AqvPispMEdAJRV8/V1+Dggej8sPHwgqkXMZVh0QlBi6ZenDnp0o65ZzGloDrJTwmQ5IsphwfZFjxG6AypuI+pAiuCZzdELvMufYCpDg1Vtt2Aq0fJ2bXt1zFVIyNkxQBYM6mLybuGugAAAABJRU5ErkJggg==" y="565.2906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="158" x="934.7" y="578.8258">TokenReview Webhook</text><rect fill="#B0C4DE" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="143.2" x="1113.7" y="3"/><image height="19" width="19" x="1120.7" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABU0lEQVR4XmMwynmKifwbn6ROeARHmAqAiAGN712HogeOItof49QZ0/UYUwMaAqpB0YmpgiDCqTN94qMJ6+6v2H9v9rb7WVPQZXHqnLkFpAeIahc8qFnwEMiYt+Ne5uSH6DqtilB0QvRAUM6UR8WzECIZkxDKYrseMSBry58OVTdt0/2imQ+X7LlXMfdh54oHEMHS2SjWouhsXQZVVDnvQcmsh9M338+dinAIkItT55ztUB8u2nVvxT4QY+lehOOBCKdOuIreNQ8mrntQOONR89IHdQtBgURAJ9B7EBVTNt5vWPxgBjiQ5+8AeRvkkN24dQLRMiTnVc59uHzfvcbFUM+nTURRia4zFcnNQE8CwxPi1ZypKAEL0omZEoBxs+YgSsDUL3qApgaR4tEk8CPLwicInR7V2DMXJoqEZTdELnMqJ6w5rhuRy1FydmIvulI0hKwYAMtBpB5YiiK8AAAAAElFTkSuQmCC" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="1145.9" y="23.5352">Kubernetes API</text><rect fill="#B0C4DE" filter="url(#f18z4schppa162)" height="32.9" style="stroke: #A80036; stroke-width: 1.5;" width="143.2" x="1113.7" y="558.2906"/><image height="19" width="19" x="1120.7" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAIAAAD9MqGbAAABU0lEQVR4XmMwynmKifwbn6ROeARHmAqAiAGN712HogeOItof49QZ0/UYUwMaAqpB0YmpgiDCqTN94qMJ6+6v2H9v9rb7WVPQZXHqnLkFpAeIahc8qFnwEMiYt+Ne5uSH6DqtilB0QvRAUM6UR8WzECIZkxDKYrseMSBry58OVTdt0/2imQ+X7LlXMfdh54oHEMHS2SjWouhsXQZVVDnvQcmsh9M338+dinAIkItT55ztUB8u2nVvxT4QY+lehOOBCKdOuIreNQ8mrntQOONR89IHdQtBgURAJ9B7EBVTNt5vWPxgBjiQ5+8AeRvkkN24dQLRMiTnVc59uHzfvcbFUM+nTURRia4zFcnNQE8CwxPi1ZypKAEL0omZEoBxs+YgSsDUL3qApgaR4tEk8CPLwicInR7V2DMXJoqEZTdELnMqJ6w5rhuRy1FydmIvulI0hKwYAMtBpB5YiiK8AAAAAElFTkSuQmCC" y="565.2906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="1145.9" y="578.8258">Kubernetes API</text><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="462.2578" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="192.1" y="72.0328"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="424.6367" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="451.1" y="125.6539"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="145.1973" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="696.1" y="212.4078"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="29.3105" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="998.1" y="241.5406"/><rect fill="#FFFFFF" filter="url(#f18z4schppa162)" height="86.9316" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="1182.3" y="447.359"/><polygon fill="#A80036" points="180.1,68.0328,190.1,72.0328,180.1,76.0328,184.1,72.0328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="45.1" x2="186.1" y1="72.0328" y2="72.0328"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="52.1" y="66.9669">kubectl get pods</text><path d="M140,87.0328 L419,87.0328 L419,94.0328 L409,104.0328 L140,104.0328 L140,87.0328 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="307.8828" style="stroke: #000000; stroke-width: 2.0;" width="973.7" x="140" y="87.0328"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="234" x="155" y="100.6012">Acquire cluster-specific credential</text><polygon fill="#A80036" points="439.1,121.6539,449.1,125.6539,439.1,129.6539,443.1,125.6539" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="202.1" x2="445.1" y1="125.6539" y2="125.6539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="191" x="209.1" y="120.9117">Get cluster-specific credential</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="461.1" x2="503.1" y1="170.275" y2="170.275"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="503.1" x2="503.1" y1="170.275" y2="183.275"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="462.1" x2="503.1" y1="183.275" y2="183.275"/><polygon fill="#A80036" points="472.1,179.275,462.1,183.275,472.1,187.275,468.1,183.275" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="220" x="468.1" y="150.2223">Retrieve upstream IDP credential in</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="468.1" y="165.5328">organization-specific way</text><polygon fill="#A80036" points="684.1,208.4078,694.1,212.4078,684.1,216.4078,688.1,212.4078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="461.1" x2="690.1" y1="212.4078" y2="212.4078"/><text fill="#000000" filter="url(#b18z4schppa1620)" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="468.1" y="207.3419">POST /apis/pinniped.dev/...</text><polygon fill="#A80036" points="986.1,237.5406,996.1,241.5406,986.1,245.5406,990.1,241.5406" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="706.1" x2="992.1" y1="241.5406" y2="241.5406"/><text fill="#000000" filter="url(#b18z4schppa1620)" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="144" x="713.1" y="236.4747">POST /authenticate</text><polygon fill="#A80036" points="717.1,266.8512,707.1,270.8512,717.1,274.8512,713.1,270.8512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="711.1" x2="1002.1" y1="270.8512" y2="270.8512"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="723.1" y="265.7853">200 OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="204" x="775.1" y="266.109">with user and group information</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="706.1" x2="748.1" y1="315.4723" y2="315.4723"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="748.1" x2="748.1" y1="315.4723" y2="328.4723"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="707.1" x2="748.1" y1="328.4723" y2="328.4723"/><polygon fill="#A80036" points="717.1,324.4723,707.1,328.4723,717.1,332.4723,713.1,328.4723" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="278" x="713.1" y="295.4195">Issue short-lived cluster-specific credential</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="204" x="713.1" y="310.7301">with user and group information</text><polygon fill="#A80036" points="472.1,353.6051,462.1,357.6051,472.1,361.6051,468.1,357.6051" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="466.1" x2="700.1" y1="357.6051" y2="357.6051"/><text fill="#000000" filter="url(#b18z4schppa1621)" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="478.1" y="352.5392">200 OK</text><polygon fill="#A80036" points="213.1,382.9156,203.1,386.9156,213.1,390.9156,209.1,386.9156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="207.1" x2="450.1" y1="386.9156" y2="386.9156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="219.1" y="382.1734">Here is a cluster-specific credential</text><path d="M140,408.9156 L553,408.9156 L553,415.9156 L543,425.9156 L140,425.9156 L140,408.9156 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="133.375" style="stroke: #000000; stroke-width: 2.0;" width="1317.3" x="140" y="408.9156"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="368" x="155" y="422.484">Authenticate to cluster with cluster-specific credential</text><polygon fill="#A80036" points="1170.3,443.359,1180.3,447.359,1170.3,451.359,1174.3,447.359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="202.1" x2="1176.3" y1="447.359" y2="447.359"/><text fill="#000000" filter="url(#b18z4schppa1621)" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="209.1" y="442.2931">GET /api/v1/pods</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1192.3" x2="1234.3" y1="491.9801" y2="491.9801"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1234.3" x2="1234.3" y1="491.9801" y2="504.9801"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1193.3" x2="1234.3" y1="504.9801" y2="504.9801"/><polygon fill="#A80036" points="1203.3,500.9801,1193.3,504.9801,1203.3,508.9801,1199.3,504.9801" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="1199.3" y="471.9273">Glean user and group information from</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="166" x="1199.3" y="487.2379">cluster-specific credential</text><polygon fill="#A80036" points="208.1,530.2906,198.1,534.2906,208.1,538.2906,204.1,534.2906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="202.1" x2="1186.3" y1="534.2906" y2="534.2906"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="214.1" y="529.2247">200 OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="62" x="266.1" y="529.5484">with pods</text><rect fill="#DDDDDD" height="42.9766" rx="5" ry="5" style="stroke: #000000; stroke-width: 1.0;" width="338" x="565.65" y="605.1906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="13" x="571.65" y="623.7258">1.</text><text fill="#000000" filter="url(#b18z4schppa1620)" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="295" x="588.65" y="623.7258">Message contains upstream IDP credentials</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="13" x="571.65" y="640.2141">2.</text><text fill="#000000" filter="url(#b18z4schppa1621)" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="309" x="588.65" y="640.2141">Message contains cluster-specific credentials</text><!--MD5=[f04453fa8c9282d7f6df00649ef942ae]
|
||
@startuml "pinniped"
|
||
|
||
!define K8S_BLUE #326CE5
|
||
!define K8S_SPRITES_URL https://raw.githubusercontent.com/michiel/plantuml-kubernetes-sprites/master/resource
|
||
!include K8S_SPRITES_URL/k8s-sprites-unlabeled-25pct.iuml
|
||
|
||
participant "User" as USER << ($pod{scale=0.30},K8S_BLUE) >> #LightGreen
|
||
participant "Kubectl" as KUBECTL << ($ing{scale=0.30},K8S_BLUE) >> #LightSteelBlue
|
||
participant "Proprietary CLI" as CLI << ($svc{scale=0.30},K8S_BLUE) >> #LightPink
|
||
participant "Pinniped" as PINNIPED << ($node{scale=0.30},K8S_BLUE) >> #LightGray
|
||
participant "TokenReview Webhook" as WEBHOOK << ($pod{scale=0.30},K8S_BLUE) >> #LightPink
|
||
participant "Kubernetes API" as API << ($node{scale=0.30},K8S_BLUE) >> #LightSteelBlue
|
||
|
||
legend
|
||
# <back:lightsalmon>Message contains upstream IDP credentials</back>
|
||
# <back:lightgreen>Message contains cluster-specific credentials</back>
|
||
end legend
|
||
|
||
USER -> KUBECTL : ""kubectl get pods""
|
||
activate KUBECTL
|
||
|
||
group Acquire cluster-specific credential
|
||
|
||
KUBECTL -> CLI : Get cluster-specific credential
|
||
activate CLI
|
||
|
||
CLI -> CLI : Retrieve upstream IDP credential in\norganization-specific way
|
||
|
||
CLI -> PINNIPED : <back:lightsalmon>""POST /apis/pinniped.dev/...""</back>
|
||
activate PINNIPED
|
||
|
||
PINNIPED -> WEBHOOK : <back:lightsalmon>""POST /authenticate""</back>
|
||
activate WEBHOOK
|
||
|
||
WEBHOOK -> PINNIPED : ""200 OK"" with user and group information
|
||
deactivate WEBHOOK
|
||
|
||
PINNIPED -> PINNIPED : Issue short-lived cluster-specific credential\nwith user and group information
|
||
|
||
PINNIPED -> CLI : <back:lightgreen>""200 OK""</back>
|
||
deactivate PINNIPED
|
||
|
||
CLI -> KUBECTL : Here is a cluster-specific credential
|
||
|
||
end
|
||
|
||
group Authenticate to cluster with cluster-specific credential
|
||
|
||
KUBECTL -> API : <back:lightgreen>""GET /api/v1/pods""</back>
|
||
activate API
|
||
|
||
API -> API : Glean user and group information from\ncluster-specific credential
|
||
|
||
API -> KUBECTL : ""200 OK"" with pods
|
||
deactivate API
|
||
|
||
deactivate KUBECTL
|
||
|
||
end
|
||
|
||
@enduml
|
||
|
||
@startuml "pinniped"
|
||
|
||
sprite $master [64x63/16z] {
|
||
jLVRiiCW23G8Wa_v_xyjn5oCyP8qBNEcSzBfhkm2QkQv6N6F-Ok8ftY7VieGg_4EVPSXTkCTUiGGRyKxT8iXFeftw88XVXb_nqlmo5_Z5Jrf-21zV1VTPMZZ
|
||
XM3Aei7GmaiuePiCTNoM-O2X1c-WwmnNl1HeXCbDkngK4JwSuHG5CGXkppp2unaVL0zdh660BzCdgmGUw-C5V_w2puK3zivMHRTPU36W9z-pB7oqqy80JwLx
|
||
QVsE0UTdloQAYmyGEEa_y5JWY-hhhy6RJR9cJAmSYBijlhiZy59YrZuJM3BnQfXGLXIG7ZuaXO526a2Ch0b8NbNkuRNEBbKRHHYSDoxUnLGCkDeNU5r7lRTi
|
||
xG_SrEYWmZu7MwrO0je3UhHFeXi6y6GPssgwifce_U2SMtBUDN3VFYJRVNHb2gaUgnXgTD2r-xnQ9pOAjBSZPdFPCJ2rkIfatVT9_y5zt_2j2QgCJ-3azx4-
|
||
AUCsaN7G0FQZJMWgd3FGsaEXVwHbdGRc_w98pMHEscXq9cORYFUWSsIzh3e0XkAlEuYpOiinrY0tJkLy2r5001r_R7edBGzNX9M2rZhMl9kx7gwoeJavrUEJ
|
||
eNfwjGxGleU7b0SN21sxCzhLnBVlBu9G1FMkSBL6BEBtDy3VtJ-_8PX_Z7zv_tv8y8VtXmS4yv_mBz-VRXByzltl0m00
|
||
}
|
||
|
||
sprite $etcd [64x63/16z] {
|
||
jPT95eCW44I5dd3b_MyRY8g2qA1eBVAYoI_fIN5PgfgZbWUQ4utHTntceiReNeTPrHZTSfYxD4RN7EPR6gCpX_cXlkS5WTrZdi5urHrKtAsqwb3dJtIG9NU7
|
||
p-YgGvalq1M78bwcomvNtg5H1Ax5Yr75BPvqdbfykdmRT3gUuC9duST_MoGH5oICnzbB0YhXhwaE-5hItK5qdhVBS60Gm2yV_4By4LGIK0oVV1tz5QT_pFuJ
|
||
P5yPPdpM431jPQ8LZdbpMsQiq-u8U_euwoFW-9Del9pQH0ZXNpyWSMThHHnvYVaFNvn47ZKU8uyMUIs_hp-1tUE_Z40IFXpyjBTVuAQ3rn8Oku-pFZO7hoL0
|
||
J0TFxVIfF7R4Bsly9Tvg3I2no7pklycWwwh_7e5Vusbe3VXfv6Rqvmx0q75CX8Z4ePUs0GRNuFSK9CySFygcOtgI59Wm-1n4CH8rTvSYDk- -_wLTJrLlmQNA
|
||
ByeKDHuUnHjmqaPf2qdb0Qhai0Sl6IJTjtOWtTg_aCr4sXQkr4UPtjy1lhV_V6AmlCmFxhzl6dpm_d33OFc87tn_wZHuz_tl1m00
|
||
}
|
||
|
||
sprite $node [64x63/16z] {
|
||
jPVT6eCW28OL4F2e-x_RKQkqKlhRE77Ri_TBFa5j6BgHrnWUHDx4E_gkGcx6E_ggGdRZ7Nsca2_5Exgda6_5Etgda1_6ttbb8ddCAsEqG5QVT-aOGb-Xpsk2
|
||
YGO4PmuzNdccaxXPjFc5ZZ49CylyjQ7GmfUyn-2S3T95xgXmvBNG1pv6qZEUApocYPV2HpdZgUOZ2Kk2xOnSVZDzM_m8i1KyyDiVobmnoVHe6CTL5Gy6TD97
|
||
5bLRElYEYm2SyAbOfyogY3gEnHRsUGp5Uh5d8TeebQrfn-zM7ogZHkx0exiZo6eq91LHI-SxhhgW7bzN3n9D513LYoeUNwede608yHZ9up5K_sES9e3aLL3R
|
||
FX0hcddPk5Rr3LZj0r48O_iBekG4n73502xPsyTWtMCR6I9ntSFSvrF9VcmapYmqRQ2IBXbOkeUjvcLitjcquY7gbVK7iC9FLlzXzeDfSIPVAm1x9XLU5sds
|
||
ZxJj_W7plCtERotwrREru5k4jeos2_4y3pVvnWRAMUm0GfvN1lJ2gPpgPX4Qjo_hGUXufww7007KQWUmvzrmvc5aTZgdUNmADFgswLtd_EK6tag-Uu58SRTr
|
||
X5Ro_VkB4ko2lIjSgn1tyViRuE_kdqy4XX_pB-_VDmN-yFvmGs3u4__o_UcYm6_V_pu0
|
||
}
|
||
|
||
sprite $group [64x63/16z] {
|
||
tPVTaeCW38KnX91SyVvlMvNQAifFG7Tszrn5nk-KQM888MGb7uKEoK5ZjDP1BZL6jpf8KMDqpK6QD4Rd74IbCJfna4xzHjvJKVw2toyvc8e2TpRO_pgOCc_0
|
||
btYQgg8Ix-gyItdfv-KVyvOe5WCu8fldvPgtl9R3Z2y9PtlDIvRtstDytojvu0sBHWnTF6trbkKbi_-8uJHXKjYkz4L_UI0MNX_T711e-Ja3zWs1XLp-2xnP
|
||
z0dLF5Z4RGTpfDi_8At_FpDXHEO0cddaVKkoxnfWREGF-99w4tCO3Uey9OjexAwxrNcVBcwy_naUapF36eW1gkglfV_yVPu7-MC3KPv_fmQiF7_F1o3Lpd-g
|
||
311SdZ_uYVad3E9z1lVDdpq6uMP-SFvM6ZnmVr0OX8VumVjJey6zzxyN
|
||
}
|
||
|
||
sprite $sa [64x63/16z] {
|
||
jPVDeeGW28LL97Jb-x_jjRfZLg2OTHQpQFoE2lvWIg9YKNgWUD8SFUeGMStHMeVOr1pTSuWgpT6IGnpI77rnY0_rEHyMW2KyvGE2pG8CRPx_az3PVpcabW5B
|
||
-q9l3fu6-3njUnCN29PdQTw1mz5PKGuPWqllpbGz8X5Mep4kzFcZkTzQ1ryDO8J_DMO-gVWoMMpnKUINtxT5vEENl6ByJLuHltXRl7N-OCyVoFbZDgqxhJUY
|
||
qteSv4tvUSPRbsM7-0YcMlqXgze11lg7eh_lrcD7-pwFzTuf3lwo96GHtz5kG7r-JpUnjX2YRWBtE6zvGSsjGaxY7Qck9I_nNdUjKJu2cVaRPVTR1AwHMgEA
|
||
IdnhVC-_AlX726k3Z4kZ3s88e004ykHJ8udxnHsmaJhv-ivzhbV_MWJKO-bVWALwM8-ElFtpVfOgY7RzGJde9jEUdjO_-UW0f7u9rrWAuRCAyBtwyub1UfcV
|
||
hBy73JvuFmmOf8_uoVUJqk3TzzyV
|
||
}
|
||
|
||
sprite $user [64x63/16z] {
|
||
vPVH3iCW24LRK8Gd__zljonRqrfKb7PPilCeEVUXMDISgyX6da0E-EpH157nsTO4QUApUmbYmcVN4cG8drqao2I_w3CrOSNVBn6iJO3E0Rk514lRNo2rV5gx
|
||
KCkFVJ-MlhHyW9Ol7JyGCuLfFpOM3Jw-cyquvvFQbTANghzrEbLzkTCdTTNk6xwV5F_kiLNX5S2Xth-IOlzWJ2dYEkttzl-N_6NA1uoKdb146FTnF-gOSCn7
|
||
AYjRWiL7FfS-kyZW0sir1giVz6Bu6vzLpFvpwcke_MFd_tCS88Fdtsa03vw_Sidvxxr_kEy_sQdF1Lnt_vm9o1VxplltOC0DxuU1W7oJxtm_6GEkVVyz0000
|
||
}
|
||
|
||
sprite $pv [64x63/16z] {
|
||
xPVHZiCW30HZR8pznF__xL5GUXTQ2CI9gaOtBv68PbN5Q0inDj4dyG2wmMRF9kXRRFPeWdQnsNi9EeJDRYNe53QxIj23tCHNjGLykQzg2xYZBn82-nNc8DBo
|
||
Nrtsw1p0yWi0EAIKyYQWMWZa_feR0Bti-Buf5r3wFlRr1KBbl_xydeqitNb8-aXCsu-tkWxJ88ZxlWD7QLnfTeHf2Xb48fyN4S3l-L26bGH-E24_FH6MLppY
|
||
mm8rwygOt-RVx_kBoLTsq4qWsMaKuRnHwf3I0HH6IYaL2EK6UUBoXWmoqMoF1YjxDpr5H2_26XoDkht_pV-_7p__HAD-BE2yy-UHW7YoRpn_JmPSS7-O28WN
|
||
-SRxqs30kVU_7m00
|
||
}
|
||
|
||
sprite $job [64x63/16z] {
|
||
tPVB4eCW34L1UIIh_F_V5WcrKofjJ71Hpoh3S6ujoJX2D0HtI06-ORFF9k0XDbkQW5-nsRyIK8JD7YNWAMnsbo3P3fc1WmY9l_hAahI-uu0BVDJwU0jVDYvX
|
||
OTB74CbyQA3I7m_nN1zIhAJof3cskgodmEJUxnApRuDUDaOktJew_otWptsq-JZVhnkTL_eGkSznwt_hUUr_cuMCzmPM9fJ_dreTotfiTHQU_rBywBWE-_ax
|
||
UVzXxvyFclcvZ- -c_BuNpdzEbLpVXQ_wkGpzVkEyaL6tl__9gEi3Q99FHbqNCE_xKnD0attZz_V9W0lk3oS2w2BVU7yI1ioz_pq0
|
||
}
|
||
|
||
sprite $pod [64x63/16z] {
|
||
xPVD3eGW38IbG6bFlF_RRdMpYWQmM3tiPkUYndnJEb5-ScwAL-KBufrizAW3LsMZjGxSbOq-Ss2LR7JBWOTaemyEV54_mZFR3BwSxxnF60Ac4uF6AqhHWnE1
|
||
Zua6US8WxEGMoGK2afh_5Dvh7eQENsfN30BM-4hZ9CFtUzXB0rI9eSB79J3QkjYUeuh_13OF0zQREKSbl_OhPQNmbaU5voQ_j4rK1X4r7sN9kvJSd__p8pos
|
||
UTJmLFx-9G-1TDDg2ZK-9Ft4ZFx8UnoQsGcXv05fT6sW239Z23yvY6sQUa6-wtSRp_qWYVgncPQ_ymNmsGt4NVkVRCIl6Tot_xnYa6_cZVllGOC7pWy31laX
|
||
tdX-KXhSU_vx0G00
|
||
}
|
||
|
||
sprite $crb [64x63/16z] {
|
||
xPVRaeGW34I9NFk9___RZO1M3U8OZ5DRUpbFY7P3Ob38-HJiv1lW1PrwrW53T6gf0zwYKryvG8HEVUQ0ANJgpW4t-ILwG6Vmm_M0pk2FwuVzqRj2049j-NXY
|
||
C59R8bDmWAij8Xk5-h0GFrxmW6zDGqiKwTDYo8POI7nPMy6IMT9HVxHqHExu8DBQBqWf3pyOvzsDBddRCDxk-6rYyLeVIjOOQtPiDIGA4tf7IsERa4ZFOTeI
|
||
PajyUmryRKNnyxpR13eyjJWk4sZ8nLGeunQYu-ueMXH-BRyQ-Lf_BGTqCYsC2xYlVoxV85wMYT_zw_XS0sbgPVVnuvzndfJwh9Jhl__g_- -txt-oKdxFuBdz
|
||
vns3_B1UkV-UDFZ0-M7287z8hpm_2GsUFVzz0G00
|
||
}
|
||
|
||
sprite $sts [64x63/16z] {
|
||
tPVBeeGW28PJ573L-x_j0QmcxMPPc_ElcAOF425h70-L5eqFb0hrqNSzf5trqQqUqgdww2iFgKbzz967T4jzTEKXFTG_uLFgS_0DpnX591R5B1ORfslNF3hH
|
||
4CIAWpEXs21sAFc3tAA368F53pa-MNnOyUcKZmTvjV6Cz9Hd4gb1a-PhMa7oLpnxAPRdoH21s3GRYRdWj-7bLW2zbGEOD201U7DQTy0U3xnR4T_CfnD-dN_D
|
||
iueYSgrSUgphboey-0FzLbJitoP3QSzXi7vLobfOVmxMl0syaI4YvRG9CS3I_4tn0NcfH5utXSopZU15_C0wkP2JbtK7RMFClDN_WgU4VYYaBc7DmpbFO4LR
|
||
S1yNtaNzEvxpzkYPErShgO-DYTVSEPto78dBOPIWCmzu-ZmqNiP4uoBAvcaYMhlL-g_vwN7tqqtUxV5HUW4nFUIrWyBrUM0yLFaF5j_vDXwbNNC6UOoac6ZN
|
||
cLlumMkXI8wPeChRps4rFpMocJ_0eW5a_xqxviVD_5lESkIWddK1l2ldTtE2hd-2Ev2dumEuFZbsXFJ52yHRxpzZ9_xCmNlldqySZ2_pdU_VDnryyFrmmy7u
|
||
4T_v_TJeuDtllpy0
|
||
}
|
||
|
||
sprite $ing [64x63/16z] {
|
||
jLTB5iCW2An_xCRxtxPDeb4K6epfxF9UPiGH45DY4K-a6uW8Q-nPXKXYZIrLY3-nnhvIY2AiiJc5E8KrTgSW-XzSu2HaVAFz6l-bt29VMI3uGiCsFYcGFuBF
|
||
0BnkEE2rsc02npSgm-6m5KRh8kQ_oY-jprOfNW1jl_9rZT4f0WvQWVZk-SgK7uAc-3L0UlslpNdpDDt25V_mSF1ky1VnXn0znKPPt6RFVigkzR2ih_UqqBst
|
||
Xq2NPQxryB0lK_Rz6OY_-VN0RTc1v_AVv0FAGtVQHTJVnX_hf9wvtrWbOgB-6NZaOOaOR92sDZVauIuWRerWkpoSHVNGtnCuFMpIHHm_80-d_GlQKHvAps_B
|
||
4z-d4Pi_8smvU8qzfFENEVjQF1Vrq-wxhL-BFEJhjxqVK9S0ilVs_MEuNoRx5yVFFbtsJuOlxjyqNtv_H4W4Ntn_eGPyu_wCZzpVwUxyyD3y8XCOwszk0Xpg
|
||
VtB-xEV7wG4M7Xs07vw_9mN-y7wO44X_uY- -duG2pxx_FW00
|
||
}
|
||
|
||
sprite $role [64x63/16z] {
|
||
pLVRZeGW39LIUddo__zsgw901LV7sMIRJAQWv_H2AJZFGz53vWz46tc7VigWNNc7likWb_8E_Hk3tf9tw163Ff9tQCUW7yg_mpE948dzi_tMGKzn-08740eX
|
||
2GIG50AP4WK344F0HM5QPXp1CPH8AincdxbLri6XZF0gFi8rcbRumZvoYquG0gIMWO9BG4KTg3Q4Xbu46be2RWEe4435SGoLO0b3M4TusTyIYi59BCzaXDUS
|
||
MygEM-pCwHZGNV_Jb6tQujcoPL-cTCgVElCvVobRP4q0A9mzI3cjqYIWNg_8DJwQhMc1OOrlYwJTFFdHXfzGSPgslzf-7Dl7shuLCqMJf7arEl5hOxw97oep
|
||
0XKUUBIVZ_nVuMK8FqgZu6MhY0P_sb6d-YduPSi_zvzslC1awT_nrCcVzlB71pvkg0tFdVffuy_hjxw-nP-edUWrcNF_mLx-KJlrqxM_1d32izwDVuqRh5dk
|
||
ikoWsEi__Vnd1oefvY_hf_HczFq7Jqtg4Y-kWPMatVBV4rGvlvC_Jr0lsOtwsK-F8tRf5Kbdv9XvpQ8xb5pzp4Fxwyif-IdNV_pv9SksMRhshlYPK_-lptyY
|
||
0988qOvEE_MZTMy4O8Qis6Da7LqWh3GOaILXilDlKzGK4KHhfZRBY_Br-y_y4luPmVVkdvyGp5_6lxn_FoJuW- -71mJp7-5VVZ_T9FZkzzyF
|
||
}
|
||
|
||
sprite $cm [64x63/16z] {
|
||
xPVB3eGW34L17gKh_lzlfqpcuTI2O77XnBDgCFV6z9fQSgw27_81y0UTUjG1HNJgNWTiebFlEM0NEdND0OVGgPa37kHFz8WwWulh4NK6x2W60gY0897szCvO
|
||
QpmLmKh0sVhHzqVKDV3Y-jg353nH-XZz2jQ_EccX76sWofjlUeRbrzBRjxwHVmFvEuW9RxhwB-Vl1_8tvfN_2ct-It_-XVAs4DVS-RC-yuFWY5WQw0Gs-My6
|
||
Y2inF-Ut4U3v2_E_n5oT_mli_G0X0ZnJJbHm8gI92yIi_IShvSSCvksVHmpoPBro_nuqEE7-C62GJz8hxq-T1dFlVmy0
|
||
}
|
||
|
||
sprite $netpol [64x63/16z] {
|
||
pPVRiiCW24KZ8EXJ_lzlZyReCOdNsCvqlzdEse8YcdsloYRjBsGlMgDd7MnHQ_IeWsrgZUuvs26jqJK7EwKr-kPWN-h7UNEepvTX9WGlqj8nAFmX1EhKfe1a
|
||
ZZSwqQUqcU0DgOTGglm3HrKGL0tQECGXcZ6URjEcR6Y8bqVKAI0UuA_HXwJZRs1AV6Fwk6RHe1X08tijugOq8Xpg0RkykHUEMpG11Oq46gldYjVn_3zy9d0B
|
||
d_Fi8SoV_QPx9rhd9Uzt_ihJ37-C4W_4mZBFcy2Z37KallCA4SxYR_UYn_gV_BRvWPkTNJkYNXJP_dEM3VeiWB1K0QNw0yti8sO-B3PqnhwOkRi3vmAGoLkH
|
||
u-NOUuFO2I0UbM1mZX9liPj0t05l45k72tsOJoUGJEeyufsGdA1VmcaBA7M-ox7cRWqKpZ1kusVeOQ0d-Vi5qkJBwybP6zsQVENoTjVlqJzKAFegttWz-Bx9
|
||
HmUjywFFZme__7vXADsZ4-yVbqoGAJtXrfvFBmq-z_vyOx1_c5zyVqyQVE7xOS9W_nA_-FqqQF3Pxxy_
|
||
}
|
||
|
||
sprite $ns [64x63/16z] {
|
||
xPVX2iCW38GXJJJto_T_szbjtTPgrJGT6sC7BQ7qEuq6eYdj2W-b0y9AFjhgWAfyzAW3clBHFGSCoKVlES0a7xrnm47z20_u3BwC3ynHcGN2h94vw3EG2h_1
|
||
8nF5E14hqpG7CWSQA0T4MXgilsW6yqzwUotFFP1fW9VzV5NHvJdiyr6wuqCRwosL_64Ol-1HyiID-GVqUSlwbJnYOm6A_KDPl4sUj5VIpVcNuzjuTF7s_WKP
|
||
C80lVrlzLF8trOzj_RIVlh5-yA-VRwkVQUuWcZj8UEqWCWSIkjFDd5ux2BqsZdjGcLggEEhIDBJe89KE28TEwRyVF_ya9txCuBppvn63T3BlF7yR3TvmVp0O
|
||
f3VnpllJeC6vzxyB
|
||
}
|
||
|
||
sprite $secret [64x63/16z] {
|
||
tPVPZiCW34K1WvSd_lzlnqwLJXf8ojPACrUAX9gUQs8x17A-b3oL1oGlcgDx7QIgERhLGMurHxzpa2RDqLSEqgKv-kGWW_edlCYSmH_dHUOCJZzXKf4EADN4
|
||
xtXmthkeW-HLJkMFeYu-183Gnn_dZqI8XBVplyaE9uiT0EyIU7qFm_Ruce380ppwBVZs_C3TF2a7oC9aYKnN_6Nug3XPM4Gr28JHbBYnipWuZz72ne3gbQBr
|
||
WJlLxuR7X8oFEfAMKYyewtzTkQYrrikc_51KE-s8jlcJBxJrPAigl1_ZtIJ_-_gCy065OUV96g0lVx3tiV59NuV6-ZrvFl0s27syJXht14H65N-vVilulluB
|
||
hV6BV2G0I4naI-UB2FLEKVzY0G5RyEozjx-_ABYo_fNrVvzhgkJmNF_A1v1iqUTj1Q52IBnm0x5g_vCdyJ63TVlF4OEyc9_SVtSQVE3yq66GFyHFdfyQ3TQU
|
||
_tu0
|
||
}
|
||
|
||
sprite $quota [64x63/16z] {
|
||
hLV9jeCW39KXWol__syVnAS7I0IHPj7MXdl9H8B7yIZxBSS7sIjPGyyoxAQieTyox5rPGuyOxaK4FCzmwHc3Sp1hmwtaX7REyvGNXOh3bWb2VCtGQC29nDUX
|
||
RFx64qyVyIJ-kx1_tP_0kytXQxnMCFZ0EpDX4cBk4rYQ18t1du7m8HBFuQM4jaqIALy1UGAVGYYW6Fu_qbEW1xpXlSGVaj7f5oPVG582De62n-ppQQ_WnPyS
|
||
2rsH1bxWrqfqLnwhltlul2xm7SSxRdAiO8W_YrVMOTK4eYXGuHlhVOhqIO3LTZccAIljiMxnCJi9WYIt1Ixna5s8NJpvpQSyGxOyzm4gaWgt-XaFvGQWUq1i
|
||
GtWexwaofd6NT0GQTQXtQqznvPCIgCt3civOqRfNizVkN9ITlXWQxq2LRA9yRcnvFy3Yf5DPorBDK1M5mZSrYiPZPx8eF1YFFNpAJeJYr6J2OdcgmUWw_kli
|
||
4ZI3cBhnDmf6poReQWTJBtO72_kjFxT72-9WRi70GEoLnrbWNVwSmTowzBHXGDc-fMTbW4Sho7aI9AKwlKRxzix6MvSItO1bLEb98_D3MMzTFrAChAjJ9cYQ
|
||
fts186_Vl3W-mDK4VCWWyzCLRlyaKzVcmHLq4JvFSFmOVop2vmW-lhiCta0MuSluOn7-Zk2txtz_
|
||
}
|
||
|
||
sprite $rb [64x63/16z] {
|
||
pLVRaeCW33K1Sddo__zsmwLMg2WMExDdPcS3zkHkm7NjGZUiNq0hpB7lQj13pB57DUWfvjXN6dG8S-oU1hs5ENQZGR_4l-CpYH29_MVxIuiZeU6_wOX2044G
|
||
K080cU340n8Z-2WmnPr6mROKHohCPf-v5j9Y4tfybO6W-SI-vsi-GPE0dMgW0Jvo7S2EZmDyOUtnXGOIKFsewHwMt_k_pvysvhVySV09jgOiXHUBlLG9s8Vc
|
||
k9GOO4dmgZvB0ELXtIJrooCbGh2V9mJLKCG5Sk3x_cdjf_uHNC0H9qYiLm8vM53Q-BKod-Ft0FwW3XBts_mthHtpR-Rni8pbWV1vQt0sOu6x3I5jc0DytcGn
|
||
NafPCxXbWyiA8SPtvV_6jt5Hy78eyw7FXnn_hb19V2b3x8uKF_kk_xb-RYaED0YGupXvHoHxiO2tIHMHDXFOspP_zC-1_MW8Ikon_qeEeBXr5NzfuBR_hNtf
|
||
y_qzo7zon6fVsxSUa8FvquwcTsXj_2D3IcxFdux_m_FdE7_dvyTL_rmEuFxgxldL393RvrSpW6FyiLAnND8JFkR__lmdGYHnwCJQXjYXdVg8R1U3BDXZpzgx
|
||
G5XhiBTN9_WWL8Gu_qNYIK2so-b8UFh-iqxIlrFmtFtp6mNhm_p9-_TD1J_uVhYXOFqHV_BxQL31izz_Vm00
|
||
}
|
||
|
||
sprite $ep [64x63/16z] {
|
||
tPVRZeKW34Mvb5xcXV__sm6yCzO3eid9x0SJecktG5CXHbMoAjwG73H6zph8gSReLWUvr1ZzoK6QD4Ph3jAbCRfoa9lw9xp8cC4RFFfAsCU3gGGgVvfPi9M2
|
||
EW7v6UJb2tamH_ny_KJT_U0g1Qq2bDBWIjB92- -zBYfGUO4bO_JfIGvK0nMtnYKev6VQ2zr0nqbcddsN0L9AViBJDkOiPWDiyc3dGy9HDduo08ijFELoAJY3
|
||
TzPwc3FGQl3FrDSlIn4RNp98JjQty90XNsO_HQNLod7Bz7Fbp-qcvr8Ado75DoqBGCv1e3aGUxF4P0JViW1CV5ZCi7z5tHqMUmgFLl4KJXcgKr_R1ImREGcN
|
||
VIboT54vMxUf-QqZVUIlutyJpt6CtpTWigPb_SoEF_m0EQpA06t33E0sv8SE44-TV-8WVi_WkVFd7OFuC3zu_kuqUE7-q64GN-87xq-D1i_U_tu1
|
||
}
|
||
|
||
sprite $pvc [64x63/16z] {
|
||
tPVRSi8m34Inxdho__zj9QT3XvGu5q4xxJum0N8sThHMujutvNVr2_87rUYp3lvKDVgeWqzLe_SS_91gz9Q3drADNZduHVqJthrcyCTvzvh1stXR50SdULCH
|
||
LuGXTa4aOj53l2aZj8QkhRM5vxP8tEmxly8nCQGuL_Lp_74aJ0Zg26HhWvKZ0OazdN0OKNZhX5SsizdzLcmquRcXpGl63HxEwAj_6x1kMfXWku7Dt5DnoqqV
|
||
vZ5cDUe2RSwJ4iGK9KgNLLSN8iI8WaPb02MJCUCv4n0Km1WAEzsMCSLlOdjnjdl8B8ikyNLyVit6Y2lh9L8vcx-Ib7XUfUFdUIxnKhn-h7cQ5TdshY0GNKAU
|
||
Bk1eIeIHedc8SWL3XZSQLYPHCqQH8a9OMj2-R2oKTbjQM8h6mWHYFPYoRA2SBNGecvdeHcCnhwaNyVhpf_py_VNtdrx4hncyxltpYa5_CLzy_pvfy8Rzmmc3
|
||
_YQ-k7ywQF3Q_Ty7
|
||
}
|
||
|
||
sprite $c_role [64x63/16z] {
|
||
tPVPheKW34KPEZxn_tzx7JX63N20QavozujnM9ksQe6Kgj93QK9waOqUTT2YR7IlWpPbexyvQ9TiTCr1XsIZRmuwgN_2gzeCNkI5IEPvmU1zG6dpjPiC2xqg
|
||
0BSCAe63FmagQLHueUXlYaM7Cayvy2LtPZnEg9T7byTa5L79iJWiyeMeC8_8YY60S8u0YmdK-QZatOh15Ez0mRdzCCD7KegBKFFRAF9QuyFfVKceyVekBomc
|
||
7dpWSPu-l0ItbF_3Ko_F1nztQkUvbzyUt_D7kbxe4vJg3_rzZKiyz_Dhte7bqFe7nP76kWLmqjZmkG8NmLXdbri3Yw8MWs7yQZ21hz_EaNi3RpdpLaLeLhuz
|
||
Up8YVvj1rQ17vk-Vht-I4PypU6xzEMEG7kQDw-z1WnVs3mC6wINUk7_gD7Xs__S7
|
||
}
|
||
|
||
sprite $cronjob [64x63/16z] {
|
||
tPVRheGW34MXfRSd__zl3rx6KLGiCfD9pdxH6DOkq88m39UoLSC3sKvzTAk3dQgFzZfOLNtqdOEvr4TVELYJ-kZ2mTDSPPQUM7XuZ9E0d_9XDlW2Rqzv-nUy
|
||
hrmIpE934VbuNMGF-UiY_YolJ9CuzrHeUS_VEKqYAVd2KU9IwBaXpQy1r_eF-_aV3PmySrvydE017zDh0Pybu9vFQae8uqSinc-7sJ_of4eGb_ARt6ewy6IQ
|
||
ubOWTJxC4ptn8OTJZ7kLSxZFFos97lEVdrf4l-z18LgfTpzGtRZ22oB5THBPpVCQbEpDutKyd3McYP4DJtdGk_aVMr3aT_Tt_FK0P1E1eaWyv-aNl60hlnq_
|
||
v8N0q3J-a3PypfgiQ-6o0WMsyR6etbpLMC_VyfzdcVP2CIbAds0__DjAnXXh2-Xs-nOuybJPW2ihuBW5kNw0LCSTFO0Y1wtdbt43ZI7ayeKa9qSunpR2b30b
|
||
bkSdmEeHj1DlDnW-p7UUlniDld1_Q30OliHttf-S1f-z__q1
|
||
}
|
||
|
||
sprite $ds [64x63/16z] {
|
||
rPVPaeGW34KD44BcXV__sudOqme6PMchUkwB5CMvBD4OOgoAtue3uanpTAy3gvgZMntuKdFqdGCtQOwkEN2NvkZ2WGVrtNn8sbkf_Uuxy1NS6cF0oc0oIU2a
|
||
rql35WOwJm0orksymOq7qyWRPVqSnAs93nRr_fBlFFGZdmpufnpYhOYaWNQJ0C79SpqDzZwFeBBo1G3MKGwI3AtJmgkpV0CK7f0eHPishMrvs4RU0AbRTngl
|
||
ZTlVa4oODe8k70toe6EImvEsu9VdN_9kWOfGZT-9h-7fvTTuxk336eYSvnu-dV-_vjTyGCJ3FDXm-N7UyPZblv7z-sF-w-HHae8763e_urwVWFT-PFsNqpRm
|
||
zchQjlrxH9hWWra0PtZ9m7TxmAKcr_Hp85TJPUSXJo1_2VkiK2q1ilM3qLKvkV87s93_b0Bai7vVKtYm_ecJ-9Z1v-hF4OFuONwo_kuqUE3-q64G7-ALKh3p
|
||
1ZQ93zp_VW40
|
||
}
|
||
|
||
sprite $sc [64x63/16z] {
|
||
tLVPSeCm3Anrgo_y_zzMCg493jW4afbEzw59YLVMiPRCDEt2Vp6TWAzmZVsg1T_4DVPH2zx5DVR8WX_2DVQU1Ny9rzYD1J-9lystnFpNkloMfiBYZ11Wgn-e
|
||
HiIYjcbWzKWHIYbeZ4X4Oam9KvWVgrY7RoIQ-wXjHACgubJ8zlbQGDJs4sRAfMZ3VtG-VCnWqmMzvoxt3iULQX3Q1E3V3toM25PoMUO0bXocNLL45dxcF-ul
|
||
iviY73MGchkeHI3ZoiW4nlmkp3jy6FAjBU0wlpRYoof-RzHZn8Fw0VJuN0l87Wbyh61DAB5H_4o-ppSen8HK5vPoKp-ev7yGXMKgi4xWMlnHzIhVs2ygg1xg
|
||
ZzgPIVKd3XQkzTD0wxOb3bpboGtnbGYhYieHVYbVNwN1_SaHVW__c6yufcDFuaBOpN-Ka7k7Avf5gYIBdLZaa2qOQmFcHd- -eRz5zhLjvJ6uduAX_d9ZrTmj
|
||
-evM1QfBbLyyZhE5VRva3r1AzwF_BQUep3D4mZKPyU_3osV_R-4iIzYEy0_slvQFEknVtIN31XYTPSMtfe40K1RGjmPW98-WqL_RW3cxn39zitA9B0ZMWW3A
|
||
K_zlvt-EMLccVvLVL1wg8DgBHEV-iKXERnFqa_UVwIBzd87ttJ_F69ZUpBzu_txHm0VU7rumC7s8V_7zwQ21zxx__G00
|
||
}
|
||
|
||
sprite $svc [64x63/16z] {
|
||
xPVH3eCW34KjqfO-yVz_Evs60O415fF5x3uO6dEkg1SjtbSbGVw2996E7dMGedHqhuDybOvkEKYNT7JDGOQaepC7kQY7y28wWpjuMZFH66-NJBRA5sU6a0ch
|
||
D_18tYufNdv-KdtxQ0u1d0Ei9Q0I3VSM6yF7I0RvqyKOrqYWaXSTBx_6iqq4aDRSulFWTCKevi7IHsW0et8xsUQfVl_qvx-cXPbNmEtepcfRVnIL2EjPbSCM
|
||
tlD-6GgbeVV4Gbanu3Gcz8aDfS7Y5Wyb7cxXdPBtEZx-03CiFSzlYVZa1-WmBFCTu53Y3b0uYMvI0p6h__5A_9h1lFxpYe6Vp2lxxq636_OF0mR-9bwvV-eq
|
||
cBl_Um40
|
||
}
|
||
|
||
sprite $deploy [64x63/16z] {
|
||
pPVRTeGW34K50WbF_F_VrbOkLHC8udJrlCmiP_OX148m9L6nAZrGF6cDddM8hDPehKFiQeqUEKILrcZ98KvfZRuun8VwzpmH8X8DUE5Nz62jCSOw2DGpu6cm
|
||
PZC_sZ-ifocUm5nammIFpjp5X23Xrd02ta2BxmOgdbhm3hm7r-oyXg-f0pm29bySB8vvP19UbmFkl33yUQXgS0z0I5xWam8ZtWkfphwM1hpRs3Zhl2vnNN4w
|
||
Xd7tJHM49MIpp_mhEuEAFqT97dRbTVd-YfDyJahMvcYEBujITZNDpfz-LvJ5plnB_aceYG4khJzgSM7_rPfcZp75_YyP3CEcmDPVoSiOP-k_s7fDLxgTFzLM
|
||
XL_Elz2Uwl3p-RlLIWn0STwWjzUFk5Y3DWKxuFdksVhVW1VRT-w_MvyVz_ykhxb__C7z9otYpmpUkty-CKWlyultxqc33xm_J1Ya3_6BxqzAWtVV_xu0
|
||
}
|
||
|
||
sprite $crd [64x63/16z] {
|
||
rPVTRiCm28M30Hkk_FvlkwbMjxOn-8TaqivT77t7H12CQpMbFweRqZV5w5K7xIf6ppgegnWzSj0fnMZBGPSKepyST5DZlZ1dsUSv0G3ABf_X8TDWW0iUpQ3u
|
||
0PXyQZZm7b_WJ_XEqgZfoMDxxAIonsSmHJBc9Hss0OzvPtiuACZZcTS8h_-UrnZVRHbCoJ30KefCTAQ2TX299nnASZw39Y9WXuSy4O37Sv2ds-CNzAfWc00X
|
||
PtSiBlfT8encxjq3wOhwlPHFH1ZW7vMUqoxFd_z2XnURJyztvF1E_w7JKgz_LRFmwRp44mSWmT7qmhU5qoJH7I0aOrF-xKPD9Alpq-G85yJt3AwRFtSCwiLy
|
||
SFvUDBZX_h1WK6_YW_UdIODhxtzV
|
||
}
|
||
|
||
sprite $hpa [64x63/16z] {
|
||
tPVHmeOG38Phasr7tV_T_eeq8KhVoV-UbJrlB8nrhKgYrXUIH6FqKmSfQepkTP1RZT4j1-dI65rpa4SQeoyEybB_X1SPCr0ls3J5jpnC3K63dnlAUNdFIuC7
|
||
Ows1bpmkjCSoBVYKXmCEhobseuDtlURyNxEto7ZfvQd0Y-9vOSyZkFvRtN_P-m_e-Iqmvnd1yy1RnW1q_loJRtL1o1dFPexy0Ht_xx2A_1ndiS9d82PG8_GP
|
||
KzdOUHzaqZHik6k3QuOOqgSOb1ful313694hirCP97WlVngaU3SV3RY-GWhZBmGIlE61pka5ptc5fmPzV887WyKkRJu4qMLv4Knw_bRvFMZAyCqWyBDQlIbl
|
||
m_g30kvQCV0pKead3DbXjCLgGXmpPEZAaudPPQeMf9XXy7l4mVC2nVspoWS7pxE5olxhsgIw_xjXxhp5wlv_RY3b5M81hBcf7_91_Hgjdzh0JQrxFAdV-Vc5
|
||
iVLzBF3QW1hYpqw0tvq_tnYi7_E3v- -71Z-uFpmmM7_43zwVEWs-lV_z0G00
|
||
}
|
||
|
||
sprite $psp [64x63/16z] {
|
||
vPT9beKW34M1a93KnFtljeYbNrHQyO_gJJmsDta4uOHbAKe-MXv8JfgZHoD8LdDqRmIfQevkHP0kpT6b23AaEVeIGHwgpZFpSvu3WWCaVi8pUMUjiL7EKsZn
|
||
zyGsLRGHk1OWUN0aFcHCCKIUlqY7mDp5itvuyO_SA61oZrQDCXys7Atb1F1KCY0_1n_7gduvdJzoQmqiX0AVvazAllq_-AcZfLvU1IGK0LehYEZr6WPuumM3
|
||
iDkDwp20xxmKUEibpXaTMTL9na25ZzcyNaNMl10dSuXNPgrQ01q3Ri_6UJ06zQsvyzB7wrsEbowU4CCClxyTvaEST4-RVFuVBl4ax6-BsVhQZaRdz6Wpefe1
|
||
WZGzc3lUA07JllB__lqx3urDdT5DyRALxJaVfytFyLh8ELvNx1Gl_uFdPOwlTIyTVBNzQQ-VHl_aS-iNU_idDL3VFveD7CUDyopYrph0z_hF9m6Mb_d9_dim
|
||
m1VE3mC1bY_na-UdpW3ldlz-0G00
|
||
}
|
||
|
||
sprite $vol [64x63/16z] {
|
||
xPVHZiCW30HZR8pznF__xL5GUXTQ2CI9gaOtBv68PbN5Q0inDj4dyG2wmMRF9kXRRFPeWdQnsNi9EeJDRYNe53QxIj23tCHNjGLykQzg2xYZBn82-nNc8DBo
|
||
Nrtsw1p0yWi0EAIKyYQWMWZa_feR0Bti-Buf5r3wFlRr1KBbl_xydeqitNb8-aXCsu-tkWxJ88ZxlWD7QLnfTeHf2Xb48fyN4S3l-L26bGH-E24_FH6MLppY
|
||
mm8rwygOt-RVx_kBoLTsq4qWsMaKuRnHwf3I0HH6IYaL2EK6UUBoXWmoqMoF1YjxDpr5H2_26XoDkht_pV-_7p__HAD-BE2yy-UHW7YoRpn_JmPSS7-O28WN
|
||
-SRxqs30kVU_7m00
|
||
}
|
||
|
||
sprite $rs [64x63/16z] {
|
||
tPVRieCW34KXX90yyVz_Movjnr9G93hdJDUBgBCs2AWGun1v4nUG3tJssGJfehDd4sGNdNsK85Fex562d49dDmcoo8_u8hg0_-apkWIoI70LdwxIyxZn1zd1
|
||
PbpseHGjPZyTWJy2XZw4H6v9g70f4qpwWFtdclI5UTKFFf5RJhwIXLU1w-dRxzJWJEebIYKqjUT2hlPriHd1dc_nk_vKXaaVSeKTSCuN1xpZ4stkDZfJndjg
|
||
UGu-D_tVukq8tns_xnOECAZpo-GlCqhXUmWgl_J_d_ekJKNowxxTgNl6no0gdqJbGrZsNNfjc6NPF-ow0n_GgtmSVMMLVjJvpGSOZUc__WR7Fz3DEJdeusXk
|
||
0S4Zxbp_HAM-5d3T-dCb85xiAzVV9mDks3-S28Wt-ShzqsJ0jVk_1m00
|
||
}
|
||
|
||
sprite $limits [64x63/16z] {
|
||
vPT14eCW34KB2YGhxd_RgbEB18A6uCBshJAZx-E0Go165lmIEy0CdIrDm2ew-se2Dj7PPmbu2PtD9Q08dKqIi9CVyH5r0SDy22lGh5l-R5RSLlkYdXa_3M-D
|
||
NVWujbgx6MX0yYVZ0VRdi47gvPN0-pP_MAFfJrRbB_ECSb-suiH7gUyTyBvt9HvE_a0ypd-5zfmSX-_nyM4-dN-fFpM-vmzyq8vFzf_7_JzFzmFTJ-3KXsDF
|
||
ADO_stzU5N_hFNxlGwROFxF-mv7we0ry0mmigG_3m0F4gFDFLEfz0UFEdpq1SR2lF7yB0swuFmW2uas-ylvqCM3i_UyD
|
||
}
|
||
|
||
|
||
participant "User" as USER << ($pod{scale=0.30},#326CE5) >> #LightGreen
|
||
participant "Kubectl" as KUBECTL << ($ing{scale=0.30},#326CE5) >> #LightSteelBlue
|
||
participant "Proprietary CLI" as CLI << ($svc{scale=0.30},#326CE5) >> #LightPink
|
||
participant "Pinniped" as PINNIPED << ($node{scale=0.30},#326CE5) >> #LightGray
|
||
participant "TokenReview Webhook" as WEBHOOK << ($pod{scale=0.30},#326CE5) >> #LightPink
|
||
participant "Kubernetes API" as API << ($node{scale=0.30},#326CE5) >> #LightSteelBlue
|
||
|
||
legend
|
||
# <back:lightsalmon>Message contains upstream IDP credentials</back>
|
||
# <back:lightgreen>Message contains cluster-specific credentials</back>
|
||
end legend
|
||
|
||
USER -> KUBECTL : ""kubectl get pods""
|
||
activate KUBECTL
|
||
|
||
group Acquire cluster-specific credential
|
||
|
||
KUBECTL -> CLI : Get cluster-specific credential
|
||
activate CLI
|
||
|
||
CLI -> CLI : Retrieve upstream IDP credential in\norganization-specific way
|
||
|
||
CLI -> PINNIPED : <back:lightsalmon>""POST /apis/pinniped.dev/...""</back>
|
||
activate PINNIPED
|
||
|
||
PINNIPED -> WEBHOOK : <back:lightsalmon>""POST /authenticate""</back>
|
||
activate WEBHOOK
|
||
|
||
WEBHOOK -> PINNIPED : ""200 OK"" with user and group information
|
||
deactivate WEBHOOK
|
||
|
||
PINNIPED -> PINNIPED : Issue short-lived cluster-specific credential\nwith user and group information
|
||
|
||
PINNIPED -> CLI : <back:lightgreen>""200 OK""</back>
|
||
deactivate PINNIPED
|
||
|
||
CLI -> KUBECTL : Here is a cluster-specific credential
|
||
|
||
end
|
||
|
||
group Authenticate to cluster with cluster-specific credential
|
||
|
||
KUBECTL -> API : <back:lightgreen>""GET /api/v1/pods""</back>
|
||
activate API
|
||
|
||
API -> API : Glean user and group information from\ncluster-specific credential
|
||
|
||
API -> KUBECTL : ""200 OK"" with pods
|
||
deactivate API
|
||
|
||
deactivate KUBECTL
|
||
|
||
end
|
||
|
||
@enduml
|
||
|
||
PlantUML version 1.2020.15(Sun Jun 28 07:39:45 EDT 2020)
|
||
(GPL source distribution)
|
||
Java Runtime: OpenJDK Runtime Environment
|
||
JVM: OpenJDK 64-Bit Server VM
|
||
Default Encoding: UTF-8
|
||
Language: en
|
||
Country: US
|
||
--></g></svg>
|