Skip to content
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

feat: global app deployment feature flag #5529

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

n1ru4l
Copy link
Collaborator

@n1ru4l n1ru4l commented Aug 26, 2024

Background

This adds a feature flag to enable app deployments globally for all organizations within Hive. The main purpose of this is to not have to deal with the SQL database for enabling app deployments for the created organization for the hive graphql conf workshop.

Checklist

  • Input validation
  • Output encoding
  • Authentication management
  • Session management
  • Access control
  • Cryptographic practices
  • Error handling and logging
  • Data protection
  • Communication security
  • System configuration
  • Database security
  • File management
  • Memory management
  • Testing

Copy link

changeset-bot bot commented Aug 26, 2024

⚠️ No Changeset found

Latest commit: a2e525d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

github-actions bot commented Aug 26, 2024

🐋 This PR was built and pushed to the following Docker images (tag: a2e525d5e162b78b597a76633fe9b1850af79715):

Docker Bake metadata
{
"app": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/tvb1c6zkc1pltmjbegxhrfx18",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:8db7c1bee056f5b9c91348f3e67df733fa284eb2a895447316c62806cc08ed80",
    "size": 685
  },
  "containerimage.digest": "sha256:8db7c1bee056f5b9c91348f3e67df733fa284eb2a895447316c62806cc08ed80",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/app:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/app:feat_feature_flag_app_deployments"
},
"buildx.build.warnings": [
  {
    "vertex": "sha256:fd135e75beb80dcd42e9b01f8c8db30edb81855d2e81b529daf31fdf4147dd9b",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9USVRMRScgKGxpbmUgMTQp",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "migrations.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkVOViBFTlZJUk9OTUVOVCBwcm9kdWN0aW9uCkVOViBOT0RFX0VOViBwcm9kdWN0aW9uCkVOViBSRUxFQVNFICRSRUxFQVNFCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5zb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbGtpc2llbGEvZ3JhcGhxbC1oaXZlIgoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 14
        },
        "end": {
          "line": 14
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9USVRMRScgKGxpbmUgMTEp",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 11
        },
        "end": {
          "line": 11
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRSRUxFQVNFJyAobGluZSAxMik=",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 12
        },
        "end": {
          "line": 12
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9ERVNDUklQVElPTicgKGxpbmUgMTMp",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 13
        },
        "end": {
          "line": 13
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRQT1JUJyAobGluZSAyMSk=",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 21
        },
        "end": {
          "line": 21
        }
      }
    ]
  },
  {
    "vertex": "sha256:fd135e75beb80dcd42e9b01f8c8db30edb81855d2e81b529daf31fdf4147dd9b",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRSRUxFQVNFJyAobGluZSAxMik=",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "migrations.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkVOViBFTlZJUk9OTUVOVCBwcm9kdWN0aW9uCkVOViBOT0RFX0VOViBwcm9kdWN0aW9uCkVOViBSRUxFQVNFICRSRUxFQVNFCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5zb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbGtpc2llbGEvZ3JhcGhxbC1oaXZlIgoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 12
        },
        "end": {
          "line": 12
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "TGVnYWN5S2V5VmFsdWVGb3JtYXQ6ICJFTlYga2V5PXZhbHVlIiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxlZ2FjeSAiRU5WIGtleSB2YWx1ZSIgZm9ybWF0IChsaW5lIDIxKQ==",
    "detail": [
      "TGVnYWN5IGtleS92YWx1ZSBmb3JtYXQgd2l0aCB3aGl0ZXNwYWNlIHNlcGFyYXRvciBzaG91bGQgbm90IGJlIHVzZWQ="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 21
        },
        "end": {
          "line": 21
        }
      }
    ]
  },
  {
    "vertex": "sha256:fd135e75beb80dcd42e9b01f8c8db30edb81855d2e81b529daf31fdf4147dd9b",
    "level": 1,
    "short": "TGVnYWN5S2V5VmFsdWVGb3JtYXQ6ICJFTlYga2V5PXZhbHVlIiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxlZ2FjeSAiRU5WIGtleSB2YWx1ZSIgZm9ybWF0IChsaW5lIDEwKQ==",
    "detail": [
      "TGVnYWN5IGtleS92YWx1ZSBmb3JtYXQgd2l0aCB3aGl0ZXNwYWNlIHNlcGFyYXRvciBzaG91bGQgbm90IGJlIHVzZWQ="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/",
    "sourceInfo": {
      "filename": "migrations.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkVOViBFTlZJUk9OTUVOVCBwcm9kdWN0aW9uCkVOViBOT0RFX0VOViBwcm9kdWN0aW9uCkVOViBSRUxFQVNFICRSRUxFQVNFCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5zb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbGtpc2llbGEvZ3JhcGhxbC1oaXZlIgoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 10
        },
        "end": {
          "line": 10
        }
      }
    ]
  },
  {
    "vertex": "sha256:fd135e75beb80dcd42e9b01f8c8db30edb81855d2e81b529daf31fdf4147dd9b",
    "level": 1,
    "short": "TGVnYWN5S2V5VmFsdWVGb3JtYXQ6ICJFTlYga2V5PXZhbHVlIiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxlZ2FjeSAiRU5WIGtleSB2YWx1ZSIgZm9ybWF0IChsaW5lIDEyKQ==",
    "detail": [
      "TGVnYWN5IGtleS92YWx1ZSBmb3JtYXQgd2l0aCB3aGl0ZXNwYWNlIHNlcGFyYXRvciBzaG91bGQgbm90IGJlIHVzZWQ="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/",
    "sourceInfo": {
      "filename": "migrations.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkVOViBFTlZJUk9OTUVOVCBwcm9kdWN0aW9uCkVOViBOT0RFX0VOViBwcm9kdWN0aW9uCkVOViBSRUxFQVNFICRSRUxFQVNFCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5zb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbGtpc2llbGEvZ3JhcGhxbC1oaXZlIgoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 12
        },
        "end": {
          "line": 12
        }
      }
    ]
  },
  {
    "vertex": "sha256:fd135e75beb80dcd42e9b01f8c8db30edb81855d2e81b529daf31fdf4147dd9b",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRJTUFHRV9ERVNDUklQVElPTicgKGxpbmUgMTYp",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "migrations.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkVOViBFTlZJUk9OTUVOVCBwcm9kdWN0aW9uCkVOViBOT0RFX0VOViBwcm9kdWN0aW9uCkVOViBSRUxFQVNFICRSRUxFQVNFCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5zb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbGtpc2llbGEvZ3JhcGhxbC1oaXZlIgoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 16
        },
        "end": {
          "line": 16
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "TGVnYWN5S2V5VmFsdWVGb3JtYXQ6ICJFTlYga2V5PXZhbHVlIiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxlZ2FjeSAiRU5WIGtleSB2YWx1ZSIgZm9ybWF0IChsaW5lIDE5KQ==",
    "detail": [
      "TGVnYWN5IGtleS92YWx1ZSBmb3JtYXQgd2l0aCB3aGl0ZXNwYWNlIHNlcGFyYXRvciBzaG91bGQgbm90IGJlIHVzZWQ="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 19
        },
        "end": {
          "line": 19
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "TGVnYWN5S2V5VmFsdWVGb3JtYXQ6ICJFTlYga2V5PXZhbHVlIiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxlZ2FjeSAiRU5WIGtleSB2YWx1ZSIgZm9ybWF0IChsaW5lIDIwKQ==",
    "detail": [
      "TGVnYWN5IGtleS92YWx1ZSBmb3JtYXQgd2l0aCB3aGl0ZXNwYWNlIHNlcGFyYXRvciBzaG91bGQgbm90IGJlIHVzZWQ="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 20
        },
        "end": {
          "line": 20
        }
      }
    ]
  },
  {
    "vertex": "sha256:fd135e75beb80dcd42e9b01f8c8db30edb81855d2e81b529daf31fdf4147dd9b",
    "level": 1,
    "short": "TGVnYWN5S2V5VmFsdWVGb3JtYXQ6ICJFTlYga2V5PXZhbHVlIiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGxlZ2FjeSAiRU5WIGtleSB2YWx1ZSIgZm9ybWF0IChsaW5lIDExKQ==",
    "detail": [
      "TGVnYWN5IGtleS92YWx1ZSBmb3JtYXQgd2l0aCB3aGl0ZXNwYWNlIHNlcGFyYXRvciBzaG91bGQgbm90IGJlIHVzZWQ="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/",
    "sourceInfo": {
      "filename": "migrations.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkVOViBFTlZJUk9OTUVOVCBwcm9kdWN0aW9uCkVOViBOT0RFX0VOViBwcm9kdWN0aW9uCkVOViBSRUxFQVNFICRSRUxFQVNFCgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGU9JElNQUdFX1RJVExFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS52ZXJzaW9uPSRSRUxFQVNFCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kZXNjcmlwdGlvbj0kSU1BR0VfREVTQ1JJUFRJT04KTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmF1dGhvcnM9IlRoZSBHdWlsZCIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlbmRvcj0iS2FtaWwgS2lzaWVsYSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnVybD0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS5zb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pbGtpc2llbGEvZ3JhcGhxbC1oaXZlIgoKRU5UUllQT0lOVCBbICIvZW50cnlwb2ludC5zaCIgXQo=",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 11
        },
        "end": {
          "line": 11
        }
      }
    ]
  },
  {
    "vertex": "sha256:72b2465e41a69925f434c3cdb2d5754b99396c2695e25af10c3e0c18d811493a",
    "level": 1,
    "short": "VW5kZWZpbmVkVmFyOiBVc2FnZSBvZiB1bmRlZmluZWQgdmFyaWFibGUgJyRSRUxFQVNFJyAobGluZSAyMCk=",
    "detail": [
      "VmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVpciB1c2U="
    ],
    "url": "https://docs.docker.com/go/dockerfile/rule/undefined-var/",
    "sourceInfo": {
      "filename": "services.dockerfile",
      "data": "RlJPTSBub2RlOjIyLjYuMC1zbGltCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IHdnZXQgY2EtY2VydGlmaWNhdGVzICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKQVJHIFNFUlZJQ0VfRElSX05BTUUKV09SS0RJUiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUKCkNPUFkgLS1mcm9tPWRpc3QgLiAvdXNyL3NyYy9hcHAvJFNFUlZJQ0VfRElSX05BTUUvCkNPUFkgLS1mcm9tPXNoYXJlZCAuIC8KCkxBQkVMIG9yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZT0kSU1BR0VfVElUTEUKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnZlcnNpb249JFJFTEVBU0UKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uPSRJTUFHRV9ERVNDUklQVElPTgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuYXV0aG9ycz0iVGhlIEd1aWxkIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudmVuZG9yPSJLYW1pbCBLaXNpZWxhIgpMQUJFTCBvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsPSJodHRwczovL2dpdGh1Yi5jb20va2FtaWxraXNpZWxhL2dyYXBocWwtaGl2ZSIKTEFCRUwgb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZT0iaHR0cHM6Ly9naXRodWIuY29tL2thbWlsa2lzaWVsYS9ncmFwaHFsLWhpdmUiCgpFTlYgRU5WSVJPTk1FTlQgcHJvZHVjdGlvbgpFTlYgUkVMRUFTRSAkUkVMRUFTRQpFTlYgUE9SVCAkUE9SVAoKSEVBTFRIQ0hFQ0sgLS1pbnRlcnZhbD01cyBcCiAgLS10aW1lb3V0PTVzIFwKICAtLXN0YXJ0LXBlcmlvZD01cyBcCiAgLS1yZXRyaWVzPTYgXAogIENNRCAkSEVBTFRIQ0hFQ0tfQ01ECgpFTlRSWVBPSU5UIFsgIi9lbnRyeXBvaW50LnNoIiBdCg==",
      "language": "Dockerfile"
    },
    "range": [
      {
        "start": {
          "line": 20
        },
        "end": {
          "line": 20
        }
      }
    ]
  }
],
"composition-federation-2": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/rr9qlk0irgwr9e9bckfgjc4fd",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:8bdc387d4f71a1535e83da11fb826719f78cada7b7eda50bc326afbbe6595231",
    "size": 685
  },
  "containerimage.digest": "sha256:8bdc387d4f71a1535e83da11fb826719f78cada7b7eda50bc326afbbe6595231",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/composition-federation-2:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/composition-federation-2:feat_feature_flag_app_deployments"
},
"emails": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/03zpshdke9ix606524z921ayd",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:71f112ed7dc59d95dc8e91731efa57c18f612772186b72104d23a1dfbb0e947f",
    "size": 685
  },
  "containerimage.digest": "sha256:71f112ed7dc59d95dc8e91731efa57c18f612772186b72104d23a1dfbb0e947f",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/emails:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/emails:feat_feature_flag_app_deployments"
},
"policy": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/55a86s38hvtbib3vh0w9z6aak",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:3fd181ef8f5d192f4478e20bcdb6d4d9df34760f6b613dc9e6323557136b2d95",
    "size": 685
  },
  "containerimage.digest": "sha256:3fd181ef8f5d192f4478e20bcdb6d4d9df34760f6b613dc9e6323557136b2d95",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/policy:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/policy:feat_feature_flag_app_deployments"
},
"rate-limit": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/or627jcvfoijmtw5j0gledlhv",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:1d2259dbbb52a87ddfee19350f11e27c45a2ab10c2059cce8c5290c5471514c7",
    "size": 685
  },
  "containerimage.digest": "sha256:1d2259dbbb52a87ddfee19350f11e27c45a2ab10c2059cce8c5290c5471514c7",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/rate-limit:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/rate-limit:feat_feature_flag_app_deployments"
},
"schema": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/11k0ihtjsuliuz7l51o0xptcu",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:9b723e438c16ee847605ec53c73fea8aeaf295089ec9960f2d1dc724b5dbb2f8",
    "size": 685
  },
  "containerimage.digest": "sha256:9b723e438c16ee847605ec53c73fea8aeaf295089ec9960f2d1dc724b5dbb2f8",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/schema:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/schema:feat_feature_flag_app_deployments"
},
"server": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/wah0t9iltjnuortlapl7bpv10",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:7608471e984dc600cb7f66ad92a14fb082da7933b1ea7a01de7eef8da2b3d661",
    "size": 685
  },
  "containerimage.digest": "sha256:7608471e984dc600cb7f66ad92a14fb082da7933b1ea7a01de7eef8da2b3d661",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/server:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/server:feat_feature_flag_app_deployments"
},
"storage": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/kp2f700y36mkjkatixrv3rw5u",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:9550305b65a5035b82f092d292d23401b1bc7bdd489c15fcc7f2460c0a3023f3",
    "size": 685
  },
  "containerimage.digest": "sha256:9550305b65a5035b82f092d292d23401b1bc7bdd489c15fcc7f2460c0a3023f3",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/storage:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/storage:feat_feature_flag_app_deployments"
},
"stripe-billing": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/tryj5moknrdhwxx5ypvc29ojh",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:b1f78f9912b914057088f9f0e0576b0a8ccf77de0f27f699221b9cecf3d4863d",
    "size": 685
  },
  "containerimage.digest": "sha256:b1f78f9912b914057088f9f0e0576b0a8ccf77de0f27f699221b9cecf3d4863d",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/stripe-billing:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/stripe-billing:feat_feature_flag_app_deployments"
},
"tokens": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/t3uj79a25ax947gm9mv96x2bf",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:406c4282569f3e25d7494ca7bfb8bb4a0c27ef38ae84f9114c5381277c5c807b",
    "size": 685
  },
  "containerimage.digest": "sha256:406c4282569f3e25d7494ca7bfb8bb4a0c27ef38ae84f9114c5381277c5c807b",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/tokens:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/tokens:feat_feature_flag_app_deployments"
},
"usage": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/in8qnqt51s2x5q4ax0xkyp0cu",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:48ce42af99e09e0d20f8182cdb0f3bd1fab478aac5dd5b4e80f4a89a0d4e60b5",
    "size": 685
  },
  "containerimage.digest": "sha256:48ce42af99e09e0d20f8182cdb0f3bd1fab478aac5dd5b4e80f4a89a0d4e60b5",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/usage:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/usage:feat_feature_flag_app_deployments"
},
"usage-estimator": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/biqn3uwuwhzlxrmkhvukgkwff",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:11286e933917d0f3265f6620c51178d30c0242197194ce70b1b8a8569e0162a8",
    "size": 685
  },
  "containerimage.digest": "sha256:11286e933917d0f3265f6620c51178d30c0242197194ce70b1b8a8569e0162a8",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/usage-estimator:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/usage-estimator:feat_feature_flag_app_deployments"
},
"usage-ingestor": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/lfslq3bfc1udaigi3ugw8rvs9",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:d5848acd01f2e04927a54619a7b1fe4cdeb54c1391efd28531aa34c86a8f459e",
    "size": 685
  },
  "containerimage.digest": "sha256:d5848acd01f2e04927a54619a7b1fe4cdeb54c1391efd28531aa34c86a8f459e",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/usage-ingestor:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/usage-ingestor:feat_feature_flag_app_deployments"
},
"webhooks": {
  "buildx.build.ref": "builder-3859a88f-670e-4259-83c2-4c06a6ac42fc/builder-3859a88f-670e-4259-83c2-4c06a6ac42fc0/x3t8enra1pyiikdmn7es74a57",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "digest": "sha256:f2576ac575a1e741c4dec871a72465504e5e26aff3e7765bd594cffb50121659",
    "size": 685
  },
  "containerimage.digest": "sha256:f2576ac575a1e741c4dec871a72465504e5e26aff3e7765bd594cffb50121659",
  "image.name": "ghcr.io/kamilkisiela/graphql-hive/webhooks:a2e525d5e162b78b597a76633fe9b1850af79715,ghcr.io/kamilkisiela/graphql-hive/webhooks:feat_feature_flag_app_deployments"
}
}

@n1ru4l n1ru4l force-pushed the feat-feature-flag-app-deployments branch from 321edd4 to a2e525d Compare September 2, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants