Model Generator for Firestore

volcago

Automatically generate code used by Cloud Firestore.

日本語ドキュメント

Installation

Recommend that you drop the binary from the release and use it.
Also, possible with go install

$ go install github.com/go-generalize/volcago

Usage

package task

import (
	"time"
)

//go:generate volcago Task

type Task struct {
	ID      string          `firestore:"-"           firestore_key:""`
	Desc    string          `firestore:"description" indexer:"suffix,like" unique:""`
	Done    bool            `firestore:"done"        indexer:"equal"`
	Count   int             `firestore:"count"`
	Created time.Time       `firestore:"created"`
	Indexes map[string]bool `firestore:"indexes"`
}

By writing a line starting with go:generate, the model for firestore will be automatically generated.

When used in SubCollection, add the argument -sub-collection.

If you want to use Meta information (such as CreatedAt and Version used in optimistic exclusive lock) together,
you can use it by embedding a structure whose suffix is Meta.

The format of the Meta structure is as follows.

type Meta struct {
	CreatedAt time.Time
	CreatedBy string
	UpdatedAt time.Time
	UpdatedBy string
	DeletedAt *time.Time
	DeletedBy string
	Version   int
}

Also, one element in the struct must have an element with firestore_key:"".
The type of this element must be string.
ID is automatically generated by setting firestore_key:"auto".

If you execute go generate in this state, the model will be generated in a file with the suffix _gen.go.

$ go generate

Unique constraint

If there is a tag called unique, a document for unique constraints will be generated in another collection called Unique.
Use when you do not want to allow duplicates such as phone numbers and email addresses.
The type of this element must be string.

Search diversity

The existence of a field called Indexes (map[string]bool type) enables n-gram search using xim.
Corresponding search is prefix/suffix/partial/exact match. (tag: prefix/suffix/like/equal)
Since xim uses only Unigram Bigram, it is prone to noise (eg, when 東京都 searches in 京都, it hits).

Search query

Task.Desc = "Hello, World!".

  • Partial match search
param := &model.TaskSearchParam{
	Desc: model.NewQueryChainer().Filters("o, Wor", model.FilterTypeAddBiunigrams),
}

tasks, err := taskRepo.Search(ctx, param, nil)
if err != nil {
	// error handling
}
  • Prefix match search
param := &model.TaskSearchParam{
	Desc: model.NewQueryChainer().Filters("Hell", model.FilterTypeAddPrefix),
}

tasks, err := taskRepo.Search(ctx, param, nil)
if err != nil {
	// error handling
}
  • Suffix match search
param := &model.TaskSearchParam{
	Desc: model.NewQueryChainer().Filters("orld!", model.FilterTypeAddSuffix),
}

tasks, err := taskRepo.Search(ctx, param, nil)
if err != nil {
	// error handling
}
  • Exact match search
chainer := model.NewQueryChainer
param := &model.TaskSearchParam{
	Desc: chainer().Filters("Hello, World!", model.FilterTypeAdd),
	Done: chainer().Filters(true, model.FilterTypeAddSomething), // Use Add Something when it is not a string.
}

tasks, err := taskRepo.Search(ctx, param, nil)
if err != nil {
	// error handling
}

Query builder

The code for the query builder called query_builder_gen.go is generated.

qb := model.NewQueryBuilder(taskRepo.GetCollection())
qb.GreaterThan("count", 3)
qb.LessThan("count", 8)

tasks, err := taskRepo.Search(ctx, nil, qb.Query())
if err != nil {
	// error handling
}

Strict update

Use a function called StrictUpdate.
By using this, firestore.Increment etc. can also be used.
Uniquely constrained fields are not available.

param := &model.TaskUpdateParam{
	Done:    false,
	Created: firestore.ServerTimestamp,
	Count:   firestore.Increment(1),
}
if err = taskRepo.StrictUpdate(ctx, id, param); err != nil {
	// error handling
}

Examples

Generated code example.

License

  • Under the MIT License
  • Copyright (C) 2021 go-generalize
