Contribute to the project¶
There are many ways to contribute to the OpenFaaS project.
Before raising a PR or an issue request that you read our Contributing guide which applies to every OpenFaaS GitHub repository. We have a wide range of suggestions for contributing to the project and community and only some of those involve writing code.
Five practical ideas for a first contribution¶
Try the workshop
Read the architecture diagrams
Submit a function to the Function Store
Write a blog post and add it to our community listing
Improve the OpenFaaS CLI tooling with a PR or documentation
Get up to speed¶
If you are new with Docker, Kubernetes or Go and would like to learn or just improve your skills, you may find the following links useful:
- Docker Documentation
- Kubernetes Documentation
- The Go Programming Language
- Go Documentation
- Alex Ellis' golang basics blog posts
- The Case For Go - a list of sources collected by Erik Unger
- Another interesting blog post - Why should you learn Go? by Keval Patel
- Official Golang GitHUb account
- Travis CI User Documentation
Main Git repositories¶
Git is used for version control and all repositories are public available under two organisations.
OpenFaaS started as a single mono-repo called
faas and has been broken out into separate repositories. For this reason you should always collate Issues, PRs, contributor counts, stars and similar statistics from the organisation as a whole. The data in the
faas repo is not representive of the whole project.
|faas||Main repository for project issues, suggestions, documentation and roadmap/backlog items. Also includes UI portal and API gateway|
|certifier||End-to-end tests written in Go for verifying OpenFaaS with Swarm or Kubernetes after a release, this also runs through CI for the
|faas-swarm||Docker Swarm provider for OpenFaaS contains a stack file for deployment|
|faas-netes||Kubernetes provider for OpenFaaS contains YAML and helm for deployment|
|openfaas-cloud||An incubator project for a closed-loop CI/CD system between GitHub and OpenFaaS|
|faas-cli||CLI for operating with OpenFaaS similar to
|templates||Official templates for OpenFaaS CLI used to scaffold a new function|
|media||Press-kit and media for the project branding and swag|
|docs||Official docs repository for this site - i.e. https://docs.openfaas.com|
|workshop||Hands-on training lab for learning OpenFaaS|
|nats-queue-worker||Asynchronous processing for deferred / queued work with OpenFaaS, based upon NATS Streaming|
|www||Webpages for https://www.openfaas.com|
The incubator organisation is for experiments, research and for getting quick feedback. Only some of the projects incubated here will make it into the main project.