k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/docs/architecture.svg (about) 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 3 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 4 <!-- Generated by graphviz version 2.44.0 (0) 5 --> 6 <!-- Title: G Pages: 1 --> 7 <svg width="1418pt" height="1151pt" 8 viewBox="0.00 0.00 1417.64 1150.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 9 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1146.6)"> 10 <title>G</title> 11 <polygon fill="white" stroke="transparent" points="-4,4 -4,-1146.6 1413.64,-1146.6 1413.64,4 -4,4"/> 12 <text text-anchor="middle" x="704.82" y="-1127.4" font-family="Times-Roman" font-size="14.00">Kubernetes Test Infrastructure (Last updated 2020-03-04)</text> 13 <g id="clust1" class="cluster"> 14 <title>cluster_Prow</title> 15 <polygon fill="none" stroke="blue" points="266.36,-740.22 266.36,-1111.6 980.36,-1111.6 980.36,-740.22 266.36,-740.22"/> 16 <text text-anchor="middle" x="623.36" y="-1096.4" font-family="Times-Roman" font-size="14.00">Prow</text> 17 </g> 18 <g id="clust2" class="cluster"> 19 <title>cluster_legend</title> 20 <polygon fill="none" stroke="black" points="667.36,-245.52 667.36,-359.48 1317.36,-359.48 1317.36,-245.52 667.36,-245.52"/> 21 <text text-anchor="middle" x="992.36" y="-344.28" font-family="Times-Roman" font-size="14.00">Legend</text> 22 </g> 23 <!-- legend_ext --> 24 <g id="node1" class="node"> 25 <title>legend_ext</title> 26 <polygon fill="gray" stroke="black" points="1309.36,-328 1235.36,-328 1235.36,-254 1309.36,-254 1309.36,-328"/> 27 <text text-anchor="middle" x="1272.36" y="-294.8" font-family="Times-Roman" font-size="14.00">External</text> 28 <text text-anchor="middle" x="1272.36" y="-279.8" font-family="Times-Roman" font-size="14.00">Service</text> 29 </g> 30 <!-- GCS --> 31 <g id="node2" class="node"> 32 <title>GCS</title> 33 <polygon fill="gray" stroke="black" points="703.36,-667.22 657.36,-667.22 657.36,-621.22 703.36,-621.22 703.36,-667.22"/> 34 <text text-anchor="middle" x="680.36" y="-640.52" font-family="Times-Roman" font-size="14.00">GCS</text> 35 </g> 36 <!-- PubSub --> 37 <g id="node3" class="node"> 38 <title>PubSub</title> 39 <polygon fill="gray" stroke="black" points="1204.36,-579.72 1134.36,-579.72 1134.36,-509.72 1204.36,-509.72 1204.36,-579.72"/> 40 <text text-anchor="middle" x="1169.36" y="-541.02" font-family="Times-Roman" font-size="14.00">PubSub</text> 41 </g> 42 <!-- GCS->PubSub --> 43 <g id="edge15" class="edge"> 44 <title>GCS->PubSub</title> 45 <path fill="none" stroke="black" d="M703.62,-641.27C763.96,-635.87 930.13,-618.77 1064.36,-584.22 1084.44,-579.05 1106.04,-571.49 1124.4,-564.44"/> 46 <polygon fill="black" stroke="black" points="1125.92,-567.6 1133.96,-560.7 1123.37,-561.08 1125.92,-567.6"/> 47 </g> 48 <!-- Spyglass --> 49 <g id="node7" class="node"> 50 <title>Spyglass</title> 51 <polygon fill="lightblue" stroke="black" points="619.79,-550.28 556.36,-562.72 492.93,-550.28 492.99,-530.15 619.73,-530.15 619.79,-550.28"/> 52 <text text-anchor="middle" x="556.36" y="-541.02" font-family="Times-Roman" font-size="14.00">Spyglass</text> 53 </g> 54 <!-- GCS->Spyglass --> 55 <g id="edge22" class="edge"> 56 <title>GCS->Spyglass</title> 57 <path fill="none" stroke="black" d="M657.33,-625.11C635.84,-608.21 603.85,-583.06 581.66,-565.61"/> 58 <polygon fill="black" stroke="black" points="583.7,-562.76 573.68,-559.33 579.37,-568.26 583.7,-562.76"/> 59 </g> 60 <!-- Testgrid (closed) --> 61 <g id="node9" class="node"> 62 <title>Testgrid (closed)</title> 63 <g id="a_node9"><a xlink:href="https://testgrid.k8s.io" xlink:title="Testgrid (closed)"> 64 <polygon fill="lightblue" stroke="black" points="1084.84,-432.91 979.36,-445.35 873.88,-432.91 873.97,-412.78 1084.75,-412.78 1084.84,-432.91"/> 65 <text text-anchor="middle" x="979.36" y="-423.65" font-family="Times-Roman" font-size="14.00">Testgrid (closed)</text> 66 </a> 67 </g> 68 </g> 69 <!-- GCS->Testgrid (closed) --> 70 <g id="edge21" class="edge"> 71 <title>GCS->Testgrid (closed)</title> 72 <path fill="none" stroke="black" d="M703.82,-626.36C758.01,-587.41 891.75,-491.31 950.68,-448.96"/> 73 <polygon fill="black" stroke="black" points="952.74,-451.79 958.82,-443.11 948.65,-446.1 952.74,-451.79"/> 74 </g> 75 <!-- Gubernator --> 76 <g id="node10" class="node"> 77 <title>Gubernator</title> 78 <g id="a_node10"><a xlink:href="https://gubernator.k8s.io" xlink:title="Gubernator"> 79 <polygon fill="lightblue" stroke="black" points="1055.5,-550.28 979.36,-562.72 903.22,-550.28 903.29,-530.15 1055.43,-530.15 1055.5,-550.28"/> 80 <text text-anchor="middle" x="979.36" y="-541.02" font-family="Times-Roman" font-size="14.00">Gubernator</text> 81 </a> 82 </g> 83 </g> 84 <!-- GCS->Gubernator --> 85 <g id="edge4" class="edge"> 86 <title>GCS->Gubernator</title> 87 <path fill="none" stroke="black" d="M713.21,-634.93C742.55,-627.34 786.6,-615.44 824.36,-603.22 868.19,-589.03 917.99,-570.03 949.04,-557.83"/> 88 <polygon fill="black" stroke="black" points="712.3,-631.56 703.48,-637.44 714.04,-638.34 712.3,-631.56"/> 89 </g> 90 <!-- Triage --> 91 <g id="node20" class="node"> 92 <title>Triage</title> 93 <g id="a_node20"><a xlink:href="https://go.k8s.io/triage" xlink:title="Triage"> 94 <polygon fill="#1e90ff" stroke="black" points="836.86,-209 777.86,-209 777.86,-150 836.86,-150 836.86,-209"/> 95 <text text-anchor="middle" x="807.36" y="-175.8" font-family="Times-Roman" font-size="14.00">Triage</text> 96 </a> 97 </g> 98 </g> 99 <!-- GCS->Triage --> 100 <g id="edge20" class="edge"> 101 <title>GCS->Triage</title> 102 <path fill="none" stroke="black" d="M663.97,-611.88C655.69,-593.19 647.36,-568.7 647.36,-545.72 647.36,-545.72 647.36,-545.72 647.36,-290 647.36,-268.99 649.1,-260.95 663.36,-245.52 694.17,-212.18 745.33,-194.77 777.65,-186.63"/> 103 <polygon fill="black" stroke="black" points="660.87,-613.5 668.26,-621.08 667.21,-610.54 660.87,-613.5"/> 104 </g> 105 <!-- Kettle --> 106 <g id="node31" class="node"> 107 <title>Kettle</title> 108 <ellipse fill="none" stroke="black" cx="1282.36" cy="-427.35" rx="127.06" ry="26.74"/> 109 <text text-anchor="middle" x="1282.36" y="-431.15" font-family="Times-Roman" font-size="14.00">Kettle</text> 110 <text text-anchor="middle" x="1282.36" y="-416.15" font-family="Times-Roman" font-size="14.00">get GCS results into BQ</text> 111 </g> 112 <!-- PubSub->Kettle --> 113 <g id="edge16" class="edge"> 114 <title>PubSub->Kettle</title> 115 <path fill="none" stroke="black" d="M1202.96,-509.41C1217.94,-494.12 1235.51,-476.18 1250.31,-461.07"/> 116 <polygon fill="black" stroke="black" points="1252.83,-463.5 1257.33,-453.9 1247.83,-458.6 1252.83,-463.5"/> 117 <text text-anchor="middle" x="1253.86" y="-476.02" font-family="Times-Roman" font-size="14.00">read</text> 118 </g> 119 <!-- GitHub\nthrough\nghproxy --> 120 <g id="node4" class="node"> 121 <title>GitHub\nthrough\nghproxy</title> 122 <polygon fill="gray" stroke="black" points="1062.36,-948.17 988.36,-948.17 988.36,-874.17 1062.36,-874.17 1062.36,-948.17"/> 123 <text text-anchor="middle" x="1025.36" y="-922.47" font-family="Times-Roman" font-size="14.00">GitHub</text> 124 <text text-anchor="middle" x="1025.36" y="-907.47" font-family="Times-Roman" font-size="14.00">through</text> 125 <text text-anchor="middle" x="1025.36" y="-892.47" font-family="Times-Roman" font-size="14.00">ghproxy</text> 126 </g> 127 <!-- GitHub\nthrough\nghproxy->Gubernator --> 128 <g id="edge2" class="edge"> 129 <title>GitHub\nthrough\nghproxy->Gubernator</title> 130 <path fill="none" stroke="black" d="M1019.52,-863.89C1009.8,-786.87 990.59,-634.71 982.78,-572.84"/> 131 <polygon fill="black" stroke="black" points="1016.06,-864.41 1020.78,-873.89 1023,-863.53 1016.06,-864.41"/> 132 <polygon fill="black" stroke="black" points="986.23,-572.19 981.5,-562.7 979.28,-573.06 986.23,-572.19"/> 133 <text text-anchor="middle" x="1037.36" y="-704.02" font-family="Times-Roman" font-size="14.00">PR events</text> 134 </g> 135 <!-- Hook --> 136 <g id="node25" class="node"> 137 <title>Hook</title> 138 <ellipse fill="none" stroke="black" cx="854.36" cy="-1047.38" rx="118.17" ry="26.74"/> 139 <text text-anchor="middle" x="854.36" y="-1051.18" font-family="Times-Roman" font-size="14.00">Hook</text> 140 <text text-anchor="middle" x="854.36" y="-1036.18" font-family="Times-Roman" font-size="14.00">handle GitHub events</text> 141 </g> 142 <!-- GitHub\nthrough\nghproxy->Hook --> 143 <g id="edge3" class="edge"> 144 <title>GitHub\nthrough\nghproxy->Hook</title> 145 <path fill="none" stroke="black" d="M1016.47,-948.24C1010.8,-964.72 1001.91,-983.36 988.36,-996.17 975.98,-1007.87 960.63,-1016.9 944.78,-1023.86"/> 146 <polygon fill="black" stroke="black" points="943.32,-1020.67 935.4,-1027.72 945.98,-1027.15 943.32,-1020.67"/> 147 <text text-anchor="middle" x="1030.86" y="-977.47" font-family="Times-Roman" font-size="14.00">events</text> 148 </g> 149 <!-- BigQuery --> 150 <g id="node5" class="node"> 151 <title>BigQuery</title> 152 <g id="a_node5"><a xlink:href="https://bigquery.cloud.google.com/table/k8s_infra_kettle:build.week" xlink:title="BigQuery"> 153 <polygon fill="gray" stroke="black" points="1409.36,-332 1327.36,-332 1327.36,-250 1409.36,-250 1409.36,-332"/> 154 <text text-anchor="middle" x="1368.36" y="-287.3" font-family="Times-Roman" font-size="14.00">BigQuery</text> 155 </a> 156 </g> 157 </g> 158 <!-- Metrics --> 159 <g id="node19" class="node"> 160 <title>Metrics</title> 161 <polygon fill="#1e90ff" stroke="black" points="1241.86,-213 1174.86,-213 1174.86,-146 1241.86,-146 1241.86,-213"/> 162 <text text-anchor="middle" x="1208.36" y="-175.8" font-family="Times-Roman" font-size="14.00">Metrics</text> 163 </g> 164 <!-- BigQuery->Metrics --> 165 <g id="edge19" class="edge"> 166 <title>BigQuery->Metrics</title> 167 <path fill="none" stroke="black" d="M1327.31,-250.15C1325.33,-248.55 1323.34,-247 1321.36,-245.52 1299.36,-229.14 1272.87,-213.7 1251.06,-201.98"/> 168 <polygon fill="black" stroke="black" points="1252.51,-198.78 1242.03,-197.19 1249.23,-204.97 1252.51,-198.78"/> 169 </g> 170 <!-- BigQuery->Triage --> 171 <g id="edge18" class="edge"> 172 <title>BigQuery->Triage</title> 173 <path fill="none" stroke="black" d="M1329.11,-249.83C1326.59,-248.23 1324,-246.77 1321.36,-245.52 1278.68,-225.34 960.31,-194.53 847.14,-184.1"/> 174 <polygon fill="black" stroke="black" points="847.43,-180.61 837.15,-183.18 846.79,-187.58 847.43,-180.61"/> 175 </g> 176 <!-- legend_site --> 177 <g id="node6" class="node"> 178 <title>legend_site</title> 179 <ellipse fill="none" stroke="black" cx="1172.36" cy="-291" rx="45.01" ry="26.74"/> 180 <text text-anchor="middle" x="1172.36" y="-294.8" font-family="Times-Roman" font-size="14.00">Serves</text> 181 <text text-anchor="middle" x="1172.36" y="-279.8" font-family="Times-Roman" font-size="14.00">HTTP</text> 182 </g> 183 <!-- GKE --> 184 <g id="node16" class="node"> 185 <title>GKE</title> 186 <polygon fill="gray" stroke="black" points="430.16,-419.89 430.16,-434.8 411.53,-445.35 385.19,-445.35 366.56,-434.8 366.56,-419.89 385.19,-409.35 411.53,-409.35 430.16,-419.89"/> 187 <polygon fill="none" stroke="black" points="434.18,-417.56 434.18,-437.13 412.59,-449.35 384.13,-449.35 362.55,-437.13 362.55,-417.56 384.13,-405.35 412.59,-405.35 434.18,-417.56"/> 188 <text text-anchor="middle" x="398.36" y="-423.65" font-family="Times-Roman" font-size="14.00">GKE</text> 189 </g> 190 <!-- Spyglass->GKE --> 191 <g id="edge23" class="edge"> 192 <title>Spyglass->GKE</title> 193 <path fill="none" stroke="black" d="M529.53,-524.12C501.71,-503.81 458.28,-472.1 429.09,-450.79"/> 194 <polygon fill="black" stroke="black" points="527.48,-526.96 537.62,-530.03 531.6,-521.31 527.48,-526.96"/> 195 <polygon fill="black" stroke="black" points="431.04,-447.87 420.9,-444.8 426.91,-453.53 431.04,-447.87"/> 196 </g> 197 <!-- Deck --> 198 <g id="node8" class="node"> 199 <title>Deck</title> 200 <g id="a_node8"><a xlink:href="https://prow.k8s.io" xlink:title="Deck\nfrontend"> 201 <polygon fill="lightblue" stroke="black" points="717.71,-1057.71 651.36,-1080.81 585.01,-1057.71 585.07,-1020.34 717.65,-1020.34 717.71,-1057.71"/> 202 <text text-anchor="middle" x="651.36" y="-1051.18" font-family="Times-Roman" font-size="14.00">Deck</text> 203 <text text-anchor="middle" x="651.36" y="-1036.18" font-family="Times-Roman" font-size="14.00">frontend</text> 204 </a> 205 </g> 206 </g> 207 <!-- ApiServer --> 208 <g id="node30" class="node"> 209 <title>ApiServer</title> 210 <polygon fill="none" stroke="black" points="682.98,-904.57 668.2,-929.66 608.36,-940.82 548.52,-929.66 533.74,-904.57 575.15,-884.46 641.57,-884.46 682.98,-904.57"/> 211 <text text-anchor="middle" x="608.36" y="-914.97" font-family="Times-Roman" font-size="14.00">Kubernetes</text> 212 <text text-anchor="middle" x="608.36" y="-899.97" font-family="Times-Roman" font-size="14.00">API Server</text> 213 </g> 214 <!-- Deck->ApiServer --> 215 <g id="edge10" class="edge"> 216 <title>Deck->ApiServer</title> 217 <path fill="none" stroke="black" d="M642.97,-1020.19C636.45,-999.85 627.34,-971.41 620.1,-948.82"/> 218 <polygon fill="black" stroke="black" points="623.41,-947.68 617.03,-939.22 616.75,-949.81 623.41,-947.68"/> 219 <text text-anchor="middle" x="649.86" y="-977.47" font-family="Times-Roman" font-size="14.00">read</text> 220 </g> 221 <!-- Testgrid (closed)->legend_ext --> 222 <!-- Gubernator->Testgrid (closed) --> 223 <g id="edge5" class="edge"> 224 <title>Gubernator->Testgrid (closed)</title> 225 <path fill="none" stroke="black" d="M979.36,-519.76C979.36,-497.55 979.36,-465.06 979.36,-445.38"/> 226 <polygon fill="black" stroke="black" points="975.86,-520.03 979.36,-530.03 982.86,-520.03 975.86,-520.03"/> 227 </g> 228 <!-- Velodrome --> 229 <g id="node11" class="node"> 230 <title>Velodrome</title> 231 <polygon fill="lightblue" stroke="black" points="565.86,-23.56 494.36,-36 422.86,-23.56 422.93,-3.44 565.79,-3.44 565.86,-23.56"/> 232 <text text-anchor="middle" x="494.36" y="-14.3" font-family="Times-Roman" font-size="14.00">Velodrome</text> 233 </g> 234 <!-- Boskos --> 235 <g id="node12" class="node"> 236 <title>Boskos</title> 237 <polygon fill="lightblue" stroke="black" points="364.8,-649.78 312.36,-662.22 259.92,-649.78 259.97,-629.65 364.75,-629.65 364.8,-649.78"/> 238 <text text-anchor="middle" x="312.36" y="-640.52" font-family="Times-Roman" font-size="14.00">Boskos</text> 239 </g> 240 <!-- GCE --> 241 <g id="node15" class="node"> 242 <title>GCE</title> 243 <polygon fill="gray" stroke="black" points="68.6,-419.89 68.6,-434.8 49.71,-445.35 23.01,-445.35 4.12,-434.8 4.12,-419.89 23.01,-409.35 49.71,-409.35 68.6,-419.89"/> 244 <polygon fill="none" stroke="black" points="72.58,-417.54 72.58,-437.15 50.75,-449.35 21.97,-449.35 0.14,-437.15 0.14,-417.54 21.97,-405.35 50.75,-405.35 72.58,-417.54"/> 245 <text text-anchor="middle" x="36.36" y="-423.65" font-family="Times-Roman" font-size="14.00">GCE</text> 246 </g> 247 <!-- Boskos->GCE --> 248 <g id="edge30" class="edge"> 249 <title>Boskos->GCE</title> 250 <path fill="none" stroke="black" d="M284.22,-623.53C268.27,-612.23 248.03,-597.65 230.36,-584.22 170.74,-538.87 102.89,-483.44 65.3,-452.4"/> 251 <polygon fill="black" stroke="black" points="282.41,-626.53 292.6,-629.44 286.45,-620.81 282.41,-626.53"/> 252 <polygon fill="black" stroke="black" points="67.25,-449.46 57.31,-445.79 62.79,-454.86 67.25,-449.46"/> 253 </g> 254 <!-- Boskos->GKE --> 255 <g id="edge31" class="edge"> 256 <title>Boskos->GKE</title> 257 <path fill="none" stroke="black" d="M321.29,-619.95C331.88,-592.47 350.13,-545.41 366.36,-505.22 372.56,-489.86 379.62,-472.85 385.53,-458.75"/> 258 <polygon fill="black" stroke="black" points="317.95,-618.88 317.63,-629.47 324.49,-621.39 317.95,-618.88"/> 259 <polygon fill="black" stroke="black" points="388.77,-460.08 389.41,-449.5 382.31,-457.37 388.77,-460.08"/> 260 </g> 261 <!-- ProwJobs --> 262 <g id="node21" class="node"> 263 <title>ProwJobs</title> 264 <polygon fill="#1e90ff" stroke="black" points="318.86,-584.22 239.86,-584.22 239.86,-505.22 318.86,-505.22 318.86,-584.22"/> 265 <text text-anchor="middle" x="279.36" y="-541.02" font-family="Times-Roman" font-size="14.00">ProwJobs</text> 266 </g> 267 <!-- Boskos->ProwJobs --> 268 <g id="edge29" class="edge"> 269 <title>Boskos->ProwJobs</title> 270 <path fill="none" stroke="black" d="M304.35,-619.55C301.73,-611.82 298.73,-602.93 295.72,-594.06"/> 271 <polygon fill="black" stroke="black" points="301.11,-620.9 307.63,-629.25 307.74,-618.65 301.11,-620.9"/> 272 <polygon fill="black" stroke="black" points="299.01,-592.85 292.49,-584.5 292.38,-595.1 299.01,-592.85"/> 273 </g> 274 <!-- Prometheus --> 275 <g id="node24" class="node"> 276 <title>Prometheus</title> 277 <path fill="#fafafa" stroke="black" d="M474.86,-559.44C474.86,-561.25 452.67,-562.72 425.36,-562.72 398.05,-562.72 375.86,-561.25 375.86,-559.44 375.86,-559.44 375.86,-529.99 375.86,-529.99 375.86,-528.18 398.05,-526.72 425.36,-526.72 452.67,-526.72 474.86,-528.18 474.86,-529.99 474.86,-529.99 474.86,-559.44 474.86,-559.44"/> 278 <path fill="none" stroke="black" d="M474.86,-559.44C474.86,-557.64 452.67,-556.17 425.36,-556.17 398.05,-556.17 375.86,-557.64 375.86,-559.44"/> 279 <text text-anchor="middle" x="425.36" y="-541.02" font-family="Times-Roman" font-size="14.00">Prometheus</text> 280 </g> 281 <!-- Boskos->Prometheus --> 282 <g id="edge28" class="edge"> 283 <title>Boskos->Prometheus</title> 284 <path fill="none" stroke="black" d="M329.76,-629.35C339.2,-621.74 351.02,-612.08 361.36,-603.22 373.99,-592.4 387.73,-580.12 399.24,-569.69"/> 285 <polygon fill="black" stroke="black" points="401.76,-572.13 406.8,-562.81 397.05,-566.95 401.76,-572.13"/> 286 </g> 287 <!-- Greenhouse --> 288 <g id="node13" class="node"> 289 <title>Greenhouse</title> 290 <polygon fill="lightblue" stroke="black" points="251.54,-432.91 171.36,-445.35 91.19,-432.91 91.26,-412.78 251.46,-412.78 251.54,-432.91"/> 291 <text text-anchor="middle" x="171.36" y="-423.65" font-family="Times-Roman" font-size="14.00">Greenhouse</text> 292 </g> 293 <!-- legend_cloud --> 294 <g id="node14" class="node"> 295 <title>legend_cloud</title> 296 <ellipse fill="none" stroke="black" cx="1031.36" cy="-291" rx="77.56" ry="37.45"/> 297 <text text-anchor="middle" x="1031.36" y="-302.3" font-family="Times-Roman" font-size="14.00">Cloud</text> 298 <text text-anchor="middle" x="1031.36" y="-287.3" font-family="Times-Roman" font-size="14.00">or</text> 299 <text text-anchor="middle" x="1031.36" y="-272.3" font-family="Times-Roman" font-size="14.00">Cloud service</text> 300 </g> 301 <!-- AWS --> 302 <g id="node17" class="node"> 303 <title>AWS</title> 304 <polygon fill="gray" stroke="black" points="340.92,-419.89 340.92,-434.8 321.26,-445.35 293.46,-445.35 273.8,-434.8 273.8,-419.89 293.46,-409.35 321.26,-409.35 340.92,-419.89"/> 305 <polygon fill="none" stroke="black" points="344.9,-417.49 344.9,-437.2 322.26,-449.35 292.47,-449.35 269.82,-437.2 269.82,-417.49 292.47,-405.35 322.26,-405.35 344.9,-417.49"/> 306 <text text-anchor="middle" x="307.36" y="-423.65" font-family="Times-Roman" font-size="14.00">AWS</text> 307 </g> 308 <!-- legend_prowjob --> 309 <g id="node18" class="node"> 310 <title>legend_prowjob</title> 311 <ellipse fill="none" stroke="black" cx="884.36" cy="-291" rx="51.19" ry="18"/> 312 <text text-anchor="middle" x="884.36" y="-287.3" font-family="Times-Roman" font-size="14.00">ProwJobs</text> 313 </g> 314 <!-- InfluxDB --> 315 <g id="node23" class="node"> 316 <title>InfluxDB</title> 317 <path fill="#fafafa" stroke="black" d="M532.86,-105.73C532.86,-107.53 515.6,-109 494.36,-109 473.12,-109 455.86,-107.53 455.86,-105.73 455.86,-105.73 455.86,-76.27 455.86,-76.27 455.86,-74.47 473.12,-73 494.36,-73 515.6,-73 532.86,-74.47 532.86,-76.27 532.86,-76.27 532.86,-105.73 532.86,-105.73"/> 318 <path fill="none" stroke="black" d="M532.86,-105.73C532.86,-103.92 515.6,-102.45 494.36,-102.45 473.12,-102.45 455.86,-103.92 455.86,-105.73"/> 319 <text text-anchor="middle" x="494.36" y="-87.3" font-family="Times-Roman" font-size="14.00">InfluxDB</text> 320 </g> 321 <!-- Metrics->InfluxDB --> 322 <g id="edge24" class="edge"> 323 <title>Metrics->InfluxDB</title> 324 <path fill="none" stroke="black" d="M1174.4,-174.39C1058.66,-160.36 679.3,-114.4 543.37,-97.94"/> 325 <polygon fill="black" stroke="black" points="543.6,-94.44 533.25,-96.71 542.75,-101.39 543.6,-94.44"/> 326 </g> 327 <!-- ProwJobs->Greenhouse --> 328 <g id="edge35" class="edge"> 329 <title>ProwJobs->Greenhouse</title> 330 <path fill="none" stroke="black" d="M236.03,-497.43C220.98,-481.35 204.78,-464.04 192.35,-450.77"/> 331 <polygon fill="black" stroke="black" points="233.71,-500.07 243.1,-504.98 238.82,-495.29 233.71,-500.07"/> 332 <polygon fill="black" stroke="black" points="194.9,-448.37 185.51,-443.47 189.79,-453.16 194.9,-448.37"/> 333 </g> 334 <!-- ProwJobs->GCE --> 335 <g id="edge34" class="edge"> 336 <title>ProwJobs->GCE</title> 337 <path fill="none" stroke="black" d="M230.34,-522.84C190.14,-505.39 131.99,-479.39 82.36,-454.22 78.59,-452.31 74.69,-450.24 70.82,-448.15"/> 338 <polygon fill="black" stroke="black" points="229.08,-526.11 239.64,-526.87 231.85,-519.69 229.08,-526.11"/> 339 <polygon fill="black" stroke="black" points="72.39,-445.01 61.94,-443.24 69,-451.14 72.39,-445.01"/> 340 </g> 341 <!-- ProwJobs->GKE --> 342 <g id="edge33" class="edge"> 343 <title>ProwJobs->GKE</title> 344 <path fill="none" stroke="black" d="M313.45,-497C320.61,-488.37 328.41,-479.73 336.36,-472.22 345.11,-463.95 355.5,-456.01 365.25,-449.2"/> 345 <polygon fill="black" stroke="black" points="310.64,-494.91 307.08,-504.89 316.08,-499.31 310.64,-494.91"/> 346 <polygon fill="black" stroke="black" points="367.29,-452.05 373.6,-443.53 363.36,-446.26 367.29,-452.05"/> 347 </g> 348 <!-- ProwJobs->AWS --> 349 <g id="edge32" class="edge"> 350 <title>ProwJobs->AWS</title> 351 <path fill="none" stroke="black" d="M291.12,-495.25C294.05,-483.2 297.11,-470.6 299.77,-459.62"/> 352 <polygon fill="black" stroke="black" points="287.72,-494.44 288.76,-504.98 294.52,-496.09 287.72,-494.44"/> 353 <polygon fill="black" stroke="black" points="303.23,-460.21 302.19,-449.67 296.43,-458.56 303.23,-460.21"/> 354 </g> 355 <!-- legend_stock --> 356 <g id="node22" class="node"> 357 <title>legend_stock</title> 358 <ellipse fill="none" stroke="black" cx="745.36" cy="-291" rx="69.59" ry="18"/> 359 <text text-anchor="middle" x="745.36" y="-287.3" font-family="Times-Roman" font-size="14.00">Hosted stock</text> 360 </g> 361 <!-- InfluxDB->Velodrome --> 362 <g id="edge26" class="edge"> 363 <title>InfluxDB->Velodrome</title> 364 <path fill="none" stroke="black" d="M494.36,-72.81C494.36,-64.79 494.36,-55.05 494.36,-46.07"/> 365 <polygon fill="black" stroke="black" points="497.86,-46.03 494.36,-36.03 490.86,-46.03 497.86,-46.03"/> 366 </g> 367 <!-- Prometheus->InfluxDB --> 368 <g id="edge25" class="edge"> 369 <title>Prometheus->InfluxDB</title> 370 <path fill="none" stroke="black" d="M440.04,-526.64C456.93,-505.19 482.36,-466.55 482.36,-428.35 482.36,-428.35 482.36,-428.35 482.36,-178.5 482.36,-158.6 485.51,-136.37 488.59,-119.43"/> 371 <polygon fill="black" stroke="black" points="492.12,-119.62 490.56,-109.14 485.24,-118.3 492.12,-119.62"/> 372 </g> 373 <!-- Hook->ApiServer --> 374 <g id="edge11" class="edge"> 375 <title>Hook->ApiServer</title> 376 <path fill="none" stroke="black" d="M797.13,-1023.83C778.11,-1015.75 757.03,-1006.16 738.36,-996.17 707.31,-979.56 673.98,-957.95 648.85,-940.8"/> 377 <polygon fill="black" stroke="black" points="650.54,-937.72 640.31,-934.94 646.57,-943.49 650.54,-937.72"/> 378 <text text-anchor="middle" x="789.86" y="-977.47" font-family="Times-Roman" font-size="14.00">create ProwJob</text> 379 </g> 380 <!-- Plank --> 381 <g id="node26" class="node"> 382 <title>Plank</title> 383 <ellipse fill="none" stroke="black" cx="467.36" cy="-1047.38" rx="99.9" ry="26.74"/> 384 <text text-anchor="middle" x="467.36" y="-1051.18" font-family="Times-Roman" font-size="14.00">Plank</text> 385 <text text-anchor="middle" x="467.36" y="-1036.18" font-family="Times-Roman" font-size="14.00">ProwJob controller</text> 386 </g> 387 <!-- Plank->GitHub\nthrough\nghproxy --> 388 <g id="edge7" class="edge"> 389 <title>Plank->GitHub\nthrough\nghproxy</title> 390 <path fill="none" stroke="black" d="M980.36,-950.12C982.32,-949.15 984.28,-948.17 986.24,-947.2"/> 391 <polygon fill="black" stroke="black" points="980.8,-953.81 988.19,-946.22 977.68,-947.55 980.8,-953.81"/> 392 <text text-anchor="middle" x="923.86" y="-984.97" font-family="Times-Roman" font-size="14.00">update PR status</text> 393 <text text-anchor="middle" x="923.86" y="-969.97" font-family="Times-Roman" font-size="14.00">comment failures</text> 394 </g> 395 <!-- Plank->Prometheus --> 396 <g id="edge27" class="edge"> 397 <title>Plank->Prometheus</title> 398 <path fill="none" stroke="black" d="M425.36,-740.22C425.36,-712.57 425.36,-680.47 425.36,-643.22 425.36,-619.51 425.36,-592.56 425.36,-573.01"/> 399 <polygon fill="black" stroke="black" points="428.86,-572.98 425.36,-562.98 421.86,-572.98 428.86,-572.98"/> 400 </g> 401 <!-- Plank->ApiServer --> 402 <g id="edge8" class="edge"> 403 <title>Plank->ApiServer</title> 404 <path fill="none" stroke="black" d="M493.55,-1021.45C516.65,-999.47 550.41,-967.33 575.35,-943.59"/> 405 <polygon fill="black" stroke="black" points="577.96,-945.94 582.79,-936.51 573.13,-940.87 577.96,-945.94"/> 406 </g> 407 <!-- Sinker --> 408 <g id="node27" class="node"> 409 <title>Sinker</title> 410 <ellipse fill="none" stroke="black" cx="608.36" cy="-785.69" rx="82.96" ry="37.45"/> 411 <text text-anchor="middle" x="608.36" y="-796.99" font-family="Times-Roman" font-size="14.00">Sinker</text> 412 <text text-anchor="middle" x="608.36" y="-781.99" font-family="Times-Roman" font-size="14.00">deletes old</text> 413 <text text-anchor="middle" x="608.36" y="-766.99" font-family="Times-Roman" font-size="14.00">pods/ProwJobs</text> 414 </g> 415 <!-- Horologium --> 416 <g id="node28" class="node"> 417 <title>Horologium</title> 418 <ellipse fill="none" stroke="black" cx="840.36" cy="-785.69" rx="131.54" ry="26.74"/> 419 <text text-anchor="middle" x="840.36" y="-789.49" font-family="Times-Roman" font-size="14.00">Horologium</text> 420 <text text-anchor="middle" x="840.36" y="-774.49" font-family="Times-Roman" font-size="14.00">create periodic ProwJobs</text> 421 </g> 422 <!-- Job --> 423 <g id="node29" class="node"> 424 <title>Job</title> 425 <ellipse fill="none" stroke="black" cx="480.36" cy="-785.69" rx="27" ry="18"/> 426 <text text-anchor="middle" x="480.36" y="-781.99" font-family="Times-Roman" font-size="14.00">Job</text> 427 </g> 428 <!-- Job->GCS --> 429 <g id="edge6" class="edge"> 430 <title>Job->GCS</title> 431 <path fill="none" stroke="black" d="M496.94,-760.97C502.61,-753.81 509.31,-746.25 516.36,-740.22 557.38,-705.12 613.19,-675.99 647.98,-659.59"/> 432 <polygon fill="black" stroke="black" points="494.05,-758.99 490.81,-769.08 499.63,-763.21 494.05,-758.99"/> 433 <polygon fill="black" stroke="black" points="649.6,-662.7 657.2,-655.31 646.66,-656.35 649.6,-662.7"/> 434 <text text-anchor="middle" x="690.86" y="-719.02" font-family="Times-Roman" font-size="14.00">publish</text> 435 <text text-anchor="middle" x="690.86" y="-704.02" font-family="Times-Roman" font-size="14.00">started.json, finished.json,</text> 436 <text text-anchor="middle" x="690.86" y="-689.02" font-family="Times-Roman" font-size="14.00">build-log.txt, artifacts/</text> 437 </g> 438 <!-- ApiServer->Sinker --> 439 <g id="edge13" class="edge"> 440 <title>ApiServer->Sinker</title> 441 <path fill="none" stroke="black" d="M608.36,-874.23C608.36,-858.23 608.36,-839.4 608.36,-823.32"/> 442 <polygon fill="black" stroke="black" points="604.86,-874.29 608.36,-884.29 611.86,-874.29 604.86,-874.29"/> 443 </g> 444 <!-- ApiServer->Horologium --> 445 <g id="edge14" class="edge"> 446 <title>ApiServer->Horologium</title> 447 <path fill="none" stroke="black" d="M658.47,-883.5C698.98,-861.94 755.52,-831.85 794.77,-810.96"/> 448 <polygon fill="black" stroke="black" points="656.75,-880.45 649.57,-888.24 660.04,-886.63 656.75,-880.45"/> 449 </g> 450 <!-- ApiServer->Job --> 451 <g id="edge12" class="edge"> 452 <title>ApiServer->Job</title> 453 <path fill="none" stroke="black" d="M574.35,-884.61C563.47,-875.96 551.61,-865.99 541.36,-856.17 526.15,-841.59 510.51,-823.7 498.87,-809.73"/> 454 <polygon fill="black" stroke="black" points="501.57,-807.5 492.51,-802 496.16,-811.95 501.57,-807.5"/> 455 <text text-anchor="middle" x="572.86" y="-844.97" font-family="Times-Roman" font-size="14.00">start Pod</text> 456 </g> 457 <!-- Kettle->BigQuery --> 458 <g id="edge17" class="edge"> 459 <title>Kettle->BigQuery</title> 460 <path fill="none" stroke="black" d="M1298.94,-400.44C1309.79,-383.5 1324.3,-360.83 1337.25,-340.6"/> 461 <polygon fill="black" stroke="black" points="1340.25,-342.41 1342.69,-332.1 1334.35,-338.64 1340.25,-342.41"/> 462 <text text-anchor="middle" x="1334.86" y="-371.28" font-family="Times-Roman" font-size="14.00">write</text> 463 </g> 464 <!-- Splice --> 465 <g id="node32" class="node"> 466 <title>Splice</title> 467 <ellipse fill="none" stroke="black" cx="312.36" cy="-1047.38" rx="37.89" ry="18"/> 468 <text text-anchor="middle" x="312.36" y="-1043.68" font-family="Times-Roman" font-size="14.00">Splice</text> 469 </g> 470 <!-- Splice->ApiServer --> 471 <g id="edge9" class="edge"> 472 <title>Splice->ApiServer</title> 473 <path fill="none" stroke="black" d="M331.44,-1031.59C339.48,-1025.73 349.12,-1019.21 358.36,-1014.17 418.68,-981.29 491.87,-952.62 543.42,-934.13"/> 474 <polygon fill="black" stroke="black" points="544.86,-937.33 553.11,-930.68 542.52,-930.73 544.86,-937.33"/> 475 </g> 476 </g> 477 </svg>