Sysl Proxy is a proxy service to supply .sysl and .pb.json specifications to sysl clients. It is modelled off go modules, and depends on gop. It is designed to be deployed on google cloud functions, using the ServeHTTP function.
There are a couple of environment variables that need to be set:
CacheLocation
: either the bucket or directory that the .sysl contents will be cached to.CacheLocationSyslJson
: either the bucket or directory that the .sysl.pb.json contents will be cached to.FsType
: os/mem/gcs for os filesystem, in memory filesystem, or a gcs bucket respectivelyPROJECT_NUM
: The unique project number for the google cloud project
Secrets stored in Google secret manager:
GH_TOKEN
: A github personal access tokenHTTP_PROXY
: HTTP proxy url to use
See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them.
- Go 1.13: currently google cloud functions only support upto the go 1.13 runtime
go test ./...
go run ./servehttp/
- This will run a sysl proxy server on
localhost:8082
- See .github/workflows/cloud-function-deploy.yml
- Google Cloud Functions - Deployment
- Google Cloud Storage - Asset caching
- Google Secret Manager - Secret storage
- Golang - Server
- Go Modules: Athens Project: https://github.com/gomods/athens