-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathindex.html
More file actions
153 lines (144 loc) · 7.42 KB
/
index.html
File metadata and controls
153 lines (144 loc) · 7.42 KB
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
---
asciinema: true
stylesheet: index
---
{% include values.inc %}
<div id="holder">
<section class="grid-middle hero">
<div class="col-5_md-12">
<h1>Open-Source,<br />Cloud-Native Storage for Kubernetes</h1>
<p>Production ready management for File, Block and Object Storage</p>
<a class="button" href="{{ gettingStartedLink }}">Try it out now</a>
</div>
<div class="col-7_md-12_md-first">
<img src="{{ "/images/index-hero.svg" | relative_url }}" />
</div>
</section>
<section class="grid-middle">
<div class="header-section">
<h1>What is Rook?</h1>
</div>
</section>
<section class="grid-middle">
<div class="col-6_md-12">
<img src="{{ "/images/index-what-is-rook.svg" | relative_url }}" />
</div>
<div class="col-6_md-12">
<h2>Storage Operators for Kubernetes</h2>
<p>Rook turns distributed storage systems into self-managing, self-scaling, self-healing storage services. It automates the tasks of a storage administrator: deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.<br /><br />Rook uses the power of the Kubernetes platform to deliver its services via a Kubernetes Operator for Ceph.</p>
<div class="github-pills">
<div id="watch-pill" class="pill">
<a href="https://github.com/rook/rook/subscription">Watch</a>
<a id="watch-pill-count" class="count" href="https://github.com/rook/rook/watchers"></a>
</div>
<div id="star-pill" class="pill">
<a href="https://github.com/rook/rook">Star</a>
<a id="star-pill-count" class="count" href="https://github.com/rook/rook/stargazers"></a>
</div>
<div id="fork-pill" class="pill">
<a href="https://github.com/rook/rook/fork">Forks</a>
<a id="fork-pill-count" class="count" href="https://github.com/rook/rook/network"></a>
</div>
</div>
</div>
</section>
<section class="grid-middle">
<div class="col-6_md-12">
<h2>Ceph Storage Provider</h2>
<p>Rook orchestrates the Ceph storage solution, with a specialized Kubernetes Operator to automate management. Rook ensures that Ceph will run well on Kubernetes and simplify the deployment and management experience.</p>
</div>
<div class="col-6_md-12">
<div class="terminal-wrapper">
<h3 id="terminal-header">Ceph</h3>
<div class="terminal-body">
<div id="terminal-player-wrapper" class="terminal">
<asciinema-player id="terminal-player" cols="61" rows="16" preload loop speed="1.25" src="{{ "/data/ceph.cast" | relative_url }}"></asciinema-player>
</div>
</div>
</div>
</div>
</section>
<section class="grid-middle">
<div class="header-section">
<h1>Who loves Rook?</h1>
<p>With hundreds of contributors and millions of downloads of the Rook software, this true community-driven
effort is putting dynamic orchestration, high performance, and solid reliability in the hands of a
global user base.<br /><br />The Rook operator is deployed in production across many industries,
enabling them to store, deliver & protect the data that powers their businesses.<br />
See the list of published <a href="https://github.com/rook/rook/blob/master/ADOPTERS.md">Adopters</a>
for just a hint of who is running Rook in production.</p>
</div>
</section>
<section class="grid-middle">
<div class="header-section">
<h1 class="text-center">Features of Rook</h1>
</div>
</section>
<section class="grid-bottom features">
<div class="col-3_xs-6">
<img class="automate" src="{{ "/images/features/automate.svg" | relative_url }}" />
<span>Simple and reliable automated storage management</span>
</div>
<div class="col-3_xs-6">
<img class="scale" src="{{ "/images/features/scale.svg" | relative_url }}" />
<span>Hyper-scale or hyper-converge your storage clusters</span>
</div>
<div class="col-3_xs-6">
<img class="distribute" src="{{ "/images/features/distribute.svg" | relative_url }}" />
<span>Efficiently distribute and replicate data to minimize loss</span>
</div>
<div class="col-3_xs-6">
<img class="provision" src="{{ "/images/features/provision.svg" | relative_url }}" />
<span>Provision, file, block, and object storage</span>
</div>
<div class="col-3_xs-6">
<img class="manage" src="{{ "/images/features/manage.svg" | relative_url }}" />
<span>Manage open-source Ceph storage</span>
</div>
<div class="col-3_xs-6">
<img class="elasticstorage" src="{{ "/images/features/elasticstorage.svg" | relative_url }}" />
<span>Easily enable elastic storage in your datacenter</span>
</div>
<div class="col-3_xs-6">
<img class="opensource" src="{{ "/images/features/opensource.svg" | relative_url }}" />
<span>Open source software released under the Apache 2.0 license</span>
</div>
<div class="col-3_xs-6">
<img class="optimize" src="{{ "/images/features/optimize.svg" | relative_url }}" />
<span>Optimize workloads on commodity hardware</span>
</div>
</section>
</div>
<script>
function githubFetch(path) {
var el = document.createElement('script');
var head = document.getElementsByTagName('head')[0];
el.src = path + '?callback=githubFetchCallback';
head.insertBefore(el, head.firstChild);
}
function githubFetchCallback(obj) {
document.getElementById('watch-pill-count').innerText = (obj.data.subscribers_count).toLocaleString();
document.getElementById('star-pill-count').innerText = (obj.data.stargazers_count).toLocaleString();
document.getElementById('fork-pill-count').innerText = (obj.data.network_count).toLocaleString();
}
function terminalTypeClick(elem, text) {
if (elem.classList.contains('active')) {
return;
}
var terminalPlayer = document.getElementById('terminal-player');
var terminalPlayerWrapper = document.getElementById('terminal-player-wrapper');
var terminalSrc = elem.dataset.terminalSrc;
var terminalRows = elem.dataset.terminalRows;
var buttons = document.querySelectorAll('.terminal-buttons button');
for (var i = 0; i < buttons.length; i++) {
buttons[i].classList.remove('active');
}
elem.classList.add('active');
document.getElementById('terminal-header').innerText = text;
terminalPlayerWrapper.innerHTML = '<asciinema-player id="terminal-player" cols="61" rows="' + terminalRows + '" preload autoplay loop speed="1.25" src="' + terminalSrc + '"></asciinema-player>';
}
githubFetch('https://api.github.com/repos/rook/rook');
document.getElementById('terminal-player').addEventListener('loadedmetadata', function(e) {
this.play();
});
</script>