Releases: fluxcd/go-git-providers
Releases · fluxcd/go-git-providers
v0.0.2
v0.0.1
v0.0.1
Welcome to the first release of go-git-providers 🚀! Let's walk through what goodness we have in here.
Release Notes
- 🥇 Initial interfaces and types have been checked into the
gitproviderdirectory, then refactored, improved, refactored and further made better 😄
The GitHub provider has been implemented- ⌛ Conditional Requests have been implemented to avoid being rate limited using https://pkg.go.dev/github.com/gregjones/httpcache?tab=doc
- 📝 Initial user documentation, and examples have been created
- 🛡️ Automated integration tests for the GitHub client have been made, covering organizations and repositories
- 📈 Code unit coverage is tracked by https://codecov.io, and linting is set up using https://golangci-lint.run/
Providers
- GitHub provider made with ❤️ and https://pkg.go.dev/github.com/google/go-github/[email protected]/github?tab=doc#Client
Features
- 🔒 Authentication: Personal Access Tokens, OAuth2 Tokens, and unauthenticated.
- 📃 Pagination: List calls automatically return all available pages.
- ⌛ Conditional Requests: Asks the Git provider if cached data is up-to-date before requesting, to avoid being rate limited.
- 🔄 Reconciling: Support reconciling desired state towards actual state and drift detection.
- ⚡ Low-level access: Access the underlying, provider-specific data easily, if needed, and support applying it to the server.
- 📦 Wrapped errors: Data-rich, Go 1.14-errors are consistent across provider, including cases like rate limit, validation, not found, etc.
- 🔭 Go modules: The major version is bumped if breaking changes, or major library upgrades are made.
- 🛡️ Validation-first: Both server and user data is validated prior to manipulation.
- 🗂️ URL Parsing: HTTPS user, organization and repository URLs can be parsed into machine-readable structs.
- 🏷️ Enums: Consistent enums are used across providers for similar lists of values.
- ⚙️ Domain customization: The user can specify their desired domain for the Git provider backend.
- ⏰ Context-first:
context.Contextis the first parameter for every API call.
Examples
Contributors
Thanks @stefanprodan @twelho @dinosk @luxas for your contributions.
v0.0.1-alpha.1
v0.0.1-alpha.1
Just first alpha cut of v0.0.1. GitHub provider is implemented provisionally, but will become more stable over time.