Zappa
Zappa copied to clipboard
[Migrated] Feature: Ability to use existing API Gateway
Originally from: https://github.com/Miserlou/Zappa/issues/1576 by bharling
Context
Hi, we're a small company in the process of gradually expanding our monolithic elasticbeanstalk application with smaller targeted microservices based on ApiStar / Zappa. We're getting good mileage so far and have deployed a small selection of background task-type services using SNS messaging as triggers, however we'd really like to start adding actual endpoints to our stack that call lambda functions. I've been trying for a couple of days to figure out how to properly setup an API gateway that will proxy to both our existing stack and newer services deployed with zappa. I've tried manually setting up a custom domain for the zappa apps and a cloudfront distro in front of both the existing stack and the new api gateway but am not getting very far. It would be a lot simpler IMO if we could specify an existing API gateway ARN in the zappa_settings.json and elect to use that so that it could integrate with an existing configuration.
Expected Behavior
Would be great if I could specify "api_gateway_arn" in the zappa_settings.json file to use an existing api gateway
Actual Behavior
There is no option to do this
Possible Fix
I guess this is not straightforward given the API gateway is created via a cloudformation template, I guess it'd require moving some of that to boto functions instead ?
Steps to Reproduce
N/A
Your Environment
- Zappa version used: 0.46.2
- Operating System and Python version: 3.6
- The output of
pip freeze
: ably==1.0.1 apistar==0.5.40 argcomplete==1.9.3 attrs==18.1.0 awscli==1.15.19 backcall==0.1.0 base58==1.0.0 boto3==1.7.0 botocore==1.10.36 cairocffi==0.8.1 CairoSVG==2.1.3 certifi==2018.4.16 cffi==1.11.5 cfn-flip==1.0.3 chardet==3.0.4 click==6.7 colorama==0.3.7 cookies==2.2.1 coverage==4.5.1 cssselect2==0.2.1 decorator==4.3.0 defusedxml==0.5.0 docutils==0.14 durationpy==0.5 et-xmlfile==1.0.1 Faker==0.8.15 Flask==0.12.2 future==0.16.0 hjson==3.0.1 html5lib==1.0.1 humanize==0.5.1 idna==2.7 ipython==6.4.0 ipython-genutils==0.2.0 itsdangerous==0.24 jdcal==1.4 jedi==0.12.0 Jinja2==2.10 jmespath==0.9.3 kappa==0.6.0 lambda-packages==0.20.0 MarkupSafe==1.0 more-itertools==4.1.0 msgpack-python==0.5.6 openpyxl==2.5.3 parso==0.2.1 pdfrw==0.4 pexpect==4.5.0 pickleshare==0.7.4 Pillow==5.1.0 placebo==0.8.1 pluggy==0.6.0 prompt-toolkit==1.0.15 psycopg2==2.7.4 ptyprocess==0.5.2 py==1.5.3 pyasn1==0.4.2 pycparser==2.18 Pygments==2.2.0 PyNaCl==1.2.1 Pyphen==0.9.4 pytest==3.5.1 pytest-cov==2.5.1 pytest-cover==3.0.0 pytest-coverage==0.0 pytest-faker==2.0.0 pytest-mock==1.10.0 -e git+https://github.com/crowdcomms/pytest-sqlalchemy.git@f9c666196d59edd289ecf57704ec7b51cff4440a#egg=pytest_sqlalchemy python-dateutil==2.6.1 python-slugify==1.2.4 PyYAML==3.12 requests==2.19.0 responses==0.9.0 rsa==3.4.2 s3transfer==0.1.13 simplegeneric==0.8.1 six==1.11.0 SQLAlchemy==1.2.7 text-unidecode==1.2 tinycss2==0.6.1 toml==0.9.4 tqdm==4.19.1 traitlets==4.3.2 troposphere==2.3.0 Unidecode==1.0.22 urllib3==1.23 virtualenv==15.2.0 wcwidth==0.1.7 WeasyPrint==0.42.3 webencodings==0.5.1 Werkzeug==0.14.1 whitenoise==3.3.1 wsgi-request-logger==0.4.6 zappa==0.46.2
Dear god... PLEASE. The nightmare of having to deal with all these Gateways makes it a nightmare to deal with microservices.
Hi there! Unfortunately, this Issue has not seen any activity for at least 90 days. If the Issue is still relevant to the latest version of Zappa, please comment within the next 10 days if you wish to keep it open. Otherwise, it will be automatically closed.
Hi there! Unfortunately, this Issue was automatically closed as it had not seen any activity in at least 100 days. If the Issue is still relevant to the latest version of Zappa, please open a new Issue.