Browse code

Atomic registry quickstart image

Aaron Weitekamp authored on 2016/02/11 04:59:42
Showing 21 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,40 @@
0
+FROM openshift/origin
1
+MAINTAINER Aaron Weitekamp <aweiteka@redhat.com>
2
+
3
+ADD install.sh run.sh uninstall.sh /container/bin/
4
+ADD registry-console-template.yaml \
5
+    registry-login-template.html \
6
+    registry-newproject-template-shared.json \
7
+    registry-newproject-template-unshared.json \
8
+    /container/etc/origin/
9
+
10
+LABEL name="projectatomic/atomic-registry-quickstart" \
11
+      vendor="Project Atomic" \
12
+      url="https://projectatomic.io/registry" \
13
+      summary="Quickstart image for Atomic Registry" \
14
+      description="This is a quickstart image to install Atomic Registry on a single host. It is an open source enterprise registry solution based on the Origin project featuring single sign-on (SSO) user experience, a robust web interface and advanced role-based access control (RBAC)." \
15
+      INSTALL='docker run -it --rm \
16
+                --privileged --net=host \
17
+                -v /var/run:/var/run:rw \
18
+                -v /sys:/sys \
19
+                -v /etc/localtime:/etc/localtime:ro \
20
+                -v /var/lib/docker:/var/lib/docker:rw \
21
+                -v /var/lib/origin/:/var/lib/origin/ \
22
+                -v /etc/origin/:/etc/origin/ \
23
+                -v /:/host \
24
+                -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \
25
+                --entrypoint /container/bin/install.sh \
26
+                $IMAGE' \
27
+      RUN='docker run -it --rm --privileged \
28
+                --net=host \
29
+                -v /:/host \
30
+                -v /var/lib/docker:/var/lib/docker:rw \
31
+                -v /etc/origin:/etc/origin \
32
+                -v /var/lib/registry:/var/lib/registry \
33
+                -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \
34
+                --entrypoint /container/bin/run.sh \
35
+                $IMAGE' \
36
+      UNINSTALL='docker run -it --rm --privileged \
37
+                -v /:/host \
38
+                --entrypoint /container/bin/uninstall.sh \
39
+                $IMAGE'
0 40
new file mode 100644
... ...
@@ -0,0 +1,19 @@
0
+TEST_IMAGE=atomic-registry-quickstart
1
+INSTALLHOST=127.0.0.1
2
+
3
+all: build install test
4
+
5
+build:
6
+	docker build -t atomic-registry-quickstart .
7
+
8
+install:
9
+	sudo yum install -y atomic
10
+	sudo atomic install $(TEST_IMAGE) $(INSTALLHOST)
11
+	# FIXME: docker error: installer container is not removed using --rm
12
+	sudo atomic run $(TEST_IMAGE) $(INSTALLHOST)
13
+
14
+test:
15
+	bash test.sh
16
+
17
+clean:
18
+	sudo atomic uninstall --force $(TEST_IMAGE) ; sudo docker rm $(sudo docker ps -qa)
0 19
new file mode 100644
... ...
@@ -0,0 +1,57 @@
0
+# Getting Started With Atomic Registry
1
+
2
+http://projectatomic.io/registry
3
+
4
+**Requirements**
5
+
6
+- single host (laptop, vm, vagrant, etc.) with Docker
7
+- Open TCP ports 8443, 443, 5000
8
+- The hostname used during install will be the output of the `hostname` command. If that hostname does not resolve with DNS then pass the IP address to the install procedure.
9
+- (optional) atomic cli, available on Red Hat-based systems Fedora, Centos, Red Hat Enterprise Linux, including Atomic host
10
+
11
+## Install and Run
12
+
13
+The install procedure should be run locally.
14
+
15
+### With atomic CLI
16
+
17
+1. Install the system service files and pull images.
18
+
19
+        sudo atomic install projectatomic/atomic-registry-quickstart [hostname]
20
+1. Optional: edit configuration file `/etc/origin/master/master-config.yaml`.
21
+1. Run the application. This will enable and start the docker containers as system services.
22
+
23
+        sudo atomic run projectatomic/atomic-registry-quickstart [hostname]
24
+
25
+### With straight Docker
26
+
27
+Replace steps 1 and 3 above with the output of the inspect command.
28
+
29
+    sudo docker inspect -f '{{ .Config.Labels.INSTALL }}' projectatomic/atomic-registry-quickstart
30
+    sudo docker inspect -f '{{ .Config.Labels.RUN }}' openshift/atomic-registry-quickstart
31
+
32
+This will provide the docker run commands to install and run the registry installation.
33
+
34
+If you make changes to the API  configuration file `/etc/origin/master/master-config.yaml` restart the API service.
35
+
36
+    sudo docker restart origin
37
+
38
+## Try it out
39
+
40
+1. Explore the web UI on https://<hostname>
41
+1. Login with docker using the reference commands, build and push an image.
42
+
43
+## Uninstall
44
+
45
+    sudo atomic uninstall --force projectatomic/atomic-registry-quickstart
46
+
47
+# Optional Setup steps
48
+
49
+1. [Configure authentication](https://docs.openshift.org/latest/install_config/configuring_authentication.html). Restart the origin API server after making changes to the config file: `sudo docker restart origin` 
50
+1. [Configure persistent registry storage](https://docs.openshift.org/latest/install_config/install/docker_registry.html#advanced-overriding-the-registry-configuration)
51
+1. [Assign a user cluster-admin privilege](https://docs.openshift.org/latest/admin_guide/manage_authorization_policy.html#managing-role-bindings)
52
+1. Explore the web UI
53
+
54
+## Reference Documentation
55
+
56
+https://docs.openshift.org/latest/welcome/index.html
0 57
new file mode 100755
... ...
@@ -0,0 +1,40 @@
0
+#!/bin/bash
1
+
2
+IMAGES=(openshift/origin openshift/origin-docker-registry cockpit/kubernetes)
3
+
4
+for IMAGE in "${IMAGES[@]}"
5
+do
6
+  chroot /host docker pull $IMAGE
7
+done
8
+
9
+INSTALL_HOST=${1:-`hostname`}
10
+echo "Installing using hostname ${INSTALL_HOST}"
11
+
12
+# write out configuration
13
+openshift start --write-config /etc/origin/ --etcd-dir /var/lib/origin/etcd --volume-dir /var/lib/origin/volumes --public-master ${INSTALL_HOST}
14
+
15
+echo "Copy files to host"
16
+
17
+set -x
18
+mv /host/etc/origin/node-* /host/etc/origin/node
19
+
20
+mkdir -p /host/etc/origin/registry/bin
21
+mkdir -p /host/etc/origin/master/site
22
+cp /container/bin/* /host/etc/origin/registry/bin/.
23
+cp /container/etc/origin/registry-console-template.yaml /host/etc/origin/registry/.
24
+cp /container/etc/origin/registry-newproject-template-shared.json /host/etc/origin/registry/.
25
+cp /container/etc/origin/registry-newproject-template-unshared.json /host/etc/origin/registry/.
26
+cp /container/etc/origin/registry-login-template.html /host/etc/origin/master/site/.
27
+# Create registry UI service certificates -- TODO: use this cert
28
+cat /etc/origin/master/master.server.crt /etc/origin/master/master.server.key > /etc/origin/registry/master.server.cert
29
+
30
+set +x
31
+
32
+echo "Updating servicesNodePortRange to 443-32767..."
33
+sed -i 's/  servicesNodePortRange:.*$/  servicesNodePortRange: 443-32767/' /etc/origin/master/master-config.yaml
34
+echo "Updating login template"
35
+sed -i 's/  templates: null$/  templates:\n    login: site\/registry-login-template.html/' /etc/origin/master/master-config.yaml
36
+
37
+echo "Optionally edit configuration file /etc/origin/master/master-config.yaml,"
38
+echo "add certificates to /etc/origin/master,"
39
+echo "then run 'atomic run atomic-registry-quickstart'"
0 40
new file mode 100644
... ...
@@ -0,0 +1,127 @@
0
+kind: Template
1
+apiVersion: v1
2
+metadata:
3
+  name: "registry-console-template"
4
+labels:
5
+  createdBy: "registry-console-template"
6
+parameters:
7
+  -
8
+    description: "The public url for the Openshift OAuth Provider"
9
+    name: OPENSHIFT_OAUTH_PROVIDER_URL
10
+    required: true
11
+  -
12
+    description: "The public url for the Openshift OAuth Provider"
13
+    name: COCKPIT_KUBE_URL
14
+    required: true
15
+  -
16
+    description: "The public url for the Openshift OAuth Provider"
17
+    name: COCKPIT_KUBE_INSECURE
18
+    required: false
19
+  -
20
+    description: "Oauth client secret"
21
+    name: OPENSHIFT_OAUTH_CLIENT_SECRET
22
+    from: "user[a-zA-Z0-9]{64}"
23
+    generate: expression
24
+  -
25
+    description: "Oauth client id"
26
+    name: OPENSHIFT_OAUTH_CLIENT_ID
27
+    value: "cockpit-oauth-client"
28
+  -
29
+    description: "Skip kubernetes CA verification"
30
+    name: KUBERNETES_INSECURE
31
+    value: ""
32
+  -
33
+    description: "PEM Encoded certificate to use for CA verification"
34
+    name: KUBERNETES_CA_DATA
35
+    value: ""
36
+  -
37
+    description: "The hostname or IP address of the registry. Do not include http:// or port."
38
+    name: REGISTRY_HOST
39
+    required: true
40
+objects:
41
+  -
42
+    kind: DeploymentConfig
43
+    apiVersion: v1
44
+    metadata:
45
+      name: "registry-console"
46
+    labels:
47
+      name: "registry-console"
48
+    spec:
49
+      replicas: 1
50
+      selector:
51
+        name: "registry-console"
52
+      template:
53
+        metadata:
54
+          labels:
55
+            name: "registry-console"
56
+        spec:
57
+          containers:
58
+            -
59
+              name: "registry-console"
60
+              image: "cockpit/kubernetes"
61
+              ports:
62
+                -
63
+                  containerPort: 9090
64
+                  protocol: TCP
65
+              env:
66
+                -
67
+                  name: OPENSHIFT_OAUTH_PROVIDER_URL
68
+                  value: "${OPENSHIFT_OAUTH_PROVIDER_URL}"
69
+                -
70
+                  name: OPENSHIFT_OAUTH_CLIENT_ID
71
+                  value: "${OPENSHIFT_OAUTH_CLIENT_ID}"
72
+                -
73
+                  name: KUBERNETES_INSECURE
74
+                  value: "${KUBERNETES_INSECURE}"
75
+                -
76
+                  name: KUBERNETES_CA_DATA
77
+                  value: "${KUBERNETES_CA_DATA}"
78
+                -
79
+                  name: COCKPIT_KUBE_INSECURE
80
+                  value: "${COCKPIT_KUBE_INSECURE}"
81
+                -
82
+                  name: REGISTRY_ONLY
83
+                  value: "true"
84
+                -
85
+                  name: REGISTRY_HOST
86
+                  value: "${REGISTRY_HOST}"
87
+  -
88
+    kind: Service
89
+    apiVersion: v1
90
+    metadata:
91
+     name: "registry-console"
92
+     labels:
93
+       name: "registry-console"
94
+    spec:
95
+      type: ClusterIP
96
+      ports:
97
+        -
98
+          protocol: TCP
99
+          port: 9000
100
+          targetPort: 9090
101
+          selector:
102
+            name: "registry-console"
103
+  -
104
+    kind: ImageStream
105
+    apiVersion: v1
106
+    metadata:
107
+      name: registry-console
108
+      annotations:
109
+        description: Atomic Registry console
110
+    spec:
111
+      tags:
112
+        - annotations: null
113
+          from:
114
+            kind: DockerImage
115
+            name: cockpit/kubernetes
116
+          name: latest
117
+  -
118
+    kind: OAuthClient
119
+    apiVersion: v1
120
+    metadata:
121
+      name: "${OPENSHIFT_OAUTH_CLIENT_ID}"
122
+      respondWithChallenges: false
123
+    secret: "${OPENSHIFT_OAUTH_CLIENT_SECRET}"
124
+    redirectURIs:
125
+      -
126
+        "${COCKPIT_KUBE_URL}"
0 127
new file mode 100644
... ...
@@ -0,0 +1,2357 @@
0
+
1
+<!DOCTYPE html>
2
+
3
+
4
+
5
+<html class="login-pf">
6
+
7
+  <head>
8
+    <title>Login - Atomic Registry</title>
9
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
+    <link rel="shortcut icon" href="data:image/ico;base64,AAABAAIAEBAAAAEAIAAoBQAAJgAAACAgAAABACAAKBQAAE4FAAAoAAAAEAAAACAAAAABACAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xP///+E////2v////D////w////7v///8H///9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1H////5//////////////////////v7+/+wsLL/5ubn/////8L///8TAAAAAAAAAAAAAAAAAAAAAP///2X/////////////////////////////////////Tk5Q9j4+Qfv/////////4f7+/hkAAAAAAAAAAP///y/////////////////////////////////Gxsn/e3yA//////0aGh35HR8g+5ycnv92dnm3AAAAAP///wv///+p/////+bm6P6mp6n68fHy/v/////////9x8TB/H14bP3////9hIJ+9wAAAP4AAAD/AAAA/wAAAEw4ODtWQUFE+oqKjf9ISUz6SUtP+P////+zq576BgAA+iMgGvtHS1f5NTpL+jAzP/oBAAD+AgAA/wAAAP8EBQWrAAAAmgAAAP8AAAD/AAAA++Lc0PltaF37ChAm/BAPWf8fHZT/JB+z/yQfuP8mIMH/Jy6+/x4mSP8CAAD/AAAA5QEBAboHBwv/AgAA/wUAAP8rMEj6Hh6L/SUg3f8jI+3/JSLs/ygg2/8pIdj/KCHb/yUi5/8jI+3/ICdK/wEAAO8BAgK5AgAA/wIAAP8jLXb/JSHj/yMj7f8lIeX/Ji98/yAnRv8lJcX/KCHa/yciyP8mINv/IyPt/yItdP8BAADvAAAAlAIAAP8mL4z/IyPt/yUi6v8lLV//AgAA/wcAAP8iJz//JSLr/ygh2v8nKbn/Jy2j/ycup/8KDRL/AAAA4gAAAE0AAAD1Jy+V/yMj7f8mMHT/BQAA/yUvbv8nLa//JSHl/ycgzv8oIdL/JSHk/xcaJ/8FAAD/AgAA/wEBBqMAAAAEAAAAoQIAAP8UFyH/DxAV/yYtsP8oLMT/JyXM/ycgzv8nINL/JiHi/yUly/8CAAD/AgAA/wIFBv8AAABDAAAAAAAAACIAAADxBQAA/wUFAv8nMJ//ICQ8/yIrZP8lIdX/JyPO/yMj7f8lL2//AgAA/wICBf8AAACoAAAAAAAAAAAAAAAAAAAASgICBf8CAAD/Iixn/yMj7f8lI9L/JiDf/yYuif8iK23/Fxgj/wIAAP8AAAHSAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA4AAAA6AAAAP8ZHS//CgoQ/woKD/8bIDX/CgoL/wIAAP8BAQapAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAABkAQAAvgAAAO4AAAD1AQAA4QAAAKEAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8v////nP///9H////j////7/////T////w////5v///9b///+s////RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9c/v7+z///////////////////////////////////////////////////////////////4f7+/nX///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8P/v7+u////////////////////////////////////////////////////////////////////////////////////9f///8tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Ov////////////////////////////////////////////////////////////////////+YmJz0pKSn9//////////////////////+/v5pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1T//////////////////////////////////////////////////////////////////////////7e3uPYAAAD0bm5y+/////7///////////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v46/////f///////////////////////////////////////////////////////////////////////////////05PUPgAAAD3fn6B+u7u7/v///////////////////9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bf///+H/////////////////////////////////////////////////////////////////////////////////////////+zo6O/gAAAL/Kywv+f////n////8//////////7q6uolAAAAAAAAAAAAAAAAAAAAAAAAAAD///+W/////////////////////////////////////////////////////////////////////6ysr/8eHiD/NTY3////////////t7e5+AAAAPoAAAD/CgoK+zY4OvhHR0nvREVH/x0dH9AAAAAAAAAAAAAAAAAAAAAA////N///////////////////////////////////////////////////////////////////////////gICD/0dHSf9wcHT/1dXX///////////3HBwc9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF4AAAAAAAAAAAAAAAD///+M//////////////////////////6lpaf3pqap+P/////////////////////////+/////f////z////9//////////z//////////v////pNTU/5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAvQAAAAAAAAAAf39/BqOjpt+zsrX/7Ozt+///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AAAAAAAAAAAAAAAAAAQAAABVAAAAowAAANMAAADtAAAA9gAAAPEAAADbAAAArwAAAGkAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=">
11
+      <style>
12
+
13
+@font-face {
14
+  font-family: 'Open Sans';
15
+  src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
16
+  font-weight: 400;
17
+  font-style: normal;
18
+}
19
+@font-face {
20
+  font-family: 'Open Sans';
21
+  src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
22
+  font-weight: 700;
23
+  font-style: normal;
24
+}
25
+.alert {
26
+  padding: 7px;
27
+  margin-bottom: 20px;
28
+  border: 1px solid transparent;
29
+  border-radius: 1px;
30
+}
31
+.alert h4 {
32
+  margin-top: 0;
33
+  color: inherit;
34
+}
35
+.alert .alert-link {
36
+  font-weight: 500;
37
+}
38
+.alert > p,
39
+.alert > ul {
40
+  margin-bottom: 0;
41
+}
42
+.alert > p + p {
43
+  margin-top: 5px;
44
+}
45
+.alert-dismissable {
46
+  padding-right: 27px;
47
+}
48
+.alert-dismissable .close {
49
+  position: relative;
50
+  top: -2px;
51
+  right: -21px;
52
+  color: inherit;
53
+}
54
+.alert-success {
55
+  background-color: #ffffff;
56
+  border-color: #5cb75c;
57
+  color: #333333;
58
+}
59
+.alert-success hr {
60
+  border-top-color: #4cad4c;
61
+}
62
+.alert-success .alert-link {
63
+  color: #1a1a1a;
64
+}
65
+.alert-info {
66
+  background-color: #ffffff;
67
+  border-color: #cccccc;
68
+  color: #333333;
69
+}
70
+.alert-info hr {
71
+  border-top-color: #bfbfbf;
72
+}
73
+.alert-info .alert-link {
74
+  color: #1a1a1a;
75
+}
76
+.alert-warning {
77
+  background-color: #ffffff;
78
+  border-color: #eb7720;
79
+  color: #333333;
80
+}
81
+.alert-warning hr {
82
+  border-top-color: #de6a14;
83
+}
84
+.alert-warning .alert-link {
85
+  color: #1a1a1a;
86
+}
87
+.alert-danger {
88
+  background-color: #ffffff;
89
+  border-color: #c90813;
90
+  color: #333333;
91
+}
92
+.alert-danger hr {
93
+  border-top-color: #b00711;
94
+}
95
+.alert-danger .alert-link {
96
+  color: #1a1a1a;
97
+}
98
+.btn {
99
+  display: inline-block;
100
+  margin-bottom: 0;
101
+  font-weight: 600;
102
+  text-align: center;
103
+  vertical-align: middle;
104
+  cursor: pointer;
105
+  background-image: none;
106
+  border: 1px solid transparent;
107
+  white-space: nowrap;
108
+  padding: 2px 6px;
109
+  font-size: 12px;
110
+  line-height: 1.66666667;
111
+  border-radius: 1px;
112
+  -webkit-user-select: none;
113
+  -moz-user-select: none;
114
+  -ms-user-select: none;
115
+  user-select: none;
116
+}
117
+.btn:focus,
118
+.btn:active:focus,
119
+.btn.active:focus {
120
+  outline: thin dotted;
121
+  outline: 5px auto -webkit-focus-ring-color;
122
+  outline-offset: -2px;
123
+}
124
+.btn:hover,
125
+.btn:focus {
126
+  color: #4d5258;
127
+  text-decoration: none;
128
+}
129
+.btn:active,
130
+.btn.active {
131
+  outline: 0;
132
+  background-image: none;
133
+  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
134
+  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
135
+}
136
+.btn.disabled,
137
+.btn[disabled],
138
+fieldset[disabled] .btn {
139
+  cursor: not-allowed;
140
+  pointer-events: none;
141
+  opacity: 0.65;
142
+  filter: alpha(opacity=65);
143
+  -webkit-box-shadow: none;
144
+  box-shadow: none;
145
+}
146
+.btn-default {
147
+  color: #4d5258;
148
+  background-color: #eeeeee;
149
+  border-color: #b7b7b7;
150
+}
151
+.btn-default:hover,
152
+.btn-default:focus,
153
+.btn-default:active,
154
+.btn-default.active,
155
+.open .dropdown-toggle.btn-default {
156
+  color: #4d5258;
157
+  background-color: #dadada;
158
+  border-color: #989898;
159
+}
160
+.btn-default:active,
161
+.btn-default.active,
162
+.open .dropdown-toggle.btn-default {
163
+  background-image: none;
164
+}
165
+.btn-default.disabled,
166
+.btn-default[disabled],
167
+fieldset[disabled] .btn-default,
168
+.btn-default.disabled:hover,
169
+.btn-default[disabled]:hover,
170
+fieldset[disabled] .btn-default:hover,
171
+.btn-default.disabled:focus,
172
+.btn-default[disabled]:focus,
173
+fieldset[disabled] .btn-default:focus,
174
+.btn-default.disabled:active,
175
+.btn-default[disabled]:active,
176
+fieldset[disabled] .btn-default:active,
177
+.btn-default.disabled.active,
178
+.btn-default[disabled].active,
179
+fieldset[disabled] .btn-default.active {
180
+  background-color: #eeeeee;
181
+  border-color: #b7b7b7;
182
+}
183
+.btn-default .badge {
184
+  color: #eeeeee;
185
+  background-color: #4d5258;
186
+}
187
+.btn-primary {
188
+  color: #ffffff;
189
+  background-color: #189ad1;
190
+  border-color: #267da1;
191
+}
192
+.btn-primary:hover,
193
+.btn-primary:focus,
194
+.btn-primary:active,
195
+.btn-primary.active,
196
+.open .dropdown-toggle.btn-primary {
197
+  color: #ffffff;
198
+  background-color: #147fac;
199
+  border-color: #1a576f;
200
+}
201
+.btn-primary:active,
202
+.btn-primary.active,
203
+.open .dropdown-toggle.btn-primary {
204
+  background-image: none;
205
+}
206
+.btn-primary.disabled,
207
+.btn-primary[disabled],
208
+fieldset[disabled] .btn-primary,
209
+.btn-primary.disabled:hover,
210
+.btn-primary[disabled]:hover,
211
+fieldset[disabled] .btn-primary:hover,
212
+.btn-primary.disabled:focus,
213
+.btn-primary[disabled]:focus,
214
+fieldset[disabled] .btn-primary:focus,
215
+.btn-primary.disabled:active,
216
+.btn-primary[disabled]:active,
217
+fieldset[disabled] .btn-primary:active,
218
+.btn-primary.disabled.active,
219
+.btn-primary[disabled].active,
220
+fieldset[disabled] .btn-primary.active {
221
+  background-color: #189ad1;
222
+  border-color: #267da1;
223
+}
224
+.btn-primary .badge {
225
+  color: #189ad1;
226
+  background-color: #ffffff;
227
+}
228
+.btn-success {
229
+  color: #ffffff;
230
+  background-color: #5cb75c;
231
+  border-color: #4cad4c;
232
+}
233
+.btn-success:hover,
234
+.btn-success:focus,
235
+.btn-success:active,
236
+.btn-success.active,
237
+.open .dropdown-toggle.btn-success {
238
+  color: #ffffff;
239
+  background-color: #48a248;
240
+  border-color: #3a833a;
241
+}
242
+.btn-success:active,
243
+.btn-success.active,
244
+.open .dropdown-toggle.btn-success {
245
+  background-image: none;
246
+}
247
+.btn-success.disabled,
248
+.btn-success[disabled],
249
+fieldset[disabled] .btn-success,
250
+.btn-success.disabled:hover,
251
+.btn-success[disabled]:hover,
252
+fieldset[disabled] .btn-success:hover,
253
+.btn-success.disabled:focus,
254
+.btn-success[disabled]:focus,
255
+fieldset[disabled] .btn-success:focus,
256
+.btn-success.disabled:active,
257
+.btn-success[disabled]:active,
258
+fieldset[disabled] .btn-success:active,
259
+.btn-success.disabled.active,
260
+.btn-success[disabled].active,
261
+fieldset[disabled] .btn-success.active {
262
+  background-color: #5cb75c;
263
+  border-color: #4cad4c;
264
+}
265
+.btn-success .badge {
266
+  color: #5cb75c;
267
+  background-color: #ffffff;
268
+}
269
+.btn-info {
270
+  color: #ffffff;
271
+  background-color: #27799c;
272
+  border-color: #226988;
273
+}
274
+.btn-info:hover,
275
+.btn-info:focus,
276
+.btn-info:active,
277
+.btn-info.active,
278
+.open .dropdown-toggle.btn-info {
279
+  color: #ffffff;
280
+  background-color: #1f607b;
281
+  border-color: #164357;
282
+}
283
+.btn-info:active,
284
+.btn-info.active,
285
+.open .dropdown-toggle.btn-info {
286
+  background-image: none;
287
+}
288
+.btn-info.disabled,
289
+.btn-info[disabled],
290
+fieldset[disabled] .btn-info,
291
+.btn-info.disabled:hover,
292
+.btn-info[disabled]:hover,
293
+fieldset[disabled] .btn-info:hover,
294
+.btn-info.disabled:focus,
295
+.btn-info[disabled]:focus,
296
+fieldset[disabled] .btn-info:focus,
297
+.btn-info.disabled:active,
298
+.btn-info[disabled]:active,
299
+fieldset[disabled] .btn-info:active,
300
+.btn-info.disabled.active,
301
+.btn-info[disabled].active,
302
+fieldset[disabled] .btn-info.active {
303
+  background-color: #27799c;
304
+  border-color: #226988;
305
+}
306
+.btn-info .badge {
307
+  color: #27799c;
308
+  background-color: #ffffff;
309
+}
310
+.btn-warning {
311
+  color: #ffffff;
312
+  background-color: #eb7720;
313
+  border-color: #de6a14;
314
+}
315
+.btn-warning:hover,
316
+.btn-warning:focus,
317
+.btn-warning:active,
318
+.btn-warning.active,
319
+.open .dropdown-toggle.btn-warning {
320
+  color: #ffffff;
321
+  background-color: #d06413;
322
+  border-color: #a54f0f;
323
+}
324
+.btn-warning:active,
325
+.btn-warning.active,
326
+.open .dropdown-toggle.btn-warning {
327
+  background-image: none;
328
+}
329
+.btn-warning.disabled,
330
+.btn-warning[disabled],
331
+fieldset[disabled] .btn-warning,
332
+.btn-warning.disabled:hover,
333
+.btn-warning[disabled]:hover,
334
+fieldset[disabled] .btn-warning:hover,
335
+.btn-warning.disabled:focus,
336
+.btn-warning[disabled]:focus,
337
+fieldset[disabled] .btn-warning:focus,
338
+.btn-warning.disabled:active,
339
+.btn-warning[disabled]:active,
340
+fieldset[disabled] .btn-warning:active,
341
+.btn-warning.disabled.active,
342
+.btn-warning[disabled].active,
343
+fieldset[disabled] .btn-warning.active {
344
+  background-color: #eb7720;
345
+  border-color: #de6a14;
346
+}
347
+.btn-warning .badge {
348
+  color: #eb7720;
349
+  background-color: #ffffff;
350
+}
351
+.btn-danger {
352
+  color: #ffffff;
353
+  background-color: #ab070f;
354
+  border-color: #781919;
355
+}
356
+.btn-danger:hover,
357
+.btn-danger:focus,
358
+.btn-danger:active,
359
+.btn-danger.active,
360
+.open .dropdown-toggle.btn-danger {
361
+  color: #ffffff;
362
+  background-color: #84050c;
363
+  border-color: #450e0e;
364
+}
365
+.btn-danger:active,
366
+.btn-danger.active,
367
+.open .dropdown-toggle.btn-danger {
368
+  background-image: none;
369
+}
370
+.btn-danger.disabled,
371
+.btn-danger[disabled],
372
+fieldset[disabled] .btn-danger,
373
+.btn-danger.disabled:hover,
374
+.btn-danger[disabled]:hover,
375
+fieldset[disabled] .btn-danger:hover,
376
+.btn-danger.disabled:focus,
377
+.btn-danger[disabled]:focus,
378
+fieldset[disabled] .btn-danger:focus,
379
+.btn-danger.disabled:active,
380
+.btn-danger[disabled]:active,
381
+fieldset[disabled] .btn-danger:active,
382
+.btn-danger.disabled.active,
383
+.btn-danger[disabled].active,
384
+fieldset[disabled] .btn-danger.active {
385
+  background-color: #ab070f;
386
+  border-color: #781919;
387
+}
388
+.btn-danger .badge {
389
+  color: #ab070f;
390
+  background-color: #ffffff;
391
+}
392
+.btn-link {
393
+  color: #0099d3;
394
+  font-weight: normal;
395
+  cursor: pointer;
396
+  border-radius: 0;
397
+}
398
+.btn-link,
399
+.btn-link:active,
400
+.btn-link[disabled],
401
+fieldset[disabled] .btn-link {
402
+  background-color: transparent;
403
+  -webkit-box-shadow: none;
404
+  box-shadow: none;
405
+}
406
+.btn-link,
407
+.btn-link:hover,
408
+.btn-link:focus,
409
+.btn-link:active {
410
+  border-color: transparent;
411
+}
412
+.btn-link:hover,
413
+.btn-link:focus {
414
+  color: #00618a;
415
+  text-decoration: underline;
416
+  background-color: transparent;
417
+}
418
+.btn-link[disabled]:hover,
419
+fieldset[disabled] .btn-link:hover,
420
+.btn-link[disabled]:focus,
421
+fieldset[disabled] .btn-link:focus {
422
+  color: #999999;
423
+  text-decoration: none;
424
+}
425
+.btn-lg {
426
+  padding: 6px 10px;
427
+  font-size: 14px;
428
+  line-height: 1.33;
429
+  border-radius: 1px;
430
+}
431
+.btn-sm {
432
+  padding: 2px 6px;
433
+  font-size: 11px;
434
+  line-height: 1.5;
435
+  border-radius: 1px;
436
+}
437
+.btn-xs {
438
+  padding: 1px 5px;
439
+  font-size: 11px;
440
+  line-height: 1.5;
441
+  border-radius: 1px;
442
+}
443
+.btn-block {
444
+  display: block;
445
+  width: 100%;
446
+  padding-left: 0;
447
+  padding-right: 0;
448
+}
449
+.btn-block + .btn-block {
450
+  margin-top: 5px;
451
+}
452
+input[type="submit"].btn-block,
453
+input[type="reset"].btn-block,
454
+input[type="button"].btn-block {
455
+  width: 100%;
456
+}
457
+.fade {
458
+  opacity: 0;
459
+  -webkit-transition: opacity 0.15s linear;
460
+  transition: opacity 0.15s linear;
461
+}
462
+.fade.in {
463
+  opacity: 1;
464
+}
465
+.collapse {
466
+  display: none;
467
+}
468
+.collapse.in {
469
+  display: block;
470
+}
471
+.collapsing {
472
+  position: relative;
473
+  height: 0;
474
+  overflow: hidden;
475
+  -webkit-transition: height 0.35s ease;
476
+  transition: height 0.35s ease;
477
+}
478
+fieldset {
479
+  padding: 0;
480
+  margin: 0;
481
+  border: 0;
482
+  min-width: 0;
483
+}
484
+legend {
485
+  display: block;
486
+  width: 100%;
487
+  padding: 0;
488
+  margin-bottom: 20px;
489
+  font-size: 18px;
490
+  line-height: inherit;
491
+  color: #333333;
492
+  border: 0;
493
+  border-bottom: 1px solid #e5e5e5;
494
+}
495
+label {
496
+  display: inline-block;
497
+  margin-bottom: 5px;
498
+  font-weight: bold;
499
+}
500
+input[type="search"] {
501
+  -webkit-box-sizing: border-box;
502
+  -moz-box-sizing: border-box;
503
+  box-sizing: border-box;
504
+}
505
+input[type="radio"],
506
+input[type="checkbox"] {
507
+  margin: 4px 0 0;
508
+  margin-top: 1px \9;
509
+
510
+  line-height: normal;
511
+}
512
+input[type="file"] {
513
+  display: block;
514
+}
515
+input[type="range"] {
516
+  display: block;
517
+  width: 100%;
518
+}
519
+select[multiple],
520
+select[size] {
521
+  height: auto;
522
+}
523
+input[type="file"]:focus,
524
+input[type="radio"]:focus,
525
+input[type="checkbox"]:focus {
526
+  outline: thin dotted;
527
+  outline: 5px auto -webkit-focus-ring-color;
528
+  outline-offset: -2px;
529
+}
530
+output {
531
+  display: block;
532
+  padding-top: 3px;
533
+  font-size: 12px;
534
+  line-height: 1.66666667;
535
+  color: #333333;
536
+}
537
+.form-control {
538
+  display: block;
539
+  width: 100%;
540
+  height: 26px;
541
+  padding: 2px 6px;
542
+  font-size: 12px;
543
+  line-height: 1.66666667;
544
+  color: #333333;
545
+  background-color: #ffffff;
546
+  background-image: none;
547
+  border: 1px solid #bababa;
548
+  border-radius: 1px;
549
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
550
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
551
+  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
552
+  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
553
+}
554
+.form-control:focus {
555
+  border-color: #66afe9;
556
+  outline: 0;
557
+  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
558
+  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
559
+}
560
+.form-control::-moz-placeholder {
561
+  color: #999999;
562
+  opacity: 1;
563
+}
564
+.form-control:-ms-input-placeholder {
565
+  color: #999999;
566
+}
567
+.form-control::-webkit-input-placeholder {
568
+  color: #999999;
569
+}
570
+.form-control:-moz-placeholder {
571
+  color: #999999;
572
+  font-style: italic;
573
+}
574
+.form-control::-moz-placeholder {
575
+  color: #999999;
576
+  font-style: italic;
577
+}
578
+.form-control:-ms-input-placeholder {
579
+  color: #999999;
580
+  font-style: italic;
581
+}
582
+.form-control::-webkit-input-placeholder {
583
+  color: #999999;
584
+  font-style: italic;
585
+}
586
+.form-control[disabled],
587
+.form-control[readonly],
588
+fieldset[disabled] .form-control {
589
+  cursor: not-allowed;
590
+  background-color: #f8f8f8;
591
+  opacity: 1;
592
+}
593
+textarea.form-control {
594
+  height: auto;
595
+}
596
+input[type="search"] {
597
+  -webkit-appearance: none;
598
+}
599
+input[type="date"] {
600
+  line-height: 26px;
601
+}
602
+.form-group {
603
+  margin-bottom: 15px;
604
+}
605
+.radio,
606
+.checkbox {
607
+  display: block;
608
+  min-height: 20px;
609
+  margin-top: 10px;
610
+  margin-bottom: 10px;
611
+  padding-left: 20px;
612
+}
613
+.radio label,
614
+.checkbox label {
615
+  display: inline;
616
+  font-weight: normal;
617
+  cursor: pointer;
618
+}
619
+.radio input[type="radio"],
620
+.radio-inline input[type="radio"],
621
+.checkbox input[type="checkbox"],
622
+.checkbox-inline input[type="checkbox"] {
623
+  float: left;
624
+  margin-left: -20px;
625
+}
626
+.radio + .radio,
627
+.checkbox + .checkbox {
628
+  margin-top: -5px;
629
+}
630
+.radio-inline,
631
+.checkbox-inline {
632
+  display: inline-block;
633
+  padding-left: 20px;
634
+  margin-bottom: 0;
635
+  vertical-align: middle;
636
+  font-weight: normal;
637
+  cursor: pointer;
638
+}
639
+.radio-inline + .radio-inline,
640
+.checkbox-inline + .checkbox-inline {
641
+  margin-top: 0;
642
+  margin-left: 10px;
643
+}
644
+input[type="radio"][disabled],
645
+input[type="checkbox"][disabled],
646
+.radio[disabled],
647
+.radio-inline[disabled],
648
+.checkbox[disabled],
649
+.checkbox-inline[disabled],
650
+fieldset[disabled] input[type="radio"],
651
+fieldset[disabled] input[type="checkbox"],
652
+fieldset[disabled] .radio,
653
+fieldset[disabled] .radio-inline,
654
+fieldset[disabled] .checkbox,
655
+fieldset[disabled] .checkbox-inline {
656
+  cursor: not-allowed;
657
+}
658
+.input-sm {
659
+  height: 22px;
660
+  padding: 2px 6px;
661
+  font-size: 11px;
662
+  line-height: 1.5;
663
+  border-radius: 1px;
664
+}
665
+select.input-sm {
666
+  height: 22px;
667
+  line-height: 22px;
668
+}
669
+textarea.input-sm,
670
+select[multiple].input-sm {
671
+  height: auto;
672
+}
673
+.input-lg {
674
+  height: 33px;
675
+  padding: 6px 10px;
676
+  font-size: 14px;
677
+  line-height: 1.33;
678
+  border-radius: 1px;
679
+}
680
+select.input-lg {
681
+  height: 33px;
682
+  line-height: 33px;
683
+}
684
+textarea.input-lg,
685
+select[multiple].input-lg {
686
+  height: auto;
687
+}
688
+.has-feedback {
689
+  position: relative;
690
+}
691
+.has-feedback .form-control {
692
+  padding-right: 32.5px;
693
+}
694
+.has-feedback .form-control-feedback {
695
+  position: absolute;
696
+  top: 25px;
697
+  right: 0;
698
+  display: block;
699
+  width: 26px;
700
+  height: 26px;
701
+  line-height: 26px;
702
+  text-align: center;
703
+}
704
+.has-success .help-block,
705
+.has-success .control-label,
706
+.has-success .radio,
707
+.has-success .checkbox,
708
+.has-success .radio-inline,
709
+.has-success .checkbox-inline {
710
+  color: #3c763d;
711
+}
712
+.has-success .form-control {
713
+  border-color: #3c763d;
714
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
715
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
716
+}
717
+.has-success .form-control:focus {
718
+  border-color: #2b542c;
719
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
720
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
721
+}
722
+.has-success .input-group-addon {
723
+  color: #3c763d;
724
+  border-color: #3c763d;
725
+  background-color: #dff0d8;
726
+}
727
+.has-success .form-control-feedback {
728
+  color: #3c763d;
729
+}
730
+.has-warning .help-block,
731
+.has-warning .control-label,
732
+.has-warning .radio,
733
+.has-warning .checkbox,
734
+.has-warning .radio-inline,
735
+.has-warning .checkbox-inline {
736
+  color: #8a6d3b;
737
+}
738
+.has-warning .form-control {
739
+  border-color: #8a6d3b;
740
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
741
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
742
+}
743
+.has-warning .form-control:focus {
744
+  border-color: #66512c;
745
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
746
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
747
+}
748
+.has-warning .input-group-addon {
749
+  color: #8a6d3b;
750
+  border-color: #8a6d3b;
751
+  background-color: #fcf8e3;
752
+}
753
+.has-warning .form-control-feedback {
754
+  color: #8a6d3b;
755
+}
756
+.has-error .help-block,
757
+.has-error .control-label,
758
+.has-error .radio,
759
+.has-error .checkbox,
760
+.has-error .radio-inline,
761
+.has-error .checkbox-inline {
762
+  color: #a94442;
763
+}
764
+.has-error .form-control {
765
+  border-color: #a94442;
766
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
767
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
768
+}
769
+.has-error .form-control:focus {
770
+  border-color: #843534;
771
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
772
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
773
+}
774
+.has-error .input-group-addon {
775
+  color: #a94442;
776
+  border-color: #a94442;
777
+  background-color: #f2dede;
778
+}
779
+.has-error .form-control-feedback {
780
+  color: #a94442;
781
+}
782
+.form-control-static {
783
+  margin-bottom: 0;
784
+}
785
+.help-block {
786
+  display: block;
787
+  margin-top: 5px;
788
+  margin-bottom: 10px;
789
+  color: #737373;
790
+}
791
+@media (min-width: 768px) {
792
+  .form-inline .form-group {
793
+    display: inline-block;
794
+    margin-bottom: 0;
795
+    vertical-align: middle;
796
+  }
797
+  .form-inline .form-control {
798
+    display: inline-block;
799
+    width: auto;
800
+    vertical-align: middle;
801
+  }
802
+  .form-inline .input-group > .form-control {
803
+    width: 100%;
804
+  }
805
+  .form-inline .control-label {
806
+    margin-bottom: 0;
807
+    vertical-align: middle;
808
+  }
809
+  .form-inline .radio,
810
+  .form-inline .checkbox {
811
+    display: inline-block;
812
+    margin-top: 0;
813
+    margin-bottom: 0;
814
+    padding-left: 0;
815
+    vertical-align: middle;
816
+  }
817
+  .form-inline .radio input[type="radio"],
818
+  .form-inline .checkbox input[type="checkbox"] {
819
+    float: none;
820
+    margin-left: 0;
821
+  }
822
+  .form-inline .has-feedback .form-control-feedback {
823
+    top: 0;
824
+  }
825
+}
826
+.form-horizontal .control-label,
827
+.form-horizontal .radio,
828
+.form-horizontal .checkbox,
829
+.form-horizontal .radio-inline,
830
+.form-horizontal .checkbox-inline {
831
+  margin-top: 0;
832
+  margin-bottom: 0;
833
+  padding-top: 3px;
834
+}
835
+.form-horizontal .radio,
836
+.form-horizontal .checkbox {
837
+  min-height: 23px;
838
+}
839
+.form-horizontal .form-group {
840
+  margin-left: -20px;
841
+  margin-right: -20px;
842
+}
843
+.form-horizontal .form-control-static {
844
+  padding-top: 3px;
845
+}
846
+@media (min-width: 768px) {
847
+  .form-horizontal .control-label {
848
+    text-align: right;
849
+  }
850
+}
851
+.form-horizontal .has-feedback .form-control-feedback {
852
+  top: 0;
853
+  right: 20px;
854
+}
855
+.container {
856
+  margin-right: auto;
857
+  margin-left: auto;
858
+  padding-left: 20px;
859
+  padding-right: 20px;
860
+}
861
+@media (min-width: 768px) {
862
+  .container {
863
+    width: 760px;
864
+  }
865
+}
866
+@media (min-width: 992px) {
867
+  .container {
868
+    width: 980px;
869
+  }
870
+}
871
+@media (min-width: 1200px) {
872
+  .container {
873
+    width: 1180px;
874
+  }
875
+}
876
+.container-fluid {
877
+  margin-right: auto;
878
+  margin-left: auto;
879
+  padding-left: 20px;
880
+  padding-right: 20px;
881
+}
882
+.row {
883
+  margin-left: -20px;
884
+  margin-right: -20px;
885
+}
886
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
887
+  position: relative;
888
+  min-height: 1px;
889
+  padding-left: 20px;
890
+  padding-right: 20px;
891
+}
892
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
893
+  float: left;
894
+}
895
+.col-xs-12 {
896
+  width: 100%;
897
+}
898
+.col-xs-11 {
899
+  width: 91.66666666666666%;
900
+}
901
+.col-xs-10 {
902
+  width: 83.33333333333334%;
903
+}
904
+.col-xs-9 {
905
+  width: 75%;
906
+}
907
+.col-xs-8 {
908
+  width: 66.66666666666666%;
909
+}
910
+.col-xs-7 {
911
+  width: 58.333333333333336%;
912
+}
913
+.col-xs-6 {
914
+  width: 50%;
915
+}
916
+.col-xs-5 {
917
+  width: 41.66666666666667%;
918
+}
919
+.col-xs-4 {
920
+  width: 33.33333333333333%;
921
+}
922
+.col-xs-3 {
923
+  width: 25%;
924
+}
925
+.col-xs-2 {
926
+  width: 16.666666666666664%;
927
+}
928
+.col-xs-1 {
929
+  width: 8.333333333333332%;
930
+}
931
+.col-xs-pull-12 {
932
+  right: 100%;
933
+}
934
+.col-xs-pull-11 {
935
+  right: 91.66666666666666%;
936
+}
937
+.col-xs-pull-10 {
938
+  right: 83.33333333333334%;
939
+}
940
+.col-xs-pull-9 {
941
+  right: 75%;
942
+}
943
+.col-xs-pull-8 {
944
+  right: 66.66666666666666%;
945
+}
946
+.col-xs-pull-7 {
947
+  right: 58.333333333333336%;
948
+}
949
+.col-xs-pull-6 {
950
+  right: 50%;
951
+}
952
+.col-xs-pull-5 {
953
+  right: 41.66666666666667%;
954
+}
955
+.col-xs-pull-4 {
956
+  right: 33.33333333333333%;
957
+}
958
+.col-xs-pull-3 {
959
+  right: 25%;
960
+}
961
+.col-xs-pull-2 {
962
+  right: 16.666666666666664%;
963
+}
964
+.col-xs-pull-1 {
965
+  right: 8.333333333333332%;
966
+}
967
+.col-xs-pull-0 {
968
+  right: 0%;
969
+}
970
+.col-xs-push-12 {
971
+  left: 100%;
972
+}
973
+.col-xs-push-11 {
974
+  left: 91.66666666666666%;
975
+}
976
+.col-xs-push-10 {
977
+  left: 83.33333333333334%;
978
+}
979
+.col-xs-push-9 {
980
+  left: 75%;
981
+}
982
+.col-xs-push-8 {
983
+  left: 66.66666666666666%;
984
+}
985
+.col-xs-push-7 {
986
+  left: 58.333333333333336%;
987
+}
988
+.col-xs-push-6 {
989
+  left: 50%;
990
+}
991
+.col-xs-push-5 {
992
+  left: 41.66666666666667%;
993
+}
994
+.col-xs-push-4 {
995
+  left: 33.33333333333333%;
996
+}
997
+.col-xs-push-3 {
998
+  left: 25%;
999
+}
1000
+.col-xs-push-2 {
1001
+  left: 16.666666666666664%;
1002
+}
1003
+.col-xs-push-1 {
1004
+  left: 8.333333333333332%;
1005
+}
1006
+.col-xs-push-0 {
1007
+  left: 0%;
1008
+}
1009
+.col-xs-offset-12 {
1010
+  margin-left: 100%;
1011
+}
1012
+.col-xs-offset-11 {
1013
+  margin-left: 91.66666666666666%;
1014
+}
1015
+.col-xs-offset-10 {
1016
+  margin-left: 83.33333333333334%;
1017
+}
1018
+.col-xs-offset-9 {
1019
+  margin-left: 75%;
1020
+}
1021
+.col-xs-offset-8 {
1022
+  margin-left: 66.66666666666666%;
1023
+}
1024
+.col-xs-offset-7 {
1025
+  margin-left: 58.333333333333336%;
1026
+}
1027
+.col-xs-offset-6 {
1028
+  margin-left: 50%;
1029
+}
1030
+.col-xs-offset-5 {
1031
+  margin-left: 41.66666666666667%;
1032
+}
1033
+.col-xs-offset-4 {
1034
+  margin-left: 33.33333333333333%;
1035
+}
1036
+.col-xs-offset-3 {
1037
+  margin-left: 25%;
1038
+}
1039
+.col-xs-offset-2 {
1040
+  margin-left: 16.666666666666664%;
1041
+}
1042
+.col-xs-offset-1 {
1043
+  margin-left: 8.333333333333332%;
1044
+}
1045
+.col-xs-offset-0 {
1046
+  margin-left: 0%;
1047
+}
1048
+@media (min-width: 768px) {
1049
+  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
1050
+    float: left;
1051
+  }
1052
+  .col-sm-12 {
1053
+    width: 100%;
1054
+  }
1055
+  .col-sm-11 {
1056
+    width: 91.66666666666666%;
1057
+  }
1058
+  .col-sm-10 {
1059
+    width: 83.33333333333334%;
1060
+  }
1061
+  .col-sm-9 {
1062
+    width: 75%;
1063
+  }
1064
+  .col-sm-8 {
1065
+    width: 66.66666666666666%;
1066
+  }
1067
+  .col-sm-7 {
1068
+    width: 58.333333333333336%;
1069
+  }
1070
+  .col-sm-6 {
1071
+    width: 50%;
1072
+  }
1073
+  .col-sm-5 {
1074
+    width: 41.66666666666667%;
1075
+  }
1076
+  .col-sm-4 {
1077
+    width: 33.33333333333333%;
1078
+  }
1079
+  .col-sm-3 {
1080
+    width: 25%;
1081
+  }
1082
+  .col-sm-2 {
1083
+    width: 16.666666666666664%;
1084
+  }
1085
+  .col-sm-1 {
1086
+    width: 8.333333333333332%;
1087
+  }
1088
+  .col-sm-pull-12 {
1089
+    right: 100%;
1090
+  }
1091
+  .col-sm-pull-11 {
1092
+    right: 91.66666666666666%;
1093
+  }
1094
+  .col-sm-pull-10 {
1095
+    right: 83.33333333333334%;
1096
+  }
1097
+  .col-sm-pull-9 {
1098
+    right: 75%;
1099
+  }
1100
+  .col-sm-pull-8 {
1101
+    right: 66.66666666666666%;
1102
+  }
1103
+  .col-sm-pull-7 {
1104
+    right: 58.333333333333336%;
1105
+  }
1106
+  .col-sm-pull-6 {
1107
+    right: 50%;
1108
+  }
1109
+  .col-sm-pull-5 {
1110
+    right: 41.66666666666667%;
1111
+  }
1112
+  .col-sm-pull-4 {
1113
+    right: 33.33333333333333%;
1114
+  }
1115
+  .col-sm-pull-3 {
1116
+    right: 25%;
1117
+  }
1118
+  .col-sm-pull-2 {
1119
+    right: 16.666666666666664%;
1120
+  }
1121
+  .col-sm-pull-1 {
1122
+    right: 8.333333333333332%;
1123
+  }
1124
+  .col-sm-pull-0 {
1125
+    right: 0%;
1126
+  }
1127
+  .col-sm-push-12 {
1128
+    left: 100%;
1129
+  }
1130
+  .col-sm-push-11 {
1131
+    left: 91.66666666666666%;
1132
+  }
1133
+  .col-sm-push-10 {
1134
+    left: 83.33333333333334%;
1135
+  }
1136
+  .col-sm-push-9 {
1137
+    left: 75%;
1138
+  }
1139
+  .col-sm-push-8 {
1140
+    left: 66.66666666666666%;
1141
+  }
1142
+  .col-sm-push-7 {
1143
+    left: 58.333333333333336%;
1144
+  }
1145
+  .col-sm-push-6 {
1146
+    left: 50%;
1147
+  }
1148
+  .col-sm-push-5 {
1149
+    left: 41.66666666666667%;
1150
+  }
1151
+  .col-sm-push-4 {
1152
+    left: 33.33333333333333%;
1153
+  }
1154
+  .col-sm-push-3 {
1155
+    left: 25%;
1156
+  }
1157
+  .col-sm-push-2 {
1158
+    left: 16.666666666666664%;
1159
+  }
1160
+  .col-sm-push-1 {
1161
+    left: 8.333333333333332%;
1162
+  }
1163
+  .col-sm-push-0 {
1164
+    left: 0%;
1165
+  }
1166
+  .col-sm-offset-12 {
1167
+    margin-left: 100%;
1168
+  }
1169
+  .col-sm-offset-11 {
1170
+    margin-left: 91.66666666666666%;
1171
+  }
1172
+  .col-sm-offset-10 {
1173
+    margin-left: 83.33333333333334%;
1174
+  }
1175
+  .col-sm-offset-9 {
1176
+    margin-left: 75%;
1177
+  }
1178
+  .col-sm-offset-8 {
1179
+    margin-left: 66.66666666666666%;
1180
+  }
1181
+  .col-sm-offset-7 {
1182
+    margin-left: 58.333333333333336%;
1183
+  }
1184
+  .col-sm-offset-6 {
1185
+    margin-left: 50%;
1186
+  }
1187
+  .col-sm-offset-5 {
1188
+    margin-left: 41.66666666666667%;
1189
+  }
1190
+  .col-sm-offset-4 {
1191
+    margin-left: 33.33333333333333%;
1192
+  }
1193
+  .col-sm-offset-3 {
1194
+    margin-left: 25%;
1195
+  }
1196
+  .col-sm-offset-2 {
1197
+    margin-left: 16.666666666666664%;
1198
+  }
1199
+  .col-sm-offset-1 {
1200
+    margin-left: 8.333333333333332%;
1201
+  }
1202
+  .col-sm-offset-0 {
1203
+    margin-left: 0%;
1204
+  }
1205
+}
1206
+@media (min-width: 992px) {
1207
+  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
1208
+    float: left;
1209
+  }
1210
+  .col-md-12 {
1211
+    width: 100%;
1212
+  }
1213
+  .col-md-11 {
1214
+    width: 91.66666666666666%;
1215
+  }
1216
+  .col-md-10 {
1217
+    width: 83.33333333333334%;
1218
+  }
1219
+  .col-md-9 {
1220
+    width: 75%;
1221
+  }
1222
+  .col-md-8 {
1223
+    width: 66.66666666666666%;
1224
+  }
1225
+  .col-md-7 {
1226
+    width: 58.333333333333336%;
1227
+  }
1228
+  .col-md-6 {
1229
+    width: 50%;
1230
+  }
1231
+  .col-md-5 {
1232
+    width: 41.66666666666667%;
1233
+  }
1234
+  .col-md-4 {
1235
+    width: 33.33333333333333%;
1236
+  }
1237
+  .col-md-3 {
1238
+    width: 25%;
1239
+  }
1240
+  .col-md-2 {
1241
+    width: 16.666666666666664%;
1242
+  }
1243
+  .col-md-1 {
1244
+    width: 8.333333333333332%;
1245
+  }
1246
+  .col-md-pull-12 {
1247
+    right: 100%;
1248
+  }
1249
+  .col-md-pull-11 {
1250
+    right: 91.66666666666666%;
1251
+  }
1252
+  .col-md-pull-10 {
1253
+    right: 83.33333333333334%;
1254
+  }
1255
+  .col-md-pull-9 {
1256
+    right: 75%;
1257
+  }
1258
+  .col-md-pull-8 {
1259
+    right: 66.66666666666666%;
1260
+  }
1261
+  .col-md-pull-7 {
1262
+    right: 58.333333333333336%;
1263
+  }
1264
+  .col-md-pull-6 {
1265
+    right: 50%;
1266
+  }
1267
+  .col-md-pull-5 {
1268
+    right: 41.66666666666667%;
1269
+  }
1270
+  .col-md-pull-4 {
1271
+    right: 33.33333333333333%;
1272
+  }
1273
+  .col-md-pull-3 {
1274
+    right: 25%;
1275
+  }
1276
+  .col-md-pull-2 {
1277
+    right: 16.666666666666664%;
1278
+  }
1279
+  .col-md-pull-1 {
1280
+    right: 8.333333333333332%;
1281
+  }
1282
+  .col-md-pull-0 {
1283
+    right: 0%;
1284
+  }
1285
+  .col-md-push-12 {
1286
+    left: 100%;
1287
+  }
1288
+  .col-md-push-11 {
1289
+    left: 91.66666666666666%;
1290
+  }
1291
+  .col-md-push-10 {
1292
+    left: 83.33333333333334%;
1293
+  }
1294
+  .col-md-push-9 {
1295
+    left: 75%;
1296
+  }
1297
+  .col-md-push-8 {
1298
+    left: 66.66666666666666%;
1299
+  }
1300
+  .col-md-push-7 {
1301
+    left: 58.333333333333336%;
1302
+  }
1303
+  .col-md-push-6 {
1304
+    left: 50%;
1305
+  }
1306
+  .col-md-push-5 {
1307
+    left: 41.66666666666667%;
1308
+  }
1309
+  .col-md-push-4 {
1310
+    left: 33.33333333333333%;
1311
+  }
1312
+  .col-md-push-3 {
1313
+    left: 25%;
1314
+  }
1315
+  .col-md-push-2 {
1316
+    left: 16.666666666666664%;
1317
+  }
1318
+  .col-md-push-1 {
1319
+    left: 8.333333333333332%;
1320
+  }
1321
+  .col-md-push-0 {
1322
+    left: 0%;
1323
+  }
1324
+  .col-md-offset-12 {
1325
+    margin-left: 100%;
1326
+  }
1327
+  .col-md-offset-11 {
1328
+    margin-left: 91.66666666666666%;
1329
+  }
1330
+  .col-md-offset-10 {
1331
+    margin-left: 83.33333333333334%;
1332
+  }
1333
+  .col-md-offset-9 {
1334
+    margin-left: 75%;
1335
+  }
1336
+  .col-md-offset-8 {
1337
+    margin-left: 66.66666666666666%;
1338
+  }
1339
+  .col-md-offset-7 {
1340
+    margin-left: 58.333333333333336%;
1341
+  }
1342
+  .col-md-offset-6 {
1343
+    margin-left: 50%;
1344
+  }
1345
+  .col-md-offset-5 {
1346
+    margin-left: 41.66666666666667%;
1347
+  }
1348
+  .col-md-offset-4 {
1349
+    margin-left: 33.33333333333333%;
1350
+  }
1351
+  .col-md-offset-3 {
1352
+    margin-left: 25%;
1353
+  }
1354
+  .col-md-offset-2 {
1355
+    margin-left: 16.666666666666664%;
1356
+  }
1357
+  .col-md-offset-1 {
1358
+    margin-left: 8.333333333333332%;
1359
+  }
1360
+  .col-md-offset-0 {
1361
+    margin-left: 0%;
1362
+  }
1363
+}
1364
+@media (min-width: 1200px) {
1365
+  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
1366
+    float: left;
1367
+  }
1368
+  .col-lg-12 {
1369
+    width: 100%;
1370
+  }
1371
+  .col-lg-11 {
1372
+    width: 91.66666666666666%;
1373
+  }
1374
+  .col-lg-10 {
1375
+    width: 83.33333333333334%;
1376
+  }
1377
+  .col-lg-9 {
1378
+    width: 75%;
1379
+  }
1380
+  .col-lg-8 {
1381
+    width: 66.66666666666666%;
1382
+  }
1383
+  .col-lg-7 {
1384
+    width: 58.333333333333336%;
1385
+  }
1386
+  .col-lg-6 {
1387
+    width: 50%;
1388
+  }
1389
+  .col-lg-5 {
1390
+    width: 41.66666666666667%;
1391
+  }
1392
+  .col-lg-4 {
1393
+    width: 33.33333333333333%;
1394
+  }
1395
+  .col-lg-3 {
1396
+    width: 25%;
1397
+  }
1398
+  .col-lg-2 {
1399
+    width: 16.666666666666664%;
1400
+  }
1401
+  .col-lg-1 {
1402
+    width: 8.333333333333332%;
1403
+  }
1404
+  .col-lg-pull-12 {
1405
+    right: 100%;
1406
+  }
1407
+  .col-lg-pull-11 {
1408
+    right: 91.66666666666666%;
1409
+  }
1410
+  .col-lg-pull-10 {
1411
+    right: 83.33333333333334%;
1412
+  }
1413
+  .col-lg-pull-9 {
1414
+    right: 75%;
1415
+  }
1416
+  .col-lg-pull-8 {
1417
+    right: 66.66666666666666%;
1418
+  }
1419
+  .col-lg-pull-7 {
1420
+    right: 58.333333333333336%;
1421
+  }
1422
+  .col-lg-pull-6 {
1423
+    right: 50%;
1424
+  }
1425
+  .col-lg-pull-5 {
1426
+    right: 41.66666666666667%;
1427
+  }
1428
+  .col-lg-pull-4 {
1429
+    right: 33.33333333333333%;
1430
+  }
1431
+  .col-lg-pull-3 {
1432
+    right: 25%;
1433
+  }
1434
+  .col-lg-pull-2 {
1435
+    right: 16.666666666666664%;
1436
+  }
1437
+  .col-lg-pull-1 {
1438
+    right: 8.333333333333332%;
1439
+  }
1440
+  .col-lg-pull-0 {
1441
+    right: 0%;
1442
+  }
1443
+  .col-lg-push-12 {
1444
+    left: 100%;
1445
+  }
1446
+  .col-lg-push-11 {
1447
+    left: 91.66666666666666%;
1448
+  }
1449
+  .col-lg-push-10 {
1450
+    left: 83.33333333333334%;
1451
+  }
1452
+  .col-lg-push-9 {
1453
+    left: 75%;
1454
+  }
1455
+  .col-lg-push-8 {
1456
+    left: 66.66666666666666%;
1457
+  }
1458
+  .col-lg-push-7 {
1459
+    left: 58.333333333333336%;
1460
+  }
1461
+  .col-lg-push-6 {
1462
+    left: 50%;
1463
+  }
1464
+  .col-lg-push-5 {
1465
+    left: 41.66666666666667%;
1466
+  }
1467
+  .col-lg-push-4 {
1468
+    left: 33.33333333333333%;
1469
+  }
1470
+  .col-lg-push-3 {
1471
+    left: 25%;
1472
+  }
1473
+  .col-lg-push-2 {
1474
+    left: 16.666666666666664%;
1475
+  }
1476
+  .col-lg-push-1 {
1477
+    left: 8.333333333333332%;
1478
+  }
1479
+  .col-lg-push-0 {
1480
+    left: 0%;
1481
+  }
1482
+  .col-lg-offset-12 {
1483
+    margin-left: 100%;
1484
+  }
1485
+  .col-lg-offset-11 {
1486
+    margin-left: 91.66666666666666%;
1487
+  }
1488
+  .col-lg-offset-10 {
1489
+    margin-left: 83.33333333333334%;
1490
+  }
1491
+  .col-lg-offset-9 {
1492
+    margin-left: 75%;
1493
+  }
1494
+  .col-lg-offset-8 {
1495
+    margin-left: 66.66666666666666%;
1496
+  }
1497
+  .col-lg-offset-7 {
1498
+    margin-left: 58.333333333333336%;
1499
+  }
1500
+  .col-lg-offset-6 {
1501
+    margin-left: 50%;
1502
+  }
1503
+  .col-lg-offset-5 {
1504
+    margin-left: 41.66666666666667%;
1505
+  }
1506
+  .col-lg-offset-4 {
1507
+    margin-left: 33.33333333333333%;
1508
+  }
1509
+  .col-lg-offset-3 {
1510
+    margin-left: 25%;
1511
+  }
1512
+  .col-lg-offset-2 {
1513
+    margin-left: 16.666666666666664%;
1514
+  }
1515
+  .col-lg-offset-1 {
1516
+    margin-left: 8.333333333333332%;
1517
+  }
1518
+  .col-lg-offset-0 {
1519
+    margin-left: 0%;
1520
+  }
1521
+}
1522
+
1523
+html {
1524
+  font-family: sans-serif;
1525
+  -ms-text-size-adjust: 100%;
1526
+  -webkit-text-size-adjust: 100%;
1527
+}
1528
+body {
1529
+  margin: 0;
1530
+}
1531
+article,
1532
+aside,
1533
+details,
1534
+figcaption,
1535
+figure,
1536
+footer,
1537
+header,
1538
+hgroup,
1539
+main,
1540
+nav,
1541
+section,
1542
+summary {
1543
+  display: block;
1544
+}
1545
+audio,
1546
+canvas,
1547
+progress,
1548
+video {
1549
+  display: inline-block;
1550
+  vertical-align: baseline;
1551
+}
1552
+audio:not([controls]) {
1553
+  display: none;
1554
+  height: 0;
1555
+}
1556
+[hidden],
1557
+template {
1558
+  display: none;
1559
+}
1560
+a {
1561
+  background: transparent;
1562
+}
1563
+a:active,
1564
+a:hover {
1565
+  outline: 0;
1566
+}
1567
+abbr[title] {
1568
+  border-bottom: 1px dotted;
1569
+}
1570
+b,
1571
+strong {
1572
+  font-weight: bold;
1573
+}
1574
+dfn {
1575
+  font-style: italic;
1576
+}
1577
+h1 {
1578
+  font-size: 2em;
1579
+  margin: 0.67em 0;
1580
+}
1581
+mark {
1582
+  background: #ff0;
1583
+  color: #000;
1584
+}
1585
+small {
1586
+  font-size: 80%;
1587
+}
1588
+sub,
1589
+sup {
1590
+  font-size: 75%;
1591
+  line-height: 0;
1592
+  position: relative;
1593
+  vertical-align: baseline;
1594
+}
1595
+sup {
1596
+  top: -0.5em;
1597
+}
1598
+sub {
1599
+  bottom: -0.25em;
1600
+}
1601
+img {
1602
+  border: 0;
1603
+}
1604
+svg:not(:root) {
1605
+  overflow: hidden;
1606
+}
1607
+figure {
1608
+  margin: 1em 40px;
1609
+}
1610
+hr {
1611
+  -moz-box-sizing: content-box;
1612
+  box-sizing: content-box;
1613
+  height: 0;
1614
+}
1615
+pre {
1616
+  overflow: auto;
1617
+}
1618
+code,
1619
+kbd,
1620
+pre,
1621
+samp {
1622
+  font-family: monospace, monospace;
1623
+  font-size: 1em;
1624
+}
1625
+button,
1626
+input,
1627
+optgroup,
1628
+select,
1629
+textarea {
1630
+  color: inherit;
1631
+  font: inherit;
1632
+  margin: 0;
1633
+}
1634
+button {
1635
+  overflow: visible;
1636
+}
1637
+button,
1638
+select {
1639
+  text-transform: none;
1640
+}
1641
+button,
1642
+html input[type="button"],
1643
+input[type="reset"],
1644
+input[type="submit"] {
1645
+  -webkit-appearance: button;
1646
+  cursor: pointer;
1647
+}
1648
+button[disabled],
1649
+html input[disabled] {
1650
+  cursor: default;
1651
+}
1652
+button::-moz-focus-inner,
1653
+input::-moz-focus-inner {
1654
+  border: 0;
1655
+  padding: 0;
1656
+}
1657
+input {
1658
+  line-height: normal;
1659
+}
1660
+input[type="checkbox"],
1661
+input[type="radio"] {
1662
+  box-sizing: border-box;
1663
+  padding: 0;
1664
+}
1665
+input[type="number"]::-webkit-inner-spin-button,
1666
+input[type="number"]::-webkit-outer-spin-button {
1667
+  height: auto;
1668
+}
1669
+input[type="search"] {
1670
+  -webkit-appearance: textfield;
1671
+  -moz-box-sizing: content-box;
1672
+  -webkit-box-sizing: content-box;
1673
+  box-sizing: content-box;
1674
+}
1675
+input[type="search"]::-webkit-search-cancel-button,
1676
+input[type="search"]::-webkit-search-decoration {
1677
+  -webkit-appearance: none;
1678
+}
1679
+fieldset {
1680
+  border: 1px solid #c0c0c0;
1681
+  margin: 0 2px;
1682
+  padding: 0.35em 0.625em 0.75em;
1683
+}
1684
+legend {
1685
+  border: 0;
1686
+  padding: 0;
1687
+}
1688
+textarea {
1689
+  overflow: auto;
1690
+}
1691
+optgroup {
1692
+  font-weight: bold;
1693
+}
1694
+table {
1695
+  border-collapse: collapse;
1696
+  border-spacing: 0;
1697
+}
1698
+td,
1699
+th {
1700
+  padding: 0;
1701
+}
1702
+@-ms-viewport {
1703
+  width: device-width;
1704
+}
1705
+.visible-xs,
1706
+.visible-sm,
1707
+.visible-md,
1708
+.visible-lg {
1709
+  display: none !important;
1710
+}
1711
+@media (max-width: 767px) {
1712
+  .visible-xs {
1713
+    display: block !important;
1714
+  }
1715
+  table.visible-xs {
1716
+    display: table;
1717
+  }
1718
+  tr.visible-xs {
1719
+    display: table-row !important;
1720
+  }
1721
+  th.visible-xs,
1722
+  td.visible-xs {
1723
+    display: table-cell !important;
1724
+  }
1725
+}
1726
+@media (min-width: 768px) and (max-width: 991px) {
1727
+  .visible-sm {
1728
+    display: block !important;
1729
+  }
1730
+  table.visible-sm {
1731
+    display: table;
1732
+  }
1733
+  tr.visible-sm {
1734
+    display: table-row !important;
1735
+  }
1736
+  th.visible-sm,
1737
+  td.visible-sm {
1738
+    display: table-cell !important;
1739
+  }
1740
+}
1741
+@media (min-width: 992px) and (max-width: 1199px) {
1742
+  .visible-md {
1743
+    display: block !important;
1744
+  }
1745
+  table.visible-md {
1746
+    display: table;
1747
+  }
1748
+  tr.visible-md {
1749
+    display: table-row !important;
1750
+  }
1751
+  th.visible-md,
1752
+  td.visible-md {
1753
+    display: table-cell !important;
1754
+  }
1755
+}
1756
+@media (min-width: 1200px) {
1757
+  .visible-lg {
1758
+    display: block !important;
1759
+  }
1760
+  table.visible-lg {
1761
+    display: table;
1762
+  }
1763
+  tr.visible-lg {
1764
+    display: table-row !important;
1765
+  }
1766
+  th.visible-lg,
1767
+  td.visible-lg {
1768
+    display: table-cell !important;
1769
+  }
1770
+}
1771
+@media (max-width: 767px) {
1772
+  .hidden-xs {
1773
+    display: none !important;
1774
+  }
1775
+}
1776
+@media (min-width: 768px) and (max-width: 991px) {
1777
+  .hidden-sm {
1778
+    display: none !important;
1779
+  }
1780
+}
1781
+@media (min-width: 992px) and (max-width: 1199px) {
1782
+  .hidden-md {
1783
+    display: none !important;
1784
+  }
1785
+}
1786
+@media (min-width: 1200px) {
1787
+  .hidden-lg {
1788
+    display: none !important;
1789
+  }
1790
+}
1791
+.visible-print {
1792
+  display: none !important;
1793
+}
1794
+@media print {
1795
+  .visible-print {
1796
+    display: block !important;
1797
+  }
1798
+  table.visible-print {
1799
+    display: table;
1800
+  }
1801
+  tr.visible-print {
1802
+    display: table-row !important;
1803
+  }
1804
+  th.visible-print,
1805
+  td.visible-print {
1806
+    display: table-cell !important;
1807
+  }
1808
+}
1809
+@media print {
1810
+  .hidden-print {
1811
+    display: none !important;
1812
+  }
1813
+}
1814
+* {
1815
+  -webkit-box-sizing: border-box;
1816
+  -moz-box-sizing: border-box;
1817
+  box-sizing: border-box;
1818
+}
1819
+*:before,
1820
+*:after {
1821
+  -webkit-box-sizing: border-box;
1822
+  -moz-box-sizing: border-box;
1823
+  box-sizing: border-box;
1824
+}
1825
+html {
1826
+  font-size: 62.5%;
1827
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1828
+}
1829
+body {
1830
+  font-family: "Open Sans", Helvetica, Arial, sans-serif;
1831
+  font-size: 12px;
1832
+  line-height: 1.66666667;
1833
+  color: #333333;
1834
+  background-color: #ffffff;
1835
+}
1836
+input,
1837
+button,
1838
+select,
1839
+textarea {
1840
+  font-family: inherit;
1841
+  font-size: inherit;
1842
+  line-height: inherit;
1843
+}
1844
+a {
1845
+  color: #0099d3;
1846
+  text-decoration: none;
1847
+}
1848
+a:hover,
1849
+a:focus {
1850
+  color: #00618a;
1851
+  text-decoration: underline;
1852
+}
1853
+a:focus {
1854
+  outline: thin dotted;
1855
+  outline: 5px auto -webkit-focus-ring-color;
1856
+  outline-offset: -2px;
1857
+}
1858
+figure {
1859
+  margin: 0;
1860
+}
1861
+img {
1862
+  vertical-align: middle;
1863
+}
1864
+.img-responsive {
1865
+  display: block;
1866
+  max-width: 100%;
1867
+  height: auto;
1868
+}
1869
+.img-rounded {
1870
+  border-radius: 1px;
1871
+}
1872
+.img-thumbnail {
1873
+  padding: 4px;
1874
+  line-height: 1.66666667;
1875
+  background-color: #ffffff;
1876
+  border: 1px solid #dddddd;
1877
+  border-radius: 1px;
1878
+  -webkit-transition: all 0.2s ease-in-out;
1879
+  transition: all 0.2s ease-in-out;
1880
+  display: inline-block;
1881
+  max-width: 100%;
1882
+  height: auto;
1883
+}
1884
+.img-circle {
1885
+  border-radius: 50%;
1886
+}
1887
+hr {
1888
+  margin-top: 20px;
1889
+  margin-bottom: 20px;
1890
+  border: 0;
1891
+  border-top: 1px solid #eeeeee;
1892
+}
1893
+.sr-only {
1894
+  position: absolute;
1895
+  width: 1px;
1896
+  height: 1px;
1897
+  margin: -1px;
1898
+  padding: 0;
1899
+  overflow: hidden;
1900
+  clip: rect(0, 0, 0, 0);
1901
+  border: 0;
1902
+}
1903
+.clearfix:before,
1904
+.clearfix:after,
1905
+.form-horizontal .form-group:before,
1906
+.form-horizontal .form-group:after,
1907
+.container:before,
1908
+.container:after,
1909
+.container-fluid:before,
1910
+.container-fluid:after,
1911
+.row:before,
1912
+.row:after {
1913
+  content: " ";
1914
+  display: table;
1915
+}
1916
+.clearfix:after,
1917
+.form-horizontal .form-group:after,
1918
+.container:after,
1919
+.container-fluid:after,
1920
+.row:after {
1921
+  clear: both;
1922
+}
1923
+.center-block {
1924
+  display: block;
1925
+  margin-left: auto;
1926
+  margin-right: auto;
1927
+}
1928
+.pull-right {
1929
+  float: right !important;
1930
+}
1931
+.pull-left {
1932
+  float: left !important;
1933
+}
1934
+.hide {
1935
+  display: none !important;
1936
+}
1937
+.show {
1938
+  display: block !important;
1939
+}
1940
+.invisible {
1941
+  visibility: hidden;
1942
+}
1943
+.text-hide {
1944
+  font: 0/0 a;
1945
+  color: transparent;
1946
+  text-shadow: none;
1947
+  background-color: transparent;
1948
+  border: 0;
1949
+}
1950
+.hidden {
1951
+  display: none !important;
1952
+  visibility: hidden !important;
1953
+}
1954
+.affix {
1955
+  position: fixed;
1956
+}
1957
+
1958
+
1959
+
1960
+.alert {
1961
+  border-width: 2px;
1962
+  padding-left: 34px;
1963
+  position: relative;
1964
+}
1965
+.alert .alert-link {
1966
+  color: #0099d3;
1967
+}
1968
+.alert .alert-link:hover {
1969
+  color: #00618a;
1970
+}
1971
+.alert > .pficon,
1972
+.alert > .pficon-layered {
1973
+  font-size: 20px;
1974
+  position: absolute;
1975
+  left: 7px;
1976
+  top: 7px;
1977
+}
1978
+.alert .pficon-info {
1979
+  color: #72767b;
1980
+}
1981
+.alert-dismissable .close {
1982
+  right: -16px;
1983
+  top: 1px;
1984
+}
1985
+
1986
+
1987
+.login-pf {
1988
+  height: 100%;
1989
+}
1990
+.login-pf #brand {
1991
+  position: relative;
1992
+  top: -70px;
1993
+}
1994
+.login-pf #brand img {
1995
+  display: block;
1996
+  height: 18px;
1997
+  margin: 0 auto;
1998
+  max-width: 100%;
1999
+}
2000
+@media (min-width: 768px) {
2001
+  .login-pf #brand img {
2002
+    margin: 0;
2003
+    text-align: left;
2004
+  }
2005
+}
2006
+.login-pf #badge {
2007
+  display: block;
2008
+  margin: 20px auto 70px;
2009
+  position: relative;
2010
+  text-align: center;
2011
+}
2012
+@media (min-width: 768px) {
2013
+  .login-pf #badge {
2014
+    float: right;
2015
+    margin-right: 64px;
2016
+    margin-top: 50px;
2017
+  }
2018
+}
2019
+.login-pf body {
2020
+  background: #1a1a1a url("../img/bg-login.png") repeat-x 50% 0;
2021
+  background-size: auto;
2022
+}
2023
+@media (min-width: 768px) {
2024
+  .login-pf body {
2025
+    background-size: 100% auto;
2026
+  }
2027
+}
2028
+.login-pf .container {
2029
+  background-color: transparent;
2030
+  clear: right;
2031
+  color: #fff;
2032
+  padding-bottom: 40px;
2033
+  padding-top: 20px;
2034
+  width: auto;
2035
+}
2036
+@media (min-width: 768px) {
2037
+  .login-pf .container {
2038
+    bottom: 13%;
2039
+    padding-left: 80px;
2040
+    position: absolute;
2041
+    width: 100%;
2042
+  }
2043
+}
2044
+.login-pf .container [class^='alert'] {
2045
+  background: transparent;
2046
+  color: #fff;
2047
+}
2048
+.login-pf .container .details p:first-child {
2049
+  border-top: 1px solid #474747;
2050
+  padding-top: 25px;
2051
+  margin-top: 25px;
2052
+}
2053
+@media (min-width: 768px) {
2054
+  .login-pf .container .details {
2055
+    border-left: 1px solid #474747;
2056
+    padding-left: 40px;
2057
+  }
2058
+  .login-pf .container .details p:first-child {
2059
+    border-top: 0;
2060
+    padding-top: 0;
2061
+    margin-top: 0;
2062
+  }
2063
+}
2064
+.login-pf .container .details p {
2065
+  margin-bottom: 2px;
2066
+}
2067
+.login-pf .container .form-horizontal .control-label {
2068
+  font-size: 13px;
2069
+  font-weight: 400;
2070
+  text-align: left;
2071
+}
2072
+.login-pf .container .form-horizontal .form-group:last-child,
2073
+.login-pf .container .form-horizontal .form-group:last-child .help-block:last-child {
2074
+  margin-bottom: 0;
2075
+}
2076
+.login-pf .container .help-block {
2077
+  color: #fff;
2078
+}
2079
+@media (min-width: 768px) {
2080
+  .login-pf .container .login {
2081
+    padding-right: 40px;
2082
+  }
2083
+}
2084
+.login-pf .container .submit {
2085
+  text-align: right;
2086
+}
2087
+.ie8.login-pf #badge {
2088
+  background: url('../img/logo.png') no-repeat;
2089
+  height: 44px;
2090
+  width: 137px;
2091
+}
2092
+.ie8.login-pf #badge img {
2093
+  width: 0;
2094
+}
2095
+.ie8.login-pf #brand {
2096
+  background: url('../img/brand-lg.png') no-repeat center;
2097
+  background-size: cover auto;
2098
+}
2099
+@media (min-width: 768px) {
2100
+  .ie8.login-pf #brand {
2101
+    background-position: 0 0;
2102
+  }
2103
+}
2104
+.ie8.login-pf #brand img {
2105
+  width: 0;
2106
+}
2107
+
2108
+
2109
+
2110
+@font-face {
2111
+  font-family: 'PatternFlyIcons-webfont';
2112
+  src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff');
2113
+  font-weight: normal;
2114
+  font-style: normal;
2115
+}
2116
+[class*="-exclamation"] {
2117
+  color: #fff;
2118
+}
2119
+[class^="pficon-"],
2120
+[class*=" pficon-"] {
2121
+  display: inline-block;
2122
+  font-family: 'PatternFlyIcons-webfont';
2123
+  font-style: normal;
2124
+  font-variant: normal;
2125
+  font-weight: normal;
2126
+  line-height: 1;
2127
+  speak: none;
2128
+  text-transform: none;
2129
+
2130
+  -webkit-font-smoothing: antialiased;
2131
+  -moz-osx-font-smoothing: grayscale;
2132
+}
2133
+.pficon-layered {
2134
+  position: relative;
2135
+}
2136
+.pficon-layered .pficon:first-child {
2137
+  position: absolute;
2138
+  z-index: 1;
2139
+}
2140
+.pficon-layered .pficon:first-child + .pficon {
2141
+  position: relative;
2142
+  z-index: 2;
2143
+}
2144
+.pficon-warning-exclamation:before {
2145
+  content: "\e60d";
2146
+}
2147
+.pficon-screen:before {
2148
+  content: "\e600";
2149
+}
2150
+.pficon-save:before {
2151
+  content: "\e601";
2152
+}
2153
+.pficon-ok:before {
2154
+  color: #57a81c;
2155
+  content: "\e602";
2156
+}
2157
+.pficon-messages:before {
2158
+  content: "\e603";
2159
+}
2160
+.pficon-info:before {
2161
+  content: "\e604";
2162
+}
2163
+.pficon-help:before {
2164
+  content: "\e605";
2165
+}
2166
+.pficon-folder-open:before {
2167
+  content: "\e606";
2168
+}
2169
+.pficon-folder-close:before {
2170
+  content: "\e607";
2171
+}
2172
+.pficon-error-exclamation:before {
2173
+  content: "\e608";
2174
+}
2175
+.pficon-error-octagon:before {
2176
+  color: #c90813;
2177
+  content: "\e609";
2178
+}
2179
+.pficon-edit:before {
2180
+  content: "\e60a";
2181
+}
2182
+.pficon-close:before {
2183
+  content: "\e60b";
2184
+}
2185
+.pficon-warning-triangle:before {
2186
+  color: #eb7720;
2187
+  content: "\e60c";
2188
+}
2189
+.pficon-user:before {
2190
+  content: "\e60e";
2191
+}
2192
+.pficon-users:before {
2193
+  content: "\e60f";
2194
+}
2195
+.pficon-settings:before {
2196
+  content: "\e610";
2197
+}
2198
+.pficon-delete:before {
2199
+  content: "\e611";
2200
+}
2201
+.pficon-print:before {
2202
+  content: "\e612";
2203
+}
2204
+.pficon-refresh:before {
2205
+  content: "\e613";
2206
+}
2207
+.pficon-running:before {
2208
+  content: "\e614";
2209
+}
2210
+.pficon-import:before {
2211
+  content: "\e615";
2212
+}
2213
+.pficon-export:before {
2214
+  content: "\e616";
2215
+}
2216
+.pficon-history:before {
2217
+  content: "\e617";
2218
+}
2219
+.pficon-home:before {
2220
+  content: "\e618";
2221
+}
2222
+.pficon-remove:before {
2223
+  content: "\e619";
2224
+}
2225
+.pficon-add:before {
2226
+  content: "\e61a";
2227
+}
2228
+
2229
+.login-pf {
2230
+  background-color: #1a1a1a;
2231
+}
2232
+@media (min-width: 768px) {
2233
+  .login-pf {
2234
+    background-image: url("../img/bg-login-2.png");
2235
+    background-position: 100% 100%;
2236
+    background-repeat: no-repeat;
2237
+    background-size: 30%;
2238
+  }
2239
+}
2240
+@media (min-width: 992px) {
2241
+  .login-pf {
2242
+    background-size: auto;
2243
+  }
2244
+}
2245
+.login-pf #badge {
2246
+  margin-bottom: 50px;
2247
+}
2248
+.login-pf body {
2249
+  background: transparent;
2250
+}
2251
+@media (min-width: 768px) {
2252
+  .login-pf body {
2253
+    background-image: url("../img/bg-login.png");
2254
+    background-repeat: no-repeat;
2255
+    background-size: 30%;
2256
+    height: 100%;
2257
+  }
2258
+}
2259
+@media (min-width: 992px) {
2260
+  .login-pf body {
2261
+    background-size: auto;
2262
+  }
2263
+}
2264
+.login-pf #brand {
2265
+  top: -30px;
2266
+}
2267
+@media (min-width: 768px) {
2268
+  .login-pf #brand {
2269
+    top: -40px;
2270
+  }
2271
+  .login-pf #brand + .alert {
2272
+    margin-top: -20px;
2273
+  }
2274
+}
2275
+.login-pf .container {
2276
+  padding-top: 0;
2277
+}
2278
+@media (min-width: 992px) {
2279
+  .login-pf .container {
2280
+    bottom: 20%;
2281
+    padding-right: 120px;
2282
+  }
2283
+}
2284
+@media (max-width: 767px) {
2285
+  .login-pf #badge {
2286
+    margin-bottom: 20px;
2287
+  }
2288
+  .login-pf #brand {
2289
+    display: none;
2290
+  }
2291
+}
2292
+@media (min-width: 768px) {
2293
+  .login-pf {
2294
+    background-image: none;
2295
+  }
2296
+  .login-pf body {
2297
+    background-image: none;
2298
+  }
2299
+}
2300
+      </style>
2301
+  </head>
2302
+  <body>
2303
+    <span id="badge">
2304
+      <img src="data:image/png;base64,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" alt="Project Atomic" />
2305
+    </span>
2306
+    <div class="container">
2307
+      <div class="row">
2308
+        <div class="col-sm-12">
2309
+          <div id="brand">
2310
+            <!-- insert brand image here -->
2311
+            <!--
2312
+            <img src="" alt="Atomic Registry">
2313
+            -->
2314
+          </div>
2315
+
2316
+        </div>
2317
+        <div class="col-sm-7 col-md-6 col-lg-5 login">
2318
+          {{ if .Error }}
2319
+            <div class="error">{{ .Error }}</div>
2320
+            <!-- Error code: {{ .ErrorCode }} -->
2321
+          {{ end }}
2322
+
2323
+          <!-- Identity provider name: {{ .ProviderName }} -->
2324
+          <form class="form-horizontal" role="form" action="{{ .Action }}" method="POST">
2325
+            <input type="hidden" name="{{ .Names.Then }}" value="{{ .Values.Then }}">
2326
+            <input type="hidden" name="{{ .Names.CSRF }}" value="{{ .Values.CSRF }}">
2327
+            <div class="form-group">
2328
+              <label for="inputUsername" class="col-sm-2 col-md-2 control-label">Username</label>
2329
+              <div class="col-sm-10 col-md-10">
2330
+                <input type="text" class="form-control" id="inputUsername" placeholder="" tabindex="1" autofocus="autofocus" type="text" name="{{ .Names.Username }}" value="{{ .Values.Username }}">
2331
+              </div>
2332
+            </div>
2333
+            <div class="form-group">
2334
+              <label for="inputPassword" class="col-sm-2 col-md-2 control-label">Password</label>
2335
+              <div class="col-sm-10 col-md-10">
2336
+                <input type="password" class="form-control" id="inputPassword" placeholder="" tabindex="2" type="password" name="{{ .Names.Password }}" value="">
2337
+              </div>
2338
+            </div>
2339
+            <div class="form-group">
2340
+              <div class="col-xs-8 col-sm-offset-2 col-sm-6 col-md-offset-2 col-md-6">
2341
+
2342
+              </div>
2343
+              <div class="col-xs-4 col-sm-4 col-md-4 submit">
2344
+                <button type="submit" class="btn btn-primary btn-lg" tabindex="4">Log In</button>
2345
+              </div>
2346
+            </div>
2347
+          </form>
2348
+        </div>
2349
+        <div class="col-sm-5 col-md-6 col-lg-7 details">
2350
+          <p><strong>Welcome to Atomic Registry.</strong>
2351
+          </p>
2352
+        </div>
2353
+      </div>
2354
+    </div>
2355
+  </body>
2356
+</html>
0 2357
new file mode 100644
... ...
@@ -0,0 +1,152 @@
0
+{
1
+    "kind": "Template",
2
+    "apiVersion": "v1",
3
+    "metadata": {
4
+        "name": "registry-newproject-template-shared",
5
+        "creationTimestamp": null
6
+    },
7
+    "objects": [
8
+        {
9
+            "kind": "Project",
10
+            "apiVersion": "v1",
11
+            "metadata": {
12
+                "name": "${PROJECT_NAME}",
13
+                "creationTimestamp": null,
14
+                "annotations": {
15
+                    "openshift.io/description": "${PROJECT_DESCRIPTION}",
16
+                    "openshift.io/display-name": "${PROJECT_DISPLAYNAME}",
17
+                    "openshift.io/requester": "${PROJECT_REQUESTING_USER}"
18
+                }
19
+            },
20
+            "spec": {},
21
+            "status": {}
22
+        },
23
+        {
24
+            "apiVersion": "v1",
25
+            "groupNames": [
26
+                "system:authenticated"
27
+            ],
28
+            "kind": "RoleBinding",
29
+            "metadata": {
30
+                "creationTimestamp": null,
31
+                "name": "registry-viewer",
32
+                "namespace": "${PROJECT_NAME}"
33
+            },
34
+            "roleRef": {
35
+                "name": "registry-viewer"
36
+            },
37
+            "subjects": [
38
+                {
39
+                    "kind": "Group",
40
+                    "name": "system:authenticated"
41
+                }
42
+            ],
43
+            "userNames": null
44
+        },
45
+        {
46
+            "kind": "RoleBinding",
47
+            "apiVersion": "v1",
48
+            "metadata": {
49
+                "name": "registry-admin",
50
+                "namespace": "${PROJECT_NAME}",
51
+                "creationTimestamp": null
52
+            },
53
+            "userNames": [
54
+                "${PROJECT_ADMIN_USER}"
55
+            ],
56
+            "groupNames": null,
57
+            "subjects": [
58
+                {
59
+                    "kind": "User",
60
+                    "name": "${PROJECT_ADMIN_USER}"
61
+                }
62
+            ],
63
+            "roleRef": {
64
+                "name": "registry-admin"
65
+            }
66
+        },
67
+        {
68
+            "kind": "RoleBinding",
69
+            "apiVersion": "v1",
70
+            "metadata": {
71
+                "name": "system:image-pullers",
72
+                "namespace": "${PROJECT_NAME}",
73
+                "creationTimestamp": null
74
+            },
75
+            "userNames": null,
76
+            "groupNames": [
77
+                "system:serviceaccounts:${PROJECT_NAME}"
78
+            ],
79
+            "subjects": [
80
+                {
81
+                    "kind": "SystemGroup",
82
+                    "name": "system:serviceaccounts:${PROJECT_NAME}"
83
+                }
84
+            ],
85
+            "roleRef": {
86
+                "name": "system:image-puller"
87
+            }
88
+        },
89
+        {
90
+            "kind": "RoleBinding",
91
+            "apiVersion": "v1",
92
+            "metadata": {
93
+                "name": "system:image-builders",
94
+                "namespace": "${PROJECT_NAME}",
95
+                "creationTimestamp": null
96
+            },
97
+            "userNames": [
98
+                "system:serviceaccount:${PROJECT_NAME}:builder"
99
+            ],
100
+            "groupNames": null,
101
+            "subjects": [
102
+                {
103
+                    "kind": "ServiceAccount",
104
+                    "name": "builder"
105
+                }
106
+            ],
107
+            "roleRef": {
108
+                "name": "system:image-builder"
109
+            }
110
+        },
111
+        {
112
+            "kind": "RoleBinding",
113
+            "apiVersion": "v1",
114
+            "metadata": {
115
+                "name": "system:deployers",
116
+                "namespace": "${PROJECT_NAME}",
117
+                "creationTimestamp": null
118
+            },
119
+            "userNames": [
120
+                "system:serviceaccount:${PROJECT_NAME}:deployer"
121
+            ],
122
+            "groupNames": null,
123
+            "subjects": [
124
+                {
125
+                    "kind": "ServiceAccount",
126
+                    "name": "deployer"
127
+                }
128
+            ],
129
+            "roleRef": {
130
+                "name": "system:deployer"
131
+            }
132
+        }
133
+    ],
134
+    "parameters": [
135
+        {
136
+            "name": "PROJECT_NAME"
137
+        },
138
+        {
139
+            "name": "PROJECT_DISPLAYNAME"
140
+        },
141
+        {
142
+            "name": "PROJECT_DESCRIPTION"
143
+        },
144
+        {
145
+            "name": "PROJECT_ADMIN_USER"
146
+        },
147
+        {
148
+            "name": "PROJECT_REQUESTING_USER"
149
+        }
150
+    ]
151
+}
0 152
new file mode 100644
... ...
@@ -0,0 +1,130 @@
0
+{
1
+    "kind": "Template",
2
+    "apiVersion": "v1",
3
+    "metadata": {
4
+        "name": "registry-newproject-template-unshared",
5
+        "creationTimestamp": null
6
+    },
7
+    "objects": [
8
+        {
9
+            "kind": "Project",
10
+            "apiVersion": "v1",
11
+            "metadata": {
12
+                "name": "${PROJECT_NAME}",
13
+                "creationTimestamp": null,
14
+                "annotations": {
15
+                    "openshift.io/description": "${PROJECT_DESCRIPTION}",
16
+                    "openshift.io/display-name": "${PROJECT_DISPLAYNAME}",
17
+                    "openshift.io/requester": "${PROJECT_REQUESTING_USER}"
18
+                }
19
+            },
20
+            "spec": {},
21
+            "status": {}
22
+        },
23
+        {
24
+            "kind": "RoleBinding",
25
+            "apiVersion": "v1",
26
+            "metadata": {
27
+                "name": "registry-admin",
28
+                "namespace": "${PROJECT_NAME}",
29
+                "creationTimestamp": null
30
+            },
31
+            "userNames": [
32
+                "${PROJECT_ADMIN_USER}"
33
+            ],
34
+            "groupNames": null,
35
+            "subjects": [
36
+                {
37
+                    "kind": "User",
38
+                    "name": "${PROJECT_ADMIN_USER}"
39
+                }
40
+            ],
41
+            "roleRef": {
42
+                "name": "registry-admin"
43
+            }
44
+        },
45
+        {
46
+            "kind": "RoleBinding",
47
+            "apiVersion": "v1",
48
+            "metadata": {
49
+                "name": "system:image-pullers",
50
+                "namespace": "${PROJECT_NAME}",
51
+                "creationTimestamp": null
52
+            },
53
+            "userNames": null,
54
+            "groupNames": [
55
+                "system:serviceaccounts:${PROJECT_NAME}"
56
+            ],
57
+            "subjects": [
58
+                {
59
+                    "kind": "SystemGroup",
60
+                    "name": "system:serviceaccounts:${PROJECT_NAME}"
61
+                }
62
+            ],
63
+            "roleRef": {
64
+                "name": "system:image-puller"
65
+            }
66
+        },
67
+        {
68
+            "kind": "RoleBinding",
69
+            "apiVersion": "v1",
70
+            "metadata": {
71
+                "name": "system:image-builders",
72
+                "namespace": "${PROJECT_NAME}",
73
+                "creationTimestamp": null
74
+            },
75
+            "userNames": [
76
+                "system:serviceaccount:${PROJECT_NAME}:builder"
77
+            ],
78
+            "groupNames": null,
79
+            "subjects": [
80
+                {
81
+                    "kind": "ServiceAccount",
82
+                    "name": "builder"
83
+                }
84
+            ],
85
+            "roleRef": {
86
+                "name": "system:image-builder"
87
+            }
88
+        },
89
+        {
90
+            "kind": "RoleBinding",
91
+            "apiVersion": "v1",
92
+            "metadata": {
93
+                "name": "system:deployers",
94
+                "namespace": "${PROJECT_NAME}",
95
+                "creationTimestamp": null
96
+            },
97
+            "userNames": [
98
+                "system:serviceaccount:${PROJECT_NAME}:deployer"
99
+            ],
100
+            "groupNames": null,
101
+            "subjects": [
102
+                {
103
+                    "kind": "ServiceAccount",
104
+                    "name": "deployer"
105
+                }
106
+            ],
107
+            "roleRef": {
108
+                "name": "system:deployer"
109
+            }
110
+        }
111
+    ],
112
+    "parameters": [
113
+        {
114
+            "name": "PROJECT_NAME"
115
+        },
116
+        {
117
+            "name": "PROJECT_DISPLAYNAME"
118
+        },
119
+        {
120
+            "name": "PROJECT_DESCRIPTION"
121
+        },
122
+        {
123
+            "name": "PROJECT_ADMIN_USER"
124
+        },
125
+        {
126
+            "name": "PROJECT_REQUESTING_USER"
127
+        }
128
+    ]
129
+}
0 130
new file mode 100755
... ...
@@ -0,0 +1,89 @@
0
+#!/bin/bash
1
+
2
+# wait_for_url attempts to access a url in order to
3
+# determine if it is available to service requests.
4
+#
5
+# $1 - The URL to check
6
+# $2 - Optional prefix to use when echoing a successful result
7
+# $3 - Optional time to sleep between attempts (Default: 0.2s)
8
+# $4 - Optional number of attemps to make (Default: 10)
9
+# attribution: openshift/origin hack/util.sh
10
+function wait_for_url {
11
+	url=$1
12
+	prefix=${2:-}
13
+	wait=${3:-0.5}
14
+	times=${4:-40}
15
+
16
+	set +e
17
+	cmd="chroot /host curl -kfLs ${url}"
18
+	for i in $(seq 1 $times); do
19
+		out=$(${cmd})
20
+		if [ $? -eq 0 ]; then
21
+			set -e
22
+			echo "${prefix}${out}"
23
+			return 0
24
+		fi
25
+		sleep $wait
26
+	done
27
+	echo "ERROR: gave up waiting ${wait} seconds ${times} times for ${url} with command ${cmd}"
28
+  set -e
29
+	return 1
30
+}
31
+
32
+INSTALL_HOST=${1:-`hostname`}
33
+
34
+echo "Running using hostname ${INSTALL_HOST}"
35
+
36
+chroot /host sudo docker run -d --name "origin" \
37
+        --privileged --pid=host --net=host \
38
+        -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \
39
+        -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /var/lib/docker:/var/lib/docker:rw \
40
+        -v /etc/origin/:/etc/origin/ -v /var/lib/origin:/var/lib/origin \
41
+        openshift/origin start \
42
+        --master-config /etc/origin/master/master-config.yaml \
43
+        --node-config=/etc/origin/node/node-config.yaml \
44
+        --latest-images=true
45
+
46
+echo "Waiting for services to come up..."
47
+wait_for_url "https://${INSTALL_HOST}:8443/api"
48
+
49
+CMD="chroot /host docker exec -it origin"
50
+echo "Starting registry services..."
51
+
52
+set -x
53
+
54
+$CMD oadm registry --credentials /etc/origin/master/openshift-registry.kubeconfig --latest-images=true
55
+# we're hacking the service to use a node port to reduce deployment complexity
56
+$CMD oc patch service docker-registry -p \
57
+     '{ "spec": { "type": "NodePort", "selector": {"docker-registry": "default"}, "ports": [ {"nodePort": 5000, "port": 5000, "targetPort": 5000}] }}'
58
+
59
+set +x
60
+echo "Starting web UI service..."
61
+
62
+# TODO: use master cert from /etc/origin/registry/master.server.cert
63
+# create secret volume
64
+# mounted at /etc/cockpit/ws-certs.d/master.server.cert
65
+# use secret volume in template
66
+
67
+set -x
68
+$CMD oc create -f /etc/origin/registry/registry-console-template.yaml
69
+$CMD oc new-app --template registry-console-template \
70
+     -p OPENSHIFT_OAUTH_PROVIDER_URL=https://${INSTALL_HOST}:8443,COCKPIT_KUBE_URL=https://${INSTALL_HOST},REGISTRY_HOST=${INSTALL_HOST}:5000
71
+# we're hacking the service to use a node port to reduce deployment complexity
72
+$CMD oc patch service registry-console -p \
73
+     '{ "spec": { "type": "NodePort", "selector": {"name": "registry-console"}, "ports": [ {"nodePort": 443, "port": 9000, "targetPort": 9090}] }}'
74
+
75
+set +x
76
+echo "Updating default project configuration"
77
+set -x
78
+$CMD oc create -f /etc/origin/registry/registry-newproject-template-shared.json
79
+$CMD oc create -f /etc/origin/registry/registry-newproject-template-unshared.json
80
+sed -i 's/  projectRequestTemplate:.*$/  projectRequestTemplate: "default\/registry-newproject-template-shared"/' /etc/origin/master/master-config.yaml
81
+
82
+set +x
83
+echo "Restarting API server"
84
+set -x
85
+chroot /host docker restart origin
86
+
87
+set +x
88
+echo "Web UI hosted at https://${INSTALL_HOST}"
0 89
new file mode 100755
... ...
@@ -0,0 +1,58 @@
0
+#!/bin/bash
1
+
2
+###
3
+# basic install and run test for atomic registry quickstart image
4
+# run with "uninstall" argument to test tear down after test
5
+###
6
+
7
+set -o errexit
8
+set -o pipefail
9
+set -x
10
+
11
+TEST_IMAGE=atomic-registry-quickstart
12
+
13
+# we're going to use this for testing
14
+# node ports aren't working with boxes default hostname localdomain.localhost
15
+LOCALHOST=127.0.0.1
16
+CMD="docker exec -it origin"
17
+
18
+USER=mary
19
+PROJ=mary-project
20
+
21
+function test_push() {
22
+  # login as $USER and do a basic docker workflow
23
+  $CMD oc login -u ${USER} -p test
24
+  $CMD oc new-project ${PROJ}
25
+  TOKEN=$($CMD oc whoami -t)
26
+  docker login -p ${TOKEN} -u unused -e test@example.com ${LOCALHOST}:5000
27
+  docker pull busybox
28
+  docker tag busybox ${LOCALHOST}:5000/${PROJ}/busybox
29
+  docker push ${LOCALHOST}:5000/${PROJ}/busybox
30
+  docker rmi busybox ${LOCALHOST}:5000/${PROJ}/busybox
31
+  docker logout
32
+}
33
+
34
+function test_cannot_push() {
35
+  # in shared mode...
36
+  # we pull $USERS's image, tag and try to push
37
+  # bob shouldn't be able to push
38
+  $CMD oc login -u bob -p test
39
+  TOKEN=$($CMD oc whoami -t)
40
+  docker login -p ${TOKEN} -u unused -e test@example.com ${LOCALHOST}:5000
41
+  docker pull ${LOCALHOST}:5000/${PROJ}/busybox
42
+  docker tag ${LOCALHOST}:5000/${PROJ}/busybox ${LOCALHOST}:5000/${PROJ}/busybox:evil
43
+  if docker push ${LOCALHOST}:5000/${PROJ}/busybox:evil; then
44
+    echo "registry-viewer user should not have been able to push to repo"
45
+    docker logout
46
+    exit 1
47
+  fi
48
+  docker rmi ${LOCALHOST}:5000/${PROJ}/busybox ${LOCALHOST}:5000/${PROJ}/busybox:evil
49
+  docker logout
50
+}
51
+
52
+# first we need to patch for the vagrant port mapping 443 -> 1443
53
+$CMD oc login -u system:admin
54
+$CMD oc patch oauthclient cockpit-oauth-client -p  '{ "redirectURIs": [ "https://'"${LOCALHOST}"':1443" ] }'
55
+
56
+test_push
57
+test_cannot_push
0 58
new file mode 100755
... ...
@@ -0,0 +1,46 @@
0
+#!/bin/bash
1
+
2
+CMD="chroot /host docker exec -it origin"
3
+
4
+# let's make sure we're logged in as admin/default
5
+$CMD oc login -u system:admin
6
+$CMD oc project default
7
+
8
+SERVICES=(docker-registry registry-console)
9
+for SERVICE in "${SERVICES[@]}"
10
+do
11
+  $CMD oc delete dc,service ${SERVICE} --grace-period=0
12
+done
13
+
14
+echo "Waiting for pods to terminate"
15
+
16
+# poll for pods named "k8s", wait for them to die
17
+until [[ $(chroot /host docker ps -f NAME=k8s --format '{{ .Names }}' | wc -l) == 0 ]]
18
+do
19
+  printf "."
20
+  sleep 1
21
+done
22
+
23
+set -x
24
+chroot /host docker stop origin
25
+# remove all the containers that have started since origin
26
+#docker rm $(docker ps --since=origin -qa)
27
+# now remove origin
28
+chroot /host docker rm origin
29
+
30
+chroot /host find /var/lib/origin/volumes -type d -exec umount {} \; 2>/dev/null
31
+
32
+echo "Removing configuration files..."
33
+DIRS=(/etc/origin /var/lib/origin)
34
+for DIR in "${DIRS[@]}"
35
+do
36
+  chroot /host rm -rf ${DIR}
37
+done
38
+
39
+set +x
40
+IMAGES=(openshift/origin openshift/origin-docker-registry cockpit/kubernetes)
41
+
42
+echo "Uninstallation complete."
43
+echo "Stopped container and images have not been removed. To remove them manually run:"
44
+echo "'sudo docker rm \$(sudo docker ps -qa)'"
45
+echo "'sudo docker rmi ${IMAGES[*]}'"
0 46
new file mode 100755
... ...
@@ -0,0 +1,41 @@
0
+#!/bin/bash
1
+
2
+set -o errexit
3
+set -o pipefail
4
+
5
+IMAGE=atomic-registry-quickstart
6
+docker build -t $IMAGE ../images/atomic-registry-quickstart/.
7
+
8
+set -x
9
+
10
+function install() {
11
+  INSTALL=$(docker inspect -f '{{ .ContainerConfig.Labels.INSTALL }}' $IMAGE)
12
+  # We need $IMAGE string replaced with the image we built here
13
+  ${INSTALL//\$IMAGE/$IMAGE}
14
+}
15
+
16
+function run() {
17
+  RUN=$(docker inspect -f '{{ .ContainerConfig.Labels.RUN }}' $IMAGE)
18
+  ${RUN//\$IMAGE/$IMAGE}
19
+}
20
+
21
+function stop() {
22
+  STOP=$(docker inspect -f '{{ .ContainerConfig.Labels.STOP }}' $IMAGE)
23
+  ${STOP//\$IMAGE/$IMAGE}
24
+}
25
+
26
+function uninstall() {
27
+  UNINSTALL=$(docker inspect -f '{{ .ContainerConfig.Labels.UNINSTALL }}' $IMAGE)
28
+  ${UNINSTALL//\$IMAGE/$IMAGE}
29
+}
30
+
31
+if [ ! -z $1 ] ; then
32
+  $1
33
+  exit
34
+fi
35
+
36
+install
37
+run
38
+stop
39
+uninstall
40
+
0 41
new file mode 100644
... ...
@@ -0,0 +1,46 @@
0
+FROM openshift/origin
1
+MAINTAINER Aaron Weitekamp <aweiteka@redhat.com>
2
+
3
+LABEL name="projectatomic/atomic-registry-quickstart" \
4
+      vendor="Project Atomic" \
5
+      url="https://projectatomic.io/registry" \
6
+      summary="Quickstart image for Atomic Registry" \
7
+      description="Atomic Registry is an open source enterprise registry solution based on the Origin and Cockpit projects featuring single sign-on (SSO) user experience, a robust web interface and advanced role-based access control (RBAC)."
8
+
9
+ADD install.sh run.sh uninstall.sh stop.sh /container/bin/
10
+ADD atomic-openshift-master.service /container/etc/systemd/system/
11
+ADD atomic-openshift-master /container/etc/sysconfig/
12
+ADD registry-ui-template.json /container/etc/origin/
13
+
14
+LABEL INSTALL='docker run -it --rm \
15
+                --privileged --net=host \
16
+                -v /var/run:/var/run:rw \
17
+                -v /sys:/sys \
18
+                -v /etc/localtime:/etc/localtime:ro \
19
+                -v /var/lib/docker:/var/lib/docker:rw \
20
+                -v /var/lib/origin/:/var/lib/origin/ \
21
+                -v /etc/origin/:/etc/origin/ \
22
+                -v /:/host \
23
+                -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \
24
+                --entrypoint /container/bin/install.sh \
25
+                $IMAGE' \
26
+      RUN='docker run -it --rm --privileged \
27
+                --net=host \
28
+                -v /:/host \
29
+                -v /var/lib/docker:/var/lib/docker:rw \
30
+                -v /etc/origin:/etc/origin \
31
+                -v /var/lib/registry:/var/lib/registry \
32
+                -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \
33
+                --entrypoint /container/bin/run.sh \
34
+                $IMAGE' \
35
+      STOP='docker run -it --rm --privileged \
36
+                --net=host \
37
+                -v /:/host \
38
+                -e KUBECONFIG=/etc/origin/master/admin.kubeconfig \
39
+                --entrypoint /container/bin/stop.sh \
40
+                $IMAGE' \
41
+      UNINSTALL='docker run -it --rm --privileged \
42
+                -v /:/host \
43
+                --entrypoint /container/bin/uninstall.sh \
44
+                $IMAGE'
45
+
0 46
new file mode 100644
... ...
@@ -0,0 +1,41 @@
0
+# Getting Started With Atomic Registry
1
+
2
+http://projectatomic.io/registry
3
+
4
+**Requirements**
5
+
6
+- Red Hat-based system (RHEL, Centos, Fedora, including Atomic)
7
+- Docker
8
+- atomic cli
9
+
10
+## Install and Run
11
+
12
+1. Install the system service files and pull images.
13
+
14
+        sudo atomic install atomic-registry-quickstart
15
+1. Optional: edit configuration file `/etc/origin/master/master-config.yaml`.
16
+1. Run the application. This will enable and start the docker containers as system services.
17
+
18
+        sudo atomic run atomic-registry-quickstart
19
+
20
+## Stopping the application
21
+
22
+`sudo atomic stop atomic-registry-quickstart`
23
+
24
+## Uninstall
25
+
26
+`sudo atomic uninstall atomic-registry-quickstart`
27
+
28
+# Additional Setup steps
29
+
30
+1. [Configure authentication](https://docs.openshift.org/latest/install_config/configuring_authentication.html)
31
+1. [Configure persistent registry storage](https://docs.openshift.org/latest/install_config/install/docker_registry.html#advanced-overriding-the-registry-configuration)
32
+1. [Assign a user cluster-admin privilege](https://docs.openshift.org/latest/admin_guide/manage_authorization_policy.html#managing-role-bindings)
33
+1. Explore the web UI
34
+1. Create a project and [push an image](https://docs.openshift.org/latest/install_config/install/docker_registry.html#access-logging-in-to-the-registry)
35
+
36
+## Reference Documentation
37
+
38
+https://docs.openshift.org/latest/welcome/index.html
39
+
40
+
0 41
new file mode 100644
... ...
@@ -0,0 +1,9 @@
0
+OPTIONS=--loglevel=2
1
+CONFIG_FILE=/etc/origin/master/master-config.yaml
2
+
3
+# Proxy configuration
4
+# Origin uses standard HTTP_PROXY environment variables. Be sure to set
5
+# NO_PROXY for your master
6
+#NO_PROXY=master.example.com
7
+#HTTP_PROXY=http://USER:PASSWORD@IPADDR:PORT
8
+#HTTPS_PROXY=https://USER:PASSWORD@IPADDR:PORT
0 9
new file mode 100644
... ...
@@ -0,0 +1,18 @@
0
+[Unit]
1
+Description=Atomic Registry origin master
2
+Documentation=https://github.com/openshift/origin
3
+After=docker.service
4
+Requires=docker.service
5
+PartOf=docker.service
6
+
7
+[Service]
8
+EnvironmentFile=/etc/sysconfig/atomic-openshift-master
9
+# this fails unless it exists. necessary for cleanup?
10
+ExecStartPre=-/usr/bin/docker rm -f origin-master
11
+ExecStart=/usr/bin/docker run --restart=no --rm --privileged --net=host --pid=host --name origin-master -v /:/rootfs:ro -v /dev:/dev -v /var/run:/var/run:rw -v /var/lib/kubelet/:/var/lib/kubelet:rw -e CONFIG_FILE=${CONFIG_FILE} -e OPTIONS=${OPTIONS} -e HOST=/rootfs -e HOST_ETC=/host-etc -v /etc/localtime:/etc/localtime:ro -v /etc/machine-id:/etc/machine-id:ro -v /run:/run -v /sys:/sys:ro -v /usr/bin/docker:/usr/bin/docker:ro -v /var/lib/docker:/var/lib/docker -v /lib/modules:/lib/modules -v /etc/origin/openvswitch:/etc/openvswitch -v /etc/origin/sdn:/etc/openshift-sdn -v /etc/systemd/system:/host-etc/systemd/system -v /etc/origin/:/etc/origin/ -v /var/lib/origin:/var/lib/origin -e KUBECONFIG=/etc/origin/master/admin.kubeconfig openshift/origin start --master-config /etc/origin/master/master-config.yaml --node-config=/etc/origin/node/node-config.yaml --latest-images=true
12
+ExecStartPost=/usr/bin/sleep 10
13
+ExecStop=/usr/bin/docker stop origin-master
14
+Restart=always
15
+
16
+[Install]
17
+WantedBy=multi-user.target
0 18
new file mode 100755
... ...
@@ -0,0 +1,39 @@
0
+#!/bin/bash
1
+
2
+SERVICES=(atomic-openshift-master)
3
+for SERVICE in "${SERVICES[@]}"
4
+do
5
+  echo "Installing system service ${SERVICE}..."
6
+  cp /container/etc/systemd/system/${SERVICE}.service /host/etc/systemd/system/${SERVICE}.service
7
+  cp /container/etc/sysconfig/${SERVICE} /host/etc/sysconfig/${SERVICE}
8
+done
9
+
10
+chroot /host systemctl daemon-reload
11
+
12
+IMAGES=(openshift/origin openshift/origin-docker-registry aweiteka/cockpit-registry:0.95)
13
+
14
+for IMAGE in "${IMAGES[@]}"
15
+do
16
+  chroot /host docker pull $IMAGE
17
+done
18
+
19
+# write out configuration
20
+openshift start --write-config /etc/origin/ --etcd-dir /var/lib/origin/etcd --volume-dir /var/lib/origin/volumes --public-master `hostname`
21
+
22
+echo "Moving node directory to /etc/origin/node"
23
+mv /host/etc/origin/node* /host/etc/origin/node
24
+
25
+# Copy install script to host
26
+mkdir -p /host/etc/origin/registry/bin
27
+cp /container/bin/* /host/etc/origin/registry/bin/.
28
+cp /container/etc/origin/registry-ui-template.json /host/etc/origin/registry/registry-ui-template.json
29
+
30
+echo "Creating registry UI service certificates..."
31
+cat /etc/origin/master/master.server.crt /etc/origin/master/master.server.key > /etc/origin/registry/master.server.cert
32
+
33
+echo "Updating servicesNodePortRange to 443-32767..."
34
+sed -i 's/  servicesNodePortRange:.*$/  servicesNodePortRange: 443-32767/' /etc/origin/master/master-config.yaml
35
+
36
+echo "Optionally edit configuration file /etc/origin/master/master-config.yaml,"
37
+echo "add certificates to /etc/origin/master,"
38
+echo "then run 'atomic run atomic-registry-quickstart'"
0 39
new file mode 100644
... ...
@@ -0,0 +1,137 @@
0
+{
1
+   "kind": "Template",
2
+   "apiVersion": "v1",
3
+   "metadata": {
4
+      "name": "cockpit-openshift-template"
5
+   },
6
+   "labels": {
7
+      "createdBy": "cockpit-openshift-template"
8
+   },
9
+   "parameters": [
10
+      {
11
+         "description": "The public url for the Openshift OAuth Provider",
12
+         "name": "OPENSHIFT_OAUTH_PROVIDER_URL",
13
+         "required": true
14
+      },
15
+      {
16
+         "description": "The public url for the Openshift OAuth Provider",
17
+         "name": "COCKPIT_KUBE_URL",
18
+         "required": true
19
+      },
20
+      {
21
+         "description": "The public url for the Openshift OAuth Provider",
22
+         "name": "COCKPIT_KUBE_INSECURE",
23
+         "required": false
24
+      },
25
+      {
26
+         "description": "Oauth client secret",
27
+         "name": "OPENSHIFT_OAUTH_CLIENT_SECRET",
28
+         "from": "user[a-zA-Z0-9]{64}",
29
+         "generate": "expression"
30
+      },
31
+      {
32
+         "description": "Oauth client id",
33
+         "name": "OPENSHIFT_OAUTH_CLIENT_ID",
34
+         "value": "cockpit-oauth-client"
35
+      },
36
+      {
37
+         "description": "Skip kubernetes CA verification",
38
+         "name": "KUBERNETES_INSECURE",
39
+         "value": ""
40
+      },
41
+      {
42
+         "description": "PEM Encoded certificate to use for CA verification",
43
+         "name": "KUBERNETES_CA_DATA",
44
+         "value": ""
45
+      }
46
+   ],
47
+   "objects": [
48
+      {
49
+         "kind":"DeploymentConfig",
50
+         "apiVersion":"v1",
51
+         "metadata":{
52
+            "name":"cockpit-kube",
53
+            "labels":{
54
+               "name":"cockpit-kube"
55
+            }
56
+         },
57
+         "spec":{
58
+            "replicas":1,
59
+            "selector":{
60
+               "name":"cockpit-kube"
61
+            },
62
+            "template":{
63
+               "metadata":{
64
+                  "labels":{
65
+                     "name":"cockpit-kube"
66
+                  }
67
+               },
68
+               "spec":{
69
+                  "containers":[{
70
+                    "name": "cockpit-kube",
71
+                    "image": "aweiteka/cockpit-registry:0.95",
72
+                    "ports":[{
73
+                        "containerPort":9090,
74
+                        "protocol":"TCP"
75
+                     }],
76
+                    "env":[
77
+                      {
78
+                        "name": "OPENSHIFT_OAUTH_PROVIDER_URL",
79
+                        "value": "${OPENSHIFT_OAUTH_PROVIDER_URL}"
80
+                      },
81
+                      {
82
+                        "name": "OPENSHIFT_OAUTH_CLIENT_ID",
83
+                        "value": "${OPENSHIFT_OAUTH_CLIENT_ID}"
84
+                      },
85
+                      {
86
+                        "name": "KUBERNETES_INSECURE",
87
+                        "value": "${KUBERNETES_INSECURE}"
88
+                      },
89
+                      {
90
+                        "name": "KUBERNETES_CA_DATA",
91
+                        "value": "${KUBERNETES_CA_DATA}"
92
+                      },
93
+                      {
94
+                        "name": "COCKPIT_KUBE_INSECURE",
95
+                        "value": "${COCKPIT_KUBE_INSECURE}"
96
+                      }]
97
+                  }]
98
+               }
99
+            }
100
+         }
101
+      },
102
+      {
103
+         "kind":"Service",
104
+         "apiVersion":"v1",
105
+         "metadata":{
106
+            "name":"cockpit-kube",
107
+            "labels":{
108
+               "name":"cockpit-kube"
109
+            }
110
+         },
111
+         "spec":{
112
+             "type": "ClusterIP",
113
+             "ports": [{
114
+                 "protocol": "TCP",
115
+                 "port": 9000,
116
+                 "targetPort": 9090
117
+             }],
118
+            "selector":{
119
+               "name":"cockpit-kube"
120
+            }
121
+         }
122
+      },
123
+      {
124
+        "kind": "OAuthClient",
125
+        "apiVersion": "v1",
126
+        "metadata": {
127
+          "name": "${OPENSHIFT_OAUTH_CLIENT_ID}"
128
+        },
129
+        "respondWithChallenges": false,
130
+        "secret": "${OPENSHIFT_OAUTH_CLIENT_SECRET}",
131
+        "redirectURIs": [
132
+            "${COCKPIT_KUBE_URL}"
133
+        ]
134
+      }
135
+   ]
136
+}
0 137
new file mode 100755
... ...
@@ -0,0 +1,51 @@
0
+#!/bin/bash
1
+
2
+SERVICES=(atomic-openshift-master)
3
+
4
+# enable and start services
5
+
6
+for SERVICE in "${SERVICES[@]}"
7
+do
8
+  echo "Starting service ${SERVICE}..."
9
+  chroot /host systemctl enable $SERVICE.service
10
+  chroot /host systemctl start $SERVICE.service
11
+done
12
+
13
+# TODO: loop until running...
14
+echo "Waiting for services to come up..."
15
+until curl -kLs https://`hostname`:8443/api
16
+do
17
+  printf "."
18
+  sleep 1
19
+done
20
+
21
+CMD="chroot /host docker exec -it origin-master"
22
+# TODO: this needs to be smarter. it will fail on openstack instance with floating IP
23
+IPADDR=`hostname -I | awk '{print $1}'`
24
+echo "Starting registry services..."
25
+
26
+set -x
27
+
28
+$CMD oadm registry --credentials /etc/origin/master/openshift-registry.kubeconfig
29
+$CMD oc patch service docker-registry -p \
30
+     '{ "spec": { "type": "NodePort", "ports": [ {"nodePort": 5000, "port": 5000, "targetPort": 5000}] }}'
31
+
32
+set +x
33
+echo "Starting web UI service..."
34
+HOSTNAME=`hostname`
35
+
36
+# TODO: use master cert from /etc/origin/registry/master.server.cert
37
+# create secret volume
38
+# mounted at /etc/cockpit/ws-certs.d/master.server.cert
39
+# use secret volume in template
40
+
41
+set -x
42
+$cmd oc create -f /host/etc/origin/registry/registry-ui-template.json
43
+$cmd oc new-app --template cockpit-openshift-template \
44
+     -p OPENSHIFT_OAUTH_PROVIDER_URL=https://${HOSTNAME}:8443,COCKPIT_KUBE_URL=https://${HOSTNAME}
45
+$CMD oc patch service cockpit-kube -p \
46
+     '{ "spec": { "type": "NodePort", "ports": [ {"nodePort": 443, "port": 9000, "targetPort": 9090}] }}'
47
+
48
+set +x
49
+echo "Web UI hosted at https://${HOSTNAME}"
50
+
0 51
new file mode 100755
... ...
@@ -0,0 +1,20 @@
0
+#!/bin/bash
1
+
2
+
3
+CMD="chroot /host docker exec -it origin-master"
4
+
5
+PODS=(docker-registry cockpit-kube)
6
+for POD in "${PODS[@]}"
7
+do
8
+  echo "Scaling down ${POD}"
9
+  $CMD oc scale dc ${POD} --replicas=0
10
+done
11
+
12
+SERVICES=(atomic-openshift-master)
13
+for SERVICE in "${SERVICES[@]}"
14
+do
15
+  echo "Stopping and disabling system service ${SERVICE}..."
16
+  chroot /host systemctl stop $SERVICE.service
17
+  chroot /host systemctl disable $SERVICE.service
18
+done
19
+
0 20
new file mode 100755
... ...
@@ -0,0 +1,24 @@
0
+#!/bin/bash
1
+
2
+SERVICES=(atomic-openshift-master)
3
+for SERVICE in "${SERVICES[@]}"
4
+do
5
+  echo "uninstalling system service ${SERVICE}..."
6
+  chroot /host rm /etc/systemd/system/${SERVICE}.service
7
+  chroot /host rm /etc/sysconfig/${SERVICE}
8
+done
9
+
10
+echo "Removing configuration files..."
11
+DIRS=(/etc/origin /var/lib/origin)
12
+for DIR in "${DIRS[@]}"
13
+do
14
+  chroot /host rm -rf ${DIR}
15
+done
16
+
17
+IMAGES=(openshift/origin openshift/origin-docker-registry cockpit/kubernetes)
18
+#aweiteka/cockpit-registry
19
+
20
+echo "Uninstallation complete."
21
+echo "Stopped container and images have not been removed. To remove them manually run:"
22
+echo "'sudo docker rm \$(sudo docker ps -qa)'"
23
+echo "'sudo docker rmi ${IMAGES[*]}'"