github.com/shashidharatd/test-infra@v0.0.0-20171006011030-71304e1ca560/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.36.0 (20140111.2315)
     5   -->
     6  <!-- Title: G Pages: 1 -->
     7  <svg width="985pt" height="963pt"
     8   viewBox="0.00 0.00 985.00 963.00" 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 959)">
    10  <title>G</title>
    11  <polygon fill="white" stroke="none" points="-4,4 -4,-959 981,-959 981,4 -4,4"/>
    12  <text text-anchor="middle" x="488.5" y="-7.8" font-family="Times,serif" font-size="14.00">Last updated 2017&#45;07&#45;13</text>
    13  <g id="clust1" class="cluster"><title>cluster_Prow</title>
    14  <polygon fill="none" stroke="blue" points="218,-406 218,-751 896,-751 896,-406 218,-406"/>
    15  <text text-anchor="middle" x="557" y="-735.8" font-family="Times,serif" font-size="14.00">Prow</text>
    16  </g>
    17  <g id="clust2" class="cluster"><title>cluster_legend</title>
    18  <polygon fill="none" stroke="black" points="219,-31 219,-136 407,-136 407,-31 219,-31"/>
    19  <text text-anchor="middle" x="313" y="-120.8" font-family="Times,serif" font-size="14.00">Legend</text>
    20  </g>
    21  <!-- legend_ext -->
    22  <g id="node1" class="node"><title>legend_ext</title>
    23  <polygon fill="gray" stroke="black" points="398.5,-103 337.5,-103 337.5,-41 398.5,-41 398.5,-103"/>
    24  <text text-anchor="middle" x="368" y="-75.8" font-family="Times,serif" font-size="14.00">External</text>
    25  <text text-anchor="middle" x="368" y="-60.8" font-family="Times,serif" font-size="14.00">Service</text>
    26  </g>
    27  <!-- GCS -->
    28  <g id="node2" class="node"><title>GCS</title>
    29  <polygon fill="gray" stroke="black" points="389.25,-318.5 346.75,-318.5 346.75,-275.5 389.25,-275.5 389.25,-318.5"/>
    30  <text text-anchor="middle" x="368" y="-293.3" font-family="Times,serif" font-size="14.00">GCS</text>
    31  </g>
    32  <!-- PubSub -->
    33  <g id="node3" class="node"><title>PubSub</title>
    34  <polygon fill="gray" stroke="black" points="267.25,-223.5 208.75,-223.5 208.75,-164.5 267.25,-164.5 267.25,-223.5"/>
    35  <text text-anchor="middle" x="238" y="-190.3" font-family="Times,serif" font-size="14.00">PubSub</text>
    36  </g>
    37  <!-- GCS&#45;&gt;PubSub -->
    38  <g id="edge18" class="edge"><title>GCS&#45;&gt;PubSub</title>
    39  <path fill="none" stroke="black" d="M346.533,-279.322C327.18,-264.286 298.298,-241.847 275.193,-223.896"/>
    40  <polygon fill="black" stroke="black" points="277.33,-221.124 267.286,-217.753 273.035,-226.652 277.33,-221.124"/>
    41  </g>
    42  <!-- Testgrid -->
    43  <g id="node10" class="node"><title>Testgrid</title>
    44  <g id="a_node10"><a xlink:href="https://testgrid.k8s.io" xlink:title="Testgrid">
    45  <polygon fill="lightblue" stroke="black" points="417.216,-199.562 368,-212 318.784,-199.562 318.83,-179.438 417.17,-179.438 417.216,-199.562"/>
    46  <text text-anchor="middle" x="368" y="-190.3" font-family="Times,serif" font-size="14.00">Testgrid</text>
    47  </a>
    48  </g>
    49  </g>
    50  <!-- GCS&#45;&gt;Testgrid -->
    51  <g id="edge23" class="edge"><title>GCS&#45;&gt;Testgrid</title>
    52  <path fill="none" stroke="black" d="M368,-264.837C368,-247.51 368,-226.606 368,-212.21"/>
    53  <polygon fill="black" stroke="black" points="364.5,-265.073 368,-275.073 371.5,-265.073 364.5,-265.073"/>
    54  </g>
    55  <!-- Gubernator -->
    56  <g id="node11" class="node"><title>Gubernator</title>
    57  <g id="a_node11"><a xlink:href="https://k8s-gubernator.appspot.com" xlink:title="Gubernator">
    58  <polygon fill="lightblue" stroke="black" points="772.494,-199.562 710,-212 647.506,-199.562 647.564,-179.438 772.436,-179.438 772.494,-199.562"/>
    59  <text text-anchor="middle" x="710" y="-190.3" font-family="Times,serif" font-size="14.00">Gubernator</text>
    60  </a>
    61  </g>
    62  </g>
    63  <!-- GCS&#45;&gt;Gubernator -->
    64  <g id="edge7" class="edge"><title>GCS&#45;&gt;Gubernator</title>
    65  <path fill="none" stroke="black" d="M399.298,-286.757C463.299,-267.856 608.715,-224.912 675.407,-205.216"/>
    66  <polygon fill="black" stroke="black" points="397.993,-283.493 389.394,-289.682 399.975,-290.206 397.993,-283.493"/>
    67  </g>
    68  <!-- GitHub -->
    69  <g id="node4" class="node"><title>GitHub</title>
    70  <polygon fill="gray" stroke="black" points="741.25,-954.5 684.75,-954.5 684.75,-897.5 741.25,-897.5 741.25,-954.5"/>
    71  <text text-anchor="middle" x="713" y="-922.3" font-family="Times,serif" font-size="14.00">GitHub</text>
    72  </g>
    73  <!-- Mungegithub -->
    74  <g id="node8" class="node"><title>Mungegithub</title>
    75  <g id="a_node8"><a xlink:href="https://submit-queue.k8s.io" xlink:title="Mungegithub">
    76  <polygon fill="lightblue" stroke="black" points="681.956,-846.562 610,-859 538.044,-846.562 538.111,-826.438 681.889,-826.438 681.956,-846.562"/>
    77  <text text-anchor="middle" x="610" y="-837.3" font-family="Times,serif" font-size="14.00">Mungegithub</text>
    78  </a>
    79  </g>
    80  </g>
    81  <!-- GitHub&#45;&gt;Mungegithub -->
    82  <g id="edge3" class="edge"><title>GitHub&#45;&gt;Mungegithub</title>
    83  <path fill="none" stroke="black" d="M676.641,-895.701C663.134,-884.817 648.102,-872.703 635.738,-862.74"/>
    84  <polygon fill="black" stroke="black" points="674.599,-898.551 684.582,-902.1 678.992,-893.1 674.599,-898.551"/>
    85  <polygon fill="black" stroke="black" points="637.639,-859.777 627.656,-856.228 633.246,-865.228 637.639,-859.777"/>
    86  </g>
    87  <!-- GitHub&#45;&gt;Gubernator -->
    88  <g id="edge2" class="edge"><title>GitHub&#45;&gt;Gubernator</title>
    89  <path fill="none" stroke="black" d="M741.622,-919.85C798.862,-908.732 922,-880.358 922,-842 922,-842 922,-842 922,-296 922,-232.665 843.929,-209.004 782.541,-200.19"/>
    90  <polygon fill="black" stroke="black" points="782.834,-196.698 772.46,-198.852 781.913,-203.637 782.834,-196.698"/>
    91  <text text-anchor="middle" x="949.5" y="-568.3" font-family="Times,serif" font-size="14.00">PR events</text>
    92  </g>
    93  <!-- Hook -->
    94  <g id="node12" class="node"><title>Hook</title>
    95  <ellipse fill="none" stroke="black" cx="793" cy="-687" rx="95.1892" ry="26.7407"/>
    96  <text text-anchor="middle" x="793" y="-690.8" font-family="Times,serif" font-size="14.00">Hook</text>
    97  <text text-anchor="middle" x="793" y="-675.8" font-family="Times,serif" font-size="14.00">handle GitHub events</text>
    98  </g>
    99  <!-- GitHub&#45;&gt;Hook -->
   100  <g id="edge5" class="edge"><title>GitHub&#45;&gt;Hook</title>
   101  <path fill="none" stroke="black" d="M722.334,-897.349C736.879,-854.258 764.945,-771.113 780.983,-723.599"/>
   102  <polygon fill="black" stroke="black" points="784.332,-724.623 784.214,-714.029 777.699,-722.384 784.332,-724.623"/>
   103  <text text-anchor="middle" x="764.5" y="-837.3" font-family="Times,serif" font-size="14.00">events</text>
   104  </g>
   105  <!-- BigQuery -->
   106  <g id="node5" class="node"><title>BigQuery</title>
   107  <g id="a_node5"><a xlink:href="https://bigquery.cloud.google.com/table/k8s-gubernator:build.week" xlink:title="BigQuery">
   108  <polygon fill="gray" stroke="black" points="140,-332 70,-332 70,-262 140,-262 140,-332"/>
   109  <text text-anchor="middle" x="105" y="-293.3" font-family="Times,serif" font-size="14.00">BigQuery</text>
   110  </a>
   111  </g>
   112  </g>
   113  <!-- Triage -->
   114  <g id="node7" class="node"><title>Triage</title>
   115  <g id="a_node7"><a xlink:href="https://go.k8s.io/triage" xlink:title="Triage">
   116  <polygon fill="lightblue" stroke="black" points="146.166,-199.562 105,-212 63.8336,-199.562 63.8721,-179.438 146.128,-179.438 146.166,-199.562"/>
   117  <text text-anchor="middle" x="105" y="-190.3" font-family="Times,serif" font-size="14.00">Triage</text>
   118  </a>
   119  </g>
   120  </g>
   121  <!-- BigQuery&#45;&gt;Triage -->
   122  <g id="edge22" class="edge"><title>BigQuery&#45;&gt;Triage</title>
   123  <path fill="none" stroke="black" d="M105,-251.772C105,-237.747 105,-223.066 105,-212.148"/>
   124  <polygon fill="black" stroke="black" points="101.5,-251.806 105,-261.806 108.5,-251.806 101.5,-251.806"/>
   125  </g>
   126  <!-- legend_site -->
   127  <g id="node6" class="node"><title>legend_site</title>
   128  <polygon fill="lightblue" stroke="black" points="318.987,-82.3298 273,-105.428 227.013,-82.3298 227.056,-44.9563 318.944,-44.9563 318.987,-82.3298"/>
   129  <text text-anchor="middle" x="273" y="-75.8" font-family="Times,serif" font-size="14.00">Serves</text>
   130  <text text-anchor="middle" x="273" y="-60.8" font-family="Times,serif" font-size="14.00">HTTP</text>
   131  </g>
   132  <!-- Deck -->
   133  <g id="node9" class="node"><title>Deck</title>
   134  <g id="a_node9"><a xlink:href="https://prow.k8s.io" xlink:title="Deck\nfrontend">
   135  <polygon fill="lightblue" stroke="black" points="522.285,-697.33 468,-720.428 413.715,-697.33 413.765,-659.956 522.235,-659.956 522.285,-697.33"/>
   136  <text text-anchor="middle" x="468" y="-690.8" font-family="Times,serif" font-size="14.00">Deck</text>
   137  <text text-anchor="middle" x="468" y="-675.8" font-family="Times,serif" font-size="14.00">frontend</text>
   138  </a>
   139  </g>
   140  </g>
   141  <!-- Mungegithub&#45;&gt;Deck -->
   142  <g id="edge6" class="edge"><title>Mungegithub&#45;&gt;Deck</title>
   143  <path fill="none" stroke="black" d="M596.351,-826.113C590.109,-819.72 582.64,-812.012 576,-805 548.677,-776.147 517.986,-742.806 496.324,-719.115"/>
   144  <polygon fill="black" stroke="black" points="498.67,-716.494 489.342,-711.471 493.502,-721.215 498.67,-716.494"/>
   145  <text text-anchor="middle" x="591" y="-793.3" font-family="Times,serif" font-size="14.00">read</text>
   146  <text text-anchor="middle" x="591" y="-778.3" font-family="Times,serif" font-size="14.00">batch</text>
   147  <text text-anchor="middle" x="591" y="-763.3" font-family="Times,serif" font-size="14.00">jobs</text>
   148  </g>
   149  <!-- Splice -->
   150  <g id="node13" class="node"><title>Splice</title>
   151  <ellipse fill="none" stroke="black" cx="610" cy="-687" rx="70.0054" ry="26.7407"/>
   152  <text text-anchor="middle" x="610" y="-690.8" font-family="Times,serif" font-size="14.00">Splice</text>
   153  <text text-anchor="middle" x="610" y="-675.8" font-family="Times,serif" font-size="14.00">start batch jobs</text>
   154  </g>
   155  <!-- Mungegithub&#45;&gt;Splice -->
   156  <g id="edge4" class="edge"><title>Mungegithub&#45;&gt;Splice</title>
   157  <path fill="none" stroke="black" d="M610,-816.21C610,-788.417 610,-742.594 610,-713.917"/>
   158  <polygon fill="black" stroke="black" points="606.5,-816.243 610,-826.243 613.5,-816.243 606.5,-816.243"/>
   159  <text text-anchor="middle" x="626.5" y="-785.8" font-family="Times,serif" font-size="14.00">read</text>
   160  <text text-anchor="middle" x="626.5" y="-770.8" font-family="Times,serif" font-size="14.00">queue</text>
   161  </g>
   162  <!-- ApiServer -->
   163  <g id="node19" class="node"><title>ApiServer</title>
   164  <polygon fill="none" stroke="black" points="543.325,-565.403 531.179,-590.485 482,-601.648 432.821,-590.485 420.675,-565.403 454.708,-545.288 509.292,-545.288 543.325,-565.403"/>
   165  <text text-anchor="middle" x="482" y="-575.8" font-family="Times,serif" font-size="14.00">Kubernetes</text>
   166  <text text-anchor="middle" x="482" y="-560.8" font-family="Times,serif" font-size="14.00">API Server</text>
   167  </g>
   168  <!-- Deck&#45;&gt;ApiServer -->
   169  <g id="edge13" class="edge"><title>Deck&#45;&gt;ApiServer</title>
   170  <path fill="none" stroke="black" d="M471.247,-659.792C473.036,-645.351 475.29,-627.163 477.271,-611.171"/>
   171  <polygon fill="black" stroke="black" points="480.77,-611.396 478.526,-601.041 473.823,-610.535 480.77,-611.396"/>
   172  <text text-anchor="middle" x="488" y="-624.3" font-family="Times,serif" font-size="14.00">read</text>
   173  </g>
   174  <!-- Testgrid&#45;&gt;legend_ext -->
   175  <!-- Hook&#45;&gt;ApiServer -->
   176  <g id="edge14" class="edge"><title>Hook&#45;&gt;ApiServer</title>
   177  <path fill="none" stroke="black" d="M736.319,-665.405C680.671,-645.186 596.193,-614.491 540.07,-594.099"/>
   178  <polygon fill="black" stroke="black" points="541.22,-590.793 530.626,-590.668 538.829,-597.373 541.22,-590.793"/>
   179  <text text-anchor="middle" x="689" y="-624.3" font-family="Times,serif" font-size="14.00">create ProwJob</text>
   180  </g>
   181  <!-- Splice&#45;&gt;ApiServer -->
   182  <g id="edge12" class="edge"><title>Splice&#45;&gt;ApiServer</title>
   183  <path fill="none" stroke="black" d="M582.854,-662.036C563.333,-644.802 536.872,-621.441 515.951,-602.973"/>
   184  <polygon fill="black" stroke="black" points="518.044,-600.151 508.231,-596.157 513.411,-605.399 518.044,-600.151"/>
   185  </g>
   186  <!-- Plank -->
   187  <g id="node14" class="node"><title>Plank</title>
   188  <ellipse fill="none" stroke="black" cx="311" cy="-687" rx="84.2802" ry="26.7407"/>
   189  <text text-anchor="middle" x="311" y="-690.8" font-family="Times,serif" font-size="14.00">Plank</text>
   190  <text text-anchor="middle" x="311" y="-675.8" font-family="Times,serif" font-size="14.00">ProwJob controller</text>
   191  </g>
   192  <!-- Plank&#45;&gt;GitHub -->
   193  <g id="edge9" class="edge"><title>Plank&#45;&gt;GitHub</title>
   194  <path fill="none" stroke="black" d="M321.869,-713.647C339.315,-751.58 377.256,-822.12 432,-859 507.317,-909.739 616.814,-921.716 674.357,-924.384"/>
   195  <polygon fill="black" stroke="black" points="674.347,-927.886 684.477,-924.781 674.622,-920.891 674.347,-927.886"/>
   196  <text text-anchor="middle" x="480.5" y="-844.8" font-family="Times,serif" font-size="14.00">update PR status</text>
   197  <text text-anchor="middle" x="480.5" y="-829.8" font-family="Times,serif" font-size="14.00">comment failures</text>
   198  </g>
   199  <!-- Tot -->
   200  <g id="node15" class="node"><title>Tot</title>
   201  <ellipse fill="none" stroke="black" cx="314" cy="-572" rx="88.0829" ry="26.7407"/>
   202  <text text-anchor="middle" x="314" y="-575.8" font-family="Times,serif" font-size="14.00">Tot</text>
   203  <text text-anchor="middle" x="314" y="-560.8" font-family="Times,serif" font-size="14.00">vend build numbers</text>
   204  </g>
   205  <!-- Plank&#45;&gt;Tot -->
   206  <g id="edge11" class="edge"><title>Plank&#45;&gt;Tot</title>
   207  <path fill="none" stroke="black" d="M311.688,-660.076C312.086,-645.109 312.592,-626.047 313.029,-609.576"/>
   208  <polygon fill="black" stroke="black" points="316.538,-609.285 313.305,-599.195 309.54,-609.099 316.538,-609.285"/>
   209  </g>
   210  <!-- Plank&#45;&gt;ApiServer -->
   211  <g id="edge10" class="edge"><title>Plank&#45;&gt;ApiServer</title>
   212  <path fill="none" stroke="black" d="M346.431,-662.586C373.914,-644.425 412.054,-619.222 440.881,-600.172"/>
   213  <polygon fill="black" stroke="black" points="443.093,-602.906 449.506,-594.473 439.234,-597.066 443.093,-602.906"/>
   214  </g>
   215  <!-- Sinker -->
   216  <g id="node16" class="node"><title>Sinker</title>
   217  <ellipse fill="none" stroke="black" cx="482" cy="-452" rx="68.9457" ry="37.4533"/>
   218  <text text-anchor="middle" x="482" y="-463.3" font-family="Times,serif" font-size="14.00">Sinker</text>
   219  <text text-anchor="middle" x="482" y="-448.3" font-family="Times,serif" font-size="14.00">deletes old</text>
   220  <text text-anchor="middle" x="482" y="-433.3" font-family="Times,serif" font-size="14.00">pods/ProwJobs</text>
   221  </g>
   222  <!-- Horologium -->
   223  <g id="node17" class="node"><title>Horologium</title>
   224  <ellipse fill="none" stroke="black" cx="677" cy="-452" rx="108.281" ry="26.7407"/>
   225  <text text-anchor="middle" x="677" y="-455.8" font-family="Times,serif" font-size="14.00">Horologium</text>
   226  <text text-anchor="middle" x="677" y="-440.8" font-family="Times,serif" font-size="14.00">create periodic ProwJobs</text>
   227  </g>
   228  <!-- Job -->
   229  <g id="node18" class="node"><title>Job</title>
   230  <ellipse fill="none" stroke="black" cx="368" cy="-452" rx="27" ry="18"/>
   231  <text text-anchor="middle" x="368" y="-448.3" font-family="Times,serif" font-size="14.00">Job</text>
   232  </g>
   233  <!-- Job&#45;&gt;GCS -->
   234  <g id="edge8" class="edge"><title>Job&#45;&gt;GCS</title>
   235  <path fill="none" stroke="black" d="M368,-433.746C368,-408.259 368,-360.163 368,-328.603"/>
   236  <polygon fill="black" stroke="black" points="371.5,-328.59 368,-318.59 364.5,-328.59 371.5,-328.59"/>
   237  <text text-anchor="middle" x="440" y="-384.3" font-family="Times,serif" font-size="14.00">publish</text>
   238  <text text-anchor="middle" x="440" y="-369.3" font-family="Times,serif" font-size="14.00">started.json, finished.json,</text>
   239  <text text-anchor="middle" x="440" y="-354.3" font-family="Times,serif" font-size="14.00">build&#45;log.txt, artifacts/</text>
   240  </g>
   241  <!-- ApiServer&#45;&gt;Sinker -->
   242  <g id="edge16" class="edge"><title>ApiServer&#45;&gt;Sinker</title>
   243  <path fill="none" stroke="black" d="M482,-535.056C482,-520.644 482,-504.053 482,-489.578"/>
   244  <polygon fill="black" stroke="black" points="478.5,-535.104 482,-545.104 485.5,-535.104 478.5,-535.104"/>
   245  </g>
   246  <!-- ApiServer&#45;&gt;Horologium -->
   247  <g id="edge17" class="edge"><title>ApiServer&#45;&gt;Horologium</title>
   248  <path fill="none" stroke="black" d="M525.959,-544.399C559.365,-524.184 604.926,-496.614 637.249,-477.055"/>
   249  <polygon fill="black" stroke="black" points="524.057,-541.459 517.313,-549.631 527.681,-547.448 524.057,-541.459"/>
   250  </g>
   251  <!-- ApiServer&#45;&gt;Job -->
   252  <g id="edge15" class="edge"><title>ApiServer&#45;&gt;Job</title>
   253  <path fill="none" stroke="black" d="M452.741,-546.32C444.836,-539.314 436.42,-531.537 429,-524 413.942,-508.704 398.185,-490.292 386.458,-476.051"/>
   254  <polygon fill="black" stroke="black" points="389.088,-473.739 380.054,-468.204 383.665,-478.164 389.088,-473.739"/>
   255  <text text-anchor="middle" x="453.5" y="-512.3" font-family="Times,serif" font-size="14.00">start Pod</text>
   256  </g>
   257  <!-- Kettle -->
   258  <g id="node20" class="node"><title>Kettle</title>
   259  <ellipse fill="none" stroke="black" cx="105" cy="-452" rx="105.039" ry="26.7407"/>
   260  <text text-anchor="middle" x="105" y="-455.8" font-family="Times,serif" font-size="14.00">Kettle</text>
   261  <text text-anchor="middle" x="105" y="-440.8" font-family="Times,serif" font-size="14.00">get GCS results into BQ</text>
   262  </g>
   263  <!-- Kettle&#45;&gt;GCS -->
   264  <g id="edge19" class="edge"><title>Kettle&#45;&gt;GCS</title>
   265  <path fill="none" stroke="black" d="M155.202,-428.23C175.05,-418.798 197.882,-407.408 218,-396 261.099,-371.56 308.633,-339.596 338.4,-318.931"/>
   266  <polygon fill="black" stroke="black" points="340.475,-321.751 346.674,-313.16 336.47,-316.01 340.475,-321.751"/>
   267  <text text-anchor="middle" x="302" y="-369.3" font-family="Times,serif" font-size="14.00">read</text>
   268  </g>
   269  <!-- Kettle&#45;&gt;PubSub -->
   270  <g id="edge20" class="edge"><title>Kettle&#45;&gt;PubSub</title>
   271  <path fill="none" stroke="black" d="M120.468,-425.166C125.827,-416.021 131.792,-405.617 137,-396 167.45,-339.767 200.268,-273.236 219.967,-232.588"/>
   272  <polygon fill="black" stroke="black" points="223.122,-234.103 224.325,-223.577 216.82,-231.056 223.122,-234.103"/>
   273  <text text-anchor="middle" x="218" y="-293.3" font-family="Times,serif" font-size="14.00">read</text>
   274  </g>
   275  <!-- Kettle&#45;&gt;BigQuery -->
   276  <g id="edge21" class="edge"><title>Kettle&#45;&gt;BigQuery</title>
   277  <path fill="none" stroke="black" d="M105,-425.046C105,-402.466 105,-369.252 105,-342.447"/>
   278  <polygon fill="black" stroke="black" points="108.5,-342.152 105,-332.152 101.5,-342.152 108.5,-342.152"/>
   279  <text text-anchor="middle" x="119" y="-369.3" font-family="Times,serif" font-size="14.00">write</text>
   280  </g>
   281  </g>
   282  </svg>