17 Commits
dev ... main

Author SHA1 Message Date
9086f7833d feat: add plausible
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2025-08-11 10:48:36 +02:00
cc5b165822 chore: small corrections
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2025-08-05 22:53:55 +02:00
0cf84ffe0e feat: change ports
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2025-08-05 22:48:27 +02:00
61e98064f6 feat: use styles absolute
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 12:18:20 +02:00
f35fbe21c2 feat: set port
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 12:14:44 +02:00
47dfec5e26 feat: add more logging
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 12:13:07 +02:00
e3056382d3 feat: serve for everything
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 12:07:58 +02:00
a24a726a9b faet: remove encode
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 12:05:07 +02:00
ccfcd42d1e feat: move to caddy
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 12:04:16 +02:00
592afe4914 feat: move to serve 2025-07-31 12:04:02 +02:00
bf39c5f42f feat: caddy
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 11:59:35 +02:00
f575351335 missed 'v'
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-31 11:57:04 +02:00
b1a13dad9b feat: download new zola
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-31 11:55:57 +02:00
97986b1bef feat: with stuff
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-31 11:43:39 +02:00
3274120012 feat: add git password
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-31 11:24:57 +02:00
ec9bc7eed8 feat: add cargo.toml
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-31 11:16:31 +02:00
6266d97fc1 fix: pages
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-31 11:14:46 +02:00
22 changed files with 2716 additions and 11881 deletions

View File

@@ -70,6 +70,9 @@ steps:
CUDDLE_SECRETS_PROVIDER: 1password CUDDLE_SECRETS_PROVIDER: 1password
CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci" CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci"
CUDDLE_SSH_AGENT: "true" CUDDLE_SSH_AGENT: "true"
GIT_USERNAME: "kjuulh"
GIT_PASSWORD:
from_secret: git_password
CI_PREFIX: "/mnt/ci/ci" CI_PREFIX: "/mnt/ci/ci"
CUDDLE_PLEASE_TOKEN: CUDDLE_PLEASE_TOKEN:
from_secret: cuddle_please_token from_secret: cuddle_please_token
@@ -123,8 +126,11 @@ steps:
CUDDLE_SECRETS_PROVIDER: 1password CUDDLE_SECRETS_PROVIDER: 1password
CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci" CUDDLE_ONE_PASSWORD_DOT_ENV: ".env.ci"
CUDDLE_SSH_AGENT: "true" CUDDLE_SSH_AGENT: "true"
GIT_USERNAME: "kjuulh"
GIT_PASSWORD: GIT_PASSWORD:
from_secret: git_password from_secret: git_password
SSH_KEY:
from_secret: gitea_id_ed25519
CI_PREFIX: "/mnt/ci/ci" CI_PREFIX: "/mnt/ci/ci"
DOCKER_HOST: "tcp://192.168.1.155:2376" DOCKER_HOST: "tcp://192.168.1.155:2376"
CUDDLE_PLEASE_TOKEN: CUDDLE_PLEASE_TOKEN:

2574
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

3
Cargo.toml Normal file
View File

@@ -0,0 +1,3 @@
[workspace]
members = ["ci/"]
resolver = "2"

84
README.md Normal file
View File

@@ -0,0 +1,84 @@
# Kasper Hermansen's Blog
A personal blog built with Zola (static site generator) and deployed using containerized CI/CD with Dagger.
## Prerequisites
- **mise** - Development environment manager
- **Rust** - For running Dagger CI
- **Docker** - For containerization
## Development
### Quick Start
```bash
# Install dependencies and start dev server
mise run dev
```
This will:
- Start Zola dev server on http://localhost:8000
- Watch and compile Tailwind CSS changes
- Show posts in progress
### Available Commands
```bash
mise run dev # Start development server with live reload
mise run ci:pr # Run CI build for pull requests
mise run ci:main # Run full CI pipeline (build + deploy)
```
## Deployment
The blog uses a fully automated CI/CD pipeline built with Dagger (Rust SDK).
### Manual Deployment
```bash
# Build and deploy to production
(cd ci && cargo build)
./ci/target/debug/ci main
```
This will:
1. Compile Tailwind CSS styles
2. Build static site with Zola
3. Package with Caddy web server
4. Push Docker image to registry
5. Update deployment configuration in git
### Automated Deployment
Pushing to `main` branch triggers automatic deployment via CI.
## Project Structure
```
├── content/posts/ # Blog posts (Markdown with YAML frontmatter)
├── templates/ # Zola templates (Tera)
├── static/ # Static assets
├── styles/ # Tailwind CSS source
├── ci/ # Dagger CI/CD pipeline (Rust)
├── deployment/ # Caddy server configuration
├── config.toml # Zola configuration
└── mise.toml # Development tasks
```
## Adding Content
Create a new post in `content/posts/`:
```markdown
+++
title = "Your Post Title"
description = "Brief description"
date = 2025-01-01
draft = false
[taxonomies]
tags = ["rust", "development"]
+++
Your content here...
```

View File

