Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asyncapi/server-api
Server API providing official AsyncAPI tools
https://github.com/asyncapi/server-api
asyncapi docker get-global-node-release-workflows get-global-releaserc hacktoberfest nodejs
Last synced: about 2 months ago
JSON representation
Server API providing official AsyncAPI tools
- Host: GitHub
- URL: https://github.com/asyncapi/server-api
- Owner: asyncapi
- License: apache-2.0
- Created: 2021-10-18T11:47:29.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-06-11T12:13:34.000Z (8 months ago)
- Last Synced: 2024-10-29T22:38:04.618Z (3 months ago)
- Topics: asyncapi, docker, get-global-node-release-workflows, get-global-releaserc, hacktoberfest, nodejs
- Language: TypeScript
- Homepage:
- Size: 5.91 MB
- Stars: 30
- Watchers: 4
- Forks: 33
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
[![AsyncAPI Server API](./.github/assets/banner.png)](https://www.asyncapi.com)
Server API providing official AsyncAPI tools.
[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-)
---
## :loudspeaker: ATTENTION:
This package is still under development and has not published and reached version 1.0.0 yet. This means that its API may contain breaking changes until we're able to deploy the first stable version and begin semantic versioning.
---
- [Requirements](#requirements)
- [Using it locally](#using-it-locally)
- [Using it via Docker](#using-it-via-docker)
- [Development](#development)
- [Deployment](#deployment)
* [How the GitHub workflow works](#how-the-github-workflow-works)
- [Contribution](#contribution)
- [Supported by](#supported-by)
- [Contributors](#contributors)## Requirements
- [NodeJS](https://nodejs.org/en/) >= 14
## Using it locally
Run:
```bash
npm install
npm run start:prod
```server is ready to use on [http://localhost:80](http://localhost:80).
## Using it via Docker
Run:
```bash
docker run -it -p 80:80 asyncapi/server-api
```server is ready to use on [http://localhost:80](http://localhost:80).
## Development
1. Setup project by installing dependencies `npm install`
2. Write code and tests.
3. Make sure all tests pass `npm test`## Deployment
This project is deployed to [DigitalOcean App Platform](https://www.digitalocean.com/products/app-platform/) using [Terraform](https://www.terraform.io/) and [GitHub Actions](https://www.github.com/digitalocean/app_action/). To deploy it to your own account, follow these steps:
1. Fork this repository.
2. Create a [DigitalOcean Personal Access Token](https://cloud.digitalocean.com/account/api/tokens) with `read` and `write` permissions. For more information, see [DigitalOcean's documentation](https://docs.digitalocean.com/reference/api/create-personal-access-token/).
3. Run `terraform init` to initialize the Terraform project as can be seen [here](./deployments/apps/main.tf). This should be run being located at ./deployments/apps directory preferably.
4. Run `terraform apply` to create the necessary infrastructure.> [!NOTE]
> You need to export the following environment variables before running `terraform apply`:
> - `DIGITALOCEAN_ACCESS_TOKEN`: Your DigitalOcean Personal Access Token.### How the GitHub workflow works
The [GitHub workflow](./.github/workflows/release-docker.yml) is triggered when a new tag is pushed to the repository. It will build a new Docker image and push it to the [Docker Hub](https://hub.docker.com/r/asyncapi/server-api) repository. Then the [DigitalOcean App Platform GitHub Action](https://www.github.com/digitalocean/app_action/) updates the application with the new image.
## Contribution
Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide.
## Supported by
## Contributors
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Maciej Urbańczyk
🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑🏫
David Pereira
🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑🏫
Sergio Moya
🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑🏫
Ritik Rawal
💻 📖
Everly Precia Suresh
💻 📖
Ashish Padhy
📖 🚇
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!