sid88in / sid88in/serverless-appsync-plugin

add in DefinitionS3Location support for GraphQL apis

Open
#746 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
955
Forks
187
PR merge metrics
No merged PRs in 30d

Description

Scope & Context

So in our org we're currently hitting the CloudFormation template limit - and being frank it's causing us nothing but headaches. One solution that we're investigating is using DefinitionS3Location for uploading GraphQL APIs and passing in the template from there as a configuration option. We're using Terraform to manage S3 and other resources for us, so it wouldn't be too difficult for us but I'm aware that this may conflict with deployment ordering.

I saw this issue which had a similar case for using them on resolvers: https://github.com/sid88in/serverless-appsync-plugin/issues/589 but I saw that wasn't the direction we wanted to use for this package.

Example:

appSync:
  schema:
    s3:
      bucket: my-schema-bucket
      key: schema.graphql

And then it'll save a lot of template headroom.

Current behavior

At the moment, the text SDL for the GraphQL schema is currently uploaded as part of the CF template, and then we blow past the template limits.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the appSync.schema configuration and how its SDL is placed in the CloudFormation template. Compare the requested schema.s3 bucket/key shape with the resolver S3 case referenced in issue #589, while considering deployment ordering. Done means GraphQL APIs can use DefinitionS3Location without exceeding the template limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, graphql, typescript
Domain
api, build-system, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.