Files
Josh Hunt 4e9c670a00 FrontendService: Fix backend.dockerfile (#108195)
* FrontendService: Fix backend.dockerfile

* comments

* Fix backends rebuilding image instead of just restarting when assets change

* route /logout to grafana backend

* fix script in dockerfile
2025-07-17 12:49:16 +01:00

81 lines
2.0 KiB
Plaintext

# --- Frontend processes
local_resource(
'yarn install',
cmd='yarn install',
deps=[
'yarn.lock',
],
labels=["frontend"]
)
local_resource(
'yarn start',
cmd='rm -rf public/build/assets-manifest.json',
serve_cmd='yarn start:noLint',
resource_deps=['yarn install'],
readiness_probe=probe(
initial_delay_secs=5, # wait for the assets-manifest.json to first be deleted
period_secs=1,
exec=exec_action(["bash", "-c", "cat public/build/assets-manifest.json | grep entrypoints"])
),
allow_parallel=True,
labels=["frontend"]
)
# --- Docker Compose
docker_compose("./docker-compose.yaml")
# First argument is the name of the service from the docker-compose file.
dc_resource("backend", resource_deps=["yarn start"], labels=["backend"])
dc_resource("frontend-service", resource_deps=["yarn start"], labels=["backend"])
dc_resource("proxy", resource_deps=["backend", "frontend-service"], labels=["ingress"])
docker_build('grafana-backend', '../..',
dockerfile='backend.dockerfile',
# Only these paths will be in the docker context, and will trigger a rebuild.
# This must include all the files that are COPY'd in backend.dockerfile
only=[
"./Makefile",
"./devenv/frontend-service/build-grafana.sh",
"./apps",
"./pkg",
"./scripts",
"./go.sum",
"./go.mod",
"./go.work",
"./go.work.sum",
"./kinds",
"./kindsv2",
"./public/api-merged.json",
"./package.json",
"./conf/defaults.ini",
"./conf/ldap.toml",
"./conf/ldap_multiple.toml",
"./public/emails",
"./public/views",
"./public/dashboards",
"./public/build/assets-manifest.json",
],
live_update = [
sync('../../public/build/assets-manifest.json', '/grafana/public/build/assets-manifest.json'),
restart_container()
]
)
docker_build('grafana-proxy', '.',
dockerfile='proxy.dockerfile',
only=[
"./nginx.conf",
],
live_update = [
sync('./nginx.conf', '/etc/nginx/conf.d/default.conf'),
restart_container()
]
)