forked from digitalrebar/digitalrebar.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
341 lines (310 loc) · 14.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
<!DOCTYPE html>
<html>
<head>
<link href="reset.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<link href='https://www.google.com/fonts#UsePlace:use/Collection:Roboto' rel='stylesheet' type='text/css' />
<link href='https://www.google.com/fonts#UsePlace:use/Collection:Roboto+Mono' rel='stylesheet' type='text/css' />
<link href='https://www.google.com/fonts#UsePlace:use/Collection:Allerta+Stencil' rel='stylesheet' type='text/css' />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" type='text/css' />
<link href="digitalrebar.ico" rel="SHORTCUT ICON" />
<title>Digital Rebar</title>
</head>
<body>
<nav id='toolbar' class='overlay'>
<img src='logo.png' style='height: 100%; cursor: pointer;' onclick="javascript:document.location='http://digital-rebar.readthedocs.org/en/latest/BOOK.html';"/>
<div class='nav-bar'>
<div class='link-container' onclick='scroll("overview")'>
<div class='link' href='test'>
<span>Intro</span>
</div>
</div>
<div class='link-container' onclick='scroll("install")'>
<div class='link' href='test'>
<span>Starting</span>
</div>
</div>
<div class='link-container' onclick='scroll("principle")'>
<div class='link' href='test'>
<span>Glance</span>
</div>
</div>
<div class='link-container' onclick='scroll("benefits")'>
<div class='link' href='test'>
<span>Benefits</span>
</div>
</div>
<div class='link-container' onclick='scroll("sponsor")'>
<div class='link' href='test'>
<span>Sponsor</span>
</div>
</div>
</div>
</nav>
<img src='rebar.jpg' id='top-img' />
<div class='typing-container'>
<div class='typing-font'>
<span class='terminal-green'>./</span><span id='typing'></span><span id='cursor' class='terminal-green'>█</span>
</div>
</div>
<section class='content card' id='_overview'>
<a class='anchor' name="overview"></a>
<h2>Digital Rebar Project (<a href='https://github.com/digitalrebar/digitalrebar'>code repo</a>)</h2>
<p>
<a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> is a container-based, infrastructure-as-code provisioning and orchestration platform that provides software deployment automation capabilities without locking you into a specific hardware platform or operating model. Our mission is to embrace the heterogenous nature of data center operations.
</p>
<p>
<div class='split'>
<div>
<div class='material-icon-container'>
<i class="material-icons">computer</i>
</div>
<p>
For physical infrastructure, it functions like an fully integrated Cobbler/Foreman + Ansible Tower (or Juju + MaaS) with the added bonus of being able to configure RAID, IPMI and BIOS. Even better, <a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> is not opinionated about scripting tools so you can mix and match Chef, Puppet, Ansible, SaltStack and even Bash.
</p>
</div>
<div>
<div class='material-icon-container'>
<i class="material-icons">cloud</i>
</div>
<p>
For cloud infrastructure, it provides a hybrid cluster install like Terraform but with ongoing iterative operations and upgrade strategy.
</p>
</div>
</div>
</p>
<p>
Why <a href="https://en.wikipedia.org/wiki/Rebar">Rebar</a>? It is the metal in reinforced concrete that allows building cloudscraping towers and robust infrastructure (<a href="http://digital-rebar.readthedocs.io/en/latest/principles/concepts/what_is_rebar.html">more...</a>).
</p>
<p>
While it's been completely rebuilt by DevOps artisans, <a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> history includes years of battle-tested ops learnings by the <a href="http://github.com/crowbar">Crowbar Project</a> founders.
</p>
<div style='text-align: center;'>
<img src='battle_history.jpg'/>
</div>
</section>
<div style='background: #eee;'>
<section class='content card' id='_install'>
<a class='anchor' name="install"></a>
<h2>Getting Started</h2>
<div class='display-container'>
<div class='display' alt='Install Guide' onclick='displayClick(event, this)' url='http://digital-rebar.readthedocs.io/en/latest/deployment/README.html'>
<i class="material-icons">file_download</i>
<div class='dropdown left' style='top: 20px' onclick='displayClick(event, this)' url='http://digital-rebar.readthedocs.org/en/latest/deployment/install/quick.html'>
AWS Quick Start
</div>
</div>
<div class='display' alt='Demo Videos' onclick='displayClick(event, this)' url='https://www.youtube.com/playlist?list=PLXPBeIrpXjfh2lXdXkNnzAuc7_SUtYJR-'>
<i class="material-icons">video_library</i>
</div>
<div class='display' alt='Mailing List' onclick='displayClick(event, this)' url='http://bit.ly/digitalrebarlist'>
<i class="material-icons">mail</i>
</div>
<div class='display' alt='Live Chat (Gitter)' onclick='displayClick(event, this)' url='https://gitter.im/digitalrebar/core?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge'>
<i class="material-icons">chat</i>
</div>
<div class='display' alt='Issues and Roadmap' onclick='displayClick(event, this)' url='https://waffle.io/digitalrebar/core'>
<i class="material-icons">directions</i>
</div>
<div class='display' alt='Documentation' onclick='displayClick(event, this)' url='http://digital-rebar.readthedocs.org/en/latest/BOOK.html'>
<i class="material-icons">book</i>
<div class='dropdown' style='top: 20px' onclick='displayClick(event, this)' url='https://readthedocs.org/projects/digital-rebar/downloads/pdf/latest/'>
Single PDF
</div>
<div class='dropdown' style='top: 72px' onclick='displayClick(event, this)' url='https://github.com/digitalrebar/doc'>
Git Repo
</div>
</div>
</div>
</section>
<section class='content card' id='_principle'>
<a class='anchor' name="principle"></a>
<h2>At a glance</h2>
<p>
The principle motivation for <a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> is to collaborate on a technology that revolutionizes how traditional data center infrastructure operations can gracefully absorb next-generation workloads without churn and additional technological complexity. <a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> capability enables upgrade and continuous deployment automation which is important for large scale, production-scale deployments of evolving complex technologies such as Docker, Kubernetes, Mesos, Cloud Foundry, OpenStack, and Ceph.
</p>
<p>
<a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> is an open reference implementation that can be designed to reliably deployed in large-scale, multi-site datacenters. This effectively productizes best practices in a way that allows creation of consistent and discoverable operating environments. Users benefit with fast time-to-value and the community benefits by having consistent installations across the ecosystem.
</p>
</section>
<section class='content card' id='_benefits'>
<a class='anchor' name="benefits"></a>
<h2>Benefits of Digital Rebar</h2>
<p>
<a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> reduces the cost of datacenter hardware infrastructure preparation which provide immediate benefits by way of accelerating the deployment of complex compute and storage clusters. <a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> reduces the human resource cost of orchestrating continuous hardware redeployment, hypervisor, operating systems, and application layer software installation and management. All of these add up to significant gains in operational reliability, consistency, and concomitant reduction in defects handling costs.
</p>
<p>
<a href='https://github.com/digitalrebar/digitalrebar'>Digital Rebar</a> is an open reference implementation that can be designed to reliably deployed in large-scale, multi-site datacenters. This effectively productizes best practices in a way that allows creation of consistent and discoverable operating environments. Users benefit with fast time-to-value and the community benefits by having consistent installations across the ecosystem.
</p>
</section>
<section class='content card' id='_sponsor'>
<a class='anchor' name="sponsor"></a>
<h2>Project Sponsored by <a href="http://rackn.com">Rack<sup>N</sup></a></h2>
<p>
<b>Digital Rebar is an Apache2 Licensed Project.</b><br/>
Rack<sup>N</sup> supports a variety of workloads that leverage Digital Rebar. Including <a href="http://github.com/digitalrebar/digitalrebar-workloads">Kubernetes Kompos8</a>, <a href="http://github.com/rackn/ceph">Ceph</a>, and a variety of <a href="http://github.com/rackn/hardware">Commodity Hardware</a>. Rack<sup>N</sup> offers enterprise support for Digital Rebar.
</p>
<p>
Digital Rebar is an open reference implementation that can be designed to reliably deployed in large-scale, multi-site datacenters. This effectively productizes best practices in a way that allows creation of consistent and discoverable operating environments. Users benefit with fast time-to-value and the community benefits by having consistent installations across the ecosystem.
</p>
</section>
</div>
<section class='footer'>
<footer>
© 2016 RackN, Inc.<br/>
<a href="http://digital-rebar.readthedocs.org/en/latest/BOOK.html">Documentation</a> | <a href="http://github.com/digitalrebar/core">Source</a> | <a href="http://rackn.com">Sponsor</a> | <a href="http://github.com/meshiest">Site Designer</a>
</footer>
</section>
<script>
var backgroundImage = document.getElementById('top-img')
var toolbar = document.getElementById('toolbar')
var typing = document.getElementById('typing')
var cursor = document.getElementById('cursor')
var phrases = [
'digital_Rebar',
'Kubernetes_SDN_AWS_GCE_Hybrid',
'composable_full_stack_ops',
'baremetal_cloud_api',
'cloud_datacenter_portability',
'hybrid_devops_control',
'secure_PKI_deployment',
]
var extensions = [
'exe',
'zip',
'tar.gz',
'sh',
'bat',
'mp3',
'wav',
'mov',
'inf',
'dll',
'yml',
'rb',
'go',
]
var phraseIndex = -1
var waitTime = 3000
var letterTime = 50
function typeWord (word) {
if(Math.random() < 0.1) {
word += '.' + extensions[Math.floor(Math.random() * extensions.length)]
}
var duration = word.length * letterTime * 2 + waitTime
setTimeout(function () {
cursor.className = 'blink terminal-green'
}, word.length * letterTime)
setTimeout(function () {
cursor.className = 'terminal-green'
}, word.length * letterTime + waitTime)
for(var i = 0; i < word.length; i++) {
(function(text){ // type word
setTimeout(function () {
typing.innerHTML = text
}, letterTime * i)
setTimeout(function () { // remove word
typing.innerHTML = text
}, duration - letterTime * i)
})(word.substr(0, i+1))
}
setTimeout(nextPhrase, duration) // queue next word
}
function nextPhrase () {
typeWord (phrases[phraseIndex = (phraseIndex + 1) % phrases.length])
}
window.onload = function () {
setTimeout(nextPhrase, 1000)
}
function displayClick(e, elem) {
if(!e)
e = window.event
if (e.stopPropagation)
e.stopPropagation()
else
e.cancelBubble = true
window.location = elem.attributes.url.value
}
var clouds = [
'cloud',
'cloud_done',
'cloud_download',
'cloud_upload'
]
window.onscroll = function () {
var scroll = document.body.scrollTop
backgroundImage.style.top = (scroll > 400 ? 400/2-scroll/2 : 0) + "px"
toolbar.className = (scroll > backgroundImage.height - 400 ? 'card' : 'overlay')
}
// easing functions http://goo.gl/5HLl8
Math.easeInOutQuad = function (t, b, c, d) {
t /= d/2;
if (t < 1) {
return c/2*t*t + b
}
t--;
return -c/2 * (t*(t-2) - 1) + b;
};
Math.easeInCubic = function(t, b, c, d) {
var tc = (t/=d)*t*t;
return b+c*(tc);
};
Math.inOutQuintic = function(t, b, c, d) {
var ts = (t/=d)*t,
tc = ts*t;
return b+c*(6*tc*ts + -15*ts*ts + 10*tc);
};
// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts
var requestAnimFrame = (function(){
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function( callback ){ window.setTimeout(callback, 1000 / 60); };
})();
function scroll(elem) {
var e = document.getElementById('_'+elem)
scrollTo(e.offsetTop-32, 0, 500)
setTimeout(function(){
window.location.href = "#"+elem;
}, 500)
}
function scrollTo(to, callback, duration) {
// because it's so fucking difficult to detect the scrolling element, just move them all
function move(amount) {
document.documentElement.scrollTop = amount;
document.body.parentNode.scrollTop = amount;
document.body.scrollTop = amount;
}
function position() {
return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop;
}
var start = position(),
change = to - start,
currentTime = 0,
increment = 20;
duration = (typeof(duration) === 'undefined') ? 500 : duration;
var animateScroll = function() {
// increment the time
currentTime += increment;
// find the value with the quadratic in-out easing function
var val = Math.easeInOutQuad(currentTime, start, change, duration);
// move the document.body
move(val);
// do the animation unless its over
if (currentTime < duration) {
requestAnimFrame(animateScroll);
} else {
if (callback && typeof(callback) === 'function') {
// the animation is done so lets callback
callback();
}
}
};
animateScroll();
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55489714-2', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>