Comments
  • build(deps): bump google.golang.org/api from 0.98.0 to 0.101.0

    build(deps): bump google.golang.org/api from 0.98.0 to 0.101.0

    Bumps google.golang.org/api from 0.98.0 to 0.101.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.101.0

    0.101.0 (2022-10-25)

    Features

    v0.100.0

    0.100.0 (2022-10-18)

    Features

    • all: Auto-regenerate discovery clients (#1712) (f9e15f2)
    • all: Auto-regenerate discovery clients (#1717) (f990a2a)
    • internal/gensupport: Remove DetermineContentType, use gax-go copy (#1716) (37f90e9)

    Bug Fixes

    • idtoken: Allow missing age in http response header (#1715) (b235b1f)

    v0.99.0

    0.99.0 (2022-10-14)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.101.0 (2022-10-25)

    Features

    0.100.0 (2022-10-18)

    Features

    • all: Auto-regenerate discovery clients (#1712) (f9e15f2)
    • all: Auto-regenerate discovery clients (#1717) (f990a2a)
    • internal/gensupport: Remove DetermineContentType, use gax-go copy (#1716) (37f90e9)

    Bug Fixes

    • idtoken: Allow missing age in http response header (#1715) (b235b1f)

    0.99.0 (2022-10-14)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump cloud.google.com/go/firestore from 1.7.0 to 1.8.0

    build(deps): bump cloud.google.com/go/firestore from 1.7.0 to 1.8.0

    Bumps cloud.google.com/go/firestore from 1.7.0 to 1.8.0.

    Release notes

    Sourced from cloud.google.com/go/firestore's releases.

    firestore: v1.8.0

    1.8.0 (2022-10-17)

    Features

    Changelog

    Sourced from cloud.google.com/go/firestore's changelog.

    1.8.0 (2022-09-21)

    Features

    • documentai: rewrite signatures in terms of new types for betas (9f303f9)
    Commits
    • 53a0f9d chore: release main (#6782)
    • de4e16a chore(all): auto-regenerate gapics (#6839)
    • faaab06 fix(storage): fix request token passing for Copier.Run (#6863)
    • 3abfb8e chore(.github): assign pubsublite issues to tmdiep (#6777)
    • 4766d3e fix(storage): fix read-write race in Writer.Write (#6817)
    • ae7441a test(firestore): fixes Value type cast (#6832)
    • c65fd1b chore(storage): enable several tests for grpc + related fixes (#6827)
    • 84e1508 chore(storage): enable more tests for grpc (#6820)
    • ea892db chore(storage): ignore 0 time when converting to bucket (#6807)
    • c17851b feat(pubsub): add support for snapshot labels (#6835)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @54m.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • testfilesの生成コードもcommitして良いのではないか?

    testfilesの生成コードもcommitして良いのではないか?

    api_genはそうなっているが、生成済みコードがcommitされているとレビュー時に生成されたコードの差分も確認することができる 具体的な例を持ってレビューすることができるのでレビューがしやすくなるように感じている

    例: https://github.com/go-generalize/api_gen/pull/244/files

    Screen Shot 2022-01-06 at 17 07 23

  • build(deps): bump google.golang.org/api from 0.102.0 to 0.104.0

    build(deps): bump google.golang.org/api from 0.102.0 to 0.104.0

    Bumps google.golang.org/api from 0.102.0 to 0.104.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.104.0

    0.104.0 (2022-12-07)

    Features

    Bug Fixes

    • idtoken: Increase MaxIdleConnsPerHost to 100 in NewClient (#1754) (629e217), refs #1744
    • transport/grpc: Separate resolution of creds and certs (#1759) (c213153)

    Documentation

    v0.103.0

    0.103.0 (2022-11-08)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.104.0 (2022-12-07)

    Features

    Bug Fixes

    • idtoken: Increase MaxIdleConnsPerHost to 100 in NewClient (#1754) (629e217), refs #1744
    • transport/grpc: Separate resolution of creds and certs (#1759) (c213153)

    Documentation

    0.103.0 (2022-11-08)

    Features

    Commits
    • 9255b0b chore(main): release 0.104.0 (#1748)
    • 4238314 chore: ignore some golang.org/x/* dependencies in renovate (#1772)
    • 029b659 chore(all): update all (#1768)
    • f819644 feat(all): auto-regenerate discovery clients (#1771)
    • 2b596d9 feat(all): auto-regenerate discovery clients (#1767)
    • 3195ce1 feat(all): auto-regenerate discovery clients (#1766)
    • 97a9846 feat(all): auto-regenerate discovery clients (#1760)
    • 8d8f0a7 feat(transport): de-experiment google-c2p resolver (#1757)
    • c213153 fix(transport/grpc): separate resolution of creds and certs (#1759)
    • 629e217 fix(idtoken): increase MaxIdleConnsPerHost to 100 in NewClient (#1754)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @54m.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.102.0 to 0.103.0

    build(deps): bump google.golang.org/api from 0.102.0 to 0.103.0

    Bumps google.golang.org/api from 0.102.0 to 0.103.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.103.0

    0.103.0 (2022-11-08)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.103.0 (2022-11-08)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.98.0 to 0.100.0

    build(deps): bump google.golang.org/api from 0.98.0 to 0.100.0

    Bumps google.golang.org/api from 0.98.0 to 0.100.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.100.0

    0.100.0 (2022-10-18)

    Features

    • all: Auto-regenerate discovery clients (#1712) (f9e15f2)
    • all: Auto-regenerate discovery clients (#1717) (f990a2a)
    • internal/gensupport: Remove DetermineContentType, use gax-go copy (#1716) (37f90e9)

    Bug Fixes

    • idtoken: Allow missing age in http response header (#1715) (b235b1f)

    v0.99.0

    0.99.0 (2022-10-14)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.100.0 (2022-10-18)

    Features

    • all: Auto-regenerate discovery clients (#1712) (f9e15f2)
    • all: Auto-regenerate discovery clients (#1717) (f990a2a)
    • internal/gensupport: Remove DetermineContentType, use gax-go copy (#1716) (37f90e9)

    Bug Fixes

    • idtoken: Allow missing age in http response header (#1715) (b235b1f)

    0.99.0 (2022-10-14)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.98.0 to 0.99.0

    build(deps): bump google.golang.org/api from 0.98.0 to 0.99.0

    Bumps google.golang.org/api from 0.98.0 to 0.99.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.99.0

    0.99.0 (2022-10-14)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.99.0 (2022-10-14)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.94.0 to 0.95.0

    build(deps): bump google.golang.org/api from 0.94.0 to 0.95.0

    Bumps google.golang.org/api from 0.94.0 to 0.95.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.95.0

    0.95.0 (2022-09-06)

    Features

    • all: Auto-regenerate discovery clients (#1677) (8757dbf)
    • all: Auto-regenerate discovery clients (#1680) (8c72fb3)
    • option: Officially deprecate ImpersonateCredentials (#1683) (9a84077)
    Changelog

    Sourced from google.golang.org/api's changelog.

    0.95.0 (2022-09-06)

    Features

    • all: Auto-regenerate discovery clients (#1677) (8757dbf)
    • all: Auto-regenerate discovery clients (#1680) (8c72fb3)
    • option: Officially deprecate ImpersonateCredentials (#1683) (9a84077)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.88.0 to 0.90.0

    build(deps): bump google.golang.org/api from 0.88.0 to 0.90.0

    Bumps google.golang.org/api from 0.88.0 to 0.90.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.90.0

    0.90.0 (2022-07-28)

    Features

    v0.89.0

    0.89.0 (2022-07-26)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.90.0 (2022-07-28)

    Features

    0.89.0 (2022-07-26)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.88.0 to 0.89.0

    build(deps): bump google.golang.org/api from 0.88.0 to 0.89.0

    Bumps google.golang.org/api from 0.88.0 to 0.89.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.89.0

    0.89.0 (2022-07-26)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.89.0 (2022-07-26)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/grpc from 1.47.0 to 1.48.0

    build(deps): bump google.golang.org/grpc from 1.47.0 to 1.48.0

    Bumps google.golang.org/grpc from 1.47.0 to 1.48.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.48.0

    Bug Fixes

    • xds/priority: fix bug that could prevent higher priorities from receiving config updates (#5417)
    • RLS load balancer: don't propagate the status code returned on control plane RPCs to data plane RPCs (#5400)

    New Features

    • stats: add support for multiple stats handlers in a single client or server (#5347)
    • gcp/observability: add experimental OpenCensus tracing/metrics support (#5372)
    • xds: enable aggregate and logical DNS clusters by default (#5380)
    • credentials/google (for xds): support xdstp C2P cluster names (#5399)
    Commits
    • 6417495 Change version to 1.48.0 (#5482)
    • 5770b1d xds: drop localities with zero weight at the xdsClient layer (#5476)
    • 423cd8e interop: update proto to make vet happy (#5475)
    • c9b16c8 transport: remove unused bufWriter.onFlush() (#5464)
    • 755bf5a fix typo in the binary log (#5467)
    • 15739b5 health: split imports into healthpb and healthgrpc (#5466)
    • c075d20 interop client: provide new flag, --soak_min_time_ms_between_rpcs (#5421)
    • 4b75005 clusterresolver: merge P(p)arseConfig functions (#5462)
    • d883f3d test/xds: fail only when state changes to something other than READY and IDLE...
    • c6ee1c7 xdsclient: only include nodeID in error strings, not the whole nodeProto (#5461)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/api from 0.102.0 to 0.105.0

    build(deps): bump google.golang.org/api from 0.102.0 to 0.105.0

    Bumps google.golang.org/api from 0.102.0 to 0.105.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.105.0

    0.105.0 (2022-12-14)

    Features

    • all: Auto-regenerate discovery clients (#1773) (37a2e41)
    • all: Auto-regenerate discovery clients (#1777) (5b02761)
    • googleapi: Add response headers to Error reported by CheckMediaResponse (#1781) (e4271df)
    • Support set null map entries for non-simple map values (#1782) (c58bf4c)

    v0.104.0

    0.104.0 (2022-12-07)

    Features

    Bug Fixes

    • idtoken: Increase MaxIdleConnsPerHost to 100 in NewClient (#1754) (629e217), refs #1744
    • transport/grpc: Separate resolution of creds and certs (#1759) (c213153)

    Documentation

    v0.103.0

    0.103.0 (2022-11-08)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.105.0 (2022-12-14)

    Features

    • all: Auto-regenerate discovery clients (#1773) (37a2e41)
    • all: Auto-regenerate discovery clients (#1777) (5b02761)
    • googleapi: Add response headers to Error reported by CheckMediaResponse (#1781) (e4271df)
    • Support set null map entries for non-simple map values (#1782) (c58bf4c)

    0.104.0 (2022-12-07)

    Features

    Bug Fixes

    • idtoken: Increase MaxIdleConnsPerHost to 100 in NewClient (#1754) (629e217), refs #1744
    • transport/grpc: Separate resolution of creds and certs (#1759) (c213153)

    Documentation

    0.103.0 (2022-11-08)

    Features

    Commits
    • 67aaf4e chore(main): release 0.105.0 (#1774)
    • 5b02761 feat(all): auto-regenerate discovery clients (#1777)
    • c58bf4c feat: support set null map entries for non-simple map values (#1782)
    • e4271df feat(googleapi): add response headers to Error reported by CheckMediaResponse...
    • 6193507 chore: remove uses of obsolete golang.org/x/xerrors (#1776)
    • 37a2e41 feat(all): auto-regenerate discovery clients (#1773)
    • 9255b0b chore(main): release 0.104.0 (#1748)
    • 4238314 chore: ignore some golang.org/x/* dependencies in renovate (#1772)
    • 029b659 chore(all): update all (#1768)
    • f819644 feat(all): auto-regenerate discovery clients (#1771)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump goreleaser/goreleaser-action from 3 to 4

    build(deps): bump goreleaser/goreleaser-action from 3 to 4

    Bumps goreleaser/goreleaser-action from 3 to 4.

    Release notes

    Sourced from goreleaser/goreleaser-action's releases.

    v4.0.0

    What's Changed

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v3...v4.0.0

    v3.2.0

    What's Changed

    • chore: remove workaround for setOutput by @​crazy-max (#374)
    • chore(deps): bump @​actions/core from 1.9.1 to 1.10.0 (#372)
    • chore(deps): bump yargs from 17.5.1 to 17.6.0 (#373)

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v3.1.0...v3.2.0

    v3.1.0

    What's Changed

    • fix: dist resolution from config file by @​crazy-max (#369)
    • ci: fix workflow by @​crazy-max (#357)
    • docs: bump actions to latest major by @​crazy-max (#356)
    • chore(deps): bump crazy-max/ghaction-import-gpg from 4 to 5 (#360)
    • chore(deps): bump ghaction-import-gpg to v5 (#359)
    • chore(deps): bump @​actions/core from 1.6.0 to 1.8.2 (#358)
    • chore(deps): bump @​actions/core from 1.8.2 to 1.9.1 (#367)

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v3.0.0...v3.1.0

    Commits
    • 8f67e59 chore: regenerate
    • 78df308 chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#383)
    • 66134d9 Merge remote-tracking branch 'origin/master' into flarco/master
    • 3c08cfd chore(deps): bump yargs from 17.6.0 to 17.6.2
    • 5dc579b docs: add example when using workdir along with upload-artifact (#366)
    • 3b7d1ba feat!: remove auto-snapshot on dirty tag (#382)
    • 23e0ed5 fix: do not override GORELEASER_CURRENT_TAG (#370)
    • 1315dab update build
    • b60ea88 improve install
    • 4d25ab4 Update goreleaser.ts
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump github.com/go-generalize/go-easyparser from 0.3.1 to 0.3.2

    build(deps): bump github.com/go-generalize/go-easyparser from 0.3.1 to 0.3.2

    Bumps github.com/go-generalize/go-easyparser from 0.3.1 to 0.3.2.

    Release notes

    Sourced from github.com/go-generalize/go-easyparser's releases.

    v0.3.2

    What's Changed

    New Contributors

    Full Changelog: https://github.com/go-generalize/go-easyparser/compare/v0.3.1...v0.3.2

    Commits
    • dc6fb9a Merge pull request #30 from go-generalize/chore/minor-update
    • a844875 update: go mod
    • ec993ef Merge pull request #28 from go-generalize/dependabot/go_modules/golang.org/x/...
    • a24e722 Merge remote-tracking branch 'origin/main' into chore/minor-update
    • ceef2a9 clean: KILL THE UTIL
    • b3701ba change: use go-utils/gopackages
    • 9e487bf fix: typo
    • 27afe2f fix: change deprecated packages
    • 164efce fix: package comment
    • 63be6d3 fix: wording
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @54m.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump cloud.google.com/go/firestore from 1.8.0 to 1.9.0

    build(deps): bump cloud.google.com/go/firestore from 1.8.0 to 1.9.0

    Bumps cloud.google.com/go/firestore from 1.8.0 to 1.9.0.

    Release notes

    Sourced from cloud.google.com/go/firestore's releases.

    functions: v1.9.0

    1.9.0 (2022-11-03)

    Features

    • functions: rewrite signatures in terms of new location (3c4b2b3)

    secretmanager: v1.9.0

    1.9.0 (2022-11-03)

    Features

    • secretmanager: rewrite signatures in terms of new location (3c4b2b3)

    speech: v1.9.0

    1.9.0 (2022-11-03)

    Features

    • speech: rewrite signatures in terms of new location (3c4b2b3)

    video: v1.9.0

    1.9.0 (2022-11-03)

    Features

    • video: rewrite signatures in terms of new location (3c4b2b3)

    videointelligence: v1.9.0

    1.9.0 (2022-11-03)

    Features

    • videointelligence: rewrite signatures in terms of new location (3c4b2b3)

    workflows: v1.9.0

    1.9.0 (2022-11-03)

    Features

    • workflows: rewrite signatures in terms of new location (3c4b2b3)

    eventarc: v1.9.0

    1.9.0 (2022-11-09)

    ... (truncated)

    Changelog

    Sourced from cloud.google.com/go/firestore's changelog.

    1.9.0 (2022-10-25)

    Features

    • documentai: start generating stubs dir (de2d180)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0

    build(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0

    Bumps google.golang.org/grpc from 1.50.1 to 1.51.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.51.0

    Behavior Changes

    • xds: NACK EDS resources with duplicate addresses in accordance with a recent spec change (#5715)
    • grpc: restrict status codes that can be generated by the control plane (gRFC A54) (#5653)

    New Features

    • client: set grpc-accept-encoding header with all registered compressors (#5541)
    • xds/weightedtarget: return a more meaningful error when all child policies are in TRANSIENT_FAILURE (#5711)
    • gcp/observability: add "started rpcs" metric (#5768)
    • xds: de-experimentalize the google-c2p-resolver (#5707)
    • balancer: add experimental Producer types and methods (#5669)
    • orca: provide a way for LB policies to receive OOB load reports (#5669)

    Bug Fixes

    • go.mod: upgrade x/text dependency to address CVE 2022-32149 (#5769)
    • client: fix race that could lead to an incorrect connection state if it was closed immediately after the server's HTTP/2 preface was received (#5714)
    • xds: ensure sum of the weights of all EDS localities at the same priority level does not exceed uint32 max (#5703)
    • client: fix binary logging bug which logs a server header on a trailers-only response (#5763)
    • balancer/priority: fix a bug where unreleased references to removed child policies (and associated state) was causing a memory leak (#5682)
    • xds/google-c2p: validate URI schema for no authorities (#5756)
    Commits
    • eeb9afa Change version to 1.51.0 (#5782)
    • 72812fe gcp/observability: filter logging from cloud ops endpoints calls (#5765)
    • 0ae33e6 xdsclient: remove unused test code (#5772)
    • 824f449 go.mod: upgrade x/text to v0.4 to address CVE (#5769)
    • 7f23df0 xdsclient: switch xdsclient watch deadlock test to e2e style (#5697)
    • 32f969e o11y: Added started rpc metric in o11y plugin (#5768)
    • b597a8e xdsclient: improve authority watchers test (#5700)
    • e41e894 orca: create ORCA producer for LB policies to use to receive OOB load reports...
    • 36d14db Fix binary logging bug which logs a server header on a trailers only response...
    • fcb8bdf xds/google-c2p: validate url for no authorities (#5756)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Example of using advanced gRPC error model

grpcerrors Example of using advanced gRPC error model

Nov 19, 2021
C8y-swmigration - Project to migrate c8y sw repository packages to the model introduced with c8y v10.7
C8y-swmigration - Project to migrate c8y sw repository packages to the model introduced with c8y v10.7

About Tool to migrate the software repository entries prior to Cumulocity v10.7 to the new Software Repository package model including Software Versio

Apr 21, 2022
Rfpm - Random Fair Preemption Model For Golang

rfpm RFPM (Random Fair Preemption Model) is absolutely fair to all clients who r

Jan 7, 2022
🧀 Formaggo is a simple model checker inspired by TLA+, The checker and the models are written in Go

?? Formaggo. A cheesy exhaustive state checker in Go. Formaggo is a simple model checker inspired by TLA+. The checker and the models are written in G

Jan 23, 2022
Random fake data and struct generator for Go.

Faker Random fake data and struct generator for Go. More than 100 generator functions Struct generator Unique data generator Builtin types support Eas

Oct 3, 2022
Random fake data generator written in go
Random fake data generator written in go

Gofakeit Random data generator written in go Features 160+ Functions!!! Concurrent Global Rand Struct Generator Custom Functions Http Server Command L

Jan 1, 2023
A distributed unique ID generator of using Sonyflake and encoded by Base58

Indigo About A distributed unique ID generator of using Sonyflake and encoded by Base58. ID max length is 11 characters by unsigned int64 max value. A

Nov 24, 2022
:guardsman: A teeny tiny and somewhat opinionated generator for your next golang project

A Yeoman Golang Generator We are very sorry Gophers, but other names for the generator where taken, so we choose go-lang. But we have gocreate as an a

Sep 27, 2022
Unit tests generator for Go programming language
Unit tests generator for Go programming language

GoUnit GoUnit is a commandline tool that generates tests stubs based on source function or method signature. There are plugins for Vim Emacs Atom Subl

Jan 1, 2023
XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator

xgen Introduction xgen is a library written in pure Go providing a set of functions that allow you to parse XSD (XML schema definition) files. This li

Jan 1, 2023
GObject-introspection based bindings generator

WARNING! This project is no longer maintained. Probably doesn't even compile. GObject-introspection based bindings generator for Go. Work in progress

Jan 5, 2022
Typo/error resilient, human-readable token generator

toktok A human-friendly token generator Creates tokens which avoid characters that can be easily misinterpreted, like '1' and 'I' or '8' and 'B', as w

Sep 16, 2022
Fast and secure initramfs generator
Fast and secure initramfs generator

Booster - fast and secure initramfs generator Initramfs is a specially crafted small root filesystem that mounted at the early stages of Linux OS boot

Dec 28, 2022
Jennifer is a code generator for Go

Jennifer Jennifer is a code generator for Go. package main import ( "fmt" . "github.com/dave/jennifer/jen" ) func main() { f := NewFile("m

Dec 25, 2022
General Golang Code Generator

gg gg is a General Golang Code Generator: A Good Game to play with Golang. package main import ( "fmt" . "github.com/Xuanwo/gg" ) func main() {

Jan 7, 2023
Default godoc generator - make your first steps towards better code documentation

godoc-generate Overview godoc-generate is a simple command line tool that generates default godoc comments on all exported types, functions, consts an

Sep 14, 2022
accessor methods generator for Go programming language

accessory accessory is an accessor generator for Go programming language. What is accessory? Accessory is a tool that generates accessor methods from

Nov 15, 2022
RinkWorks fantasy name generator in golang

RinkWorks fantasy name generator in golang

Dec 25, 2022
Go Param Generator for golang

Go Param Generator Overview Generates struct's for you. No need to write it by hands Adds Getters and Setters Adds Constructor Easy to use Usage gopar

Dec 13, 2021