Skip to content

Commit

Permalink
chore: add local backend for faster development (#3059)
Browse files Browse the repository at this point in the history
* chore: use flake

* chore: adds local backend

* chore: dev excluded from typos
  • Loading branch information
sandipndev authored Feb 9, 2024
1 parent 8da2196 commit 9e15ac5
Show file tree
Hide file tree
Showing 169 changed files with 9,588 additions and 2 deletions.
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,9 @@ android/app/src/main/assets
.metro-health-check*

# testing
/coverage
/coverage

.env.local
*.tmp.ci
artifacts
.direnv
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,9 @@ reset-ios:

start:
yarn start

tilt-up:
cd dev && GALOY_QUICKSTART_PATH="dev/vendor/galoy-quickstart" tilt up

tilt-down:
cd dev && GALOY_QUICKSTART_PATH="dev/vendor/galoy-quickstart" tilt down
33 changes: 33 additions & 0 deletions dev/Tiltfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
local_resource(
name='init-onchain',
labels = ['dev-setup'],
cmd='vendor/galoy-quickstart/bin/init-onchain.sh',
resource_deps = [
"bitcoind",
"bria",
]
)
local_resource(
name='init-lightning',
labels = ['dev-setup'],
cmd='vendor/galoy-quickstart/bin/init-lightning.sh',
resource_deps = [
"lnd1",
"lnd-outside-1",
]
)

docker_compose('vendor/galoy-quickstart/docker-compose.yml')
galoy_services = ["apollo-router", "galoy", "trigger", "redis", "mongodb", "mongodb-migrate", "price", "price-history", "price-history-migrate", "price-history-pg", "svix", "svix-pg", "stablesats"]
auth_services = ["oathkeeper", "kratos", "kratos-pg", "hydra", "hydra-pg", "hydra-migrate"]
bitcoin_services = ["bitcoind", "bitcoind-signer", "lnd1", "lnd-outside-1", "bria", "bria-pg", "fulcrum"]

for service in galoy_services:
dc_resource(service, labels = ["galoy"])
for service in auth_services:
dc_resource(service, labels = ["auth"])
for service in bitcoin_services:
dc_resource(service, labels = ["bitcoin"])

dc_resource('otel-agent', labels = ["otel"])
dc_resource('quickstart-test', labels = ['quickstart'], auto_init=False)
11 changes: 11 additions & 0 deletions dev/vendir.lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: vendir.k14s.io/v1alpha1
directories:
- contents:
- git:
commitTitle: 'feat: adding suggest and approve endpoint for the map (#3937)'
sha: d2f6f35ab4fb67397094684d4b7fc0cf79d47111
tags:
- 0.20.42
path: galoy-quickstart
path: vendor
kind: LockConfig
19 changes: 19 additions & 0 deletions dev/vendir.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: vendir.k14s.io/v1alpha1
kind: Config

directories:
- path: vendor
contents:
- path: galoy-quickstart
git:
url: https://github.com/GaloyMoney/galoy.git
ref: '0.20.42'
includePaths:
- quickstart/bin/*
- quickstart/dev/**/*
- quickstart/graphql/**/*
- quickstart/galoy/test/**/*
- quickstart/docker-compose.yml
- quickstart/.env.galoy
- quickstart/.gitignore
newRootPath: quickstart
67 changes: 67 additions & 0 deletions dev/vendor/galoy-quickstart/.env.galoy
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# .env.ci is interpolated into tmp.env.ci during CI testing after integration-deps have been spun up.
# tmp.env.ci is then passed into integration and bats test containers by setting the environment variable "TMP_ENV_CI=tmp.env.ci".
JEST_TIMEOUT=90000
NETWORK=regtest
LND1_TLS=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNZVENDQWdlZ0F3SUJBZ0lSQU9zZzdYWFR4cnVZYlhkeTY2d3RuN1F3Q2dZSUtvWkl6ajBFQXdJd09ERWYKTUIwR0ExVUVDaE1XYkc1a0lHRjFkRzluWlc1bGNtRjBaV1FnWTJWeWRERVZNQk1HQTFVRUF4TU1PRFl4T1RneApNak5tT0Roak1CNFhEVEl6TURFeE9USXdOREUxTTFvWERUTTBNRGN5TVRJd05ERTFNMW93T0RFZk1CMEdBMVVFCkNoTVdiRzVrSUdGMWRHOW5aVzVsY21GMFpXUWdZMlZ5ZERFVk1CTUdBMVVFQXhNTU9EWXhPVGd4TWpObU9EaGoKTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFM1lieUlKWU1Vcm8zZkl0UFFucysxZ2lpTXI5NQpJUXRmclFDQ2JhOWVtcjI4TENmbk1vYy9VQVFwUlg3QVlvVFRneUdiMFBuZGNUODF5ZVgvYTlPa0RLT0I4VENCCjdqQU9CZ05WSFE4QkFmOEVCQU1DQXFRd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdEd1lEVlIwVEFRSC8KQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVL1AxRHpJUkRzTEhHMU10d3NrZE5nZ0lub1Mwd2daWUdBMVVkRVFTQgpqakNCaTRJTU9EWXhPVGd4TWpObU9EaGpnZ2xzYjJOaGJHaHZjM1NDRFd4dVpDMXZkWFJ6YVdSbExUR0NEV3h1ClpDMXZkWFJ6YVdSbExUS0NEV3h1WkMxdmRYUnphV1JsTFRPQ0JHeHVaREdDQkd4dVpES0NCSFZ1YVhpQ0NuVnUKYVhod1lXTnJaWFNDQjJKMVptTnZibTZIQkg4QUFBR0hFQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0hCS3dUQUJBdwpDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSU5DNlJWQ3d6SzFYRnFxeVNLY0Y4QzQ5ZFlSOThjemdLNVdkcmNOCkxYYWlBaUJHYmtWeGhaeHdDaDVLQ1o1Z2M1Q2FsQ0RvaGNxVkdiaHNya0hHTFhpdHN3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
TLSOUTSIDE1=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNZVENDQWdlZ0F3SUJBZ0lSQU9zZzdYWFR4cnVZYlhkeTY2d3RuN1F3Q2dZSUtvWkl6ajBFQXdJd09ERWYKTUIwR0ExVUVDaE1XYkc1a0lHRjFkRzluWlc1bGNtRjBaV1FnWTJWeWRERVZNQk1HQTFVRUF4TU1PRFl4T1RneApNak5tT0Roak1CNFhEVEl6TURFeE9USXdOREUxTTFvWERUTTBNRGN5TVRJd05ERTFNMW93T0RFZk1CMEdBMVVFCkNoTVdiRzVrSUdGMWRHOW5aVzVsY21GMFpXUWdZMlZ5ZERFVk1CTUdBMVVFQXhNTU9EWXhPVGd4TWpObU9EaGoKTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFM1lieUlKWU1Vcm8zZkl0UFFucysxZ2lpTXI5NQpJUXRmclFDQ2JhOWVtcjI4TENmbk1vYy9VQVFwUlg3QVlvVFRneUdiMFBuZGNUODF5ZVgvYTlPa0RLT0I4VENCCjdqQU9CZ05WSFE4QkFmOEVCQU1DQXFRd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdEd1lEVlIwVEFRSC8KQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVL1AxRHpJUkRzTEhHMU10d3NrZE5nZ0lub1Mwd2daWUdBMVVkRVFTQgpqakNCaTRJTU9EWXhPVGd4TWpObU9EaGpnZ2xzYjJOaGJHaHZjM1NDRFd4dVpDMXZkWFJ6YVdSbExUR0NEV3h1ClpDMXZkWFJ6YVdSbExUS0NEV3h1WkMxdmRYUnphV1JsTFRPQ0JHeHVaREdDQkd4dVpES0NCSFZ1YVhpQ0NuVnUKYVhod1lXTnJaWFNDQjJKMVptTnZibTZIQkg4QUFBR0hFQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0hCS3dUQUJBdwpDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSU5DNlJWQ3d6SzFYRnFxeVNLY0Y4QzQ5ZFlSOThjemdLNVdkcmNOCkxYYWlBaUJHYmtWeGhaeHdDaDVLQ1o1Z2M1Q2FsQ0RvaGNxVkdiaHNya0hHTFhpdHN3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
TLSOUTSIDE2=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNZVENDQWdlZ0F3SUJBZ0lSQU9zZzdYWFR4cnVZYlhkeTY2d3RuN1F3Q2dZSUtvWkl6ajBFQXdJd09ERWYKTUIwR0ExVUVDaE1XYkc1a0lHRjFkRzluWlc1bGNtRjBaV1FnWTJWeWRERVZNQk1HQTFVRUF4TU1PRFl4T1RneApNak5tT0Roak1CNFhEVEl6TURFeE9USXdOREUxTTFvWERUTTBNRGN5TVRJd05ERTFNMW93T0RFZk1CMEdBMVVFCkNoTVdiRzVrSUdGMWRHOW5aVzVsY21GMFpXUWdZMlZ5ZERFVk1CTUdBMVVFQXhNTU9EWXhPVGd4TWpObU9EaGoKTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFM1lieUlKWU1Vcm8zZkl0UFFucysxZ2lpTXI5NQpJUXRmclFDQ2JhOWVtcjI4TENmbk1vYy9VQVFwUlg3QVlvVFRneUdiMFBuZGNUODF5ZVgvYTlPa0RLT0I4VENCCjdqQU9CZ05WSFE4QkFmOEVCQU1DQXFRd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdEd1lEVlIwVEFRSC8KQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVL1AxRHpJUkRzTEhHMU10d3NrZE5nZ0lub1Mwd2daWUdBMVVkRVFTQgpqakNCaTRJTU9EWXhPVGd4TWpObU9EaGpnZ2xzYjJOaGJHaHZjM1NDRFd4dVpDMXZkWFJ6YVdSbExUR0NEV3h1ClpDMXZkWFJ6YVdSbExUS0NEV3h1WkMxdmRYUnphV1JsTFRPQ0JHeHVaREdDQkd4dVpES0NCSFZ1YVhpQ0NuVnUKYVhod1lXTnJaWFNDQjJKMVptTnZibTZIQkg4QUFBR0hFQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0hCS3dUQUJBdwpDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSU5DNlJWQ3d6SzFYRnFxeVNLY0Y4QzQ5ZFlSOThjemdLNVdkcmNOCkxYYWlBaUJHYmtWeGhaeHdDaDVLQ1o1Z2M1Q2FsQ0RvaGNxVkdiaHNya0hHTFhpdHN3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
LND1_MACAROON=AgEDbG5kAvgBAwoQB1FdhGa9xoewc1LEXmnURRIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYgqHDdwGCqx0aQL1/Z3uUfzCpeBhfapGf9s/AZPOVwf6s=
MACAROONOUTSIDE1=AgEDbG5kAvgBAwoQeE+5exgz7/0ExCn7H6AJlBIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYgL7pU+cKOt6zGyWTdWWmAJLP1L3cnbOPb4Rd3QtniyyM=
MACAROONOUTSIDE2=AgEDbG5kAvgBAwoQfKO82/iPT2zIwWYPrOXvABIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYg2XkV+4Z4inbfXGZivRoY+r7KHNZhgxkCEdKByxbeb/Q=
LND1_PUBKEY=03ca1907342d5d37744cb7038375e1867c24a87564c293157c95b2a9d38dcfb4c2
BITCOINDPORT=18443
BITCOINDADDR=bitcoind
BITCOIND_SIGNER_PORT=18443
BITCOIND_SIGNER_ADDR=bitcoind-signer
BITCOINDRPCPASS=rpcpassword
LND1_DNS=lnd1
LND1_RPCPORT=10009
LND1_TYPE=offchain,onchain
LND1_NAME=lnd1
LNDOUTSIDE1ADDR=lnd-outside-1
LNDOUTSIDE2ADDR=lnd-outside-2
MONGODB_CON="mongodb://mongodb:27017/galoy"
REDIS_0_DNS=redis
REDIS_0_PORT=6379
REDIS_TYPE=standalone
REDIS_MASTER_NAME=mymaster
REDIS_PASSWORD=
BRIA_HOST=bria
BRIA_PORT=2742
PRICE_HOST=price
PRICE_PORT=50051
PRICE_HISTORY_HOST=price-history
PRICE_HISTORY_PORT=50052
OATHKEEPER_DECISION_ENDPOINT=http://oathkeeper:4456
WEBSOCKET_PORT=4000
GEETEST_ID=geetest_id
GEETEST_KEY=geetest_key
TWILIO_ACCOUNT_SID=AC_twilio_id
TWILIO_AUTH_TOKEN=AC_twilio_auth_token
TWILIO_VERIFY_SERVICE_ID=VA_twilio_service
COMMITHASH=hash
HELMREVISION=1
PRICE_SERVER_HOST=stablesats
LND1_LOOP_MACAROON=AgEEbG9vcAJ3AwoQRGymK6/vfF3wwuVmaTj3RhIBMBoMCgRhdXRoEgRyZWFkGg8KBGxvb3ASAmluEgNvdXQaGgoLc3VnZ2VzdGlvbnMSBHJlYWQSBXdyaXRlGhUKBHN3YXASB2V4ZWN1dGUSBHJlYWQaDQoFdGVybXMSBHJlYWQAAAYgAFS/qTZItZ3ZKksQkfXAKFnsb0JS5Ok3Oi5fAgCaE/k=
LND1_LOOP_TLS=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNKakNDQWMyZ0F3SUJBZ0lSQU1memVXM0J0UWJaaTdxSjZoQk5vMHN3Q2dZSUtvWkl6ajBFQXdJd09URWcKTUI0R0ExVUVDaE1YYkc5dmNDQmhkWFJ2WjJWdVpYSmhkR1ZrSUdObGNuUXhGVEFUQmdOVkJBTVREREpqWkdRMQpOMlptWlRZeFpEQWVGdzB5TWpBNU1EY3lNVE15TWpSYUZ3MHlNekV4TURJeU1UTXlNalJhTURreElEQWVCZ05WCkJBb1RGMnh2YjNBZ1lYVjBiMmRsYm1WeVlYUmxaQ0JqWlhKME1SVXdFd1lEVlFRREV3d3lZMlJrTlRkbVptVTIKTVdRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcU5qcVFMUGNHSURaSmtHenNlL3d2ZWt0TwpRVlhpaFJ6WmVLay9ZMFlTNDFkejB2TjlQdktaM0ZxTmN2eEN5a1cvZ1dKNWhBdEpCZTdDaTZhWitnR0tvNEcxCk1JR3lNQTRHQTFVZER3RUIvd1FFQXdJQ3BEQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRZHJscHQzM2lLdlZUZWQyVnV4Y25uQVJMeTlEQmJCZ05WSFJFRQpWREJTZ2d3eVkyUmtOVGRtWm1VMk1XU0NDV3h2WTJGc2FHOXpkSUlFZFc1cGVJSUtkVzVwZUhCaFkydGxkSUlIClluVm1ZMjl1Ym9jRWZ3QUFBWWNRQUFBQUFBQUFBQUFBQUFBQUFBQUFBWWNFckJzQUR6QUtCZ2dxaGtqT1BRUUQKQWdOSEFEQkVBaUJYaFI2VmRzSFYrREhhWGRrV2VRZ0pzMlRxT0pXajBwUXI1ZHFLcFViNjlBSWdTeGtYYTZFRQpWVk9CZ0VhNXR5Z3NBcGM2bDBSak5nVGF2SkF6T2dWT2tIWT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
KRATOS_MASTER_USER_PASSWORD=passwordHardtoFindWithNumber123
KRATOS_CALLBACK_API_KEY=The-Value-of-My-Key
KRATOS_PUBLIC_API=http://kratos:4433
KRATOS_ADMIN_API=http://kratos:4434
KRATOS_PG_CON="postgres://dbuser:secret@kratos-pg:5432/default?sslmode=disable"

OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-agent:4318
MATTERMOST_WEBHOOK_URL=https://chat.galoy.io/hooks/sometoken
UNSECURE_DEFAULT_LOGIN_CODE=000000
SVIX_SECRET=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2OTE2NzIwMTQsImV4cCI6MjAwNzAzMjAxNCwibmJmIjoxNjkxNjcyMDE0LCJpc3MiOiJzdml4LXNlcnZlciIsInN1YiI6Im9yZ18yM3JiOFlkR3FNVDBxSXpwZ0d3ZFhmSGlyTXUifQ.b9s0aWSisNdUNki4edabBEToLNSwjC9-AiJQr4J3y4E
SVIX_ENDPOINT=http://svix:8071

BRIA_API_KEY=bria_dev_000000000000000000000

UNSECURE_DEFAULT_LOGIN_CODE=000000
UNSECURE_IP_FROM_REQUEST_OBJECT=true

HYDRA_PUBLIC_API="http://hydra:4444"
HYDRA_ADMIN_API="http://hydra:4445"

NOTIFICATIONS_HOST="dummy"
1 change: 1 addition & 0 deletions dev/vendor/galoy-quickstart/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tmp*
11 changes: 11 additions & 0 deletions dev/vendor/galoy-quickstart/bin/bump-galoy-git-ref.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

DIR="$(dirname "$(readlink -f "$BASH_SOURCE")")"

TMPDIR=""
TMPDIR=$(mktemp -d -t repipe.XXXXXX)
trap "rm -rf ${TMPDIR}" INT TERM QUIT EXIT

sed "s/^galoy_git_ref:.*/galoy_git_ref: ${1}/" ${DIR}/../vendir/values.yml > ${TMPDIR}/new_values.yml

mv ${TMPDIR}/new_values.yml ${DIR}/../vendir/values.yml
11 changes: 11 additions & 0 deletions dev/vendor/galoy-quickstart/bin/bump-galoy-image-digest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

DIR="$(dirname "$(readlink -f "$BASH_SOURCE")")"

TMPDIR=""
TMPDIR=$(mktemp -d -t repipe.XXXXXX)
trap "rm -rf ${TMPDIR}" INT TERM QUIT EXIT

sed "s/^#@ galoy_${1}_image_digest = \".*\"/#@ galoy_${1}_image_digest = \"${2}\"/" ${DIR}/../docker-compose.tmpl.yml > ${TMPDIR}/docker-compose.tmpl.yml

mv ${TMPDIR}/docker-compose.tmpl.yml ${DIR}/../docker-compose.tmpl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

DIR="$(dirname "$(readlink -f "$BASH_SOURCE")")"

TMPDIR=""
TMPDIR=$(mktemp -d -t repipe.XXXXXX)
trap "rm -rf ${TMPDIR}" INT TERM QUIT EXIT

sed "s/^#@ mongodb_migrate_image_digest = \".*\"/#@ mongodb_migrate_image_digest = \"${1}\"/" ${DIR}/../docker-compose.tmpl.yml > ${TMPDIR}/docker-compose.tmpl.yml

mv ${TMPDIR}/docker-compose.tmpl.yml ${DIR}/../docker-compose.tmpl.yml
Loading

0 comments on commit 9e15ac5

Please sign in to comment.