Skip to content

Commit 94d162d

Browse files
committed
fix warnings for use case page
Signed-off-by: Grace Grimwood <[email protected]>
1 parent da5d7dd commit 94d162d

File tree

4 files changed

+28
-20
lines changed

4 files changed

+28
-20
lines changed

_layouts/use-cases.html

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,19 @@
66
<div class="row justify-content-center">
77
<div class="col-11 col-lg-8 card shadow gx-5 gy-5 m-lg-5">
88
<div class="card-body mx-2">
9-
<div class="card-title display-6 mt-3 mb-4">Use Cases</div>
9+
<div class="card-title display-6 mt-3 mb-4">
10+
<h1>Use Cases</h1>
11+
</div>
1012
<div class="row g-0">
1113
<div class="col-auto">
12-
{% for use_case in site.use_cases %}
13-
<div class="card-text">{{ use_case.content | toc_only }}</div>
14-
{% endfor %}
15-
{% for use_case in site.use_cases %}
16-
<div class="card-text">{{ use_case.content | markdownify | inject_anchors}}</div>
17-
{% endfor %}
14+
<div class="card-text">
15+
{% for use_case in site.use_cases %}
16+
<div class="{{ use_case.name | slugify }}-toc">{{ use_case.content | toc_only }}</div>
17+
{% endfor %}
18+
{% for use_case in site.use_cases %}
19+
<div class="{{ use_case.name | slugify }}-content">{{ use_case.content | markdownify | inject_anchors}}</div>
20+
{% endfor %}
21+
</div>
1822
</div>
1923
</div>
2024
</div>

_sass/kroxylicious.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ body {
3737
height: fit-content!important;
3838
}
3939

40+
a {
41+
color: $kroxy-dark-green;
42+
}
43+
4044
.krx-content * {
4145
scroll-margin-top: 5rem!important;
4246
}

_use_cases/encryption-at-rest.markdown

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
name: Encryption At Rest
33
---
44

5-
### Encryption At Rest
5+
## Encryption At Rest
66

7-
#### Why
7+
### Why do we need Encryption At Rest?
88

99
Apache Kafka&#174; does not directly support any form of encryption for data stored within a broker. This means that the contents
1010
of records sent to Apache Kafka are stored in the clear on the broker's disks. Anyone with sufficient access, such as a Kafka Administrator
@@ -22,7 +22,7 @@ data is now residing in the clear on the file systems of the service provider.
2222
|:-----------------------------------------------------------------:|
2323
| *Problem: Plain text records readable by the Kafka Admins* |
2424

25-
##### Isn't TLS sufficient?
25+
#### Isn't TLS sufficient?
2626

2727
TLS encrypts the content _in transit_. It means that someone using a network sniffer cannot intercept what is being
2828
sent over the wire between the application and the Kafka Broker. However, once the network packets arrive at the broker,
@@ -31,7 +31,7 @@ of the broker and in the clear when the data is written to the file system.
3131

3232
TLS does not change the problem.
3333

34-
##### Isn't storage volume encryption an answer?
34+
#### Isn't storage volume encryption an answer?
3535

3636
With storage volume encryption, the contents of the volume are encrypted with a single key. This approach provides some mitigations.
3737
If the storage device is stolen or the storage device hijacked and attached to an attacker's computer, the attacker won't have
@@ -43,7 +43,7 @@ to be able to read the data, including the Kafka confidential records.
4343

4444
Storage volume encryption doesn't really solve the problem.
4545

46-
##### Can't the applications encrypt/decrypt the data?
46+
#### Can't the applications encrypt/decrypt the data?
4747

4848
It is possible for producing applications to encrypt data before sending it to Kafka, and for consuming applications to decrypt it
4949
again. With this approach the brokers never possess the records in the clear and as they don't have encryption keys, they cannot
@@ -66,7 +66,7 @@ of a design flaw or bug are significant (confidentiality breach).
6666
Having the applications encrypt/decrypt data themselves, whilst technically feasible, is not really a tenable solution
6767
at the scale required for most enterprises.
6868

69-
#### Kroxylicious Record Encryption
69+
### Kroxylicious Record Encryption
7070

7171
The Kroxylicious Record Encryption feature offers a solution to the problem. The proxy takes the responsibility
7272
to encrypt and decrypt the messages. In this way, the Kafka Brokers never see the plain text content of

_use_cases/schema_validation_and_enforecement.markdown

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
name: Schema Validation and Enforcement
33
---
44

5-
### Schema Validation and Enforcement
5+
## Schema Validation and Enforcement
66

7-
#### Why
7+
### Why do we need Schema Validation and Enforcement?
88

99
In Apache Kafka, producing applications transfer messages to consuming applications. In order for messages to be transferred successfully
1010
producers and consumers need to agree on the format of the message being transferred. If there is a mismatch between the format sent
@@ -20,7 +20,7 @@ If there is only a small number of applications, perhaps all managed by the same
2020
informal agreements about what message format will be used on which topic. However, as the use of Kafka grows within the organization,
2121
the amount of effort required to keep all the formats in agreement grows. Mistakes, and system downtime, become inevitable.
2222

23-
##### Schemas to the rescue
23+
#### Schemas to the rescue
2424

2525
To overcome the problem, the Kafka **client** ecosystem supports _schemas_. Schemas provide a programmatic description
2626
of the message format.
@@ -33,7 +33,7 @@ inflexible as it means all applications need to be redeployed every time a schem
3333
as the number of applications in the system grows. To counter this challenge organizations often choose to deploy a
3434
*Schema Registry*.
3535

36-
##### Schema Registry
36+
#### Schema Registry
3737

3838
The role of the **Schema Registry** is to maintain a library of schemas that are in-use within an organisation.
3939

@@ -46,7 +46,7 @@ the registry. This allows the consumer to decode the message.
4646
|:-----------------------------------------------------------------:|
4747
| *Kafka applications making use of a Schema Registry* |
4848

49-
#### So, what's the problem?
49+
### So, what's the problem?
5050

5151
If schemas are used correctly across the entire producing and consuming application estate, the potential for a
5252
poison message to be introduced into the system is greatly diminished. However, the issue is that there's significant
@@ -57,7 +57,7 @@ In Kafka, **brokers** have no knowledge of format of the messages (to the broker
5757
have no knowledge of the schema. The brokers cannot help us enforce that producing applications use schemas and use them
5858
correctly.
5959

60-
#### Kroxylicious Record Validation
60+
### Kroxylicious Record Validation
6161

6262
The Kroxylicious Record Validation Filter provides a solution to the problem.
6363

@@ -68,7 +68,7 @@ even if producing applications are misconfigured.
6868

6969
The filter currently supports two modes of operation:
7070

71-
1. Schema validation[^1] validates the content of the record against a schema. Use this for topics which have an entry in
71+
1. Schema validation[^3] validates the content of the record against a schema. Use this for topics which have an entry in
7272
the Schema Registry.
7373
2. SyntacticallyCorrectJson validation ensures the producer is producing messages that contain syntactically valid JSON.
7474
Use for topics which do not have registered schemas.

0 commit comments

Comments
 (0)