Skip to content
Draft
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
122 changes: 118 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions ci/builder/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,12 @@ RUN curl -fsSL https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.1/linux/$AR
&& mv inspector-sbomgen-1.8.1/linux/$ARCH_GO/inspector-sbomgen /usr/local/bin \
&& chmod +x /usr/local/bin/inspector-sbomgen

RUN arch_fdb=$(echo "$ARCH_GCC" | sed -e "s/x86_64/amd64/") \
&& curl -fsSL https://github.com/apple/foundationdb/releases/download/7.3.71/foundationdb-clients_7.3.71-1_$arch_fdb.deb > foundationdb-clients.deb \
&& if [ $ARCH_GCC = X64_64 ]; then echo '695193b8c6f8af9ec083221611b5f2925ef7a5e3c5e3c1d0af65d0dfbe99d13d foundationdb-clients.deb' | sha256sum --check; fi \
&& if [ $ARCH_GCC = aarch64 ]; then echo 'db1bbb72d57685a1c212c6456e6f0dfd1266c5c10c4adbc98d23a5d91bdbaff7 foundationdb-clients.deb' | sha256sum --check; fi \
&& dpkg -i foundationdb-clients.deb

# Hardcode some known SSH hosts, or else SSH will ask whether the host is
# trustworthy on the first connection.

Expand Down
1 change: 1 addition & 0 deletions ci/test/lint-main/checks/check-copyright.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ copyright_files=$(grep -vE \
-e '^ci/test/lint-deps/' \
-e '^misc/bazel/c_deps/patches/snappy-config.patch' \
-e '^misc/completions/.*' \
-e '^misc/foundationdb/.*' \
-e '^misc/mcp-materialize/uv.lock' \
-e '^misc/mcp-materialize-agents/uv.lock' \
-e '^misc/mcp-materialize-agents/mcp_materialize_agents/system_prompt.md' \
Expand Down
13 changes: 13 additions & 0 deletions ci/test/pipeline.template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,19 @@ steps:
agents:
queue: hetzner-aarch64-8cpu-16gb

- id: testdrive-fdb
label: "Testdrive (FoundationDB)"
depends_on: build-aarch64
timeout_in_minutes: 40
inputs: [test/testdrive]
parallelism: 20
plugins:
- ./ci/plugins/mzcompose:
composition: testdrive
args: [--foundationdb]
agents:
queue: hetzner-aarch64-8cpu-16gb

- id: cluster-tests
label: "Cluster tests"
depends_on: build-aarch64
Expand Down
3 changes: 3 additions & 0 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,9 @@ skip = [
# Used by tower-lsp
{ name = "dashmap", version = "5.5.3" },
# Used by bindgen
{ name = "bindgen", version = "0.70.1" },
{ name = "itertools", version = "0.13.0" },
{ name = "rustc-hash", version = "1.1.0" },
# Used by pprof
{ name = "nix", version = "0.26.4" },
# Used by dynfmt
Expand Down Expand Up @@ -205,6 +207,7 @@ name = "log"
wrappers = [
"azure_svc_blobstorage",
"apache-avro",
"bindgen",
"buildid",
"cookie_store",
"deadpool-postgres",
Expand Down
2 changes: 2 additions & 0 deletions misc/foundationdb/fdb.cluster
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# FoundationDB in Docker
docker:docker@foundationdb:4500
47 changes: 47 additions & 0 deletions misc/foundationdb/foundationdb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## foundationdb.conf
##
## Configuration file for FoundationDB server processes
## Full documentation is available at
## https://apple.github.io/foundationdb/configuration.html#the-configuration-file

[fdbmonitor]
user = foundationdb
group = foundationdb

[general]
restart-delay = 60
## by default, restart-backoff = restart-delay-reset-interval = restart-delay
# initial-restart-delay = 0
# restart-backoff = 60
# restart-delay-reset-interval = 60
cluster-file = /etc/foundationdb/fdb.cluster
# delete-envvars =
# kill-on-configuration-change = true

## Default parameters for individual fdbserver processes
[fdbserver]
command = /usr/sbin/fdbserver
public-address = auto:$ID
listen-address = public
datadir = /var/lib/foundationdb/data/$ID
logdir = /var/log/foundationdb
# logsize = 10MiB
# maxlogssize = 100MiB
# machine-id =
# datacenter-id =
# class =
# memory = 8GiB
# storage-memory = 1GiB
# cache-memory = 2GiB
# metrics-cluster =
# metrics-prefix =

## An individual fdbserver process with id 4500
## Parameters set here override defaults from the [fdbserver] section
[fdbserver.4500]

[backup_agent]
command = /usr/lib/foundationdb/backup_agent/backup_agent
logdir = /var/log/foundationdb

[backup_agent.1]
3 changes: 3 additions & 0 deletions misc/images/ubuntu-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@ RUN sed -i -e 's#http://archive\.ubuntu\.com#http://us-east-1.ec2.archive.ubuntu
-e 's#http://ports\.ubuntu\.com#http://us-east-1.ec2.ports.ubuntu.com#' /etc/apt/sources.list.d/ubuntu.sources

RUN apt-get update --fix-missing && TZ=UTC DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends eatmydata

COPY --from=foundationdb/foundationdb:7.3.71 /usr/lib/libfdb_c.so /usr/lib/
COPY --from=foundationdb/foundationdb:7.3.71 /usr/bin/fdbcli /usr/bin/
11 changes: 10 additions & 1 deletion misc/python/materialize/cli/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,11 @@ def main() -> int:
help="Postgres/CockroachDB connection string",
default=os.getenv("MZDEV_POSTGRES", DEFAULT_POSTGRES),
)
parser.add_argument(
"--consensus",
help="Postgres/CockroachDB consensus connection string",
default=os.getenv("MZDEV_POSTGRES", DEFAULT_POSTGRES),
)
parser.add_argument(
"--blob",
help="Blob storage connection string",
Expand Down Expand Up @@ -303,6 +308,10 @@ def main() -> int:

print(f"persist-blob-url: {args.blob}")
print(f"listeners config path: {args.listeners_config_path}")
if args.consensus is not None:
consensus = args.consensus
else:
consensus = args.postgres
command += [
f"--listeners-config-path={args.listeners_config_path}",
"--orchestrator=process",
Expand All @@ -311,7 +320,7 @@ def main() -> int:
f"--orchestrator-process-prometheus-service-discovery-directory={MZDATA}/prometheus",
f"--orchestrator-process-scratch-directory={scratch}",
"--secrets-controller=local-file",
f"--persist-consensus-url={args.postgres}?options=--search_path=consensus",
f"--persist-consensus-url={consensus}?options=--search_path=consensus",
f"--persist-blob-url={args.blob}",
f"--timestamp-oracle-url={args.postgres}?options=--search_path=tsoracle",
f"--environment-id={environment_id}",
Expand Down
Loading