this repo has no description
1# Derived secrets — generated from source secrets before kustomize build
2JUICEFS_METAURL := k8s/juicefs/metaurl.secret
3TRANQUIL_DB_URL := k8s/pds/tranquil-database-url.secret
4TRANQUIL_VALKEY_URL := k8s/pds/tranquil-valkey-url.secret
5OPAKE_STAGING_DB_URL := k8s/opake-staging/database-url.secret
6
7.PHONY: secrets clean-secrets build
8
9secrets: $(JUICEFS_METAURL) $(TRANQUIL_DB_URL) $(TRANQUIL_VALKEY_URL) $(OPAKE_STAGING_DB_URL)
10
11$(JUICEFS_METAURL): k8s/juicefs/redis-password.secret
12 @pw=$$(cat $< | tr -d '\n') && \
13 printf 'redis://:%s@redis.juicefs.svc.cluster.local:6379/0' "$$pw" > $@
14
15$(TRANQUIL_DB_URL): k8s/postgres/postgres-password.secret
16 @pw=$$(cat $< | tr -d '\n' | python3 -c 'import sys,urllib.parse; print(urllib.parse.quote(sys.stdin.read(),safe=""),end="")') && \
17 printf 'postgres://tranquil:%s@postgres.postgres.svc.cluster.local:5432/pds' "$$pw" > $@
18
19build: secrets
20 kustomize build k8s/
21
22$(TRANQUIL_VALKEY_URL): k8s/juicefs/redis-password.secret
23 @pw=$$(cat $< | tr -d '\n') && \
24 printf 'redis://:%s@redis.juicefs.svc.cluster.local:6379/1' "$$pw" > $@
25
26$(OPAKE_STAGING_DB_URL): k8s/postgres/opake-staging-password.secret
27 @pw=$$(cat $< | tr -d '\n' | python3 -c 'import sys,urllib.parse; print(urllib.parse.quote(sys.stdin.read(),safe=""),end="")') && \
28 printf 'ecto://opake_staging:%s@postgres.postgres.svc.cluster.local:5432/opake_staging' "$$pw" > $@
29
30clean-secrets:
31 rm -f $(JUICEFS_METAURL) $(TRANQUIL_DB_URL) $(TRANQUIL_VALKEY_URL) $(OPAKE_STAGING_DB_URL)
32
33# Tranquil PDS
34TRANQUIL_REPO ?= /tmp/tranquil-pds
35
36.PHONY: build-tranquil push-tranquil build-tranquil-frontend push-tranquil-frontend
37
38build-tranquil:
39 @test -d "$(TRANQUIL_REPO)" || { echo "error: tranquil-pds repo not found at $(TRANQUIL_REPO)"; exit 1; }
40 docker buildx build --platform linux/arm64 -t zot.sans-self.org/infra/tranquil-pds:latest "$(TRANQUIL_REPO)"
41
42push-tranquil:
43 docker push zot.sans-self.org/infra/tranquil-pds:latest
44
45build-tranquil-frontend:
46 @test -d "$(TRANQUIL_REPO)" || { echo "error: tranquil-pds repo not found at $(TRANQUIL_REPO)"; exit 1; }
47 docker buildx build --platform linux/arm64 -t zot.sans-self.org/infra/tranquil-frontend:latest "$(TRANQUIL_REPO)/frontend"
48
49push-tranquil-frontend:
50 docker push zot.sans-self.org/infra/tranquil-frontend:latest
51
52# Jetstream (self-hosted, ARM64)
53JETSTREAM_REPO ?= /tmp/jetstream
54
55.PHONY: build-jetstream push-jetstream
56
57build-jetstream:
58 @test -d "$(JETSTREAM_REPO)" || { echo "error: jetstream repo not found at $(JETSTREAM_REPO)"; exit 1; }
59 docker buildx build --platform linux/arm64 -t zot.sans-self.org/infra/jetstream:latest -f dockerfiles/jetstream.Dockerfile "$(JETSTREAM_REPO)"
60
61push-jetstream:
62 docker push zot.sans-self.org/infra/jetstream:latest
63
64# CI validate image
65.PHONY: build-ci-validate push-ci-validate
66
67build-ci-validate:
68 docker buildx build --platform linux/arm64 -t zot.sans-self.org/infra/ci-validate:latest -f dockerfiles/ci-validate.Dockerfile .
69
70push-ci-validate:
71 docker push zot.sans-self.org/infra/ci-validate:latest
72
73# CI opake image (buildah + bash for Loom)
74.PHONY: build-ci-opake push-ci-opake
75
76build-ci-opake:
77 docker buildx build --platform linux/arm64 -t zot.sans-self.org/infra/ci-opake:latest -f dockerfiles/ci-opake.Dockerfile .
78
79push-ci-opake:
80 docker push zot.sans-self.org/infra/ci-opake:latest
81
82# JuiceFS mount image (v1.3.1 + btrfs inode cache fix from juicedata/juicefs#6675)
83.PHONY: build-juicefs-mount push-juicefs-mount
84
85build-juicefs-mount:
86 docker buildx build --platform linux/arm64 -t sansself/juicefs:v1.3.1-btrfs-fix -f dockerfiles/juicefs-mount.Dockerfile .
87
88push-juicefs-mount:
89 docker push sansself/juicefs:v1.3.1-btrfs-fix
90
91# Rust + wasm-pack base image (used in Containerfile.web wasm-builder stage)
92.PHONY: build-rust-wasm push-rust-wasm
93
94build-rust-wasm:
95 docker buildx build --platform linux/arm64 -t zot.sans-self.org/infra/rust-wasm:latest -f dockerfiles/rust-wasm.Dockerfile .
96
97push-rust-wasm:
98 docker push zot.sans-self.org/infra/rust-wasm:latest
99