Skip to content

Commit

Permalink
fix: don't build on entrypoint
Browse files Browse the repository at this point in the history
  • Loading branch information
Zygimantass committed Feb 26, 2024
1 parent 3a08839 commit 4d0eb00
Show file tree
Hide file tree
Showing 3 changed files with 210 additions and 1 deletion.
18 changes: 17 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ GENESIS_TMP ?= $(HOMEDIR)/config/genesis_tmp.json
COVER_FILE ?= cover.out
BENCHMARK_ITERS ?= 10

LEVANT_VAR_FILE:=$(shell mktemp -d)/levant.yaml
NOMAD_FILE_SLINKY:=contrib/nomad/slinky.nomad

###############################################################################
### build ###
###############################################################################
Expand Down Expand Up @@ -127,7 +130,7 @@ $(BUILD_DIR)/:
mkdir -p $(BUILD_DIR)/

# build-configs builds a slinky simulation application binary in the build folder (/test/.slinkyd)
build-configs: build-test-app
build-configs:
./build/slinkyd init validator --chain-id skip-1 --home $(HOMEDIR)
./build/slinkyd keys add validator --home $(HOMEDIR) --keyring-backend test
./build/slinkyd genesis add-genesis-account validator 10000000000000000000000000stake --home $(HOMEDIR) --keyring-backend test
Expand Down Expand Up @@ -262,3 +265,16 @@ format:
@find . -name '*.go' -type f -not -path "*.git*" -not -path "*mocks*" -not -path "./client/docs/statik/statik.go" -not -name '*.pb.go' -not -name '*.pulsar.go' -not -name '*.gw.go' | xargs go run golang.org/x/tools/cmd/goimports -w -local github.com/skip-mev/slinky

.PHONY: format

###############################################################################
### dev-deploy ###
###############################################################################

deploy-dev:
touch ${LEVANT_VAR_FILE}
yq e -i '.sidecar_image |= "${SIDECAR_IMAGE}"' ${LEVANT_VAR_FILE}
yq e -i '.chain_image |= "${CHAIN_IMAGE}"' ${LEVANT_VAR_FILE}
levant deploy -force-count -var-file=${LEVANT_VAR_FILE} ${NOMAD_FILE_SLINKY}

.PHONY: deploy-dev

2 changes: 2 additions & 0 deletions contrib/images/slinky.local.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ RUN go mod download

COPY . .

RUN make build-test-app

RUN apt-get update && apt-get install jq -y && apt-get install ca-certificates -y

## Prepare the final clear binary
Expand Down
191 changes: 191 additions & 0 deletions contrib/nomad/slinky.nomad
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
job "slinky-dev" {
type = "service"
datacenters = ["skip-nomad-aws-us-east-2"]
region = "global"

namespace = "slinky-dev"

group "sidecar" {
count = 1

network {
mode = "bridge"
}

service {
name = "slinky-sidecar-dev-http-service"
port = "8080"

connect {
sidecar_service {}
}

tags = [
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.slinky-sidecar-dev-http-service.rule=Host(`slinky-sidecar-dev-http.skip-internal.money`)",
"traefik.http.routers.slinky-sidecar-dev-http-service.entrypoints=internal",
]
}

service {
name = "slinky-sidecar-dev-metrics-service"
port = "8002"

connect {
sidecar_service {}
}

tags = [
"metrics",
"logs.promtail=true",
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.slinky-sidecar-dev-metrics-service.rule=Host(`slinky-sidecar-dev-metrics.skip-internal.money`)",
"traefik.http.routers.slinky-sidecar-dev-metrics-service.entrypoints=internal",
]
}

service {
name = "slinky-sidecar-dev-pprof-service"
port = "6060"

connect {
sidecar_service {}
}

tags = [
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.slinky-sidecar-dev-pprof-service.rule=Host(`slinky-sidecar-dev-pprof.skip-internal.money`)",
"traefik.http.routers.slinky-sidecar-dev-pprof-service.entrypoints=internal",
]
}

task "sidecar" {
driver = "docker"

config {
image = "[[ .sidecar_image ]]"
}

resources {
cpu = 500
memory = 256
}
}

}

group "chain" {
count = 1

network {
mode = "bridge"
}

service {
name = "slinky-simapp-dev-rpc-service"
port = "26657"

tags = [
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.slinky-simapp-dev-rpc-service.rule=Host(`slinky-simapp-dev-rpc.skip-internal.money`)",
"traefik.http.routers.slinky-simapp-dev-rpc-service.entrypoints=internal",
]

connect {
sidecar_service {
proxy {
upstreams {
destination_name = "slinky-sidecar-dev-http-service"
local_bind_port = 8080
}
}
}
}
}

service {
name = "slinky-simapp-dev-lcd-service"
port = "1317"

tags = [
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.slinky-simapp-dev-lcd-service.rule=Host(`slinky-simapp-dev-lcd.skip-internal.money`)",
"traefik.http.routers.slinky-simapp-dev-lcd-service.entrypoints=internal",
]
}

service {
name = "slinky-simapp-dev-app-metrics-service"
port = "8001"

tags = [
"metrics",
"logs.promtail=true",
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.slinky-simapp-dev-app-metrics-service.rule=Host(`slinky-simapp-dev-app-metrics.skip-internal.money`)",
"traefik.http.routers.slinky-simapp-dev-app-metrics-service.entrypoints=internal",
]
}

volume "data" {
type = "csi"
read_only = false
source = "slinky-simapp-dev-node-volume"
access_mode = "single-node-writer"
attachment_mode = "file-system"
}

task "init" {
driver = "docker"

config {
image = "[[ .chain_image ]]"
entrypoint = ["sh", "-c", "/tmp/init.sh"]
volumes = ["local/tmp/data:/src/slinky/tests/.slinkyd", "local/tmp/init.sh:/tmp/init.sh"]
}

template {
data = <<EOH
#!/bin/sh
if [ -f /.slinkyd/config/app.toml ]; then
exit 0
fi
make build-configs
sed -i 's\oracle:8080\localhost:8080\g' tests/.slinkyd/config/app.toml
EOH

perms = "777"

destination = "local/tmp/init.sh"
}

lifecycle {
hook = "prestart"
sidecar = false
}
}

task "chain" {
driver = "docker"

config {
image = "[[ .chain_image ]]"
command = "make"
args = ["start-app"]
volumes = ["local/tmp/data:/src/slinky/tests/.slinkyd"]
}

resources {
cpu = 500
memory = 256
}
}
}
}

0 comments on commit 4d0eb00

Please sign in to comment.