The Polyglot Friendly Provider Schema
Basic Concept
- Have the schema in
/schema/provider.json
- Have both package.json and go.mod in root
- Have a github action to update version for both package.json (go packages already use git tags; https://github.com/marketplace/actions/automated-version-bump)
- Publish package to NPM. The entrypoint is the JSON file. It's importable in TS as long as the
tsconfig.json
has"resolveJsonModule": true, "esModuleInterop: true"
Result
- Schema version locally will be able to be managed without the added complexity of helm by using each languages' package manager
Caveats
- The Go based schema will be read via
os.Open
and hence the schema will need to be cached after reading upon server boot