Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raezil/prototext
CRUD grpc application in Golang
https://github.com/raezil/prototext
backend crud-application golang grpc grpc-gateway grpc-go kubernetes prisma-go protobuf
Last synced: 20 days ago
JSON representation
CRUD grpc application in Golang
- Host: GitHub
- URL: https://github.com/raezil/prototext
- Owner: Raezil
- Created: 2024-09-30T16:54:08.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-03T10:00:58.000Z (2 months ago)
- Last Synced: 2024-12-18T21:44:58.832Z (20 days ago)
- Topics: backend, crud-application, golang, grpc, grpc-gateway, grpc-go, kubernetes, prisma-go, protobuf
- Language: Go
- Homepage: https://medium.com/@kamilmociszko/build-grpc-crud-app-in-golang-using-prisma-jwt-grpc-gateway-and-kubernetes-a11c3953a880
- Size: 10.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ProtoText
Published on Medium
https://medium.com/@kamilmociszko/build-grpc-crud-app-in-golang-using-prisma-jwt-grpc-gateway-and-kubernetes-a11c3953a880## Kubernetes
### Run Docker
```
docker build -t app:latest .
docker login
docker push $docker_username/app:latest
```- Apply kubectl
```
minikube start
cd k8s
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
```
- Port Foward
```
kubectl port-forward service/app-service 8080:8080 -n default
```
- Check pods
```
kubectl get pods -n default
kubectl describe pod $NAME -n default
```## Sample curl requests
Register:
```
curl --http2 -X POST http://localhost:8080/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "password123",
"name": "John",
"surname": "Doe",
"age": 30
}'
```
Log in
```
curl --http2 -X POST http://localhost:8080/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "password123"
}'```
Protected request
```
curl --http2 -X POST http://localhost:8080/v1/auth/protected -H "Content-Type: application/json" -H "Authorization: $TOKEN" -d '{
"text": "This is a protected request."
}'
```