Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
130 lines (123 loc) · 5.59 KB
/
Copy pathindex.html
File metadata and controls
130 lines (123 loc) · 5.59 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
---
layout: default
title: Home
permalink: /
---
<section class="hero hero--compact">
<div class="container">
<span class="hero__eyebrow">Data mesh · reference implementation</span>
<h1>A data mesh, end to end.</h1>
<p class="hero__lead">
A working data-mesh reference: a domain of services modeling
order-placement-through-shipment, each owning its data, its
API surface, and its operational lifecycle, communicating
through a deliberate mix of REST, gRPC, GraphQL, and Kafka —
with contracts, a catalog, progressive delivery, autoscaling,
and full observability.
</p>
<p class="hero__lead">
It's organized as its own reading set — read straight through
for the full build, or jump to the concept you came for.
</p>
<div class="hero__cta">
<a class="btn btn--primary"
href="{{ '/docs/00-index/' | relative_url }}">
Start with the index →
</a>
<a class="btn btn--secondary"
href="{{ '/docs/01-concepts/' | relative_url }}">
Skip to concepts
</a>
</div>
</div>
</section>
<section class="section">
<div class="container">
<h2 class="section-heading">The set</h2>
<p class="section-sub">
Read in order the first time. The conceptual pages
(<a href="{{ '/docs/01-concepts/' | relative_url }}">concepts</a>,
<a href="{{ '/docs/02-kubernetes-substrate/' | relative_url }}">Kubernetes substrate</a>)
ground the implementation pages that follow; the
<a href="{{ '/docs/09-anti-patterns/' | relative_url }}">anti-patterns</a>
page surfaces the failure modes to watch for; and the closing
<a href="{{ '/docs/10-summary/' | relative_url }}">summary</a>
reorganizes everything by principle — what each delivers, and
the implementation pieces that realize it.
</p>
<div class="cards">
{%- assign datamesh_docs = site.docs
| where_exp: "doc", "doc.order != nil"
| sort: "order" -%}
{%- for doc in datamesh_docs -%}
{%- assign two_digit = doc.order | prepend: '0' | slice: -2, 2 -%}
{%- if doc.order == 0 -%}
{%- assign card_eyebrow = "Index" -%}
{%- elsif doc.order == 9 -%}
{%- assign card_eyebrow = "Anti-patterns" -%}
{%- elsif doc.order == 10 -%}
{%- assign card_eyebrow = "Summary" -%}
{%- else -%}
{%- assign card_eyebrow = "Page " | append: two_digit -%}
{%- endif -%}
<a class="card" href="{{ doc.url | relative_url }}">
<div class="card__eyebrow">{{ card_eyebrow }}</div>
<h3 class="card__title">
<span class="card__num">{{ two_digit }}</span>
{{ doc.title }}
</h3>
<p class="card__desc">{{ doc.description }}</p>
</a>
{%- endfor -%}
</div>
</div>
</section>
<section class="section-tight">
<div class="container">
<h2 class="section-heading">What you'll need to run it</h2>
<p>
A Kubernetes cluster you can administer — the reference was
developed on minikube (Docker driver, containerd) on Fedora, but
anything that gives you cluster-admin on a node with enough
headroom (16 GB RAM, ~16 vCPU recommended) will work. The
<a href="https://github.com/{{ site.github_username }}/{{ site.github_repo }}/tree/main/examples/lgtm-datamesh">runnable
example tree</a> ships the helm charts, manifests, scripts,
and demos that bring the whole system up.
</p>
<p>
The presentation deck and *Data Mesh 101* slides live under
<code>presentation/</code> in the repo, paired with the
implementation pages here.
</p>
</div>
</section>
<section class="section" style="background: var(--bg-soft);">
<div class="container">
<h2 class="section-heading">Demos & examples</h2>
<p class="section-sub">
Run the reference end to end, then exercise each principle
from a terminal — with callouts to Grafana, Kiali, Tempo,
and OpenMetadata along the way.
</p>
<div class="cards">
<a class="doc-card" href="{{ '/setup/' | relative_url }}">
<span class="doc-card__icon" aria-hidden="true">🧰</span>
<span>
<span class="doc-card__title">Setup & prerequisites</span>
<span class="doc-card__desc">Hardware, OS tuning, tooling,
bootstrap, and verification — everything you need before
running the first demo.</span>
</span>
</a>
<a class="doc-card" href="{{ '/demos/' | relative_url }}">
<span class="doc-card__icon" aria-hidden="true">🎬</span>
<span>
<span class="doc-card__title">Demo & example reference</span>
<span class="doc-card__desc">23 scripts mapped to the four
data-mesh principles — domain ownership, data as a product,
self-serve platform, federated governance.</span>
</span>
</a>
</div>
</div>
</section>