{"id":17782200,"url":"https://github.com/rnowosielski/swaggerless","last_synced_at":"2025-08-12T20:32:07.469Z","repository":{"id":13526979,"uuid":"74677250","full_name":"rnowosielski/swaggerless","owner":"rnowosielski","description":"Gem for quick prototyping of microservices in AWS using API Gateway and Lambda","archived":false,"fork":false,"pushed_at":"2023-01-31T12:21:22.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-28T13:09:48.589Z","etag":null,"topics":["api-gateway","apigateway","aws-lambda","deployment","lambda","microservice","swager"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rnowosielski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-24T13:47:54.000Z","updated_at":"2023-01-31T12:21:28.000Z","dependencies_parsed_at":"2023-02-16T19:01:23.696Z","dependency_job_id":null,"html_url":"https://github.com/rnowosielski/swaggerless","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/rnowosielski/swaggerless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnowosielski%2Fswaggerless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnowosielski%2Fswaggerless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnowosielski%2Fswaggerless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnowosielski%2Fswaggerless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rnowosielski","download_url":"https://codeload.github.com/rnowosielski/swaggerless/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnowosielski%2Fswaggerless/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270132281,"owners_count":24532765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","apigateway","aws-lambda","deployment","lambda","microservice","swager"],"created_at":"2024-10-27T05:04:16.038Z","updated_at":"2025-08-12T20:32:07.146Z","avatar_url":"https://github.com/rnowosielski.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swaggerless\n\nThis simple gem is supposed to speed up work on deploying serverless applications into the AWS.\nThe idea behind this particualar development workflow is simple:\n\n1. Design you API using [OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification)\n2. Add extension entries to the specification accoding to [AWS Guidelines](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html)\n3. Add couple more extension entries to taste, that help the gem do the right thing\n4. Inlcude the Swaggerless in your Rakefile and see your service stub deployed to AWS Lambda, fronted by API Gateway\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'swaggerless'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install swaggerless\n    \n## Usage for desing first microservice development\n    \nThe gem was designed to be used together with Rake. It exports default taks to get you started. It can also be used with any framework.\n\nAll you need to start is the design of your service in Open API spec (Swagger). For example for an `some_endpoint`\n\n```\n  /some_endpoint:\n    post:\n      produces:\n      - \"application/json\"\n      responses:\n        200:\n          description: \"200 response\"\n          schema:\n            $ref: \"#/definitions/WebhookPayload\"\n      x-amazon-lambda-name: HipchatAgileIntegrations\n      x-amazon-lambda-handler: lambda.handler\n      x-amazon-lambda-runtime: nodejs4.3\n      x-amazon-lambda-timeout: 10\n      x-amazon-apigateway-integration:\n        type: aws_proxy\n        httpMethod: POST\n        passthroughBehavior: when_no_match\n``` \n\nAs you can see apart from standard [API Gateway Extensions to Swagger](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html) this gem will be additionally looking for:\n- x-amazon-lambda-name (required)\n- x-amazon-lambda-handler\n- x-amazon-lambda-runtime\n- x-amazon-lambda-timeout\n- x-amazon-lambda-log-forwarder\n\nOnce you have that, it is time to create your Rakefile\n\n```\nrequire 'swaggerless'\n\ncmd = 'cp package.json src/ \u0026\u0026 npm install --production --prefix src \u0026\u0026 rm src/package.json'\n%x[ #{cmd} ]\n\n@awsAccount = \u003cAWS account ID\u003e\n@lambdaRoleArn = \u003cAWS role you want to use for lambda execution\u003e\n@awsRegion = \u003cAWS region\u003e\n```\n\nand then calling `rake -T` should get you the following output:\n\n```\nrake swaggerless:clean                # Clean\nrake swaggerless:clean_aws_resources  # Clean AWS resources\nrake swaggerless:delete[environment]  # Remove stage and cleanup\nrake swaggerless:deploy[environment]  # Deploys to an environment specified as parameter\nrake swaggerless:package              # Package the project for AWS Lambda\n```\n\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/swaggerless.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnowosielski%2Fswaggerless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frnowosielski%2Fswaggerless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnowosielski%2Fswaggerless/lists"}