Skip to content

kaessert/provider-github

Repository files navigation

provider-github

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
    • actions and dependabot secrets repository access
    • description
    • creation and deletion not supported
  • Team
    • visibility
    • description
    • members
    • parent team
  • Repository
    • user permissions
    • team permissions
    • webhooks
    • branch protection rules
    • Repository rules
      • rulesets
  • Membership
    • role

Developing

To add a new resource follow these steps:

  1. Run make submodules to initialize the "build" Make submodule we use for CI/CD.
  2. 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}
  1. Call the Setup function of your controller here internal/controller/github.go
  2. Run make run to run locally
  3. Run make reviewable to run code generation, linters, and tests.
  4. Run make build to 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.

About

Crossplane provider for managing github organizations

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •