https://github.com/metalbear-co/playground
Playground for mirrord - services written in different languages to try out mirrord with
https://github.com/metalbear-co/playground
Last synced: 23 days ago
JSON representation
Playground for mirrord - services written in different languages to try out mirrord with
- Host: GitHub
- URL: https://github.com/metalbear-co/playground
- Owner: metalbear-co
- License: mit
- Created: 2023-03-13T06:41:01.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-25T17:19:52.000Z (about 1 month ago)
- Last Synced: 2025-03-28T08:39:35.542Z (about 1 month ago)
- Language: Go
- Size: 6.84 MB
- Stars: 2
- Watchers: 2
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MetalBear Playground
This repository contains different microservices and Kubernetes manifests to deploy them.
Each microservice has it's own `app.yaml` that should contain all of it's dependencies (besides other microservices).To deploy on GKE, run:
```
kubectl apply -k overlays/gke
```## SQS
To enable SQS:
1. Install mirrord Operator in cluster (with SQS splitting enabled)
2. `aws iam create-user --user-name SQSPlayground`
3. `aws iam create-access-key --user-name SQSPlayground` - save data to file
4. `aws sqs create-queue --queue-name IpCount` - take QueueUrl to be used in deployment.yaml
5. You need to edit `ip-visit-sqs-consumer/policy.json` and set REGION and ACCOUNT_ID
6. `aws iam create-policy --policy-name SQSPlaygroundPolicy --policy-document file://ip-visit-sqs-consumer/policy.json`
7. `aws iam attach-user-policy --policy-arn arn:aws:iam::526936346962:policy/SQSPlaygroundPolicy --user-name SQSPlayground`
8. Set Region in app.yaml in `ip-visit-counter` and `ip-visit-sqs-consumer`## Proto
To build proto
```
cd proto
protoc --go_out=../protogen --go_opt=paths=source_relative \
--go-grpc_out=../protogen --go-grpc_opt=paths=source_relative ./ipinfo.proto
```## Minikube/Local
For a local setup without SQS, run:
```
kubectl apply -k overlays/local
```For a local setup with SQS (localstack) run:
```
kubectl kustomize --enable-helm overlays/localstack | kubectl apply -f -
```
This requires having helm installed.To use SQS splitting, it should be enabled on operator installation.
When enabling SQS splitting in the installation, you are required to
specify an ARN of an AWS role. When working with localstack, that flag
is still required, but it doesn't really matter what ARN you provide,
so you can use e.g.
`--aws-role-arn=arn:aws:iam::526936346960:role/mirrord-operator-dummy-role`.Then patch the mirrord operator to use localstack for SQS:
```bash
kubectl patch deployment mirrord-operator -n mirrord --patch-file overlays/localstack/localstack-env-vars-patch.yaml --type json
```