@@ -1,13 +1,14 @@
use cuddle_ci::{Context, MainAction, PullRequestAction}; use cuddle_ci::{Context, MainAction, PullRequestAction};
use dagger_sdk::{ use dagger_sdk::{Container, HostDirectoryOptsBuilder, PortForward, ServiceUpOptsBuilder};
Container, HostDirectoryOptsBuilder, PortForward, QueryContainerOptsBuilder,
ServiceUpOptsBuilder,
};
const UPDATE_DEPLOYMENT_IMAGE: &str = "docker.io/kasperhermansen/update-deployment:1690401410"; const UPDATE_DEPLOYMENT_IMAGE: &str = "docker.io/kasperhermansen/update-deployment:1690401410";
const ZOLA_VERSION: &str = "0.17.2-1"; const CADDY_IMAGE: &str = "caddy:2.10.0";
const DEBIAN_EDITION: &str = "bullseye";
const ZOLA_PLATFORM: &str = "x86_64";
const ZOLA_VERSION: &str = "v0.21.0";
const DEBIAN_EDITION: &str = "bookworm";
const DEBIAN_PLATFORM: &str = "amd64"; const DEBIAN_PLATFORM: &str = "amd64";
#[derive(Clone)] #[derive(Clone)]
@@ -24,7 +25,7 @@ impl BlogComponent {
.up_opts( .up_opts(
ServiceUpOptsBuilder::default() ServiceUpOptsBuilder::default()
.ports(vec![PortForward { .ports(vec![PortForward {
backend: 8000, backend: 80,
frontend: 8000, frontend: 8000,
protocol: dagger_sdk::NetworkProtocol::Tcp, protocol: dagger_sdk::NetworkProtocol::Tcp,
}]) }])
@@ -64,7 +65,7 @@ async fn build(client: dagger_sdk::Query) -> eyre::Result<(i64, Container)> {
.build()?, .build()?,
); );
let github_zola_download: String = format!("https://github.com/barnumbirr/zola-debian/releases/download/v{ZOLA_VERSION}/zola_{ZOLA_VERSION}_{DEBIAN_PLATFORM}_{DEBIAN_EDITION}.deb"); // let github_zola_download: String = format!("https://github.com/barnumbirr/zola-debian/releases/download/v{ZOLA_VERSION}/zola_{ZOLA_VERSION}_{DEBIAN_PLATFORM}_{DEBIAN_EDITION}.deb");
let node_cache = client.cache_volume("node_cache"); let node_cache = client.cache_volume("node_cache");
let debian_cache = client.cache_volume("debian_cache"); let debian_cache = client.cache_volume("debian_cache");
@@ -72,14 +73,16 @@ async fn build(client: dagger_sdk::Query) -> eyre::Result<(i64, Container)> {
.container() .container()
.from("node:16") .from("node:16")
.with_workdir("/app") .with_workdir("/app")
.with_directory(".", src.id().await?) .with_directory(".", src.clone())
.with_mounted_cache("node_modules", node_cache.id().await?) .with_mounted_cache("node_modules", node_cache)
.with_exec(vec!["yarn"]) .with_exec(vec!["yarn"])
.with_exec(vec!["yarn", "compile"]) .with_exec(vec!["yarn", "compile"])
.file("static/styles/styles.css"); .file("static/styles/styles.css");
let tag = chrono::Utc::now().timestamp(); let tag = chrono::Utc::now().timestamp();
let zola_download_link = format!("https://github.com/getzola/zola/releases/download/{ZOLA_VERSION}/zola-{ZOLA_VERSION}-{ZOLA_PLATFORM}-unknown-linux-gnu.tar.gz");
let dist_dir = client let dist_dir = client
.container_opts( .container_opts(
dagger_sdk::QueryContainerOptsBuilder::default() dagger_sdk::QueryContainerOptsBuilder::default()
@@ -87,29 +90,32 @@ async fn build(client: dagger_sdk::Query) -> eyre::Result<(i64, Container)> {
.build()?, .build()?,
) )
.from(format!("debian:{DEBIAN_EDITION}")) .from(format!("debian:{DEBIAN_EDITION}"))
.with_exec(vec!["apt", "update"]) // .with_exec(vec!["apt", "update"])
.with_exec(vec!["apt", "install", "wget", "-y"]) // .with_exec(vec!["apt", "install", "wget", "-y"])
.with_workdir("/mnt") .with_workdir("/mnt")
.with_mounted_cache("/mnt", debian_cache.id().await?) .with_file("/mnt/zola.tar.gz", client.http(zola_download_link))
.with_exec(vec!["wget", &github_zola_download]) .with_exec(vec!["tar", "-xvf", "/mnt/zola.tar.gz"])
.with_exec(vec![ .with_exec(vec!["mv", "/mnt/zola", "/usr/local/bin/zola"])
"dpkg", // .with_mounted_cache("/mnt", debian_cache)
"-i", // .with_exec(vec!["wget", &github_zola_download])
format!("zola_{ZOLA_VERSION}_{DEBIAN_PLATFORM}_{DEBIAN_EDITION}.deb").as_str(), // .with_exec(vec![
]) // "dpkg",
// "-i",
// format!("zola_{ZOLA_VERSION}_{DEBIAN_PLATFORM}_{DEBIAN_EDITION}.deb").as_str(),
// ])
.with_workdir("/app") .with_workdir("/app")
.with_directory(".", src.id().await?) .with_directory(".", src)
.with_file("static/styles/styles.css", styles_file.id().await?) .with_file("static/styles/styles.css", styles_file)
.with_exec(vec!["zola", "build"]) .with_exec(vec!["zola", "build"])
.directory("public"); .directory("public");
let caddy_file = client.host().directory("deployment").file("Caddyfile"); let caddy_file = client.host().directory("deployment").file("Caddyfile");
let dep_image = client let dep_image = client
.container_opts(QueryContainerOptsBuilder::default().build().unwrap()) .container()
.from("caddy") .from(CADDY_IMAGE)
.with_directory("/usr/share/caddy", dist_dir.id().await.unwrap()) .with_directory("/srv", dist_dir)
.with_file("/etc/caddy/Caddyfile", caddy_file.id().await.unwrap()); .with_file("/etc/caddy/Caddyfile", caddy_file);
Ok((tag, dep_image)) Ok((tag, dep_image))
} }

View File

@@ -21,7 +21,7 @@ requests you name it.
And it looks super cool :D And it looks super cool :D
![grafana-dash](assets/2023-07-26-grafana-dash.jpg) ![grafana-dash](/assets/2023-07-26-grafana-dash.jpg)
# Prerequisites # Prerequisites

View File

@@ -60,7 +60,7 @@ The backend services already exist, and looks like this:
### Backend ### Backend
![backend services](assets/2023-09-09-backend-services.png) ![backend services](/assets/2023-09-09-backend-services.png)
What happens here is that we have variety of business services, which are used What happens here is that we have variety of business services, which are used
and serviced by either a User, or an engineer specifically. All the models are and serviced by either a User, or an engineer specifically. All the models are
@@ -73,7 +73,7 @@ These domain events are what ends up in the data platform.
### Internet of Things ### Internet of Things
![iot](assets/2023-09-09-iot-service.png) ![iot](/assets/2023-09-09-iot-service.png)
Like the backend services, we have IoT services for various things, such as Like the backend services, we have IoT services for various things, such as
storing measured data, or controllers for doing various things. Most of these storing measured data, or controllers for doing various things. Most of these
@@ -148,7 +148,7 @@ An event will flow through a NATS global event consumer, which will then get a
schema applied while being transported to a data fusion pipeline (Apache spark schema applied while being transported to a data fusion pipeline (Apache spark
alternative) alternative)
![data ingest](assets/2023-09-09-data-ingest.png) ![data ingest](/assets/2023-09-09-data-ingest.png)
This is not very different than normal data ingestion pipelines, though without This is not very different than normal data ingestion pipelines, though without
Kafka and Spark. If a schema application fails, or cannot be found, it will be Kafka and Spark. If a schema application fails, or cannot be found, it will be
@@ -169,7 +169,7 @@ date base models, and integrated transformations by the users. It includes
support for compaction, versioning, scale out queries, transformations and much support for compaction, versioning, scale out queries, transformations and much
more. more.
![data ingest](assets/2023-09-09-data-lakehouse.png) ![data ingest](/assets/2023-09-09-data-lakehouse.png)
In here we see the data entering the system from the NATS listener, it will pull In here we see the data entering the system from the NATS listener, it will pull
out data from the nats stream and ingest them into the datafusion pipeline out data from the nats stream and ingest them into the datafusion pipeline
@@ -190,7 +190,7 @@ Trino (distributed sql).
I will have a need for realtime aggregations, as such a bunch of allowed I will have a need for realtime aggregations, as such a bunch of allowed
transformations should end up in clickhouse for rapid querying. transformations should end up in clickhouse for rapid querying.
![real time analytics](assets/2023-09-09-data-real-time.png) ![real time analytics](/assets/2023-09-09-data-real-time.png)
Much of the same architecture from before is used (See datalake section), Much of the same architecture from before is used (See datalake section),
however, we also put data in `clickhouse`, this is to enable rapid querying on a however, we also put data in `clickhouse`, this is to enable rapid querying on a

View File

@@ -21,7 +21,7 @@ git repositories you collaborate to.
This gif should better display why this is so useful This gif should better display why this is so useful
![fuzzy clone usage](assets/fuzzy-clone-demo.gif) ![fuzzy clone usage](/assets/fuzzy-clone-demo.gif)
Do note that `,` is my alias for it `fz` is the actual command. The fully Do note that `,` is my alias for it `fz` is the actual command. The fully
qualified name is `fuzzy-clone`. qualified name is `fuzzy-clone`.

View File

@@ -1,868 +0,0 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
Backend service ^9wbfh44t
Backend engineer ^OYnQIyhR
User ^d7TsIcMm
Event sourced model ^tpEFylci
Domain events ^BKDeWmFh
Data platform Ingest ^eBw97vYs
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19",
"elements": [
{
"type": "rectangle",
"version": 465,
"versionNonce": 1569199600,
"isDeleted": false,
"id": "sTx3V6IBMr5fmkkGDikFE",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -298.22390437714466,
"y": -177.26461889876435,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 149,
"height": 151,
"seed": 1536562448,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "9wbfh44t"
},
{
"id": "J0mitVhCskhfgbLZOMKDf",
"type": "arrow"
},
{
"id": "Gvy66Wi-Z4fYBo_6xHAo2",
"type": "arrow"
},
{
"id": "PS6qWUBa9zPZp3Y7X1IH_",
"type": "arrow"
},
{
"id": "udDfzIaj1GY-t9tp-N-Gl",
"type": "arrow"
}
],
"updated": 1694341209387,
"link": null,
"locked": false
},
{
"type": "text",
"version": 272,
"versionNonce": 837801968,
"isDeleted": false,
"id": "9wbfh44t",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -268.38386226288685,
"y": -126.76461889876435,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 89.31991577148438,
"height": 50,
"seed": 757141264,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341209387,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Backend \nservice",
"rawText": "Backend service",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "sTx3V6IBMr5fmkkGDikFE",
"originalText": "Backend service",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "diamond",
"version": 210,
"versionNonce": 1268187120,
"isDeleted": false,
"id": "vMWQeW3qRvIkUdjOLaWPz",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -345.43316720684743,
"y": -482.1972278309496,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 220,
"height": 200,
"seed": 1298980624,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"type": "text",
"id": "OYnQIyhR"
},
{
"id": "J0mitVhCskhfgbLZOMKDf",
"type": "arrow"
}
],
"updated": 1694341455611,
"link": null,
"locked": false
},
{
"type": "text",
"version": 177,
"versionNonce": 311525872,
"isDeleted": false,
"id": "OYnQIyhR",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -280.0931250925896,
"y": -407.1972278309496,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 89.31991577148438,
"height": 50,
"seed": 817042704,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341455611,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Backend \nengineer",
"rawText": "Backend engineer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "vMWQeW3qRvIkUdjOLaWPz",
"originalText": "Backend engineer",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 942,
"versionNonce": 1338138096,
"isDeleted": false,
"id": "J0mitVhCskhfgbLZOMKDf",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -230.81771058718556,
"y": -274.92613188060886,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 0.0046177819788795205,
"height": 89.59298371386575,
"seed": 2103470064,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478296,
"link": null,
"locked": false,
"startBinding": {
"elementId": "vMWQeW3qRvIkUdjOLaWPz",
"gap": 8.61227473592443,
"focus": -0.041822171768161574
},
"endBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 8.06852926797876,
"focus": -0.0950941088262367
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
0.0046177819788795205,
89.59298371386575
]
]
},
{
"type": "diamond",
"version": 295,
"versionNonce": 1320180208,
"isDeleted": false,
"id": "v5jShMMi0xwqEukwhA_JJ",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -677.8497011004193,
"y": -202.97325254400545,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 220,
"height": 200,
"seed": 783812880,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"type": "text",
"id": "d7TsIcMm"
},
{
"id": "Gvy66Wi-Z4fYBo_6xHAo2",
"type": "arrow"
}
],
"updated": 1694341100136,
"link": null,
"locked": false
},
{
"type": "text",
"version": 279,
"versionNonce": 1567595504,
"isDeleted": false,
"id": "d7TsIcMm",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -590.1896745501264,
"y": -115.47325254400545,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 44.67994689941406,
"height": 25,
"seed": 989095696,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341100136,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "User",
"rawText": "User",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "v5jShMMi0xwqEukwhA_JJ",
"originalText": "User",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 204,
"versionNonce": 911712752,
"isDeleted": false,
"id": "Gvy66Wi-Z4fYBo_6xHAo2",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -454.1370030401614,
"y": -103.30812564496424,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 136.58153297230444,
"height": 0.46945233740069625,
"seed": 1541315344,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478297,
"link": null,
"locked": false,
"startBinding": {
"elementId": "v5jShMMi0xwqEukwhA_JJ",
"gap": 3.7277696925090282,
"focus": 0.0005597545142185046
},
"endBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 19.331565690712296,
"focus": 0.03082885731532018
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
136.58153297230444,
-0.46945233740069625
]
]
},
{
"type": "ellipse",
"version": 145,
"versionNonce": 683659760,
"isDeleted": false,
"id": "KgN1wquMjbcnndF7mIZZE",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -121.86574511764019,
"y": 3.1277624056234004,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 148,
"height": 148,
"seed": 1134723568,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"id": "PS6qWUBa9zPZp3Y7X1IH_",
"type": "arrow"
},
{
"id": "udDfzIaj1GY-t9tp-N-Gl",
"type": "arrow"
},
{
"type": "text",
"id": "tpEFylci"
},
{
"id": "VpBDx2DIaWwIhOzzspdiO",
"type": "arrow"
}
],
"updated": 1694341208616,
"link": null,
"locked": false
},
{
"type": "text",
"version": 51,
"versionNonce": 1976533776,
"isDeleted": false,
"id": "tpEFylci",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -89.82159840249548,
"y": 39.80186059781888,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 84.25990295410156,
"height": 75,
"seed": 384337392,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341203391,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Event \nsourced \nmodel",
"rawText": "Event sourced model",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "KgN1wquMjbcnndF7mIZZE",
"originalText": "Event sourced model",
"lineHeight": 1.25,
"baseline": 68
},
{
"type": "arrow",
"version": 312,
"versionNonce": 1626203120,
"isDeleted": false,
"id": "PS6qWUBa9zPZp3Y7X1IH_",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -136.53086016976556,
"y": -49.76929969163509,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 61.85382626567878,
"height": 37.75817092419969,
"seed": 1044317968,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478298,
"link": null,
"locked": false,
"startBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 12.693044207379103,
"focus": 0.701485505647599
},
"endBinding": {
"elementId": "KgN1wquMjbcnndF7mIZZE",
"gap": 20.504530823640664,
"focus": -0.09142088821761776
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
53.568507010659005,
-1.482635738631508
],
[
61.85382626567878,
36.27553518556818
]
]
},
{
"type": "arrow",
"version": 264,
"versionNonce": 594273776,
"isDeleted": false,
"id": "udDfzIaj1GY-t9tp-N-Gl",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -121.8622170366934,
"y": 37.378326729495264,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 41.452896638401896,
"height": 53.533654118295544,
"seed": 2016661488,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478298,
"link": null,
"locked": false,
"startBinding": {
"elementId": "KgN1wquMjbcnndF7mIZZE",
"gap": 9.996996928687153,
"focus": 0.3309459780456835
},
"endBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 10.109291509964066,
"focus": -1.0057786128186066
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
-41.452896638401896,
-8.277501643773128
],
[
-29.488449945388496,
-53.533654118295544
]
]
},
{
"type": "arrow",
"version": 347,
"versionNonce": 840003056,
"isDeleted": false,
"id": "VpBDx2DIaWwIhOzzspdiO",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 24.576866221444533,
"y": 18.16307254849813,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 36.80615136981645,
"height": 27.85323529808091,
"seed": 1794506512,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478299,
"link": null,
"locked": false,
"startBinding": {
"elementId": "KgN1wquMjbcnndF7mIZZE",
"gap": 19.406459024912508,
"focus": -0.0446534289390512
},
"endBinding": {
"elementId": "Mka3QKUB7w92Jjr6-DRhz",
"gap": 18.706684742883226,
"focus": -0.4031728505525382
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
36.80615136981645,
-27.85323529808091
]
]
},
{
"type": "rectangle",
"version": 693,
"versionNonce": 56960784,
"isDeleted": false,
"id": "Mka3QKUB7w92Jjr6-DRhz",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 41.11056075971601,
"y": -179.396847492466,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 149,
"height": 151,
"seed": 1399967504,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "BKDeWmFh"
},
{
"id": "VpBDx2DIaWwIhOzzspdiO",
"type": "arrow"
},
{
"id": "lA0qGhpVklLgpJeUcdQ1L",
"type": "arrow"
}
],
"updated": 1694341267230,
"link": null,
"locked": false
},
{
"type": "text",
"version": 511,
"versionNonce": 2146905360,
"isDeleted": false,
"id": "BKDeWmFh",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 77.41060195844648,
"y": -128.896847492466,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 76.39991760253906,
"height": 50,
"seed": 1887792400,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341225855,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Domain \nevents",
"rawText": "Domain events",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "Mka3QKUB7w92Jjr6-DRhz",
"originalText": "Domain events",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "rectangle",
"version": 182,
"versionNonce": 810897904,
"isDeleted": false,
"id": "UgbAq4IFZljS9mLQwG9x_",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 342.41036241134805,
"y": -181.85191063672076,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 204,
"height": 179,
"seed": 1737255408,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "eBw97vYs"
},
{
"id": "lA0qGhpVklLgpJeUcdQ1L",
"type": "arrow"
}
],
"updated": 1694341273830,
"link": null,
"locked": false
},
{
"type": "text",
"version": 145,
"versionNonce": 800429040,
"isDeleted": false,
"id": "eBw97vYs",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 366.71045701584023,
"y": -117.35191063672076,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 155.39981079101562,
"height": 50,
"seed": 998413296,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341273830,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Data platform \nIngest",
"rawText": "Data platform Ingest",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "UgbAq4IFZljS9mLQwG9x_",
"originalText": "Data platform Ingest",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 122,
"versionNonce": 498267632,
"isDeleted": false,
"id": "lA0qGhpVklLgpJeUcdQ1L",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 204.27567581184144,
"y": -109.63460928149289,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 120.06734329975325,
"height": 3.656040452848913,
"seed": 580477936,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478300,
"link": null,
"locked": false,
"startBinding": {
"elementId": "Mka3QKUB7w92Jjr6-DRhz",
"gap": 14.16511505212543,
"focus": -0.039063585773621255
},
"endBinding": {
"elementId": "UgbAq4IFZljS9mLQwG9x_",
"gap": 18.06734329975336,
"focus": 0.26558547393487125
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
120.06734329975325,
-3.656040452848913
]
]
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 1,
"currentItemStrokeStyle": "dashed",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 863.351248291904,
"scrollY": 505.83489718634723,
"zoom": {
"value": 1.9000000000000001
},
"currentItemRoundness": "round",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
```
%%

View File

@@ -1,864 +0,0 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
Services & Routing layer ^72o9GXma
NATS event consumer ^s45npuhh
Datafusion pipeline (Apache Ballista) ^zTVSQ9mn
Schema applier ^amQspibu
Error lake ^aXOOUJid
Data lake ^rgyaqp3l
If schema apply fails ^ZI5ehy6p
S3 (MiniO) ^712DogOh
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19",
"elements": [
{
"type": "rectangle",
"version": 387,
"versionNonce": 1503139600,
"isDeleted": false,
"id": "EpQKc79arb5LHLs5lDD9x",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -366.0923251010322,
"y": -211.55834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 204,
"height": 179,
"seed": 477382640,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "72o9GXma"
},
{
"id": "Sa68IFzHb_kbhirC5ZYa9",
"type": "arrow"
}
],
"updated": 1694344865066,
"link": null,
"locked": false
},
{
"type": "text",
"version": 389,
"versionNonce": 1021616624,
"isDeleted": false,
"id": "72o9GXma",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -360.99221218599314,
"y": -147.05834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 193.79977416992188,
"height": 50,
"seed": 1753598448,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344865066,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Services & Routing \nlayer",
"rawText": "Services & Routing layer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "EpQKc79arb5LHLs5lDD9x",
"originalText": "Services & Routing layer",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "rectangle",
"version": 374,
"versionNonce": 1789048080,
"isDeleted": false,
"id": "26On9coKm71CUyFa0NAwt",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -44.25,
"y": -175.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 156,
"height": 98,
"seed": 110157808,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "Sa68IFzHb_kbhirC5ZYa9",
"type": "arrow"
},
{
"type": "text",
"id": "s45npuhh"
},
{
"id": "hLelJzbrBZHSYN9lwBMaO",
"type": "arrow"
}
],
"updated": 1694344865066,
"link": null,
"locked": false
},
{
"type": "text",
"version": 337,
"versionNonce": 232449008,
"isDeleted": false,
"id": "s45npuhh",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -29.859939575195312,
"y": -151.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 127.21987915039062,
"height": 50,
"seed": 1057794544,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344865066,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "NATS event \nconsumer",
"rawText": "NATS event consumer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "26On9coKm71CUyFa0NAwt",
"originalText": "NATS event consumer",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 629,
"versionNonce": 1846427920,
"isDeleted": false,
"id": "Sa68IFzHb_kbhirC5ZYa9",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -142.99999999999994,
"y": -124.64045999275731,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 83.24999999999996,
"height": 0.7767966783556517,
"seed": 1791612400,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694345002232,
"link": null,
"locked": false,
"startBinding": {
"elementId": "EpQKc79arb5LHLs5lDD9x",
"gap": 19.09232510103223,
"focus": -0.04103860515644922
},
"endBinding": {
"elementId": "26On9coKm71CUyFa0NAwt",
"gap": 15.500000000000014,
"focus": -0.06341132414040519
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
83.24999999999996,
0.7767966783556517
]
]
},
{
"type": "rectangle",
"version": 270,
"versionNonce": 490651920,
"isDeleted": false,
"id": "fhs_gMyi6RKgf8dYaLSBT",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 390.75,
"y": -177.89453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 200,
"height": 91,
"seed": 1239993328,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "zTVSQ9mn"
},
{
"id": "mUwnjyxDqu4NeHQAU2N2w",
"type": "arrow"
},
{
"id": "AkQqCQSq8ht48pWAAeJpr",
"type": "arrow"
}
],
"updated": 1694344912272,
"link": null,
"locked": false
},
{
"type": "text",
"version": 197,
"versionNonce": 297756944,
"isDeleted": false,
"id": "zTVSQ9mn",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 398.11011505126953,
"y": -157.39453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 185.27976989746094,
"height": 50,
"seed": 1096904688,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344946394,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Datafusion pipeline\n(Apache Ballista)",
"rawText": "Datafusion pipeline\n(Apache Ballista)",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "fhs_gMyi6RKgf8dYaLSBT",
"originalText": "Datafusion pipeline\n(Apache Ballista)",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "rectangle",
"version": 129,
"versionNonce": 1347277072,
"isDeleted": false,
"id": "uZivVzfxhit67PbDewSup",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 198.5,
"y": -174.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 104,
"height": 96,
"seed": 1124405232,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "amQspibu"
},
{
"id": "hLelJzbrBZHSYN9lwBMaO",
"type": "arrow"
},
{
"id": "mUwnjyxDqu4NeHQAU2N2w",
"type": "arrow"
},
{
"id": "bMVvpgvNyJBV4m7iofm1V",
"type": "arrow"
}
],
"updated": 1694344890598,
"link": null,
"locked": false
},
{
"type": "text",
"version": 98,
"versionNonce": 1854672656,
"isDeleted": false,
"id": "amQspibu",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 210.99004364013672,
"y": -151.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 79.01991271972656,
"height": 50,
"seed": 1966093808,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344865067,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Schema \napplier",
"rawText": "Schema applier",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "uZivVzfxhit67PbDewSup",
"originalText": "Schema applier",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 212,
"versionNonce": 1240477968,
"isDeleted": false,
"id": "hLelJzbrBZHSYN9lwBMaO",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 121.50000000000004,
"y": -130.07201453488125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 66.49999999999996,
"height": 1.8419941085324467,
"seed": 454756624,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694345002233,
"link": null,
"locked": false,
"startBinding": {
"elementId": "26On9coKm71CUyFa0NAwt",
"gap": 9.750000000000028,
"focus": -0.12427713280499124
},
"endBinding": {
"elementId": "uZivVzfxhit67PbDewSup",
"gap": 10.5,
"focus": 0.0071660427325140694
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
66.49999999999996,
1.8419941085324467
]
]
},
{
"type": "arrow",
"version": 329,
"versionNonce": 1967336720,
"isDeleted": false,
"id": "mUwnjyxDqu4NeHQAU2N2w",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 313,
"y": -130.11940510920346,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 66,
"height": 0.08441126716857639,
"seed": 1776163312,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694345002234,
"link": null,
"locked": false,
"startBinding": {
"elementId": "uZivVzfxhit67PbDewSup",
"gap": 10.5,
"focus": -0.08103228804526064
},
"endBinding": {
"elementId": "fhs_gMyi6RKgf8dYaLSBT",
"gap": 11.75,
"focus": -0.044880247318899974
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
66,
-0.08441126716857639
]
]
},
{
"type": "rectangle",
"version": 246,
"versionNonce": 304987408,
"isDeleted": false,
"id": "_5O__8RSAgyYEjj52QWQa",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 200.59827551530225,
"y": 17.301048334314544,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 398.79362598571333,
"height": 317.8125448468521,
"seed": 1060721136,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "AkQqCQSq8ht48pWAAeJpr",
"type": "arrow"
}
],
"updated": 1694344912272,
"link": null,
"locked": false
},
{
"type": "rectangle",
"version": 205,
"versionNonce": 2025377040,
"isDeleted": false,
"id": "jF9nuAfOqlEwdFrmAFhY9",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 197.85880592564683,
"y": 18.561362062379345,
"strokeColor": "transparent",
"backgroundColor": "#e9ecef",
"width": 198,
"height": 313,
"seed": 902355440,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [
{
"id": "bMVvpgvNyJBV4m7iofm1V",
"type": "arrow"
}
],
"updated": 1694344890598,
"link": null,
"locked": false
},
{
"type": "text",
"version": 156,
"versionNonce": 1457464592,
"isDeleted": false,
"id": "aXOOUJid",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 250.25648564762275,
"y": 160.9278714862574,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 99.63987731933594,
"height": 25,
"seed": 601563120,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344875185,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Error lake",
"rawText": "Error lake",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "Error lake",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "text",
"version": 223,
"versionNonce": 131597072,
"isDeleted": false,
"id": "rgyaqp3l",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 451.0195150402808,
"y": 162.17937583059228,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 102.85987854003906,
"height": 25,
"seed": 1602597136,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344875185,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Data lake",
"rawText": "Data lake",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "Data lake",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 170,
"versionNonce": 1829185808,
"isDeleted": false,
"id": "bMVvpgvNyJBV4m7iofm1V",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 249.4925131840489,
"y": -62.15208787739857,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 0,
"height": 61.11779708593315,
"seed": 1804713968,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694345002234,
"link": null,
"locked": false,
"startBinding": {
"elementId": "uZivVzfxhit67PbDewSup",
"gap": 15.992443372601429,
"focus": 0.019374746460598023
},
"endBinding": {
"elementId": "jF9nuAfOqlEwdFrmAFhY9",
"gap": 19.59565285384474,
"focus": -0.47844740143028225
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
0,
61.11779708593315
]
]
},
{
"type": "text",
"version": 80,
"versionNonce": 466318832,
"isDeleted": false,
"id": "ZI5ehy6p",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 150.94006538298186,
"y": -48.40058353306358,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 209.5997314453125,
"height": 25,
"seed": 1419887888,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344903041,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "If schema apply fails",
"rawText": "If schema apply fails",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "If schema apply fails",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 53,
"versionNonce": 592327952,
"isDeleted": false,
"id": "AkQqCQSq8ht48pWAAeJpr",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 493.1997290642071,
"y": -74.37564729458518,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 1.5279449271483827,
"height": 76.39724635741638,
"seed": 1265499120,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694345002233,
"link": null,
"locked": false,
"startBinding": {
"elementId": "fhs_gMyi6RKgf8dYaLSBT",
"gap": 12.518883955414822,
"focus": -0.012777240958267157
},
"endBinding": {
"elementId": "_5O__8RSAgyYEjj52QWQa",
"gap": 15.279449271483315,
"focus": 0.48483934228390557
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
1.5279449271483827,
76.39724635741638
]
]
},
{
"id": "712DogOh",
"type": "text",
"x": 344.8997881999917,
"y": 28.562780044225974,
"width": 98.77989196777344,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1519137264,
"version": 159,
"versionNonce": 1898942960,
"isDeleted": false,
"boundElements": null,
"updated": 1694345025125,
"link": null,
"locked": false,
"text": "S3 (MiniO)",
"rawText": "S3 (MiniO)",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"baseline": 18,
"containerId": null,
"originalText": "S3 (MiniO)",
"lineHeight": 1.25
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "#e9ecef",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 0.5,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 641.1002118000083,
"scrollY": 161.50753245577403,
"zoom": {
"value": 2
},
"currentItemRoundness": "sharp",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
```
%%

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,401 +0,0 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
IoT Service ^EoQSgbi1
IoT Sensor ^HZlDcT2x
Data platform Ingest ^72o9GXma
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19",
"elements": [
{
"type": "rectangle",
"version": 701,
"versionNonce": 167105808,
"isDeleted": false,
"id": "2wHeg2N53IYzpgCwRZ_sV",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -109.90675912352219,
"y": -145.46057384034123,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 149,
"height": 151,
"seed": 746651120,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "EoQSgbi1"
},
{
"id": "jYcTtzBU6Ba3uXE02Cful",
"type": "arrow"
},
{
"id": "vzeGuvlzbu9D-RUnuM_MZ",
"type": "arrow"
}
],
"updated": 1694341385095,
"link": null,
"locked": false
},
{
"type": "text",
"version": 520,
"versionNonce": 77116176,
"isDeleted": false,
"id": "EoQSgbi1",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -93.19669900389329,
"y": -82.46057384034123,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 115.57987976074219,
"height": 25,
"seed": 25935856,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341385095,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "IoT Service",
"rawText": "IoT Service",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "2wHeg2N53IYzpgCwRZ_sV",
"originalText": "IoT Service",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "diamond",
"version": 552,
"versionNonce": 1837905680,
"isDeleted": false,
"id": "HKT3KgeY8V3T-f2SJo_3r",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -488.4076748989678,
"y": -159.80102940728523,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 220,
"height": 200,
"seed": 737034736,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"type": "text",
"id": "HZlDcT2x"
},
{
"id": "jYcTtzBU6Ba3uXE02Cful",
"type": "arrow"
}
],
"updated": 1694341514931,
"link": null,
"locked": false
},
{
"type": "text",
"version": 546,
"versionNonce": 722654480,
"isDeleted": false,
"id": "HZlDcT2x",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -409.8976422451592,
"y": -84.80102940728523,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 62.97993469238281,
"height": 50,
"seed": 716211184,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341514931,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "IoT \nSensor",
"rawText": "IoT Sensor",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "HKT3KgeY8V3T-f2SJo_3r",
"originalText": "IoT Sensor",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 642,
"versionNonce": 1628229904,
"isDeleted": false,
"id": "jYcTtzBU6Ba3uXE02Cful",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -260.6056224823998,
"y": -63.47351673236517,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 133.76296346137323,
"height": 0.9440251662323789,
"seed": 1541047792,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341514931,
"link": null,
"locked": false,
"startBinding": {
"elementId": "HKT3KgeY8V3T-f2SJo_3r",
"gap": 8.623177202385875,
"focus": -0.028358267431578415
},
"endBinding": {
"elementId": "2wHeg2N53IYzpgCwRZ_sV",
"gap": 16.935899897504328,
"focus": -0.06442193471262163
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
133.76296346137323,
-0.9440251662323789
]
]
},
{
"type": "rectangle",
"version": 331,
"versionNonce": 369345808,
"isDeleted": false,
"id": "EpQKc79arb5LHLs5lDD9x",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 148.9076748989678,
"y": -128.05834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 204,
"height": 179,
"seed": 477382640,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "72o9GXma"
},
{
"id": "vzeGuvlzbu9D-RUnuM_MZ",
"type": "arrow"
}
],
"updated": 1694341385095,
"link": null,
"locked": false
},
{
"type": "text",
"version": 294,
"versionNonce": 963158800,
"isDeleted": false,
"id": "72o9GXma",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 173.20776950345999,
"y": -63.55834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 155.39981079101562,
"height": 50,
"seed": 1753598448,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341385095,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Data platform \nIngest",
"rawText": "Data platform Ingest",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "EpQKc79arb5LHLs5lDD9x",
"originalText": "Data platform Ingest",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 315,
"versionNonce": 420523792,
"isDeleted": false,
"id": "vzeGuvlzbu9D-RUnuM_MZ",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 49.56397613476656,
"y": -68.71372587133547,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 78.50557061906932,
"height": 2.059257777181273,
"seed": 2065107952,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341501797,
"link": null,
"locked": false,
"startBinding": {
"elementId": "2wHeg2N53IYzpgCwRZ_sV",
"gap": 10.470735258288755,
"focus": -0.012678407176878778
},
"endBinding": {
"elementId": "EpQKc79arb5LHLs5lDD9x",
"gap": 20.83812814513192,
"focus": 0.2698545781974716
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
78.50557061906932,
2.059257777181273
]
]
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 1,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 826.25,
"scrollY": 377.71484375,
"zoom": {
"value": 2
},
"currentItemRoundness": "round",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
```
%%

View File

@@ -1,8 +1,13 @@
{ {
debug debug
log default {
output stdout
level DEBUG
}
} }
http://blog.kasperhermansen.com { :80 {
root * /usr/share/caddy root * /srv
file_server file_server
} }

View File

@@ -3,7 +3,7 @@ dir = "./ci"
run = "cargo build" run = "cargo build"
[tasks."ci:run"] [tasks."ci:run"]
run = "./ci/target/debug/ci" run = "./target/debug/ci"
[tasks."ci:main"] [tasks."ci:main"]
depends = ["ci:build"] depends = ["ci:build"]

View File

@@ -1,868 +0,0 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
Backend service ^9wbfh44t
Backend engineer ^OYnQIyhR
User ^d7TsIcMm
Event sourced model ^tpEFylci
Domain events ^BKDeWmFh
Data platform Ingest ^eBw97vYs
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19",
"elements": [
{
"type": "rectangle",
"version": 465,
"versionNonce": 1569199600,
"isDeleted": false,
"id": "sTx3V6IBMr5fmkkGDikFE",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -298.22390437714466,
"y": -177.26461889876435,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 149,
"height": 151,
"seed": 1536562448,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "9wbfh44t"
},
{
"id": "J0mitVhCskhfgbLZOMKDf",
"type": "arrow"
},
{
"id": "Gvy66Wi-Z4fYBo_6xHAo2",
"type": "arrow"
},
{
"id": "PS6qWUBa9zPZp3Y7X1IH_",
"type": "arrow"
},
{
"id": "udDfzIaj1GY-t9tp-N-Gl",
"type": "arrow"
}
],
"updated": 1694341209387,
"link": null,
"locked": false
},
{
"type": "text",
"version": 272,
"versionNonce": 837801968,
"isDeleted": false,
"id": "9wbfh44t",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -268.38386226288685,
"y": -126.76461889876435,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 89.31991577148438,
"height": 50,
"seed": 757141264,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341209387,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Backend \nservice",
"rawText": "Backend service",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "sTx3V6IBMr5fmkkGDikFE",
"originalText": "Backend service",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "diamond",
"version": 210,
"versionNonce": 1268187120,
"isDeleted": false,
"id": "vMWQeW3qRvIkUdjOLaWPz",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -345.43316720684743,
"y": -482.1972278309496,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 220,
"height": 200,
"seed": 1298980624,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"type": "text",
"id": "OYnQIyhR"
},
{
"id": "J0mitVhCskhfgbLZOMKDf",
"type": "arrow"
}
],
"updated": 1694341455611,
"link": null,
"locked": false
},
{
"type": "text",
"version": 177,
"versionNonce": 311525872,
"isDeleted": false,
"id": "OYnQIyhR",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -280.0931250925896,
"y": -407.1972278309496,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 89.31991577148438,
"height": 50,
"seed": 817042704,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341455611,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Backend \nengineer",
"rawText": "Backend engineer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "vMWQeW3qRvIkUdjOLaWPz",
"originalText": "Backend engineer",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 942,
"versionNonce": 1338138096,
"isDeleted": false,
"id": "J0mitVhCskhfgbLZOMKDf",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -230.81771058718556,
"y": -274.92613188060886,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 0.0046177819788795205,
"height": 89.59298371386575,
"seed": 2103470064,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478296,
"link": null,
"locked": false,
"startBinding": {
"elementId": "vMWQeW3qRvIkUdjOLaWPz",
"gap": 8.61227473592443,
"focus": -0.041822171768161574
},
"endBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 8.06852926797876,
"focus": -0.0950941088262367
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
0.0046177819788795205,
89.59298371386575
]
]
},
{
"type": "diamond",
"version": 295,
"versionNonce": 1320180208,
"isDeleted": false,
"id": "v5jShMMi0xwqEukwhA_JJ",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -677.8497011004193,
"y": -202.97325254400545,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 220,
"height": 200,
"seed": 783812880,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"type": "text",
"id": "d7TsIcMm"
},
{
"id": "Gvy66Wi-Z4fYBo_6xHAo2",
"type": "arrow"
}
],
"updated": 1694341100136,
"link": null,
"locked": false
},
{
"type": "text",
"version": 279,
"versionNonce": 1567595504,
"isDeleted": false,
"id": "d7TsIcMm",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -590.1896745501264,
"y": -115.47325254400545,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 44.67994689941406,
"height": 25,
"seed": 989095696,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341100136,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "User",
"rawText": "User",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "v5jShMMi0xwqEukwhA_JJ",
"originalText": "User",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 204,
"versionNonce": 911712752,
"isDeleted": false,
"id": "Gvy66Wi-Z4fYBo_6xHAo2",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -454.1370030401614,
"y": -103.30812564496424,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 136.58153297230444,
"height": 0.46945233740069625,
"seed": 1541315344,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478297,
"link": null,
"locked": false,
"startBinding": {
"elementId": "v5jShMMi0xwqEukwhA_JJ",
"gap": 3.7277696925090282,
"focus": 0.0005597545142185046
},
"endBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 19.331565690712296,
"focus": 0.03082885731532018
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
136.58153297230444,
-0.46945233740069625
]
]
},
{
"type": "ellipse",
"version": 145,
"versionNonce": 683659760,
"isDeleted": false,
"id": "KgN1wquMjbcnndF7mIZZE",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -121.86574511764019,
"y": 3.1277624056234004,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 148,
"height": 148,
"seed": 1134723568,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"id": "PS6qWUBa9zPZp3Y7X1IH_",
"type": "arrow"
},
{
"id": "udDfzIaj1GY-t9tp-N-Gl",
"type": "arrow"
},
{
"type": "text",
"id": "tpEFylci"
},
{
"id": "VpBDx2DIaWwIhOzzspdiO",
"type": "arrow"
}
],
"updated": 1694341208616,
"link": null,
"locked": false
},
{
"type": "text",
"version": 51,
"versionNonce": 1976533776,
"isDeleted": false,
"id": "tpEFylci",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -89.82159840249548,
"y": 39.80186059781888,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 84.25990295410156,
"height": 75,
"seed": 384337392,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341203391,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Event \nsourced \nmodel",
"rawText": "Event sourced model",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "KgN1wquMjbcnndF7mIZZE",
"originalText": "Event sourced model",
"lineHeight": 1.25,
"baseline": 68
},
{
"type": "arrow",
"version": 312,
"versionNonce": 1626203120,
"isDeleted": false,
"id": "PS6qWUBa9zPZp3Y7X1IH_",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -136.53086016976556,
"y": -49.76929969163509,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 61.85382626567878,
"height": 37.75817092419969,
"seed": 1044317968,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478298,
"link": null,
"locked": false,
"startBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 12.693044207379103,
"focus": 0.701485505647599
},
"endBinding": {
"elementId": "KgN1wquMjbcnndF7mIZZE",
"gap": 20.504530823640664,
"focus": -0.09142088821761776
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
53.568507010659005,
-1.482635738631508
],
[
61.85382626567878,
36.27553518556818
]
]
},
{
"type": "arrow",
"version": 264,
"versionNonce": 594273776,
"isDeleted": false,
"id": "udDfzIaj1GY-t9tp-N-Gl",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -121.8622170366934,
"y": 37.378326729495264,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 41.452896638401896,
"height": 53.533654118295544,
"seed": 2016661488,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478298,
"link": null,
"locked": false,
"startBinding": {
"elementId": "KgN1wquMjbcnndF7mIZZE",
"gap": 9.996996928687153,
"focus": 0.3309459780456835
},
"endBinding": {
"elementId": "sTx3V6IBMr5fmkkGDikFE",
"gap": 10.109291509964066,
"focus": -1.0057786128186066
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
-41.452896638401896,
-8.277501643773128
],
[
-29.488449945388496,
-53.533654118295544
]
]
},
{
"type": "arrow",
"version": 347,
"versionNonce": 840003056,
"isDeleted": false,
"id": "VpBDx2DIaWwIhOzzspdiO",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 24.576866221444533,
"y": 18.16307254849813,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 36.80615136981645,
"height": 27.85323529808091,
"seed": 1794506512,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478299,
"link": null,
"locked": false,
"startBinding": {
"elementId": "KgN1wquMjbcnndF7mIZZE",
"gap": 19.406459024912508,
"focus": -0.0446534289390512
},
"endBinding": {
"elementId": "Mka3QKUB7w92Jjr6-DRhz",
"gap": 18.706684742883226,
"focus": -0.4031728505525382
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
36.80615136981645,
-27.85323529808091
]
]
},
{
"type": "rectangle",
"version": 693,
"versionNonce": 56960784,
"isDeleted": false,
"id": "Mka3QKUB7w92Jjr6-DRhz",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 41.11056075971601,
"y": -179.396847492466,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 149,
"height": 151,
"seed": 1399967504,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "BKDeWmFh"
},
{
"id": "VpBDx2DIaWwIhOzzspdiO",
"type": "arrow"
},
{
"id": "lA0qGhpVklLgpJeUcdQ1L",
"type": "arrow"
}
],
"updated": 1694341267230,
"link": null,
"locked": false
},
{
"type": "text",
"version": 511,
"versionNonce": 2146905360,
"isDeleted": false,
"id": "BKDeWmFh",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 77.41060195844648,
"y": -128.896847492466,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 76.39991760253906,
"height": 50,
"seed": 1887792400,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341225855,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Domain \nevents",
"rawText": "Domain events",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "Mka3QKUB7w92Jjr6-DRhz",
"originalText": "Domain events",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "rectangle",
"version": 182,
"versionNonce": 810897904,
"isDeleted": false,
"id": "UgbAq4IFZljS9mLQwG9x_",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 342.41036241134805,
"y": -181.85191063672076,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 204,
"height": 179,
"seed": 1737255408,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "eBw97vYs"
},
{
"id": "lA0qGhpVklLgpJeUcdQ1L",
"type": "arrow"
}
],
"updated": 1694341273830,
"link": null,
"locked": false
},
{
"type": "text",
"version": 145,
"versionNonce": 800429040,
"isDeleted": false,
"id": "eBw97vYs",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 366.71045701584023,
"y": -117.35191063672076,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 155.39981079101562,
"height": 50,
"seed": 998413296,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341273830,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Data platform \nIngest",
"rawText": "Data platform Ingest",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "UgbAq4IFZljS9mLQwG9x_",
"originalText": "Data platform Ingest",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 122,
"versionNonce": 498267632,
"isDeleted": false,
"id": "lA0qGhpVklLgpJeUcdQ1L",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 204.27567581184144,
"y": -109.63460928149289,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 120.06734329975325,
"height": 3.656040452848913,
"seed": 580477936,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341478300,
"link": null,
"locked": false,
"startBinding": {
"elementId": "Mka3QKUB7w92Jjr6-DRhz",
"gap": 14.16511505212543,
"focus": -0.039063585773621255
},
"endBinding": {
"elementId": "UgbAq4IFZljS9mLQwG9x_",
"gap": 18.06734329975336,
"focus": 0.26558547393487125
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
120.06734329975325,
-3.656040452848913
]
]
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 1,
"currentItemStrokeStyle": "dashed",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 863.351248291904,
"scrollY": 505.83489718634723,
"zoom": {
"value": 1.9000000000000001
},
"currentItemRoundness": "round",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
```
%%

