-
Notifications
You must be signed in to change notification settings - Fork 122
feat(js-sdk): circuit breaker for usage reporting #7259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
a542693 to
41655b6
Compare
📚 Storybook DeploymentThe latest changes are available as preview in: https://pr-7259.hive-storybook.pages.dev |
💻 Website PreviewThe latest changes are available as preview in: https://pr-7259.hive-landing-page.pages.dev |
|
🐋 This PR was built and pushed to the following Docker images: Targets: Platforms: Image Tag: Docker Bake metadata{
"app": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/api/health",
"build-arg:IMAGE_DESCRIPTION": "The app of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/app",
"build-arg:PORT": "3000",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/app",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/ghk7ax5bj8silsaxtgbqcktye",
"containerimage.config.digest": "sha256:aa88499b91b7514c19ed3273c65073897dc0235fc111fbe670ccc93138d40cb3",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:5b42ad7fd07dfe17d1615c99421153c9f7d6aa2d0dbe200a4963091194deb8b0",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:5b42ad7fd07dfe17d1615c99421153c9f7d6aa2d0dbe200a4963091194deb8b0",
"image.name": "ghcr.io/graphql-hive/app:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/app:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"buildx.build.warnings": [
{
"vertex": "sha256:ed21a6bc02c45df94464c292b01f8543d5ca7814abdcda788dcee2f57b5e10d3",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRSRUxFQVNFJyAobGluZSAxMyk=",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "services.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSB3Z2V0IGNhLWNlcnRpZmljYXRlcyAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKCkFSRyBTRVJWSUNFX0RJUl9OQU1FCldPUktESVIgL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UubGljZW5zZXM9TUlUCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2Uuc291cmNlPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgoKRU5WIEVOVklST05NRU5UPXByb2R1Y3Rpb24KRU5WIFJFTEVBU0U9JFJFTEVBU0UKRU5WIFBPUlQ9JFBPUlQKCkhFQUxUSENIRUNLIC0taW50ZXJ2YWw9NXMgXAogIC0tdGltZW91dD01cyBcCiAgLS1zdGFydC1wZXJpb2Q9NXMgXAogIC0tcmV0cmllcz02IFwKICBDTUQgJEhFQUxUSENIRUNLX0NNRAoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 13
},
"end": {
"line": 13
}
}
]
},
{
"vertex": "sha256:ed21a6bc02c45df94464c292b01f8543d5ca7814abdcda788dcee2f57b5e10d3",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9ERVNDUklQVElPTicgKGxpbmUgMTQp",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "services.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSB3Z2V0IGNhLWNlcnRpZmljYXRlcyAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKCkFSRyBTRVJWSUNFX0RJUl9OQU1FCldPUktESVIgL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UubGljZW5zZXM9TUlUCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2Uuc291cmNlPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgoKRU5WIEVOVklST05NRU5UPXByb2R1Y3Rpb24KRU5WIFJFTEVBU0U9JFJFTEVBU0UKRU5WIFBPUlQ9JFBPUlQKCkhFQUxUSENIRUNLIC0taW50ZXJ2YWw9NXMgXAogIC0tdGltZW91dD01cyBcCiAgLS1zdGFydC1wZXJpb2Q9NXMgXAogIC0tcmV0cmllcz02IFwKICBDTUQgJEhFQUxUSENIRUNLX0NNRAoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 14
},
"end": {
"line": 14
}
}
]
},
{
"vertex": "sha256:ed21a6bc02c45df94464c292b01f8543d5ca7814abdcda788dcee2f57b5e10d3",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRSRUxFQVNFJyAobGluZSAyMSk=",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "services.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSB3Z2V0IGNhLWNlcnRpZmljYXRlcyAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKCkFSRyBTRVJWSUNFX0RJUl9OQU1FCldPUktESVIgL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UubGljZW5zZXM9TUlUCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2Uuc291cmNlPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgoKRU5WIEVOVklST05NRU5UPXByb2R1Y3Rpb24KRU5WIFJFTEVBU0U9JFJFTEVBU0UKRU5WIFBPUlQ9JFBPUlQKCkhFQUxUSENIRUNLIC0taW50ZXJ2YWw9NXMgXAogIC0tdGltZW91dD01cyBcCiAgLS1zdGFydC1wZXJpb2Q9NXMgXAogIC0tcmV0cmllcz02IFwKICBDTUQgJEhFQUxUSENIRUNLX0NNRAoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 21
},
"end": {
"line": 21
}
}
]
},
{
"vertex": "sha256:ed21a6bc02c45df94464c292b01f8543d5ca7814abdcda788dcee2f57b5e10d3",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRQT1JUJyAobGluZSAyMik=",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "services.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSB3Z2V0IGNhLWNlcnRpZmljYXRlcyAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKCkFSRyBTRVJWSUNFX0RJUl9OQU1FCldPUktESVIgL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UubGljZW5zZXM9TUlUCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2Uuc291cmNlPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgoKRU5WIEVOVklST05NRU5UPXByb2R1Y3Rpb24KRU5WIFJFTEVBU0U9JFJFTEVBU0UKRU5WIFBPUlQ9JFBPUlQKCkhFQUxUSENIRUNLIC0taW50ZXJ2YWw9NXMgXAogIC0tdGltZW91dD01cyBcCiAgLS1zdGFydC1wZXJpb2Q9NXMgXAogIC0tcmV0cmllcz02IFwKICBDTUQgJEhFQUxUSENIRUNLX0NNRAoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 22
},
"end": {
"line": 22
}
}
]
},
{
"vertex": "sha256:5af354cd617c2af53e105050cf79b7eb87736fa01eef485d8b7aa7f08da2f6dc",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRSRUxFQVNFJyAobGluZSAxMik=",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "migrations.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSBjYS1jZXJ0aWZpY2F0ZXMKCldPUktESVIgL3Vzci9zcmMvYXBwCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpFTlYgRU5WSVJPTk1FTlQ9cHJvZHVjdGlvbgpFTlYgTk9ERV9FTlY9cHJvZHVjdGlvbgpFTlYgUkVMRUFTRT0kUkVMRUFTRQoKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmxpY2Vuc2VzPU1JVApMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwtaGl2ZS9wbGF0Zm9ybSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwtaGl2ZS9wbGF0Zm9ybSIKCkVOVFJZUE9JTlQgWyAiL2VudHJ5cG9pbnQuc2giIF0K",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 12
},
"end": {
"line": 12
}
}
]
},
{
"vertex": "sha256:5af354cd617c2af53e105050cf79b7eb87736fa01eef485d8b7aa7f08da2f6dc",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9USVRMRScgKGxpbmUgMTUp",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "migrations.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSBjYS1jZXJ0aWZpY2F0ZXMKCldPUktESVIgL3Vzci9zcmMvYXBwCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpFTlYgRU5WSVJPTk1FTlQ9cHJvZHVjdGlvbgpFTlYgTk9ERV9FTlY9cHJvZHVjdGlvbgpFTlYgUkVMRUFTRT0kUkVMRUFTRQoKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmxpY2Vuc2VzPU1JVApMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwtaGl2ZS9wbGF0Zm9ybSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwtaGl2ZS9wbGF0Zm9ybSIKCkVOVFJZUE9JTlQgWyAiL2VudHJ5cG9pbnQuc2giIF0K",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 15
},
"end": {
"line": 15
}
}
]
},
{
"vertex": "sha256:5af354cd617c2af53e105050cf79b7eb87736fa01eef485d8b7aa7f08da2f6dc",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9ERVNDUklQVElPTicgKGxpbmUgMTcp",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "migrations.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSBjYS1jZXJ0aWZpY2F0ZXMKCldPUktESVIgL3Vzci9zcmMvYXBwCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpFTlYgRU5WSVJPTk1FTlQ9cHJvZHVjdGlvbgpFTlYgTk9ERV9FTlY9cHJvZHVjdGlvbgpFTlYgUkVMRUFTRT0kUkVMRUFTRQoKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmxpY2Vuc2VzPU1JVApMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwtaGl2ZS9wbGF0Zm9ybSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwtaGl2ZS9wbGF0Zm9ybSIKCkVOVFJZUE9JTlQgWyAiL2VudHJ5cG9pbnQuc2giIF0K",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 17
},
"end": {
"line": 17
}
}
]
},
{
"vertex": "sha256:ed21a6bc02c45df94464c292b01f8543d5ca7814abdcda788dcee2f57b5e10d3",
"level": 1,
"short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9USVRMRScgKGxpbmUgMTIp",
"detail": [
"VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
],
"url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
"sourceInfo": {
"filename": "services.dockerfile",
"data": "RlJPTSBub2RlOjIyLjEzLjAtc2xpbQoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSB3Z2V0IGNhLWNlcnRpZmljYXRlcyAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKCkFSRyBTRVJWSUNFX0RJUl9OQU1FCldPUktESVIgL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FCgpDT1BZIC0tZnJvbT1kaXN0IC4gL3Vzci9zcmMvYXBwLyRTRVJWSUNFX0RJUl9OQU1FLwpDT1BZIC0tZnJvbT1zaGFyZWQgLiAvCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UubGljZW5zZXM9TUlUCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2Uuc291cmNlPSJodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC1oaXZlL3BsYXRmb3JtIgoKRU5WIEVOVklST05NRU5UPXByb2R1Y3Rpb24KRU5WIFJFTEVBU0U9JFJFTEVBU0UKRU5WIFBPUlQ9JFBPUlQKCkhFQUxUSENIRUNLIC0taW50ZXJ2YWw9NXMgXAogIC0tdGltZW91dD01cyBcCiAgLS1zdGFydC1wZXJpb2Q9NXMgXAogIC0tcmV0cmllcz02IFwKICBDTUQgJEhFQUxUSENIRUNLX0NNRAoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
"language": "Dockerfile"
},
"range": [
{
"start": {
"line": 12
},
"end": {
"line": 12
}
}
]
}
],
"commerce": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The commerce service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/commerce",
"build-arg:PORT": "3010",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/commerce",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/qw7um5bduqsqoxowq7ftpe0xd",
"containerimage.config.digest": "sha256:df846f8cdde697399d25b9be46c75159839cd75491e6114706750f3c384b6cc2",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:e70065ea24feaf90ecb6bbca1f34dbe626146f8beba1327861ef254548cb6183",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:e70065ea24feaf90ecb6bbca1f34dbe626146f8beba1327861ef254548cb6183",
"image.name": "ghcr.io/graphql-hive/commerce:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/commerce:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"composition-federation-2": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "Federation 2 Composition Service for GraphQL Hive.",
"build-arg:IMAGE_TITLE": "graphql-hive/composition-federation-2",
"build-arg:PORT": "3069",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/external-composition",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/e6usy53r9b4pmlqa48b7x55i8",
"containerimage.config.digest": "sha256:f254c5d88d9f5adce2ef8707ed5082cf801baf00f42c5b668613532afcd70478",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:b0b44224ee2ce2f2dc062b4cefdde7424c76afdf3f9270340e98bb0fa86ea5ae",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:b0b44224ee2ce2f2dc062b4cefdde7424c76afdf3f9270340e98bb0fa86ea5ae",
"image.name": "ghcr.io/graphql-hive/composition-federation-2:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/composition-federation-2:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"emails": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The emails service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/emails",
"build-arg:PORT": "3006",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/emails",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/lch5jotoym9iu1191w1f5d0jx",
"containerimage.config.digest": "sha256:2823143489dc3b778c0904b7a84cc4773a892ddc0a0a14c6c22d184541a51102",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:0069a1d80c25618aaabc520803440828d9f0699f56081ff3fa5110d35ceb2875",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:0069a1d80c25618aaabc520803440828d9f0699f56081ff3fa5110d35ceb2875",
"image.name": "ghcr.io/graphql-hive/emails:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/emails:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"otel-collector": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/alpine@3.14?platform=linux%2Farm64",
"digest": {
"sha256": "0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed"
}
},
{
"uri": "pkg:docker/golang@1.23.7-bookworm?platform=linux%2Farm64",
"digest": {
"sha256": "7d1571fea7cdc08fe7f37d4eacf06dfe5756366acb7bdd33cf26a7c422fed993"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "otel-collector.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:IMAGE_DESCRIPTION": "OTEL Collector for GraphQL Hive.",
"build-arg:IMAGE_TITLE": "graphql-hive/otel-collector",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dockerfile"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/iiqywhf1x4lah606u6a718dmq",
"containerimage.config.digest": "sha256:da55de84573ef570fc216722fdd88a149be03a5c3264c5f85deaeaadfc0b764d",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:0b003ec6e4a7943742f6862bc3f9a1c04a8707b3ad83f11bf8361c4cd4d5ec36",
"size": 1089,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:0b003ec6e4a7943742f6862bc3f9a1c04a8707b3ad83f11bf8361c4cd4d5ec36",
"image.name": "ghcr.io/graphql-hive/otel-collector:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/otel-collector:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"policy": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The policy service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/policy",
"build-arg:PORT": "3012",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/policy",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/j69u9z3i7lkw9jz18ushyeeyc",
"containerimage.config.digest": "sha256:4806452553a3881405e8f2e61d1c232634e9f8f47df9c163a8da89e3f8efa0af",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:2795820df2531af1d8febb459d709e35faef3377d383f5e8d1df71b02ed1d7de",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:2795820df2531af1d8febb459d709e35faef3377d383f5e8d1df71b02ed1d7de",
"image.name": "ghcr.io/graphql-hive/policy:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/policy:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"schema": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The schema service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/schema",
"build-arg:PORT": "3002",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/schema",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/2932n97tietqajdzqgz6jhbr6",
"containerimage.config.digest": "sha256:cd69d37f1a0e1a9cc9ef7067ea5ed5fef112558a6b21c329e2b99d8311eed8cf",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:2bc81b0b642c7cf65544d5d03071bb0e74fd1ea94be9fbaabdc679f199e1aba3",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:2bc81b0b642c7cf65544d5d03071bb0e74fd1ea94be9fbaabdc679f199e1aba3",
"image.name": "ghcr.io/graphql-hive/schema:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/schema:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"server": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The server service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/server",
"build-arg:PORT": "3001",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/server",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/x3xu98cux2c49uaihjwemycig",
"containerimage.config.digest": "sha256:2dcc267bc4ca187462e86c4bd04fb3e35a511aad8ed501c105053ebdbd1bf1cc",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:91ae72a7b62024140927cfe060f657b2e99df88d34c9fbd0c472850ae7b9c2d8",
"size": 2076,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:91ae72a7b62024140927cfe060f657b2e99df88d34c9fbd0c472850ae7b9c2d8",
"image.name": "ghcr.io/graphql-hive/server:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/server:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"storage": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "migrations.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:IMAGE_DESCRIPTION": "The migrations service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/storage",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/xfvf79655e5tj2fuejrhexqav",
"containerimage.config.digest": "sha256:eae5776641d0b639ad2dbcd4acd902a9d8b9d0c43e534fbeb00c937bd9ea1017",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:55b7fd474ba000950edf5bff729499e3bf81929360825c4b5aae0587938e9561",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:55b7fd474ba000950edf5bff729499e3bf81929360825c4b5aae0587938e9561",
"image.name": "ghcr.io/graphql-hive/storage:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/storage:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"tokens": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The tokens service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/tokens",
"build-arg:PORT": "3003",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/tokens",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/ohosvkuqy5xm7omhpudb02fon",
"containerimage.config.digest": "sha256:7d32cf92db566017695fb406e5d889a4995d715d871e533adc8b273a81303cf5",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:3226ff94d1b0e3a28f055a7bf02477f6d19fef941c14d3c9d23376f55fe7ecda",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:3226ff94d1b0e3a28f055a7bf02477f6d19fef941c14d3c9d23376f55fe7ecda",
"image.name": "ghcr.io/graphql-hive/tokens:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/tokens:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"usage": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The usage ingestor service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/usage",
"build-arg:PORT": "3006",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/usage",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/8s4wy98senajeglz0on48jef7",
"containerimage.config.digest": "sha256:d3a59fe06458c3f5538d0f01b12b8d4b6777e6acd8176695af6631d9decff227",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:6b3d4f2b6841937e8ee568bdb88bfbf523dfa85af502f24e07b5705eb17cfe52",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:6b3d4f2b6841937e8ee568bdb88bfbf523dfa85af502f24e07b5705eb17cfe52",
"image.name": "ghcr.io/graphql-hive/usage:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/usage:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"usage-ingestor": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The usage ingestor service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/usage-ingestor",
"build-arg:PORT": "3007",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/usage-ingestor",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/m1l3fcjsu7j2oeh3e9szz75l8",
"containerimage.config.digest": "sha256:63483b29b0c3963a19815bdb5c71ad070338545fda0c83452f32e212923de604",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:06cc2c327c907cac5f6bcdf5f9d1c238d5e437f6840b5cdcb936491b326fd6ea",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:06cc2c327c907cac5f6bcdf5f9d1c238d5e437f6840b5cdcb936491b326fd6ea",
"image.name": "ghcr.io/graphql-hive/usage-ingestor:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/usage-ingestor:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
},
"webhooks": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/node@22.13.0-slim?platform=linux%2Farm64",
"digest": {
"sha256": "f5a0871ab03b035c58bdb3007c3d177b001c2145c18e81817b71624dcf7d8bff"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "services.dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:HEALTHCHECK_CMD": "wget --spider -q http://127.0.0.1:${PORT}/_readiness",
"build-arg:IMAGE_DESCRIPTION": "The webhooks ingestor service of the GraphQL Hive project.",
"build-arg:IMAGE_TITLE": "graphql-hive/webhooks",
"build-arg:PORT": "3005",
"build-arg:RELEASE": "262e3b9d8c6492352b8d3b6f8b335b7c65241e5a",
"build-arg:SERVICE_DIR_NAME": "@hive/webhooks",
"context:dist": "local:dist",
"context:shared": "local:shared",
"frontend.caps": "moby.buildkit.frontend.contexts+forward",
"local-sessionid:context": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:dockerfile": "mxh3bde6wd0peq39oyhwtjywr",
"local-sessionid:shared": "mxh3bde6wd0peq39oyhwtjywr"
},
"locals": [
{
"name": "context"
},
{
"name": "dist"
},
{
"name": "dockerfile"
},
{
"name": "shared"
}
]
},
"environment": {
"platform": "linux/arm64",
"ProvenanceCustomEnv": null
}
}
},
"buildx.build.ref": "builder-92567a41-cb85-48eb-a22c-25f72ded6c5c/builder-92567a41-cb85-48eb-a22c-25f72ded6c5c0/s01kvwipnbapen3nho4mk85in",
"containerimage.config.digest": "sha256:6965cca69e9d872a5e6a6cd46f6d4ebbc9c85efdbdc649a11ee4ff88fbb8712f",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:d6c39c3f1cd8ef73e1002fc4dc3d73f8c2776428e10cb8f40f400fbae8de93c4",
"size": 2075,
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
"containerimage.digest": "sha256:d6c39c3f1cd8ef73e1002fc4dc3d73f8c2776428e10cb8f40f400fbae8de93c4",
"image.name": "ghcr.io/graphql-hive/webhooks:262e3b9d8c6492352b8d3b6f8b335b7c65241e5a-arm64,ghcr.io/graphql-hive/webhooks:feat_js_sdk_circuit_breaker_usage_reporting-arm64"
}
} |
🚀 Snapshot Release (
|
| Package | Version | Info |
|---|---|---|
@graphql-hive/apollo |
0.41.0-alpha-20251113151806-262e3b9d8c6492352b8d3b6f8b335b7c65241e5a |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/cli |
0.53.3-alpha-20251113151806-262e3b9d8c6492352b8d3b6f8b335b7c65241e5a |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/core |
0.14.0-alpha-20251113151806-262e3b9d8c6492352b8d3b6f8b335b7c65241e5a |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/envelop |
0.37.0-alpha-20251113151806-262e3b9d8c6492352b8d3b6f8b335b7c65241e5a |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/yoga |
0.43.0-alpha-20251113151806-262e3b9d8c6492352b8d3b6f8b335b7c65241e5a |
npm ↗︎ unpkg ↗︎ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a bit hard to unit test this functionality, so I added this file that I can play around with the values for the circuit breaker.
I encourage reviewers to do the same to get an understanding on how this works.
b41296f to
2ace0c6
Compare
Description
Support circuit breaking for usage reporting.
Circuit breaking is a fault-tolerance pattern that prevents a system from repeatedly calling a failing service. When errors or timeouts exceed a set threshold, the circuit “opens,” blocking further requests until the service recovers.
This ensures that during a network issue or outage, the service using the Hive SDK remains healthy and is not overwhelmed by failed usage reports or repeated retries.
Feedback I am looking for: