All checks were successful
Generate and Release Protos / release (push) Successful in 38s
backend-data-contracts
This repository is the single source of truth for all schema definitions used across the Owlboard backend communication and storage services. Language specific types are generated here and published to the Gitea package repository linked to the repo.
Directory Structure
| Path | Description |
|---|---|
schemas |
JSON Schema files organised into clear subfolders |
scripts |
Workflow Scripts |
Code Generation and Publishing Workflow
The generation and release process is automated via Gitea Actions. It is triggered whenever a new SemVer tag (e.g., v1.0.0) is pushed to this repository.
To Consume the Contracts
1. Go Services
Since the package is hosted in the Gitea Package Registry, you must configure your environment to use the Gitea instance as a proxy.
Setup:
# Set the proxy to check our Gitea instance first
go env -w GOPROXY="https://git.fjla.uk/api/packages/OwlBoard/go,https://proxy.golang.org,direct"
# Trust our internal domain and skip the public Google checksum database
go env -w GONOSUMDB="git.fjla.uk"
The, you can simply run go get, as usual.
Container Usage
ARG GOPROXY=https://git.fjla.uk/api/packages/OwlBoard/go,https://proxy.golang.org,direct
ARG GONOSUMDB=git.fjla.uk
ENV GOPROXY=$GOPROXY
ENV GONOSUMDB=$GONOSUMDB
2. Typescript Services
You will need to configure .npmrc in your projects root directory to point to the correct repo:
@owlboard:registry=https://git.fjla.uk/api/packages/OwlBoard/npm/
Then you can install as usual:
npm install @owlboard/backend-data-contracts@0.1.0
Description
Languages
Shell
100%