An open API service indexing awesome lists of open source software.

https://github.com/asyncapi-archived-repos/server-api

Server API providing official AsyncAPI tools
https://github.com/asyncapi-archived-repos/server-api

asyncapi docker get-global-node-release-workflows get-global-releaserc hacktoberfest nodejs

Last synced: 2 days ago
JSON representation

Server API providing official AsyncAPI tools

Awesome Lists containing this project

README

          

---

## :loudspeaker: ATTENTION:

This repo has been archived as code is moved to https://github.com/asyncapi/cli/tree/master/src/apps/api.

## :loudspeaker: ATTENTION:
---

[![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-)

- [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
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](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!