2016-06-28 10:22:53 +08:00
|
|
|
.nowrap {
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
.ngCellText .app-icon-small {
|
|
|
|
width: 24px;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.filter-header {
|
|
|
|
padding-bottom: 10px;
|
|
|
|
}
|
|
|
|
.app-name {
|
|
|
|
padding-left: 10px;
|
|
|
|
}
|
|
|
|
.profile-selector-name .app-name {
|
|
|
|
padding-left: 4px;
|
|
|
|
}
|
|
|
|
img.icon-small-app {
|
|
|
|
width: 24px;
|
|
|
|
height: 24px;
|
|
|
|
vertical-align: text-bottom;
|
|
|
|
}
|
|
|
|
.profile-selector-name {
|
|
|
|
line-height: 24px;
|
|
|
|
}
|
|
|
|
img.icon-selected-app {
|
|
|
|
width: 64px;
|
|
|
|
height: 64px;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.selected-app-name {
|
|
|
|
line-height: 36px;
|
|
|
|
padding-left: 5px;
|
|
|
|
}
|
|
|
|
.controller-pod-counts {
|
|
|
|
padding-right: 16px;
|
|
|
|
padding-top: 8px;
|
|
|
|
}
|
|
|
|
.pipeline-build-block {
|
|
|
|
background-color: #eeeeee;
|
|
|
|
display: inline-block;
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
.pipeline-build {
|
|
|
|
background: white;
|
|
|
|
-moz-border-radius: 10px;
|
|
|
|
border-radius: 10px;
|
|
|
|
padding-top: 10px;
|
|
|
|
padding-bottom: 10px;
|
|
|
|
padding-left: 20px;
|
|
|
|
padding-right: 20px;
|
|
|
|
margin-top: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
margin-left: 20px;
|
|
|
|
margin-right: 20px;
|
|
|
|
}
|
|
|
|
.pipeline-deploy {
|
|
|
|
background: white;
|
|
|
|
border: 5px solid;
|
|
|
|
-moz-border-radius: 10px;
|
|
|
|
border-radius: 10px;
|
|
|
|
padding-top: 10px;
|
|
|
|
padding-bottom: 10px;
|
|
|
|
padding-left: 20px;
|
|
|
|
padding-right: 20px;
|
|
|
|
margin-top: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
margin-left: 20px;
|
|
|
|
margin-right: 20px;
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
.widget-body > .pipeline-panel,
|
|
|
|
.widget-body > .pipeline-panel > *,
|
|
|
|
.widget-body > .pipeline-panel > * > *,
|
|
|
|
.widget-body > .pipeline-panel > * > * > *,
|
|
|
|
.widget-body > .pipeline-panel > * > * > * > * {
|
|
|
|
height: 100%;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.pipeline-block {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
.build-fail {
|
|
|
|
border-color: lightcoral;
|
|
|
|
}
|
|
|
|
.build-success {
|
|
|
|
border-color: lightgreen;
|
|
|
|
}
|
|
|
|
.build-pending {
|
|
|
|
border-color: khaki;
|
|
|
|
}
|
|
|
|
.build-aborted {
|
|
|
|
border-color: silver;
|
|
|
|
}
|
|
|
|
.build-not-started {
|
|
|
|
border-color: lightblue;
|
|
|
|
}
|
|
|
|
.pipeline-build a {
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
.pipeline-deploy a {
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
.pipeline-pod-counts {
|
|
|
|
padding-right: 16px;
|
|
|
|
padding-top: 8px;
|
|
|
|
}
|
|
|
|
.pipeline-row {
|
|
|
|
background: lightgrey;
|
|
|
|
height: 80px;
|
|
|
|
display: inline;
|
|
|
|
border-radius: 4px;
|
|
|
|
text-align: center;
|
|
|
|
vertical-align: middle;
|
|
|
|
border: 20px;
|
|
|
|
margin: 5px;
|
|
|
|
}
|
|
|
|
.pipeline-arrow {
|
|
|
|
font-size: 1.2em;
|
|
|
|
}
|
|
|
|
.icon-heading {
|
|
|
|
font-size: 24px;
|
|
|
|
}
|
|
|
|
.row-header {
|
|
|
|
padding-bottom: 20px;
|
|
|
|
}
|
|
|
|
.project-overview-title {
|
|
|
|
padding-left: 80px;
|
|
|
|
padding-top: 18px;
|
|
|
|
}
|
|
|
|
.project-overview-title a {
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
/*
|
|
|
|
|
|
|
|
.raw-json-view {
|
|
|
|
width: 90%; height: 700px;
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
.raw-json-view .CodeMirror {
|
|
|
|
height: 90%;
|
|
|
|
}
|
|
|
|
.k8sServiceApp-menu {
|
|
|
|
width: 260px;
|
|
|
|
}
|
|
|
|
.k8sServiceApp > a {
|
|
|
|
padding-top: 5px !important;
|
|
|
|
padding-bottom: 5px !important;
|
|
|
|
line-height: 32px !important;
|
|
|
|
}
|
|
|
|
.k8sServiceApp > a > img {
|
|
|
|
vertical-align: bottom;
|
|
|
|
}
|
|
|
|
.k8sServiceApp > a > span {
|
|
|
|
font-size: 14px;
|
|
|
|
line-height: 32px;
|
|
|
|
}
|
|
|
|
.breadcrumb-tabs {
|
|
|
|
padding-top: 5px;
|
|
|
|
}
|
|
|
|
tbody .ngCellText i {
|
|
|
|
margin-right: 5px;
|
|
|
|
}
|
|
|
|
.log-success {
|
|
|
|
color: green;
|
|
|
|
}
|
|
|
|
.log-warn {
|
|
|
|
color: orange;
|
|
|
|
}
|
|
|
|
.log-error {
|
|
|
|
color: red;
|
|
|
|
}
|
|
|
|
.form-warning.bg-danger {
|
|
|
|
padding: 8px;
|
|
|
|
}
|
|
|
|
legend {
|
|
|
|
border-bottom: none;
|
|
|
|
}
|
|
|
|
/* TODO lets work around some ui-bootstrap / patternfly css gremlins */
|
|
|
|
.modal .modal-dialog {
|
|
|
|
margin-top: 0px;
|
|
|
|
margin-bottom: 0px;
|
|
|
|
}
|
|
|
|
/* lets set this to the same size as modal-dialog */
|
|
|
|
.modal {
|
|
|
|
width: 600px;
|
|
|
|
}
|
|
|
|
.btn.btn-padding {
|
|
|
|
margin-left: 5px;
|
|
|
|
margin-right: 5px;
|
|
|
|
}
|
|
|
|
.k8s-badge-batch {
|
|
|
|
background-color: darkblue;
|
|
|
|
}
|
|
|
|
.k8s-badge-type {
|
|
|
|
background-color: darkgreen;
|
|
|
|
}
|
|
|
|
.k8s-badge-region {
|
|
|
|
background-color: darkred;
|
|
|
|
}
|
|
|
|
.k8s-badge-system {
|
|
|
|
background-color: darkmagenta;
|
|
|
|
}
|
2016-06-30 20:12:32 +08:00
|
|
|
.k8s-badge-target {
|
|
|
|
background-color: Red;
|
|
|
|
}
|
2016-06-28 10:22:53 +08:00
|
|
|
|
|
|
|
.environment-row a {
|
|
|
|
color: black;
|
|
|
|
}
|
|
|
|
.environment-row .panel {
|
|
|
|
min-width: 255px;
|
|
|
|
min-height: 160px;
|
|
|
|
}
|
|
|
|
.environment-row .panel-group {
|
|
|
|
margin-left: 10px;
|
|
|
|
margin-right: 10px;
|
|
|
|
}
|
|
|
|
.environment-row .panel-title > a:before {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
.environment-rows {
|
|
|
|
/*
|
|
|
|
background-color: rgb(238, 238, 238);
|
|
|
|
*/
|
|
|
|
padding-top: 5px;
|
|
|
|
vertical-align: top;
|
|
|
|
}
|
|
|
|
.environment-name-block {
|
|
|
|
width: 200px;
|
|
|
|
}
|
|
|
|
.environment-name-block,
|
|
|
|
.environment-deploy-block {
|
|
|
|
background: white;
|
|
|
|
-moz-border-radius: 10px;
|
|
|
|
border-radius: 10px;
|
|
|
|
padding-top: 10px;
|
|
|
|
padding-bottom: 10px;
|
|
|
|
padding-left: 20px;
|
|
|
|
padding-right: 20px;
|
|
|
|
margin-top: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
margin-left: 20px;
|
|
|
|
margin-right: 20px;
|
|
|
|
}
|
|
|
|
.environment-name-block {
|
|
|
|
padding-top: 0px;
|
|
|
|
}
|
|
|
|
.environment-block {
|
|
|
|
vertical-align: top;
|
|
|
|
}
|
|
|
|
.environment-deploy-block {
|
|
|
|
border: 1px dashed;
|
|
|
|
border-color: silver;
|
|
|
|
}
|
|
|
|
.environment-deploy-version-and-pods {
|
|
|
|
padding-bottom: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.project-dashboard .page-header-row {
|
|
|
|
background: white;
|
|
|
|
margin-left: -20px;
|
|
|
|
margin-right: -20px;
|
|
|
|
margin-top: -20px;
|
|
|
|
border-bottom: 1px solid #d1d1d1;
|
|
|
|
margin-bottom: 13px;
|
|
|
|
padding-bottom: 7px;
|
|
|
|
}
|
|
|
|
.project-dashboard .card-pf-title {
|
|
|
|
margin-right: 1em;
|
|
|
|
}
|
|
|
|
.project-dashboard .no-border {
|
|
|
|
border: none;
|
|
|
|
margin-bottom: 0;
|
|
|
|
}
|
|
|
|
.project-dashboard .no-top-margin {
|
|
|
|
margin-top: 0;
|
|
|
|
}
|
|
|
|
.project-dashboard .full-card-width {
|
|
|
|
margin-left: -20px;
|
|
|
|
margin-right: -20px;
|
|
|
|
}
|
|
|
|
.project-dashboard .card-pf.pipeline .panel-group {
|
|
|
|
border-width: 0;
|
|
|
|
}
|
|
|
|
.project-dashboard .card-pf.pipeline .panel-group .panel {
|
|
|
|
box-shadow: none;
|
|
|
|
}
|
|
|
|
.project-dashboard .card-pf.pipeline .panel-group .panel.panel-default {
|
|
|
|
border-width: 0;
|
|
|
|
border-top-width: 1px;
|
|
|
|
}
|
|
|
|
.project-dashboard .card-pf.pipeline .panel-group .panel.panel-default .log-panel {
|
|
|
|
border: 1px solid #d4d4d4;
|
|
|
|
}
|
|
|
|
|
|
|
|
.filter-header .btn,
|
|
|
|
.filter-header form {
|
|
|
|
margin-top: 1.05em;
|
|
|
|
margin-bottom: 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.log-window {
|
|
|
|
border-top: 1px solid #d4d4d4;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
.log-window-inner * {
|
|
|
|
font-family: "DroidSansMonoRegular", monospace;
|
|
|
|
line-height: 13px;
|
|
|
|
}
|
|
|
|
.log-panel {
|
|
|
|
position: static;
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
overflow: auto;
|
|
|
|
border: none;
|
|
|
|
padding: 3px;
|
|
|
|
}
|
|
|
|
.log-panel-inner * {
|
|
|
|
font-family: "DroidSansMonoRegular", monospace;
|
|
|
|
line-height: 13px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.project-selector {
|
|
|
|
margin-top: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
list-style-type: none;
|
|
|
|
}
|
|
|
|
.project-selector a,
|
|
|
|
.project-selector a:hover {
|
|
|
|
color: #fff;
|
|
|
|
text-decoration: none;
|
|
|
|
font-size: 13px;
|
|
|
|
line-height: 21px;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* 样式重置 */
|
|
|
|
body,
|
|
|
|
h1,
|
|
|
|
h2,
|
|
|
|
h3,
|
|
|
|
h4,
|
|
|
|
h5,
|
|
|
|
h6,
|
|
|
|
hr,
|
|
|
|
p,
|
|
|
|
blockquote,
|
|
|
|
dl,
|
|
|
|
dt,
|
|
|
|
dd,
|
|
|
|
ul,
|
|
|
|
ol,
|
|
|
|
li,
|
|
|
|
pre,
|
|
|
|
form,
|
|
|
|
fieldset,
|
|
|
|
legend,
|
|
|
|
button,
|
|
|
|
input,
|
|
|
|
textarea,
|
|
|
|
th,
|
|
|
|
td {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
body,
|
|
|
|
table,
|
|
|
|
input,
|
|
|
|
textarea,
|
|
|
|
select,
|
|
|
|
button {
|
|
|
|
font-family: "微软雅黑", "宋体";
|
|
|
|
font-size: 12px;
|
|
|
|
line-height: 1.5;
|
|
|
|
background: #fff;
|
|
|
|
}
|
|
|
|
div,
|
|
|
|
img,
|
|
|
|
tr,
|
|
|
|
td,
|
|
|
|
table {
|
|
|
|
border: 0;
|
|
|
|
}
|
|
|
|
table,
|
|
|
|
tr,
|
|
|
|
td {
|
|
|
|
border: 0;
|
|
|
|
cellspacing: 0;
|
|
|
|
cellpadding: 0;
|
|
|
|
}
|
|
|
|
ol,
|
|
|
|
ul,
|
|
|
|
li {
|
|
|
|
list-style-type: none;
|
|
|
|
}
|
|
|
|
a:link,
|
|
|
|
a:visited {
|
|
|
|
color: #7f7f7f;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
a:hover,
|
|
|
|
a:active {
|
|
|
|
color: #000;
|
|
|
|
}
|
|
|
|
.fl {
|
|
|
|
float: left;
|
|
|
|
}
|
|
|
|
.fr {
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
.cl {
|
|
|
|
clear: both;
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
/* 数据页面 */
|
|
|
|
.data_container {
|
|
|
|
width: 100%;
|
|
|
|
margin: 0 auto;
|
|
|
|
}
|
|
|
|
.data_heaer {
|
|
|
|
height: 66px;
|
|
|
|
width: 100%;
|
|
|
|
background-color: #3499db;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.data_heaer h2 {
|
|
|
|
font-size: 30px;
|
|
|
|
font-weight: 300;
|
|
|
|
color: #fff;
|
|
|
|
line-height: 66px;
|
|
|
|
}
|
|
|
|
.data_content {
|
|
|
|
width: 1280px;
|
|
|
|
height: 838px;
|
|
|
|
margin: 0 auto;
|
|
|
|
background-color: #fff;
|
|
|
|
border: 1px solid #e0dede;
|
|
|
|
border-top: none;
|
|
|
|
}
|
|
|
|
.data_leftside {
|
|
|
|
width: 611px;
|
|
|
|
border-right: 1px solid #e0dede;
|
|
|
|
}
|
|
|
|
.data_h3 {
|
|
|
|
width: 100%;
|
|
|
|
text-align: center;
|
|
|
|
height: 50px;
|
|
|
|
font-size: 18px;
|
|
|
|
color: #444;
|
|
|
|
line-height: 50px;
|
|
|
|
}
|
|
|
|
.data_leftside_files {
|
|
|
|
border-right: 1px solid #e0dede;
|
|
|
|
border-bottom: 1px solid #e0dede;
|
|
|
|
height: 710px;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
.data_leftside_files input {
|
|
|
|
margin-top: 15px;
|
|
|
|
width: 15px;
|
|
|
|
height: 15px;
|
|
|
|
}
|
|
|
|
.data_leftside_files li {
|
|
|
|
height: 40px;
|
|
|
|
line-height: 40px;
|
|
|
|
border-bottom: 1px solid #e0dede;
|
|
|
|
padding: 0 10px;
|
|
|
|
}
|
|
|
|
.data_leftside_files li.data_title {
|
|
|
|
width: 210px;
|
|
|
|
height: 36px;
|
|
|
|
line-height: 36px;
|
|
|
|
text-align: center;
|
|
|
|
background-color: #e9f3fb;
|
|
|
|
border: none;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
-o-text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
.date_label {
|
|
|
|
display: block;
|
|
|
|
width: 168px;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
-o-text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
.data_leftside_shu {
|
|
|
|
border-right: none;
|
|
|
|
}
|
|
|
|
.data_leftside_shu li {
|
|
|
|
border-bottom: none;
|
|
|
|
}
|
|
|
|
.data_conbar {
|
|
|
|
width: 149px;
|
|
|
|
height: 834px;
|
|
|
|
border-right: 1px solid #e0dede;
|
|
|
|
border-left: 1px solid #e0dede;
|
|
|
|
}
|
|
|
|
.date_btns {
|
|
|
|
width: 260px;
|
|
|
|
margin: 20px auto;
|
|
|
|
}
|
|
|
|
.date_btns_w {
|
|
|
|
width: 390px;
|
|
|
|
}
|
|
|
|
.date_btns button {
|
|
|
|
margin: 10px 20px;
|
|
|
|
}
|
|
|
|
.data_btn {
|
|
|
|
border: none;
|
|
|
|
width: 108px;
|
|
|
|
height: 35px;
|
|
|
|
line-height: 35px;
|
|
|
|
text-align: center;
|
|
|
|
background-color: #3499db;
|
|
|
|
color: #fff;
|
|
|
|
font-size: 14px;
|
|
|
|
-webkit-border-radius: 5px;
|
|
|
|
-moz-border-radius: 5px;
|
|
|
|
-o-border-radius: 5px;
|
|
|
|
border-radius: 5px;
|
|
|
|
}
|
|
|
|
.data_btn:hover {
|
|
|
|
background-color: #2989da;
|
|
|
|
}
|
|
|
|
.data_rightside {
|
|
|
|
width: 667px;
|
|
|
|
}
|
|
|
|
.data_rightside_w {
|
|
|
|
width: 407px;
|
|
|
|
}
|
|
|
|
.data_leftside_files li.data_title_w {
|
|
|
|
width: 184px;
|
|
|
|
}
|
|
|
|
.date_label_w {
|
|
|
|
width: 150px;
|
|
|
|
}
|
|
|
|
.data_leftside_shu li {
|
|
|
|
border-bottom: none;
|
|
|
|
}
|
|
|
|
a.data_file_btn {
|
|
|
|
display: block;
|
|
|
|
position: relative;
|
|
|
|
width: 108px;
|
|
|
|
height: 35px;
|
|
|
|
margin: 15px auto;
|
|
|
|
line-height: 35px;
|
|
|
|
font-size: 14px;
|
|
|
|
color: #fff;
|
|
|
|
text-align: center;
|
|
|
|
background-color: #79b4e7;
|
|
|
|
background-image: -webkit-linear-gradient(#79b4e7, #1377cf);
|
|
|
|
background-image: linear-gradient(#79b4e7, #1377cf);
|
|
|
|
border-color: #076bc2;
|
|
|
|
-webkit-border-radius: 5px;
|
|
|
|
-moz-border-radius: 5px;
|
|
|
|
-o-border-radius: 5px;
|
|
|
|
border-radius: 5px;
|
|
|
|
vertical-align: middle;
|
|
|
|
cursor: pointer;
|
|
|
|
margin: 0 10px;
|
|
|
|
}
|
|
|
|
a:hover.data_file_btn {
|
|
|
|
background-color: #076bc2;
|
|
|
|
background-image: -webkit-linear-gradient(#79b4e7, #076bc2);
|
|
|
|
background-image: linear-gradient(#79b4e7, #076bc2);
|
|
|
|
border-color: #076bc2;
|
|
|
|
}
|
|
|
|
.data_file_btn input {
|
|
|
|
position: absolute;
|
|
|
|
left: 0px;
|
|
|
|
opacity: 0;
|
|
|
|
filter: alpha(opacity=0);
|
|
|
|
width: 108px;
|
|
|
|
height: 35px;
|
|
|
|
}
|
|
|
|
.data_conbox {
|
|
|
|
width: 407px;
|
|
|
|
height: 709px;
|
|
|
|
border-top: 1px solid #e0dede;
|
|
|
|
border-bottom: 1px solid #e0dede;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
.data_con_title {
|
|
|
|
width: 49.8%;
|
|
|
|
height: 36px;
|
|
|
|
line-height: 36px;
|
|
|
|
text-align: center;
|
|
|
|
background-color: #e9f3fb;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
-o-text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
.data_con_line {
|
|
|
|
border-right: 1px solid #e0dede;
|
|
|
|
}
|
|
|
|
.data_con_li {
|
|
|
|
width: 49.8%;
|
|
|
|
height: 36px;
|
|
|
|
line-height: 36px;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
-o-text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
border-bottom: 1px solid #e0dede;
|
|
|
|
}
|
|
|
|
.mt15 {
|
|
|
|
margin-top: 15px;
|
|
|
|
}
|
|
|
|
#file-uploads {
|
|
|
|
opacity: 0;
|
|
|
|
position: absolute;
|
|
|
|
z-index: 10;
|
|
|
|
width: 118px;
|
|
|
|
height: 35px;
|
|
|
|
}
|
|
|
|
/* 树形结构 */
|
|
|
|
.data_rightside_tree {
|
|
|
|
width: 259px;
|
|
|
|
height: 709px;
|
|
|
|
border-right: 1px solid #e0dede;
|
|
|
|
border-top: 1px solid #e0dede;
|
|
|
|
border-bottom: 1px solid #e0dede;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
.tree {
|
|
|
|
min-height: 20px;
|
|
|
|
padding: 15px;
|
|
|
|
padding-left: 30px;
|
|
|
|
border-bottom: 1px dashed #ccc;
|
|
|
|
}
|
|
|
|
.tree li {
|
|
|
|
list-style-type: none;
|
|
|
|
margin: 0;
|
|
|
|
padding: 10px 5px 0 20px;
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
.tree li::before,
|
|
|
|
.tree li::after {
|
|
|
|
content: '';
|
|
|
|
left: -30px;
|
|
|
|
position: absolute;
|
|
|
|
right: auto;
|
|
|
|
}
|
|
|
|
.tree li::before {
|
|
|
|
border-left: 1px solid #999;
|
|
|
|
bottom: 50px;
|
|
|
|
height: 100%;
|
|
|
|
top: 0;
|
|
|
|
width: 0px;
|
|
|
|
}
|
|
|
|
.tree li::after {
|
|
|
|
border-top: 1px solid #999;
|
|
|
|
height: 20px;
|
|
|
|
top: 25px;
|
|
|
|
width: 35px;
|
|
|
|
}
|
|
|
|
.tree li p {
|
|
|
|
display: inline-block;
|
|
|
|
padding: 3px 10px;
|
|
|
|
border: 1px solid #fff;
|
|
|
|
margin-left: -15px;
|
|
|
|
width: 150px;
|
|
|
|
}
|
|
|
|
.tree li.parent_li > p {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
.tree > ul > li::before,
|
|
|
|
.tree > ul > li::after {
|
|
|
|
border: 0;
|
|
|
|
}
|
|
|
|
.tree li:last-child::before {
|
|
|
|
height: 30px;
|
|
|
|
}
|
|
|
|
.icon-plus-sign {
|
|
|
|
margin-left: -15px;
|
|
|
|
background: url(../img/icons1.gif) -5px 10px no-repeat;
|
|
|
|
}
|
|
|
|
.icon-minus-sign {
|
|
|
|
margin-left: -15px;
|
|
|
|
background: url(../img/icons2.gif) -6px 9px no-repeat;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* This is for the 'Overview' page with all the rows of boxes */
|
|
|
|
.service-view-rectangle {
|
|
|
|
position: relative;
|
|
|
|
margin-left: 0;
|
|
|
|
margin-right: 0px;
|
|
|
|
margin-bottom: 15px;
|
|
|
|
margin-top: 0;
|
|
|
|
background-color: #fafafa;
|
|
|
|
border-width: 1px;
|
|
|
|
border-style: solid;
|
|
|
|
border-color: #eeeeee;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-header {
|
|
|
|
margin-top: 5px;
|
|
|
|
margin-bottom: 5px;
|
|
|
|
line-height: 20px;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-pod-box {
|
|
|
|
background-color: #eeeeee;
|
|
|
|
display: inline-block;
|
|
|
|
font-size: smaller;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-header-delete .red {
|
|
|
|
opacity: 0.5;
|
|
|
|
transition: opacity 1s;
|
|
|
|
font-size: larger;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-header-delete:hover .red {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-icon img {
|
|
|
|
width: 32px;
|
|
|
|
height: 32px;
|
|
|
|
margin-right: 6px;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-name {
|
|
|
|
font-size: larger;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-header {
|
|
|
|
padding-top: 5px;
|
|
|
|
padding-bottom: 5px;
|
|
|
|
line-height: 20px;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-rectangle {
|
|
|
|
background-color: #eeeeee;
|
|
|
|
padding-left: 10px;
|
|
|
|
padding-right: 10px;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-rectangle .value {
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-pod-summary,
|
|
|
|
.service-view-rectangle .service-view-detail-pod-summary-expand {
|
|
|
|
display: inline-block;
|
|
|
|
padding-top: 2px;
|
|
|
|
padding-bottom: 2px;
|
|
|
|
padding-left: 20px;
|
|
|
|
padding-right: 20px;
|
|
|
|
margin-right: 8px;
|
|
|
|
margin-bottom: 8px;
|
|
|
|
background-color: #ffffff;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-pod-summary table td,
|
|
|
|
.service-view-rectangle .service-view-detail-pod-summary-expand table td {
|
|
|
|
padding-left: 10px;
|
|
|
|
padding-right: 10px;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-pod-status,
|
|
|
|
.service-view-rectangle .service-view-detail-pod-connect {
|
|
|
|
line-height: 36px;
|
|
|
|
padding-right: 20px;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-pod-status i,
|
|
|
|
.service-view-rectangle .service-view-detail-pod-connect i {
|
|
|
|
font-size: 36px;
|
|
|
|
display: inline-block;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.service-view-rectangle .service-view-detail-pod-expand {
|
|
|
|
color: #a0a0a0;
|
|
|
|
font-size: 18px;
|
|
|
|
padding-right: 0px;
|
|
|
|
}
|
|
|
|
.kubernetes-view .filter-header {
|
|
|
|
margin-bottom: 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* This is all for the diagram, not the 'Overview' page */
|
|
|
|
.kubernetes-overview {
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
display: table;
|
|
|
|
table-layout: fixed;
|
|
|
|
}
|
|
|
|
.kubernetes-overview-row {
|
|
|
|
display: table-row;
|
|
|
|
}
|
|
|
|
.kubernetes-overview-cell {
|
|
|
|
display: table-cell;
|
|
|
|
text-align: center;
|
|
|
|
vertical-align: middle;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
.service-wrapper {
|
|
|
|
display: block;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.kubernetes-node {
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
cursor: pointer;
|
|
|
|
text-align: center;
|
|
|
|
vertical-align: middle;
|
|
|
|
border: 1px solid #d4d4d4;
|
|
|
|
background: white;
|
|
|
|
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
|
|
|
|
border-radius: 4px;
|
|
|
|
transition: background 0.5s;
|
|
|
|
z-index: 1000;
|
|
|
|
}
|
|
|
|
.kubernetes-host-container {
|
|
|
|
margin-top: 5px;
|
|
|
|
margin-bottom: 5px;
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
text-align: center;
|
|
|
|
max-width: 600px;
|
|
|
|
min-width: 300px;
|
|
|
|
padding: 0;
|
|
|
|
border: 1px solid #d4d4d4;
|
|
|
|
background: white;
|
|
|
|
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
|
|
|
|
border-radius: 4px;
|
|
|
|
}
|
|
|
|
.kubernetes-pod-node {
|
|
|
|
display: block;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
min-height: 48px;
|
|
|
|
line-height: 48px;
|
|
|
|
border-radius: 0;
|
|
|
|
border: 1px solid transparent;
|
|
|
|
border-top: 1px solid #d4d4d4;
|
|
|
|
box-shadow: none;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.css-table {
|
|
|
|
display: table;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
.css-table-row {
|
|
|
|
display: table-row;
|
|
|
|
}
|
|
|
|
.css-table-row .pod-status-cell {
|
|
|
|
text-align: left;
|
|
|
|
padding-left: 5px;
|
|
|
|
padding-right: 5px;
|
|
|
|
}
|
|
|
|
.css-table-row .pod-status-cell i {
|
|
|
|
margin-left: 3px;
|
|
|
|
margin-right: 3px;
|
|
|
|
}
|
|
|
|
.css-table-row .pod-status-cell .clickable {
|
|
|
|
width: auto !important;
|
|
|
|
}
|
|
|
|
.css-table-cell {
|
|
|
|
display: table-cell;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
.kubernetes-pod-node i {
|
|
|
|
font-size: 24px;
|
|
|
|
}
|
|
|
|
.kubernetes-overview-services {
|
|
|
|
width: 200px;
|
|
|
|
}
|
|
|
|
.kubernetes-service-node {
|
|
|
|
display: block;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
width: 200px;
|
|
|
|
min-height: 66px;
|
|
|
|
padding: 0;
|
|
|
|
line-height: 48px;
|
|
|
|
}
|
|
|
|
.kubernetes-service-node .node-body {
|
|
|
|
display: inline;
|
|
|
|
padding-left: 10px;
|
|
|
|
line-height: 64px;
|
|
|
|
font-size: 20px;
|
|
|
|
float: left;
|
|
|
|
}
|
|
|
|
.kubernetes-service-node .node-header {
|
|
|
|
display: inline;
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
.node-header {
|
|
|
|
padding-right: 10px;
|
|
|
|
white-space: nowrap;
|
|
|
|
line-height: 64px;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
.kubernetes-replicationController-node {
|
|
|
|
border-radius: 64px;
|
|
|
|
display: block;
|
|
|
|
width: 64px;
|
|
|
|
height: 64px;
|
|
|
|
padding: 7px;
|
|
|
|
font-weight: bold;
|
|
|
|
vertical-align: middle;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
.kubernetes-overview-cell .app-icon-medium {
|
|
|
|
width: 48px;
|
|
|
|
height: 48px;
|
|
|
|
}
|
|
|
|
.kubernetes-replicationController-node img {
|
|
|
|
width: 64px;
|
|
|
|
}
|
|
|
|
.kubernetes-node:hover,
|
|
|
|
.kubernetes-node.hovered {
|
|
|
|
background: #ddddff;
|
|
|
|
}
|
|
|
|
.pod-status-cell {
|
|
|
|
width: 80px;
|
|
|
|
line-height: 20px;
|
|
|
|
}
|
|
|
|
.pod-label-cell {
|
|
|
|
float: right;
|
|
|
|
text-align: right;
|
|
|
|
min-height: 48px;
|
|
|
|
}
|
|
|
|
.pod-label-cell .ngCellText {
|
|
|
|
white-space: normal;
|
|
|
|
}
|
|
|
|
|
|
|
|
.pod-log-lines * {
|
|
|
|
padding-left: 5px;
|
|
|
|
padding-right: 5px;
|
|
|
|
font-family: monospace;
|
|
|
|
margin: 0;
|
|
|
|
line-height: 14px;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .black {
|
|
|
|
color: #222;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .red {
|
|
|
|
color: #f22;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .green {
|
|
|
|
color: #2f2;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .yellow {
|
|
|
|
color: #ff2;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .blue {
|
|
|
|
color: #22f;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .purple {
|
|
|
|
color: #f2f;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .cyan {
|
|
|
|
color: #2dd;
|
|
|
|
}
|
|
|
|
.pod-log-lines * .white {
|
|
|
|
color: #ddd;
|
|
|
|
}
|
|
|
|
|
|
|
|
.terminal-window {
|
|
|
|
position: fixed;
|
|
|
|
bottom: 0;
|
|
|
|
background: white;
|
|
|
|
border: 1px solid #d4d4d4;
|
|
|
|
overflow: hidden;
|
|
|
|
z-index: 1040;
|
|
|
|
}
|
|
|
|
.terminal-window .resize-dot {
|
|
|
|
width: 16px;
|
|
|
|
height: 16px;
|
|
|
|
border: 1px solid #d4d4d4;
|
|
|
|
background: white;
|
|
|
|
position: absolute;
|
|
|
|
bottom: 10px;
|
|
|
|
right: 10px;
|
|
|
|
cursor: nwse-resize;
|
|
|
|
border-radius: 8px;
|
|
|
|
z-index: 10000;
|
|
|
|
}
|
|
|
|
.terminal-window.minimized .resize-dot,
|
|
|
|
.terminal-window.maximized .resize-dot {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
.terminal-window.minimized .terminal-title,
|
|
|
|
.terminal-window.maximized .terminal-title {
|
|
|
|
cursor: inherit;
|
|
|
|
}
|
|
|
|
.terminal-window .terminal-body {
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
.terminal-window .terminal-body .terminal-wrapper > .terminal * {
|
|
|
|
font-family: 'DroidSansMonoRegular';
|
|
|
|
}
|
|
|
|
.terminal-window .terminal-title {
|
|
|
|
cursor: move;
|
|
|
|
border-bottom: 1px solid #d4d4d4;
|
|
|
|
}
|
|
|
|
.terminal-window .terminal-title > h5 {
|
|
|
|
display: inline-block;
|
|
|
|
margin-left: 5px;
|
|
|
|
}
|
|
|
|
.terminal-window .terminal-title > i {
|
|
|
|
font-size: 16px;
|
|
|
|
margin-right: 5px;
|
|
|
|
margin-top: 7px;
|
|
|
|
}
|
|
|
|
kubernetes-container-terminal .terminal-wrapper {
|
|
|
|
display: block !important;
|
|
|
|
}
|
|
|
|
kubernetes-container-terminal .terminal-actions {
|
|
|
|
position: absolute !important;
|
|
|
|
}
|
|
|
|
.pod-log-window .scroll-indicator {
|
|
|
|
position: absolute;
|
|
|
|
bottom: 0;
|
|
|
|
line-height: 32px;
|
|
|
|
left: 20px;
|
|
|
|
right: 20px;
|
|
|
|
background-color: #ffffff;
|
|
|
|
border-top: 1px solid #d4d4d4;
|
|
|
|
border-left: 1px solid #d4d4d4;
|
|
|
|
border-right: 1px solid #d4d4d4;
|
|
|
|
border-radius: 4px 4px 0 0;
|
|
|
|
cursor: pointer;
|
|
|
|
z-index: 10000;
|
|
|
|
opacity: 0.7;
|
|
|
|
}
|
|
|
|
.pod-log-window .terminal-body {
|
|
|
|
overflow-y: auto;
|
|
|
|
overflow-x: hidden;
|
|
|
|
}
|