provider-github is a Crossplane Provider
that is meant to be used to manage github organizations.
The project is in a prototyping phase but it's already functional and implements follwing objects with partial functionality:
- Organization
- actions enabled repositories
- description
- creation and deleteion not supported
- Team
- visibility
- description
- members
- parent team
- Repository
- user permissions
- team permissions
- webhooks
- branch protection rules
- Membership
- role
To add a new resource follow these steps:
- Run
make submodulesto initialize the "build" Make submodule we use for CI/CD. - Add your new type by running the following command:
export group=sample # lower case e.g. core, cache, database, storage, etc.
export type=MyType # Camel casee.g. Bucket, Database, CacheCluster, etc.
make provider.addtype provider=GitHub group=${group} kind=${type}- Call the
Setupfunction of your controller hereinternal/controller/github.go - Run
make runto run locally - Run
make reviewableto run code generation, linters, and tests. - Run
make buildto build the provider.
Refer to Crossplane's CONTRIBUTING.md file for more information on how the Crossplane community prefers to work. The Provider Development guide may also be of use.