Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/harrisoncramer/video-streaming-microservices
Distributed video streaming application built on Node.js, RabbitMQ, and Azure for file storage.
https://github.com/harrisoncramer/video-streaming-microservices
azure docker javascript microservice microservices nodejs rabbitmq
Last synced: about 1 month ago
JSON representation
Distributed video streaming application built on Node.js, RabbitMQ, and Azure for file storage.
- Host: GitHub
- URL: https://github.com/harrisoncramer/video-streaming-microservices
- Owner: harrisoncramer
- Created: 2021-09-24T02:20:22.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-20T02:47:47.000Z (about 3 years ago)
- Last Synced: 2023-04-22T00:48:45.527Z (over 1 year ago)
- Topics: azure, docker, javascript, microservice, microservices, nodejs, rabbitmq
- Language: HCL
- Homepage:
- Size: 6.58 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history/Dockerfile-dev
Awesome Lists containing this project
README
# Video Streaming Microservice
## Installation
To install all microservices (in root directory): `node install.js`
To install a particular microservice (in microservice directory): `npm install`
## Development
`docker-compose up --build`
## Production
### Create Service Principal
In order to give our cluster the ability to create resources in Azure on our behalf (like load balancers) we must create a service principal. At time of writing, Terraform's implementation of this is buggy, so we have to do this manually.
1. Get the ID of your Azure account: `az account show`
2. Create service principal: `az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/"`
3. Create a `sensitive.tfvars` file, with `appId` from step 2 as `client_id` and `password` as the `client_secret`.### Create the AKS
1. Create the infrastructure: `terraform apply -var-file="sensitive.tfvars"`### Save Credentials for Kubectl
1. Get credentials: `az aks get-credentials --resource-group --name `
2. View new credentials: `cat ~/.kube/config`### Install Dashboard
1. Install the dashboard: `kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml`
2. Connect: `kubectl proxy`