Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vmware-archive/claportal
Contributor License Agreement (CLA) Portal
https://github.com/vmware-archive/claportal
Last synced: 3 months ago
JSON representation
Contributor License Agreement (CLA) Portal
- Host: GitHub
- URL: https://github.com/vmware-archive/claportal
- Owner: vmware-archive
- License: other
- Archived: true
- Created: 2016-05-27T18:31:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-07-01T14:23:20.000Z (over 3 years ago)
- Last Synced: 2024-05-21T20:09:36.736Z (6 months ago)
- Language: Java
- Homepage:
- Size: 196 KB
- Stars: 9
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ospo - CLA Portal - Enables a workflow for contributors to sign a CLA for pull requests to your GitHub repositories. Also supports DCO sign-offs in the commits. (Contributor License Agreements / Developer Certificate of Origins)
README
# VMware has ended active development of this project, this repository will no longer be updated.
# CLA PortalThis tool enables a workflow for developers to digitally sign a contributor license agreement (CLA) for your projects on GitHub. When a developer opens a pull request, they will get prompted to sign the agreement if they have not already. An administrator interface is provided for CLA authoring, CLA-to-project mapping, and agreement reviews.
The portal also supports developer certificate of origin (DCO). When enabled on a repository, all commits within a pull request will be checked for a signature in the following format: `Signed-off-by: John Doe ` that matches the commit author.
For more general information on CLAs, refer to our [FAQ](https://cla.vmware.com/faq)
## Try it out
### Prerequisites
* Java 8
* Lightbend Activator
* Docker
* ngrok### Build & Run
1. Start ngrok to tunnel webhook requests from GitHub
`ngrok http 9000`
2. Register an OAuth application on GitHub
3. Create an OAuth access token on GitHub with the following scope`repo admin:repo_hook read:org`
4. Update settings in conf/application.conf
```
smtp.host="smtp.test.com"app.host="https://.ngrok.io"
app.internal.host="http://localhost:9000"
app.github.clientid=""
app.github.clientsecret=""
app.github.oauthtoken=""
app.notification.email="[email protected]"
app.noreply.email="[email protected]"
app.admin.email="[email protected]"
app.ccla.expiration=7
```5. Update organization in conf/evolutions/default/1.sql
`INSERT INTO Organizations (name) VALUES ('testorg');`
6. Generate a new application secret
`activator playUpdateSecret`
7. Build it
`activator docker:publishLocal`
8. Run it
`docker run -p 9000:9000 claportal:1.0-SNAPSHOT`
9. Log in to localhost:9000/admin/login using credentials claadmin:claadmin (Note: These credentials are hard-coded in Authenticator.java. If you decide to use this in production, you should update the authenticate method for your identity provider.)
10. Select "Manage Projects" to load all repositories from your organization
11. Select a repository, click Edit, and set the CLA to Sample (Note: When you save, this will install the web hook to the repository on GitHub for pull request events.)
12. Submit a pull request to your repository (Note: Organization members do not sign the CLA, so submit a pull request using an account that is not a member of the organization.)
### Developer Certificate of Origin (DCO)
1. Log in to localhost:9000/admin/login using credentials claadmin:claadmin (Note: These credentials are hard-coded in Authenticator.java. If you decide to use this in production, you should update the authenticate method for your identity provider.)
2. Select "Edit DCO" to create the initial DCO agreement revision
3. Select "Manage Projects" to load all repositories from your organization
4. Select a repository, click Edit, and check "Use DCO" (Note: When you save, this will install the web hook to the repository on GitHub for pull request events.)
When enabled on a repository, all commits within a pull request will be checked for a signature in the following format: `Signed-off-by: John Doe ` that matches the commit author.
## Contributing
The CLA Portal project team welcomes contributions from the community. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a Pull Request. For any questions about the CLA process, please refer to our [FAQ](https://cla.vmware.com/faq).
## License
The CLA Portal is available under the [Apache 2 license](LICENSE).