View File

@@ -1,864 +0,0 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
Services & Routing layer ^72o9GXma
NATS event consumer ^s45npuhh
Datafusion pipeline (Apache Ballista) ^zTVSQ9mn
Schema applier ^amQspibu
Error lake ^aXOOUJid
Data lake ^rgyaqp3l
If schema apply fails ^ZI5ehy6p
S3 (MiniO) ^712DogOh
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19",
"elements": [
{
"type": "rectangle",
"version": 387,
"versionNonce": 1503139600,
"isDeleted": false,
"id": "EpQKc79arb5LHLs5lDD9x",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -366.0923251010322,
"y": -211.55834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 204,
"height": 179,
"seed": 477382640,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "72o9GXma"
},
{
"id": "Sa68IFzHb_kbhirC5ZYa9",
"type": "arrow"
}
],
"updated": 1694344865066,
"link": null,
"locked": false
},
{
"type": "text",
"version": 389,
"versionNonce": 1021616624,
"isDeleted": false,
"id": "72o9GXma",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -360.99221218599314,
"y": -147.05834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 193.79977416992188,
"height": 50,
"seed": 1753598448,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344865066,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Services & Routing \nlayer",
"rawText": "Services & Routing layer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "EpQKc79arb5LHLs5lDD9x",
"originalText": "Services & Routing layer",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "rectangle",
"version": 374,
"versionNonce": 1789048080,
"isDeleted": false,
"id": "26On9coKm71CUyFa0NAwt",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -44.25,
"y": -175.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 156,
"height": 98,
"seed": 110157808,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "Sa68IFzHb_kbhirC5ZYa9",
"type": "arrow"
},
{
"type": "text",
"id": "s45npuhh"
},
{
"id": "hLelJzbrBZHSYN9lwBMaO",
"type": "arrow"
}
],
"updated": 1694344865066,
"link": null,
"locked": false
},
{
"type": "text",
"version": 337,
"versionNonce": 232449008,
"isDeleted": false,
"id": "s45npuhh",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -29.859939575195312,
"y": -151.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 127.21987915039062,
"height": 50,
"seed": 1057794544,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344865066,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "NATS event \nconsumer",
"rawText": "NATS event consumer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "26On9coKm71CUyFa0NAwt",
"originalText": "NATS event consumer",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 629,
"versionNonce": 1846427920,
"isDeleted": false,
"id": "Sa68IFzHb_kbhirC5ZYa9",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -142.99999999999994,
"y": -124.64045999275731,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 83.24999999999996,
"height": 0.7767966783556517,
"seed": 1791612400,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694345002232,
"link": null,
"locked": false,
"startBinding": {
"elementId": "EpQKc79arb5LHLs5lDD9x",
"gap": 19.09232510103223,
"focus": -0.04103860515644922
},
"endBinding": {
"elementId": "26On9coKm71CUyFa0NAwt",
"gap": 15.500000000000014,
"focus": -0.06341132414040519
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
83.24999999999996,
0.7767966783556517
]
]
},
{
"type": "rectangle",
"version": 270,
"versionNonce": 490651920,
"isDeleted": false,
"id": "fhs_gMyi6RKgf8dYaLSBT",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 390.75,
"y": -177.89453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 200,
"height": 91,
"seed": 1239993328,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "zTVSQ9mn"
},
{
"id": "mUwnjyxDqu4NeHQAU2N2w",
"type": "arrow"
},
{
"id": "AkQqCQSq8ht48pWAAeJpr",
"type": "arrow"
}
],
"updated": 1694344912272,
"link": null,
"locked": false
},
{
"type": "text",
"version": 197,
"versionNonce": 297756944,
"isDeleted": false,
"id": "zTVSQ9mn",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 398.11011505126953,
"y": -157.39453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 185.27976989746094,
"height": 50,
"seed": 1096904688,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344946394,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Datafusion pipeline\n(Apache Ballista)",
"rawText": "Datafusion pipeline\n(Apache Ballista)",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "fhs_gMyi6RKgf8dYaLSBT",
"originalText": "Datafusion pipeline\n(Apache Ballista)",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "rectangle",
"version": 129,
"versionNonce": 1347277072,
"isDeleted": false,
"id": "uZivVzfxhit67PbDewSup",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 198.5,
"y": -174.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 104,
"height": 96,
"seed": 1124405232,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "amQspibu"
},
{
"id": "hLelJzbrBZHSYN9lwBMaO",
"type": "arrow"
},
{
"id": "mUwnjyxDqu4NeHQAU2N2w",
"type": "arrow"
},
{
"id": "bMVvpgvNyJBV4m7iofm1V",
"type": "arrow"
}
],
"updated": 1694344890598,
"link": null,
"locked": false
},
{
"type": "text",
"version": 98,
"versionNonce": 1854672656,
"isDeleted": false,
"id": "amQspibu",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 210.99004364013672,
"y": -151.14453125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 79.01991271972656,
"height": 50,
"seed": 1966093808,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344865067,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Schema \napplier",
"rawText": "Schema applier",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "uZivVzfxhit67PbDewSup",
"originalText": "Schema applier",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 212,
"versionNonce": 1240477968,
"isDeleted": false,
"id": "hLelJzbrBZHSYN9lwBMaO",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 121.50000000000004,
"y": -130.07201453488125,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 66.49999999999996,
"height": 1.8419941085324467,
"seed": 454756624,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694345002233,
"link": null,
"locked": false,
"startBinding": {
"elementId": "26On9coKm71CUyFa0NAwt",
"gap": 9.750000000000028,
"focus": -0.12427713280499124
},
"endBinding": {
"elementId": "uZivVzfxhit67PbDewSup",
"gap": 10.5,
"focus": 0.0071660427325140694
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
66.49999999999996,
1.8419941085324467
]
]
},
{
"type": "arrow",
"version": 329,
"versionNonce": 1967336720,
"isDeleted": false,
"id": "mUwnjyxDqu4NeHQAU2N2w",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 313,
"y": -130.11940510920346,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 66,
"height": 0.08441126716857639,
"seed": 1776163312,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694345002234,
"link": null,
"locked": false,
"startBinding": {
"elementId": "uZivVzfxhit67PbDewSup",
"gap": 10.5,
"focus": -0.08103228804526064
},
"endBinding": {
"elementId": "fhs_gMyi6RKgf8dYaLSBT",
"gap": 11.75,
"focus": -0.044880247318899974
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
66,
-0.08441126716857639
]
]
},
{
"type": "rectangle",
"version": 246,
"versionNonce": 304987408,
"isDeleted": false,
"id": "_5O__8RSAgyYEjj52QWQa",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 200.59827551530225,
"y": 17.301048334314544,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 398.79362598571333,
"height": 317.8125448468521,
"seed": 1060721136,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "AkQqCQSq8ht48pWAAeJpr",
"type": "arrow"
}
],
"updated": 1694344912272,
"link": null,
"locked": false
},
{
"type": "rectangle",
"version": 205,
"versionNonce": 2025377040,
"isDeleted": false,
"id": "jF9nuAfOqlEwdFrmAFhY9",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 197.85880592564683,
"y": 18.561362062379345,
"strokeColor": "transparent",
"backgroundColor": "#e9ecef",
"width": 198,
"height": 313,
"seed": 902355440,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [
{
"id": "bMVvpgvNyJBV4m7iofm1V",
"type": "arrow"
}
],
"updated": 1694344890598,
"link": null,
"locked": false
},
{
"type": "text",
"version": 156,
"versionNonce": 1457464592,
"isDeleted": false,
"id": "aXOOUJid",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 250.25648564762275,
"y": 160.9278714862574,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 99.63987731933594,
"height": 25,
"seed": 601563120,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344875185,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Error lake",
"rawText": "Error lake",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "Error lake",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "text",
"version": 223,
"versionNonce": 131597072,
"isDeleted": false,
"id": "rgyaqp3l",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 451.0195150402808,
"y": 162.17937583059228,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 102.85987854003906,
"height": 25,
"seed": 1602597136,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344875185,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Data lake",
"rawText": "Data lake",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "Data lake",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 170,
"versionNonce": 1829185808,
"isDeleted": false,
"id": "bMVvpgvNyJBV4m7iofm1V",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 249.4925131840489,
"y": -62.15208787739857,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 0,
"height": 61.11779708593315,
"seed": 1804713968,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694345002234,
"link": null,
"locked": false,
"startBinding": {
"elementId": "uZivVzfxhit67PbDewSup",
"gap": 15.992443372601429,
"focus": 0.019374746460598023
},
"endBinding": {
"elementId": "jF9nuAfOqlEwdFrmAFhY9",
"gap": 19.59565285384474,
"focus": -0.47844740143028225
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
0,
61.11779708593315
]
]
},
{
"type": "text",
"version": 80,
"versionNonce": 466318832,
"isDeleted": false,
"id": "ZI5ehy6p",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 150.94006538298186,
"y": -48.40058353306358,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 209.5997314453125,
"height": 25,
"seed": 1419887888,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694344903041,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "If schema apply fails",
"rawText": "If schema apply fails",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "If schema apply fails",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 53,
"versionNonce": 592327952,
"isDeleted": false,
"id": "AkQqCQSq8ht48pWAAeJpr",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 493.1997290642071,
"y": -74.37564729458518,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"width": 1.5279449271483827,
"height": 76.39724635741638,
"seed": 1265499120,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694345002233,
"link": null,
"locked": false,
"startBinding": {
"elementId": "fhs_gMyi6RKgf8dYaLSBT",
"gap": 12.518883955414822,
"focus": -0.012777240958267157
},
"endBinding": {
"elementId": "_5O__8RSAgyYEjj52QWQa",
"gap": 15.279449271483315,
"focus": 0.48483934228390557
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
1.5279449271483827,
76.39724635741638
]
]
},
{
"id": "712DogOh",
"type": "text",
"x": 344.8997881999917,
"y": 28.562780044225974,
"width": 98.77989196777344,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1519137264,
"version": 159,
"versionNonce": 1898942960,
"isDeleted": false,
"boundElements": null,
"updated": 1694345025125,
"link": null,
"locked": false,
"text": "S3 (MiniO)",
"rawText": "S3 (MiniO)",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"baseline": 18,
"containerId": null,
"originalText": "S3 (MiniO)",
"lineHeight": 1.25
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "#e9ecef",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 0.5,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 641.1002118000083,
"scrollY": 161.50753245577403,
"zoom": {
"value": 2
},
"currentItemRoundness": "sharp",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
```
%%

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,401 +0,0 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
IoT Service ^EoQSgbi1
IoT Sensor ^HZlDcT2x
Data platform Ingest ^72o9GXma
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19",
"elements": [
{
"type": "rectangle",
"version": 701,
"versionNonce": 167105808,
"isDeleted": false,
"id": "2wHeg2N53IYzpgCwRZ_sV",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -109.90675912352219,
"y": -145.46057384034123,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 149,
"height": 151,
"seed": 746651120,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "EoQSgbi1"
},
{
"id": "jYcTtzBU6Ba3uXE02Cful",
"type": "arrow"
},
{
"id": "vzeGuvlzbu9D-RUnuM_MZ",
"type": "arrow"
}
],
"updated": 1694341385095,
"link": null,
"locked": false
},
{
"type": "text",
"version": 520,
"versionNonce": 77116176,
"isDeleted": false,
"id": "EoQSgbi1",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -93.19669900389329,
"y": -82.46057384034123,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 115.57987976074219,
"height": 25,
"seed": 25935856,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341385095,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "IoT Service",
"rawText": "IoT Service",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "2wHeg2N53IYzpgCwRZ_sV",
"originalText": "IoT Service",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "diamond",
"version": 552,
"versionNonce": 1837905680,
"isDeleted": false,
"id": "HKT3KgeY8V3T-f2SJo_3r",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -488.4076748989678,
"y": -159.80102940728523,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 220,
"height": 200,
"seed": 737034736,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"type": "text",
"id": "HZlDcT2x"
},
{
"id": "jYcTtzBU6Ba3uXE02Cful",
"type": "arrow"
}
],
"updated": 1694341514931,
"link": null,
"locked": false
},
{
"type": "text",
"version": 546,
"versionNonce": 722654480,
"isDeleted": false,
"id": "HZlDcT2x",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -409.8976422451592,
"y": -84.80102940728523,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 62.97993469238281,
"height": 50,
"seed": 716211184,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341514931,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "IoT \nSensor",
"rawText": "IoT Sensor",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "HKT3KgeY8V3T-f2SJo_3r",
"originalText": "IoT Sensor",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 642,
"versionNonce": 1628229904,
"isDeleted": false,
"id": "jYcTtzBU6Ba3uXE02Cful",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -260.6056224823998,
"y": -63.47351673236517,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 133.76296346137323,
"height": 0.9440251662323789,
"seed": 1541047792,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341514931,
"link": null,
"locked": false,
"startBinding": {
"elementId": "HKT3KgeY8V3T-f2SJo_3r",
"gap": 8.623177202385875,
"focus": -0.028358267431578415
},
"endBinding": {
"elementId": "2wHeg2N53IYzpgCwRZ_sV",
"gap": 16.935899897504328,
"focus": -0.06442193471262163
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
133.76296346137323,
-0.9440251662323789
]
]
},
{
"type": "rectangle",
"version": 331,
"versionNonce": 369345808,
"isDeleted": false,
"id": "EpQKc79arb5LHLs5lDD9x",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 148.9076748989678,
"y": -128.05834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 204,
"height": 179,
"seed": 477382640,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "72o9GXma"
},
{
"id": "vzeGuvlzbu9D-RUnuM_MZ",
"type": "arrow"
}
],
"updated": 1694341385095,
"link": null,
"locked": false
},
{
"type": "text",
"version": 294,
"versionNonce": 963158800,
"isDeleted": false,
"id": "72o9GXma",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 173.20776950345999,
"y": -63.55834559271477,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 155.39981079101562,
"height": 50,
"seed": 1753598448,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1694341385095,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Data platform \nIngest",
"rawText": "Data platform Ingest",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "EpQKc79arb5LHLs5lDD9x",
"originalText": "Data platform Ingest",
"lineHeight": 1.25,
"baseline": 43
},
{
"type": "arrow",
"version": 315,
"versionNonce": 420523792,
"isDeleted": false,
"id": "vzeGuvlzbu9D-RUnuM_MZ",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 49.56397613476656,
"y": -68.71372587133547,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 78.50557061906932,
"height": 2.059257777181273,
"seed": 2065107952,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1694341501797,
"link": null,
"locked": false,
"startBinding": {
"elementId": "2wHeg2N53IYzpgCwRZ_sV",
"gap": 10.470735258288755,
"focus": -0.012678407176878778
},
"endBinding": {
"elementId": "EpQKc79arb5LHLs5lDD9x",
"gap": 20.83812814513192,
"focus": 0.2698545781974716
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
78.50557061906932,
2.059257777181273
]
]
}
],
"appState": {
"theme": "dark",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 1,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 826.25,
"scrollY": 377.71484375,
"zoom": {
"value": 2
},
"currentItemRoundness": "round",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
```
%%

View File

@@ -12,7 +12,8 @@
{{ post_macros::styles() }} {{ post_macros::styles() }}
<script defer data-domain="blog.kasperhermansen.com" src="https://plausible.front.kjuulh.io/js/script.js"></script> <script defer data-domain="blog.kasperhermansen.com" src="https://plausible.front.kjuulh.io/js/script.file-downloads.hash.outbound-links.pageview-props.tagged-events.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<meta name="description" content="Kasper Hermansen's blog is a hub of insights on platform engineering. "> <meta name="description" content="Kasper Hermansen's blog is a hub of insights on platform engineering. ">
<meta name="keywords" content="Kasper Hermansen, kjuulh, blog, technology, platform engineering, cloud native"> <meta name="keywords" content="Kasper Hermansen, kjuulh, blog, technology, platform engineering, cloud native">

View File

@@ -36,5 +36,5 @@
{% endmacro list_posts %} {% endmacro list_posts %}
{% macro styles() %} {% macro styles() %}
<link rel="stylesheet" href="{{ get_url(path="styles/styles.css") | safe }}" /> <link rel="stylesheet" href="{{ get_url(path="/styles/styles.css") | safe }}" />
{% endmacro styles %} {% endmacro styles %}