Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Kong/insomnia-mockbin
Insomnia Mockbin is the underlying backend for the API mocks capability of Insomnia. It is built and used by Kong, the author of the open-source Kong Gateway.
https://github.com/Kong/insomnia-mockbin
api-client api-management api-mock api-test api-testing apis mocking testing-tools
Last synced: 12 days ago
JSON representation
Insomnia Mockbin is the underlying backend for the API mocks capability of Insomnia. It is built and used by Kong, the author of the open-source Kong Gateway.
- Host: GitHub
- URL: https://github.com/Kong/insomnia-mockbin
- Owner: Kong
- License: other
- Created: 2014-03-10T18:34:36.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-27T15:01:03.000Z (3 months ago)
- Last Synced: 2024-10-29T15:38:07.593Z (15 days ago)
- Topics: api-client, api-management, api-mock, api-test, api-testing, apis, mocking, testing-tools
- Language: JavaScript
- Homepage: https://insomnia.rest/
- Size: 682 KB
- Stars: 2,037
- Watchers: 58
- Forks: 212
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Insomnia Mockbin ![version][npm-version] [![License][npm-license]][license-url]
**Note:** This repository is source visibile, but not open-source. Please check the [LICENSE](LICENSE) before using this software.
Insomnia Mockbin is maintained by [Kong](https://github.com/Kong), who also maintains the open-source API Gateway [Kong](https://github.com/Kong/kong) and [Insomnia](https://github.com/Kong/insomnia).
## Table of contents
- [Insomnia Mockbin ](#insomnia-mockbin--)
- [Table of contents](#table-of-contents)
- [Features](#features)
- [Installation](#installation)
- [Requirements](#requirements)
- [Running with Node](#running-with-node)
- [Running with Docker Compose](#running-with-docker-compose)
- [Documentation](#documentation)
- [API Docs](#api-docs)
- [Releasing](#releasing)
- [Software Bill of materials](#software-bill-of-materials)
- [Verify a container image signature](#verify-a-container-image-signature)
- [Verify a container image provenance](#verify-a-container-image-provenance)
- [Bugs and feature requests](#bugs-and-feature-requests)
- [Contributing](#contributing)
- [License](#license)## Features
- uses HAR format
- supports JSON, YAML, XML, HTML output
- plays nice with proxies (uses the X-Forwarded-* headers for IP resolution)
- allows for HTTP Method Override using the header `X-HTTP-Method-Override` or through query string parameter: `_method`
- create custom bins for experimenting log collection## Installation
### Requirements
- [Redis](http://redis.io/)
```shell
brew install redis
brew services start redis
```Redis should be now running on localhost:6379
Mockbin will start without redis but you wont be able to set or get response bins.```shell
git clone https://github.com/Kong/mockbin.git ./mockbin
cd mockbin
cp .env.sample .env
brew install fnm
fnm use
npm install
```Note: nvm, n or volta can be used instead of fnm.
### Running with Node
```shell
npm start
# OR watch for changes
npm run dev
# OR with debug logs
DEBUG=mockbin npm run dev
```## Running with Docker Compose
```shell
docker compose up
```## Documentation
### API Docs
Read the full API documentation, please review the [API Docs](https://github.com/Kong/mockbin/tree/master/docs).
## Releasing
Run the following command and push the newly created commit into your PR.
This will bump commit and tag, you will need to push this to the remote, which trigger the release action upon merging the PR.```sh
npm version patch
git push origin tag
```### Software Bill of materials
Kong Insomnia Mockbin produces SBOMs for the below categories:
- For docker container images
- For source code repositoryThe SBOMs are available to download at:
- Github Release / Tag Assets
- Github workflow assets for other workflow runs### Verify a container image signature
Docker container images are now signed using cosign with signatures published to a [Github Container registry](https://ghcr.io) with `insomnia-mockbin` repository.
Steps to verify signatures for signed Kong Insomnia Mockbin Docker container images in two different ways:
A minimal example, used to verify an image without leveraging any annotations. For the minimal example, you only need Docker details, a GitHub repo name, and a GitHub workflow filename.
```code
cosign verify \
ghcr.io/kong/insomnia-mockbin:@sha256: \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
--certificate-identity-regexp='https://github.com/Kong/insomnia-mockbin/.github/workflows/release.yaml'
```A complete example, leveraging optional annotations for increased trust. For the complete example, you need the same details as the minimal example, as well as any of the optional annotations you wish to verify:
```code
cosign verify \
ghcr.io/kong/insomnia-mockbin:@sha256: \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
--certificate-identity-regexp='https://github.com/Kong/insomnia-mockbin/.github/workflows/release.yaml' \
-a repo='Kong/insomnia-mockbin' \
-a workflow='Package & Release'
```### Verify a container image provenance
Kong Insomnia Mockbin produces build provenance for docker container images for `Github tags`, which can be verified using cosign / slsa-verifier with attestations published to a [Github Container registry](https://ghcr.io) with `insomnia-mockbin` repository.
Steps to verify provenance for signed Kong Insomnia Mockbin Docker container images:
1. Fetch the image `` using regctl:
```code
regctl image digest ghcr.io/kong/insomnia-mockbin:
```2. A minimal example, used to verify an image without leveraging any annotations. For the minimal example, you only need Docker Image manifest, a GitHub repo name.
```code
cosign verify-attestation \
ghcr.io/kong/insomnia-mockbin:@sha256: \
--type='slsaprovenance' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
--certificate-identity-regexp='^https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v[0-9]+.[0-9]+.[0-9]+$'
``````code
slsa-verifier verify-image \
ghcr.io/kong/insomnia-mockbin:@sha256: \
--print-provenance \
--source-uri 'github.com/Kong/insomnia-mockbin'
```3. A complete example, leveraging optional annotations for increased trust. For the complete example, you need the same details as the minimal example, as well as any of the optional annotations you wish to verify:
```code
cosign verify-attestation \
ghcr.io/kong/insomnia-mockbin:@sha256: \
--type='slsaprovenance' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
--certificate-identity-regexp='^https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v[0-9]+.[0-9]+.[0-9]+$' \
--certificate-github-workflow-repository='Kong/insomnia-mockbin' \
--certificate-github-workflow-name='Package & Release'
``````code
slsa-verifier verify-image \
ghcr.io/kong/insomnia-mockbin:@sha256: \
--print-provenance \
--source-uri 'github.com/Kong/insomnia-mockbin' \
--source-tag ''
```## Bugs and feature requests
Have a bug or a feature request? Please first read the [issue guidelines](CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](/issues).
## Contributing
Please read through our [contributing guidelines](CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
More over, if your pull request contains JavaScript patches or features, you must include relevant unit tests.
Editor preferences are available in the [editor config](.editorconfig) for easy use in common text editors. Read more and download plugins at .
## License
[Enterprise](LICENSE) © [Kong](https://www.konghq.com)
[license-url]: https://github.com/Kong/mockbin/blob/master/LICENSE
[npm-license]: https://img.shields.io/npm/l/mockbin.svg?style=flat-square
[npm-version]: https://img.shields.io/npm/v/mockbin.svg?style=flat-square