new ci on gcloud (#52)

* try publish to k8e

* trigger on push

* add everything except secrets

* test build pypi on push

* add new cranks

* reduce log spam

* fix image replacement

* loglevel CRITICAL

* change on version tag

* switch to main

Co-authored-by: Riordan Panayides <riordan@panayid.es>
This commit is contained in:
Maximilian Schneider 2022-07-06 15:15:03 +02:00 committed by GitHub
parent 3de5d26937
commit 958965c488
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 3319 additions and 14 deletions

View File

@ -12,8 +12,9 @@ jobs:
needs: call-validation-workflow
uses: blockworks-foundation/mango-explorer/.github/workflows/publish-docker.yaml@main
secrets:
DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
PROJECT_ID: ${{ secrets.GKE_PROJECT }}
GKE_CLUSTER: ${{ secrets.GKE_CLUSTER }}
GKE_ZONE: ${{ secrets.GKE_ZONE }}
call-pypi-workflow:
needs: call-validation-workflow
uses: blockworks-foundation/mango-explorer/.github/workflows/publish-pypi.yaml@main

View File

@ -1,25 +1,73 @@
name: Publish to Docker
on:
push:
branches: [main]
workflow_call:
secrets:
DOCKER_HUB_USERNAME:
GKE_PROJECT:
required: true
DOCKER_HUB_ACCESS_TOKEN:
GKE_CLUSTER:
required: true
workflow_dispatch:
GKE_ZONE:
required: true
GKE_SA_KEY:
required: true
env:
PROJECT_ID: ${{ secrets.GKE_PROJECT }}
GKE_CLUSTER: ${{ secrets.GKE_CLUSTER }}
GKE_ZONE: ${{ secrets.GKE_ZONE }}
IMAGE: mango-explorer
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v2
- name: Login to Docker Hub
uses: docker/login-action@v1
# Setup gcloud CLI
- uses: google-github-actions/setup-gcloud@94337306dda8180d967a56932ceb4ddcf01edae7
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
service_account_key: ${{ secrets.GKE_SA_KEY }}
project_id: ${{ secrets.GKE_PROJECT }}
- name: Build the Docker image
run: make docker
# Configure docker to use the gcloud command-line tool as a credential helper
- run: |-
gcloud --quiet auth configure-docker
# Get the GKE credentials so we can deploy to the cluster
- uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e
with:
cluster_name: ${{ env.GKE_CLUSTER }}
location: ${{ env.GKE_ZONE }}
credentials: ${{ secrets.GKE_SA_KEY }}
# Build the Docker image
- name: Build
run: |-
docker build \
--tag "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" \
--build-arg GITHUB_SHA="$GITHUB_SHA" \
--build-arg GITHUB_REF="$GITHUB_REF" \
.
# Push the Docker image to Google Container Registry
- name: Publish
run: |-
docker push "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA"
# Set up kustomize
- name: Set up Kustomize
run: |-
curl --location https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.2.0/kustomize_v4.2.0_linux_amd64.tar.gz | tar xz
chmod u+x ./kustomize
# Deploy the Docker image to the GKE cluster
- name: Deploy
run: |-
./kustomize edit set image opinionatedgeek/mango-explorer-v3:latest=gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA
./kustomize build . | kubectl apply -f -
kubectl get services -o wide
# kubectl rollout status deployment/$DEPLOYMENT_NAME

View File

@ -1,12 +1,12 @@
name: Publish to Pypi
on:
push:
branches: [main]
workflow_call:
secrets:
PYPI_TOKEN:
required: true
python_version:
required: true
workflow_dispatch:
jobs:

1
.gitignore vendored
View File

@ -31,3 +31,4 @@ configuration.json
wallet.json
id.json
private.py
k8s/Secrets

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cluster
namespace: mango
labels:
cluster: devnet
data:
CLUSTER_NAME: devnet
CLUSTER_URL: https://mango.devnet.rpcpool.com/
GROUP_NAME: devnet.2

View File

@ -0,0 +1,9 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: notification-targets
namespace: mango
data:
ERRORS_TELEGRAM: redacted
ERRORS_DISCORD: discord:https://discord.com/api/webhooks/854806231054417940/cGVpSBiypgMQu2_sJGlrkxl95W7Ucsd4uoNuY9Qg1kr1y1YZ6di6aQLEHJ9Kfk5HMY5c

View File

@ -0,0 +1,77 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: crank-btc-perp
labels:
app: crank-market-service
cluster: devnet
marketType: perp
market: "BTC_USDC"
spec:
replicas: 1
selector:
matchLabels:
app: crank-btc-perp
template:
metadata:
labels:
app: crank-btc-perp
spec:
containers:
- name: crank-btc-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- crank-market-service
- "BTC-PERP"
- "5"
- "1"
livenessProbe:
exec:
command:
- file-age-check
- "60"
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-account
- --wait

View File

@ -0,0 +1,103 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: crank-btc-usdc-serum
labels:
app: crank-market-service
cluster: devnet
marketType: serum
market: "BTC_USDC"
spec:
replicas: 1
selector:
matchLabels:
app: crank-btc-usdc-serum
template:
metadata:
labels:
app: crank-btc-usdc-serum
spec:
containers:
- name: crank-btc-usdc-serum
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- crank-market-service
- "serum:BTC/USDC"
- "5"
- "1"
livenessProbe:
exec:
command:
- file-age-check
- "60"
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-account
- --wait
- name: ensure-base-token-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-associated-token-account
- --symbol
- BTC
- name: ensure-quote-token-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-associated-token-account
- --symbol
- USDC

View File

@ -0,0 +1,103 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: crank-eth-usdc-serum
labels:
app: crank-market-service
cluster: devnet
marketType: serum
market: "ETH_USDC"
spec:
replicas: 1
selector:
matchLabels:
app: crank-eth-usdc-serum
template:
metadata:
labels:
app: crank-eth-usdc-serum
spec:
containers:
- name: crank-eth-usdc-serum
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- crank-market-service
- "serum:ETH/USDC"
- "5"
- "1"
livenessProbe:
exec:
command:
- file-age-check
- "60"
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-account
- --wait
- name: ensure-base-token-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-associated-token-account
- --symbol
- ETH
- name: ensure-quote-token-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-associated-token-account
- --symbol
- USDC

View File

@ -0,0 +1,103 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: crank-sol-usdc-serum
labels:
app: crank-market-service
cluster: devnet
marketType: serum
market: "SOL_USDC"
spec:
replicas: 1
selector:
matchLabels:
app: crank-sol-usdc-serum
template:
metadata:
labels:
app: crank-sol-usdc-serum
spec:
containers:
- name: crank-sol-usdc-serum
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- crank-market-service
- "serum:SOL/USDC"
- "5"
- "1"
livenessProbe:
exec:
command:
- file-age-check
- "60"
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_crank_market_service
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-account
- --wait
- name: ensure-base-token-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-associated-token-account
- --symbol
- SOL
- name: ensure-quote-token-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- ensure-associated-token-account
- --symbol
- USDC

57
k8s/Cranks/keeper.yaml Normal file
View File

@ -0,0 +1,57 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: keeper
labels:
app: keeper
cluster: devnet
spec:
replicas: 1
selector:
matchLabels:
app: keeper
template:
metadata:
labels:
app: keeper
spec:
containers:
- name: keeper
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: crank
- configMapRef:
name: cluster
command:
- keeper
- --pulse-interval
- "1"
- --skip-interval
- "5"
- --log-level
- CRITICAL
livenessProbe:
exec:
command:
- file-age-check
- "10"
- /var/tmp/mango_healthcheck_keeper
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
restartPolicy: Always

View File

@ -0,0 +1,136 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-ada-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: ADA_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-ada-perp
template:
metadata:
labels:
app: marketmaker-ada-perp
spec:
containers:
- name: marketmaker-ada-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "ADA-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:ADA-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:ADA-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,136 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-avax-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: AVAX_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-avax-perp
template:
metadata:
labels:
app: marketmaker-avax-perp
spec:
containers:
- name: marketmaker-avax-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "AVAX-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:AVAX-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:AVAX-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,140 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-btc-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: BTC_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-btc-perp
template:
metadata:
labels:
app: marketmaker-btc-perp
spec:
containers:
- name: marketmaker-btc-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "BTC-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:BTC-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --hedging-market
- "BTC/USDC"
- --hedging-target-balance
- "BTC:10"
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:BTC-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,144 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-btc-usdc-serum
labels:
app: marketmaker
cluster: devnet
marketType: serum
market: BTC_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-btc-usdc-serum
template:
metadata:
labels:
app: marketmaker-btc-usdc-serum
spec:
containers:
- name: marketmaker-btc-usdc-serum
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-serum
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --name
- "Serum BTC/USDC Marketmaker ($(NODE_NAME))"
- --market
- serum:BTC/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.001"
- --ratios-position-size
- "0.002"
- --ratios-position-size
- "0.004"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-serum
- configMapRef:
name: cluster
command:
- ensure-account
- --wait
- --log-level
- CRITICAL
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-serum
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --market
- serum:BTC/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,134 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-btc-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: BTC_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-btc-usdc
template:
metadata:
labels:
app: marketmaker-btc-usdc
spec:
containers:
- name: marketmaker-btc-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- "4YrB6JTUpn9ratAyxbX6t4fL4HPf46kDzzBgHdnBmY1Q"
- --name
- "Spot BTC/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:BTC/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.0005"
- --ratios-position-size
- "0.0005"
- --ratios-position-size
- "0.0005"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- "4YrB6JTUpn9ratAyxbX6t4fL4HPf46kDzzBgHdnBmY1Q"
- --market
- spot:BTC/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,140 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-eth-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: ETH_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-eth-perp
template:
metadata:
labels:
app: marketmaker-eth-perp
spec:
containers:
- name: marketmaker-eth-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "ETH-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:ETH-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --hedging-market
- "ETH/USDC"
- --hedging-target-balance
- "ETH:10"
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:ETH-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,144 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-eth-usdc-serum
labels:
app: marketmaker
cluster: devnet
marketType: serum
market: ERH_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-eth-usdc-serum
template:
metadata:
labels:
app: marketmaker-eth-usdc-serum
spec:
containers:
- name: marketmaker-eth-usdc-serum
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-serum
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --name
- "Serum ETH/USDC Marketmaker ($(NODE_NAME))"
- --market
- serum:ETH/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.001"
- --ratios-position-size
- "0.002"
- --ratios-position-size
- "0.004"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-serum
- configMapRef:
name: cluster
command:
- ensure-account
- --wait
- --log-level
- CRITICAL
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-serum
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --market
- serum:ETH/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,134 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-eth-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: ETH_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-eth-usdc
template:
metadata:
labels:
app: marketmaker-eth-usdc
spec:
containers:
- name: marketmaker-eth-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- "4YrB6JTUpn9ratAyxbX6t4fL4HPf46kDzzBgHdnBmY1Q"
- --name
- "Spot ETH/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:ETH/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.01"
- --ratios-position-size
- "0.02"
- --ratios-position-size
- "0.04"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- "4YrB6JTUpn9ratAyxbX6t4fL4HPf46kDzzBgHdnBmY1Q"
- --market
- spot:ETH/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,140 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-ftt-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: FTT_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-ftt-perp
template:
metadata:
labels:
app: marketmaker-ftt-perp
spec:
containers:
- name: marketmaker-ftt-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "FTT-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:FTT-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --hedging-market
- "FTT/USDC"
- --hedging-target-balance
- "FTT:10"
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:FTT-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,132 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-ftt-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: FTT_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-ftt-usdc
template:
metadata:
labels:
app: marketmaker-ftt-usdc
spec:
containers:
- name: marketmaker-ftt-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --name
- "Spot FTT/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:FTT/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.0005"
- --ratios-position-size
- "0.001"
- --ratios-position-size
- "0.0015"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --market
- spot:FTT/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,136 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-matic-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: MATIC_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-matic-perp
template:
metadata:
labels:
app: marketmaker-matic-perp
spec:
containers:
- name: marketmaker-matic-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "MATIC-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:MATIC-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:MATIC-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,140 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-mngo-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: MNGO_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-mngo-perp
template:
metadata:
labels:
app: marketmaker-mngo-perp
spec:
containers:
- name: marketmaker-mngo-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "MNGO-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:MNGO-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --hedging-market
- "MNGO/USDC"
- --hedging-target-balance
- "MNGO:10"
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:MNGO-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,134 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-mngo-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: MNGO_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-mngo-usdc
template:
metadata:
labels:
app: marketmaker-mngo-usdc
spec:
containers:
- name: marketmaker-mngo-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --name
- "Spot MNGO/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:MNGO/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --market
- spot:MNGO/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,134 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-ray-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: RAY_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-ray-usdc
template:
metadata:
labels:
app: marketmaker-ray-usdc
spec:
containers:
- name: marketmaker-ray-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --name
- "Spot RAY/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:RAY/USDC
- --update-mode
- POLL
- --oracle-provider
- stub
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.05"
- --ratios-position-size
- "0.07"
- --ratios-position-size
- "0.09"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --market
- spot:RAY/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,140 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-sol-perp
labels:
app: marketmaker
cluster: devnet
marketType: perp
market: SOL_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-sol-perp
template:
metadata:
labels:
app: marketmaker-sol-perp
spec:
containers:
- name: marketmaker-sol-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --name
- "SOL-PERP Marketmaker ($(NODE_NAME))"
- --market
- perp:SOL-PERP
- --update-mode
- POLL
- --oracle-provider
- ftx
- --hedging-market
- "SOL/USDC"
- --hedging-target-balance
- "SOL:10"
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.01"
- --ratios-position-size
- "0.02"
- --ratios-position-size
- "0.04"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY_SLIDE
- --expire-seconds
- "15"
- --match-limit
- "10"
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- DRUZRfLQtki4ZYvRXhi5yGmyqCf6iMfTzxtBpxo6rbHu
- --market
- perp:SOL-PERP
- --log-level
- CRITICAL

View File

@ -0,0 +1,132 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-sol-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: SOL_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-sol-usdc
template:
metadata:
labels:
app: marketmaker-sol-usdc
spec:
containers:
- name: marketmaker-sol-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- "4YrB6JTUpn9ratAyxbX6t4fL4HPf46kDzzBgHdnBmY1Q"
- --name
- "Spot SOL/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:SOL/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.0005"
- --ratios-position-size
- "0.001"
- --ratios-position-size
- "0.0015"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- "4YrB6JTUpn9ratAyxbX6t4fL4HPf46kDzzBgHdnBmY1Q"
- --market
- spot:SOL/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,132 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-srm-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: SRM_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-srm-usdc
template:
metadata:
labels:
app: marketmaker-srm-usdc
spec:
containers:
- name: marketmaker-srm-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --name
- "Spot SRM/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:SRM/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.0005"
- --ratios-position-size
- "0.001"
- --ratios-position-size
- "0.0015"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --market
- spot:SRM/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,134 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: marketmaker-usdt-usdc
labels:
app: marketmaker
cluster: devnet
marketType: spot
market: USDT_USDC
spec:
replicas: 1
selector:
matchLabels:
app: marketmaker-usdt-usdc
template:
metadata:
labels:
app: marketmaker-usdt-usdc
spec:
containers:
- name: marketmaker-usdt-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 256Mi
requests:
memory: 64Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
command:
- marketmaker
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --name
- "Spot USDT/USDC Marketmaker ($(NODE_NAME))"
- --market
- spot:USDT/USDC
- --update-mode
- POLL
- --oracle-provider
- ftx
- --chain
- ratios
- --ratios-spread
- "0.005"
- --ratios-spread
- "0.010"
- --ratios-spread
- "0.015"
- --ratios-position-size
- "0.0005"
- --ratios-position-size
- "0.001"
- --ratios-position-size
- "0.0015"
- --chain
- minimumcharge
- --minimumcharge-ratio
- "0.001"
- --chain
- biasquoteonposition
- --biasquoteonposition-bias
- "0.00005"
- --chain
- preventpostonlycrossingbook
- --chain
- roundtolotsize
- --redeem-threshold
- "1"
- --existing-order-tolerance
- "0.0001"
- --minimumcharge-ratio
- "0.0001"
- --pulse-interval
- "10"
- --order-type
- POST_ONLY
- --blockhash-cache-duration
- "30"
- --log-level
- CRITICAL
- --log-suppress-timestamp
# - --notify-errors
# - $(ERRORS_TELEGRAM)
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_marketmaker_pulse
initialDelaySeconds: 30
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-openorders
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: marketmaker-delegate
- configMapRef:
name: cluster
command:
- ensure-open-orders
- --account-address
- AEA9S5jjSkuAhjZrLuCw3aXGdYg6pqsMQAYS5KodkCD4
- --market
- spot:USDT/USDC
- --log-level
- CRITICAL

View File

@ -0,0 +1,77 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: random-taker-btc-perp
labels:
app: random-taker
cluster: devnet
marketType: perp
market: "BTC_USDC"
spec:
replicas: 1
selector:
matchLabels:
app: random-taker-btc-perp
template:
metadata:
labels:
app: random-taker-btc-perp
spec:
containers:
- name: random-taker-btc-perp
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: random-taker
- configMapRef:
name: cluster
command:
- random-taker
- "BTC-PERP"
- "0.6"
- "500"
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_random_taker
initialDelaySeconds: 60
periodSeconds: 120
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_random_taker
initialDelaySeconds: 120
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: random-taker
- configMapRef:
name: cluster
command:
- ensure-account
- --wait

View File

@ -0,0 +1,77 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: random-taker-btc-usdc
labels:
app: random-taker
cluster: devnet
marketType: spot
market: "BTC_USDC"
spec:
replicas: 1
selector:
matchLabels:
app: random-taker-btc-usdc
template:
metadata:
labels:
app: random-taker-btc-usdc
spec:
containers:
- name: random-taker-btc-usdc
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 128Mi
requests:
memory: 16Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
envFrom:
- secretRef:
name: random-taker
- configMapRef:
name: cluster
command:
- random-taker
- "BTC/USDC"
- "0.6"
- "500"
livenessProbe:
exec:
command:
- file-age-check
- "180"
- /var/tmp/mango_healthcheck_random_taker
initialDelaySeconds: 60
periodSeconds: 120
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_random_taker
initialDelaySeconds: 120
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always
initContainers:
- name: ensure-account
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
envFrom:
- secretRef:
name: random-taker
- configMapRef:
name: cluster
command:
- ensure-account
- --wait

View File

@ -0,0 +1,90 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: mango
name: watch-minimum-balances
labels:
app: watch-minimum-balances
cluster: devnet
spec:
replicas: 1
selector:
matchLabels:
app: watch-minimum-balances
template:
metadata:
labels:
app: watch-minimum-balances
spec:
containers:
- name: watch-minimum-balances
image: opinionatedgeek/mango-explorer-v3:latest
imagePullPolicy: Always
terminationMessagePolicy: FallbackToLogsOnError
resources:
limits:
memory: 96Mi
requests:
memory: 64Mi
envFrom:
- configMapRef:
name: cluster
- configMapRef:
name: notification-targets
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: CLUSTER_URL
value: https://stage.devnet.rpcpool.com
command:
- watch-minimum-balances
- "--name"
- "Devnet Minimum Balances Watcher ($(NODE_NAME))"
- "--named-address"
- "Oracle:GXdZLSvnreqyUd92tXFShpF8DPvpqDBRkukAtraZ3rCf"
- "--named-address"
- "SpotMarketMaker1:DeekJBiqzJkTtoCPSiep8MTd7VHMmpCKX5sA47w3uury"
- "--named-address"
- "SpotMarketMaker2:DeekL8y7tCacJ6Xt71kVtGawnDRXW4g4AzRDHtPkDohx"
- "--named-address"
- "PerpMarketMaker:DeekRPADRMqm4t8s53AkKLbdCpQeMbuu2SNysvTvmYNs"
- "--named-address"
- "SerumMarketMaker:DeekStXXJm3ogsbkw8WsoN1mT4c19t6qXLPEBLUn8KWR"
- "--named-address"
- "RandomTaker:DeekL3W31SyCkQezqztjvxkbJcst1xaEbtnqbN6g48Zt"
- "--named-address"
- "Crank:DeekVH69bVFXqwoxvGGBZoJ1ghWBNdwuUtTnQm7AHCaf"
- "--named-address"
- "MarketMakerDelegate:DeekoiXaCikm3tB3h7Wyorsk6q1bxeQVzaWEji8FXTMM"
- "--minimum-sol-balance"
- "0.5"
- --log-level
- CRITICAL
# - --notify
# - $(ERRORS_TELEGRAM)
- --notify
- $(ERRORS_DISCORD)
# - --notify-events
# - $(ERRORS_TELEGRAM)
- --log-suppress-timestamp
livenessProbe:
exec:
command:
- file-age-check
- "60"
- /var/tmp/mango_healthcheck_ws_pong
initialDelaySeconds: 30
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- cat
- /var/tmp/mango_healthcheck_ws_pong
initialDelaySeconds: 10
failureThreshold: 12
periodSeconds: 5
restartPolicy: Always

16
k8s/limits.yaml Normal file
View File

@ -0,0 +1,16 @@
apiVersion: v1
kind: LimitRange
metadata:
namespace: mango
name: mango-limits
annotations:
type: live
spec:
limits:
- default:
cpu: 0.5
memory: 128Mi
defaultRequest:
cpu: 0.25
memory: 64Mi
type: Container

17
k8s/namespaces.yaml Normal file
View File

@ -0,0 +1,17 @@
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Namespace
metadata:
name: mango
annotations:
type: live
- apiVersion: v1
kind: Namespace
metadata:
name: monitoring
annotations:
type: live
labels:
app: operations

53
kustomization.yml Normal file
View File

@ -0,0 +1,53 @@
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- k8s/namespaces.yaml
- k8s/limits.yaml
- k8s/ConfigMaps/cluster.yaml
- k8s/ConfigMaps/notification-targets.yaml
# - k8s/Secrets/crank.yaml
# - k8s/Secrets/marketmaker-delegate.yaml
# - k8s/Secrets/marketmaker-perp.yaml
# - k8s/Secrets/marketmaker-serum.yaml
# - k8s/Secrets/marketmaker-spot-1.yaml
# - k8s/Secrets/marketmaker-spot-2.yaml
# - k8s/Secrets/random-taker.yaml
- k8s/Cranks/crank-btc-perp.yaml
- k8s/Cranks/crank-btc-usdc-serum.yaml
- k8s/Cranks/crank-eth-usdc-serum.yaml
- k8s/Cranks/crank-sol-usdc-serum.yaml
- k8s/Cranks/keeper.yaml
- k8s/RandomTakers/random-taker-btc-perp.yaml
- k8s/RandomTakers/random-taker-btc-usdc.yaml
- k8s/MarketMakers/marketmaker-ada-perp.yaml
- k8s/MarketMakers/marketmaker-avax-perp.yaml
- k8s/MarketMakers/marketmaker-btc-perp.yaml
- k8s/MarketMakers/marketmaker-btc-usdc-serum.yaml
- k8s/MarketMakers/marketmaker-btc-usdc.yaml
- k8s/MarketMakers/marketmaker-eth-perp.yaml
- k8s/MarketMakers/marketmaker-eth-usdc-serum.yaml
- k8s/MarketMakers/marketmaker-eth-usdc.yaml
- k8s/MarketMakers/marketmaker-ftt-perp.yaml
- k8s/MarketMakers/marketmaker-ftt-usdc.yaml
- k8s/MarketMakers/marketmaker-matic-perp.yaml
- k8s/MarketMakers/marketmaker-mngo-perp.yaml
- k8s/MarketMakers/marketmaker-mngo-usdc.yaml
- k8s/MarketMakers/marketmaker-ray-usdc.yaml
- k8s/MarketMakers/marketmaker-sol-perp.yaml
- k8s/MarketMakers/marketmaker-sol-usdc.yaml
- k8s/MarketMakers/marketmaker-srm-usdc.yaml
- k8s/MarketMakers/marketmaker-usdt-usdc.yaml