add tools and update readme/todo
All checks were successful
Build and Publish / release (push) Has been skipped
Build and Publish / check-chart (push) Successful in 11s
Build and Publish / helm-release (push) Has been skipped

This commit is contained in:
Ryan McGuire 2025-04-01 09:10:43 -04:00
parent 0b1826951e
commit b1102825fe
4 changed files with 23 additions and 7 deletions

View File

@ -25,32 +25,39 @@ Check out the [go-app framework](https://gitea.libretechconsulting.com/rmcguire/
## 📚 Getting Started ## 📚 Getting Started
1. Install tools:
- Install make, protoc, and go using brew, apt, etc..
- Install protoc plugins (provided in go.mod tool()):
- `go get -v tool && go install -v tool`
1. **Rename your package:** 1. **Rename your package:**
```sh ```sh
make rename NAME=my.gitremote.com/pathto/repo make rename NAME=my.gitremote.com/pathto/repo
``` ```
2. **Review the config struct:** 1. **Review the config struct:**
Update and customize your app-specific configuration. This merges with go-app's configuration, providing logging, HTTP, and GRPC config for free. Update and customize your app-specific configuration. This merges with go-app's configuration, providing logging, HTTP, and GRPC config for free.
3. **Generate a new JSON schema:** 1. **Generate a new JSON schema:**
```sh ```sh
make schema make schema
``` ```
- Ensure your structs have `yaml` and `json` tags. - Ensure your structs have `yaml` and `json` tags.
- With the `yaml-language-server` LSP plugin, the schema will be auto-detected in your `config.yaml`. - With the `yaml-language-server` LSP plugin, the schema will be auto-detected in your `config.yaml`.
4. **Compile proto files:** 1. **Compile proto files:**
```sh ```sh
make proto make proto
``` ```
- Add paths under `proto/` as necessary. - Add paths under `proto/` as necessary.
5. **Implement your application logic.** 1. **Implement your application logic.**
6. **Update Gitea CI configuration:** 1. **Update Gitea CI configuration:**
Modify parameters in `.gitea/workflows/ci.yaml` as needed. Modify parameters in `.gitea/workflows/ci.yaml` as needed.
1. Tag your release: `git tag v0.1.0` and push `git push --tags`
--- ---
## 📂 Project Structure ## 📂 Project Structure

View File

@ -1,8 +1,7 @@
# Demo app TODO # Demo app TODO
- [ ] Update README for tagging/versioning/pipeline info - [ ] Update README for tagging/versioning/pipeline info
- [ ] Update README for detail on installing protoc tools and make - [x] Update README for detail on installing protoc tools and make
- [ ] Add helm external secrets support
- [x] Rename project - [x] Rename project
- [x] Finish grpc sample implementation - [x] Finish grpc sample implementation
- [x] Add Dockerfile - [x] Add Dockerfile

8
go.mod
View File

@ -55,4 +55,12 @@ require (
golang.org/x/net v0.38.0 // indirect golang.org/x/net v0.38.0 // indirect
golang.org/x/text v0.23.0 // indirect golang.org/x/text v0.23.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 // indirect
)
tool (
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
google.golang.org/grpc/cmd/protoc-gen-go-grpc
google.golang.org/protobuf/cmd/protoc-gen-go
) )

2
go.sum
View File

@ -134,6 +134,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=
google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=