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 submodules
to 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
Setup
function of your controller hereinternal/controller/github.go
- Run
make run
to run locally - Run
make reviewable
to run code generation, linters, and tests. - Run
make build
to build the provider.
Refer to Crossplane's CONTRIBUTING.md 73F1 a> file for more information on how the Crossplane community prefers to work. The Provider Development guide may also be of use.