Skip to content

Commit ca241a8

Browse files
Merge pull request #24 from techops-services/KEEP-1156-fetch-contract-abi
Keep 1156 fetch contract abi
2 parents 6eff4ac + 1429acc commit ca241a8

35 files changed

+2436
-114
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,7 @@ tmp/
5252
lib/types/integration.ts
5353
lib/codegen-registry.ts
5454
lib/step-registry.ts
55-
lib/output-display-configs.ts
55+
lib/output-display-configs.ts
56+
57+
# local kubernetes generated values (from templates)
58+
deploy/local/values-keeperhub.yaml

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ COPY --from=builder /app/lib ./lib
4242
COPY --from=builder /app/package.json ./package.json
4343

4444
# This stage can be used to run migrations
45-
# Run with: docker build --target migrator -t myapp-migrator .
46-
# Then: docker run --env DATABASE_URL=xxx myapp-migrator pnpm db:push
45+
# Run with: docker build --target migrator -t keeperhub-migrator .
46+
# Then: docker run --env DATABASE_URL=xxx keeperhub-migrator pnpm db:push
4747

4848
# Stage 3: Runner
4949
FROM node:25-alpine AS runner

Makefile

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
.DEFAULT_GOAL := help
2+
.PHONY: help install dev build type-check lint fix deploy-to-local-kubernetes setup-local-kubernetes status logs restart teardown db-create db-migrate db-studio
3+
4+
# Development
5+
install:
6+
pnpm install
7+
8+
dev:
9+
pnpm dev
10+
11+
build:
12+
pnpm build
13+
14+
type-check:
15+
pnpm type-check
16+
17+
lint:
18+
pnpm lint
19+
20+
fix:
21+
pnpm fix
22+
23+
# Local Kubernetes Deployment
24+
setup-local-kubernetes:
25+
chmod +x ./deploy/local/setup-local.sh
26+
./deploy/local/setup-local.sh
27+
28+
deploy-to-local-kubernetes:
29+
chmod +x ./deploy/local/deploy.sh
30+
./deploy/local/deploy.sh
31+
32+
deploy-to-local-kubernetes-skip-build:
33+
chmod +x ./deploy/local/deploy.sh
34+
./deploy/local/deploy.sh --skip-build
35+
36+
status:
37+
@echo "=== Pods ==="
38+
@kubectl get pods -n local -l app.kubernetes.io/instance=keeperhub
39+
@echo ""
40+
@echo "=== Services ==="
41+
@kubectl get svc -n local -l app.kubernetes.io/instance=keeperhub
42+
@echo ""
43+
@echo "=== Ingress ==="
44+
@kubectl get ingress -n local | grep keeperhub || true
45+
46+
logs:
47+
kubectl logs -n local -l app.kubernetes.io/instance=keeperhub -f
48+
49+
restart:
50+
kubectl rollout restart deployment/keeperhub-common -n local
51+
52+
teardown:
53+
helm uninstall keeperhub -n local || true
54+
kubectl delete ingress keeperhub-ingress -n local || true
55+
56+
# Database Operations
57+
db-create:
58+
@echo "Creating keeperhub database..."
59+
kubectl exec -n local postgresql-0 -- bash -c 'PGPASSWORD=local psql -U postgres -c "CREATE DATABASE keeperhub;"' 2>/dev/null || echo "Database keeperhub already exists"
60+
kubectl exec -n local postgresql-0 -- bash -c 'PGPASSWORD=local psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE keeperhub TO local;"'
61+
62+
db-migrate:
63+
@echo "Running database migrations..."
64+
@echo "Note: For local dev, migrations should run on app startup"
65+
@echo "For manual migration, exec into the pod: kubectl exec -it -n local <pod-name> -- pnpm db:push"
66+
67+
db-studio:
68+
@echo "Starting Drizzle Studio..."
69+
pnpm db:studio
70+
71+
# Help
72+
help:
73+
@echo "KeeperHub Development Commands"
74+
@echo ""
75+
@echo "Usage: make <target>"
76+
@echo ""
77+
@echo "Targets:"
78+
@echo ""
79+
@echo " Development:"
80+
@echo " install - Install dependencies"
81+
@echo " dev - Start development server"
82+
@echo " build - Build for production"
83+
@echo " type-check - Run TypeScript type checking"
84+
@echo " lint - Run linter"
85+
@echo " fix - Fix linting issues"
86+
@echo ""
87+
@echo " Local Kubernetes:"
88+
@echo " setup-local-kubernetes - Setup minikube with all infrastructure"
89+
@echo " deploy-to-local-kubernetes - Build and deploy to minikube"
90+
@echo " deploy-to-local-kubernetes-skip-build - Deploy without rebuilding"
91+
@echo " status - Show pods and services status"
92+
@echo " logs - Follow keeperhub pod logs"
93+
@echo " restart - Restart keeperhub deployment"
94+
@echo " teardown - Delete keeperhub resources from cluster"
95+
@echo ""
96+
@echo " Database:"
97+
@echo " db-create - Create keeperhub database in PostgreSQL"
98+
@echo " db-migrate - Info about running database migrations"
99+
@echo " db-studio - Open Drizzle Studio"

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,12 @@ Visit [http://localhost:3000](http://localhost:3000) to get started.
7979
### Action Nodes
8080

8181
<!-- PLUGINS:START - Do not remove. Auto-generated by discover-plugins -->
82+
- **Discord**: Send Discord Message
8283
- **Resend**: Send Email
84+
- **SendGrid**: Send Email
8385
- **Slack**: Send Slack Message
8486
- **v0**: Create Chat, Send Message
85-
- **Web3**: Transfer Funds, Read Contract, Write Contract
87+
- **Web3**: Check Balance, Transfer Funds, Read Contract, Write Contract
8688
<!-- PLUGINS:END -->
8789

8890
## Code Generation

app/api/integrations/[integrationId]/test/route.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ export async function POST(
4747
}
4848

4949
if (integration.type === "database") {
50-
const result = await testDatabaseConnection(integration.config.url);
50+
const url =
51+
typeof integration.config.url === "string"
52+
? integration.config.url
53+
: undefined;
54+
const result = await testDatabaseConnection(url);
5155
return NextResponse.json(result);
5256
}
5357

0 commit comments

Comments
 (0)