/asyncapi-server-api

Server API providing official AsyncAPI tools

Primary LanguageTypeScriptApache License 2.0Apache-2.0

AsyncAPI Server API

Server API providing official AsyncAPI tools.

All Contributors


📢 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

Using it locally

Run:

npm install
npm run start:prod

server is ready to use on http://localhost:80.

Using it via Docker

Run:

docker run -it -p 80:80 asyncapi/server-api

server is ready to use on 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 using Terraform and GitHub Actions. To deploy it to your own account, follow these steps:

  1. Fork this repository.
  2. Create a DigitalOcean Personal Access Token with read and write permissions. For more information, see DigitalOcean's documentation.
  3. Run terraform init to initialize the Terraform project as can be seen here. 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 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 repository. Then the DigitalOcean App Platform GitHub Action updates the application with the new image.

Contribution

Read CONTRIBUTING guide.

Supported by

Contributors

Thanks goes to these wonderful people (emoji key):

Maciej Urbańczyk
Maciej Urbańczyk

🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑‍🏫
David Pereira
David Pereira

🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑‍🏫
Sergio Moya
Sergio Moya

🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑‍🏫
Ritik Rawal
Ritik Rawal

💻 📖
Everly Precia Suresh
Everly Precia Suresh

💻 📖
Ashish Padhy
Ashish Padhy

📖 🚇

This project follows the all-contributors specification. Contributions of any kind welcome!