Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mchmarny/eventstore
Knative CloudEvents Firestore Archiver
https://github.com/mchmarny/eventstore
golang knative kubernetes redis ui websocket
Last synced: 5 days ago
JSON representation
Knative CloudEvents Firestore Archiver
- Host: GitHub
- URL: https://github.com/mchmarny/eventstore
- Owner: mchmarny
- License: apache-2.0
- Created: 2019-01-11T18:35:38.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-25T03:31:08.000Z (over 1 year ago)
- Last Synced: 2024-06-21T20:02:57.459Z (5 months ago)
- Topics: golang, knative, kubernetes, redis, ui, websocket
- Language: Go
- Homepage: https://knative.dev
- Size: 6.05 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eventstore
Simple Knative service persisting Cloud Events to Cloud Firestore collection. Useful in Knative Events demos
## Prerequisites
* [Knative](https://github.com/knative/docs/blob/master/install) installed
* Configured [outbound network access (https://github.com/knative/docs/blob/master/serving/outbound-network-access.md)
* Installed [Knative Eventing](https://github.com/knative/docs/tree/master/eventing) using the `release.yaml` file## Deployment
Firestore client still requires GCP Project ID to create a client. So, before we can deploy this service to Knative, you will need to update the `GCP_PROJECT_ID` in Now in the `service.yaml` file.
```yaml
- name: GCP_PROJECT_ID
value: "enter your project ID here"
```Once done updating our service manifest (`service.yaml`) you are ready to deploy it.
```shell
kubectl apply -f deployments/service.yaml -n demo
```The response should be
```shell
service.serving.knative.dev "eventstore" configured
```To check if the service was deployed successfully you can check the status using `kubectl get pods -n demo` command. The response should look something like this (e.g. Ready `3/3` and Status `Running`).
```shell
NAME READY STATUS RESTARTS AGE
eventstore-0000n-deployment-5645f48b4d-mb24j 3/3 Running 0 10s
```## Configuration
To make `eventstore` service `cluster.local` so it does not expose externally accessible endpoint but still enable other services to discover it using `eventstore` simply add `serving.knative.dev/visibility: cluster-local` label to `deployments/service.yaml` service manifest
## Disclaimer
This is my personal project and it does not represent my employer. I take no responsibility for issues caused by this code. I do my best to ensure that everything works, but if something goes wrong, my apologies is all you will get.