Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add jekyll-diagrams plugin and svgbob #17988

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/current/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ group :jekyll_plugins do
gem "jekyll-last-modified-at"
gem "jekyll-get-json"
gem 'jekyll-sass-converter', '~> 3.0'
gem 'jekyll-diagrams'
end
4 changes: 4 additions & 0 deletions src/current/_config_base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,12 @@ plugins:
- jekyll-last-modified-at
- jekyll-minifier
- jekyll-get-json
- jekyll-diagrams
sass:
quiet_deps: 'true'
sass_dir: css
style: compressed
site_title: CockroachDB Docs
jekyll-diagrams:
font-family: 'Source Sans Pro'
font-size: '14'
6 changes: 6 additions & 0 deletions src/current/netlify/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ function build {
fi;
}

# Handle Rust dependencies
rustup default stable
if [ ! -f /opt/buildhome/.cargo/bin/svgbob_cli ]; then
cargo install svgbob_cli
ln -s /opt/buildhome/.cargo/bin/svgbob_cli /opt/buildhome/.cargo/bin/svgbob
fi;
gem install bundler --silent
bundle install --quiet
build _config_cockroachdb.yml,_config_url.yml
Expand Down
49 changes: 49 additions & 0 deletions src/current/v23.2/live-migration-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,55 @@ MOLT LMS (Live Migration Service) is used to perform a [live migration]({% link

The LMS is a self-hosted, horizontally scalable proxy that routes traffic between an application, a source database, and a target CockroachDB database. You use the LMS to control which database, as the "source of truth", is serving reads and writes to an application. You can optionally configure the LMS to [shadow production traffic](#shadowing-modes) from the source database and validate the query results on CockroachDB. When you have sufficiently tested your application and are confident with its consistency and performance on CockroachDB, you use the LMS to [perform the cutover](#perform-a-cutover) to CockroachDB.

{% svgbob %}

Using MOLT LMS

.--------------.
| |
| CockroachDB |
| {t} |
'--------------'
^
|

____
+--------------+ .' `.
| | / \
| Application | <--> ( LMS )
|{a} | \ {lms} /
+--------------+ `.____.'

|
V
.--------------.
| |
| Source DB. |
| {s} |
'--------------'

# Legend:
t = {
stroke: #6933ff;
fill: #b59cf9;
}
s = {
stroke: green;
fill: lightgreen;
}
a = {
fill: lightblue;
}
lms = {
fill: #afc8fb;
stroke: #05f;
}
crdb = {
fill: #6933ff;
color: white;
}
{% endsvgbob %}

MOLT LMS is self-hosted on [Kubernetes](https://kubernetes.io/) and [configured using Helm](#configuration). At a high level, the LMS consists of the following:

- A number of proxy [instances](#lms-instances) (running in separate Kubernetes pods) across which application traffic is distributed and routed to the source and target databases.
Expand Down