Skip to content

Commit d56fe06

Browse files
authored
feat: ops improvements (#243)
* feat: ops improvements * fix: tighten import validation * fix: tighten pull tag validation
1 parent cabecac commit d56fe06

File tree

5 files changed

+353
-16
lines changed

5 files changed

+353
-16
lines changed

package.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"name": "@centrifuge/api-v3",
33
"version": "2.1.0",
4-
"private": true,
4+
"repository": "https://github.com/centrifuge/api-v3",
5+
"private": false,
56
"type": "module",
67
"scripts": {
78
"predev": "pnpm update-registry && docker compose up -d",
@@ -23,9 +24,10 @@
2324
"prepare": "husky",
2425
"update-registry": "node scripts/fetch-registry.mjs",
2526
"evgrep": "scripts/evgrep.sh",
27+
"sync": "node scripts/cache.mjs",
2628
"compare-schema": "graphql-inspector diff https://api.centrifuge.io generated/schema.graphql --rule safeUnreachable --rule ignoreDescriptionChanges | grep 'Field.*removed'",
27-
"sync:export": "docker compose exec -T db sh -lc 'pg_dump --dbname=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB --schema=ponder_sync --no-owner --no-privileges --clean --if-exists' | gzip > $(date +%Y%m%d)_ponder_sync.sql.gz",
28-
"sync:restore": "LATEST=$(ls -t *_ponder_sync.sql.gz 2>/dev/null | head -n 1) && [ -n \"$LATEST\" ] && gzip -dc \"$LATEST\" | docker compose exec -T db sh -lc 'psql --dbname=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB'"
29+
"sync:export": "mkdir -p .ponder && docker compose exec -T db sh -lc 'pg_dump --dbname=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB --schema=ponder_sync --no-owner --no-privileges --clean --if-exists' | gzip > .ponder/$(date +%Y%m%d)_ponder_sync.sql.gz",
30+
"sync:push": "LATEST=$(ls -t .ponder/*_ponder_sync.sql.gz 2>/dev/null | head -n 1); TAG=$(basename \"$LATEST\" | sed 's/_ponder_sync.sql.gz$//'); cp \"$LATEST\" ponder_sync.sql.gz; REPO=$(node -p \"(() => { const repo=require('./package.json').repository; const url=typeof repo==='string'?repo:repo?.url; return new URL(url).pathname.replace(/^\\\\//,'').replace(/\\\\.git$/,''); })()\"); USER=$(gh api user -q .login); gh auth token | oras login ghcr.io -u \"$USER\" --password-stdin; oras push ghcr.io/$REPO/ponder-sync:$TAG ponder_sync.sql.gz:application/gzip; oras tag ghcr.io/$REPO/ponder-sync:$TAG latest; rm -f ponder_sync.sql.gz"
2931
},
3032
"dependencies": {
3133
"@ponder/utils": "^0.2.17",
@@ -34,6 +36,8 @@
3436
"drizzle-orm": "~0.41.0",
3537
"hono": "^4.9.12",
3638
"node-fetch": "^3.3.2",
39+
"pg": "^8.11.3",
40+
"pg-copy-streams": "^6.0.6",
3741
"picocolors": "^1.1.1",
3842
"pino": "^8.21.0",
3943
"pino-pretty": "^13.1.3",
@@ -43,9 +47,12 @@
4347
"devDependencies": {
4448
"@commitlint/cli": "^19.8.1",
4549
"@commitlint/config-conventional": "^19.8.1",
50+
"@dfatwork-pkgs/oras-client": "^0.1.0",
4651
"@graphql-inspector/cli": "^6.0.5",
4752
"@types/bn.js": "^5.2.0",
4853
"@types/node": "^22.19.2",
54+
"@types/pg": "^8.11.3",
55+
"@types/pg-copy-streams": "^1.2.5",
4956
"@typescript-eslint/eslint-plugin": "^6.21.0",
5057
"@typescript-eslint/parser": "^6.21.0",
5158
"@typescript/native-preview": "7.0.0-dev.20251124.1",

pnpm-lock.yaml

Lines changed: 160 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)