You want to contribute to Layer5's community and projects? Yay! We want you to! Visit https://layer5.io/community/newcomers for a list of resources available to help you get started. Contributions of all shapes and sizes are welcome (contributors, too)! Layer5 is community-built and warmly welcomes collaboration. Contributors are expected to adhere to our Code of Conduct.
The Layer5 website is hosted in this repository and is built using Gatsbyjs. See the design document for more information and the #websites channel.
When submitting a pull request a preview deployment will be built and made available to you on your PR.
Community Member Profile (create new issue)
Layer5 community members are an integral part of what makes Layer5 and it's projects successful. Prominently highlighting our members and their works is important. When adding a new or updating an existing community member profile, be sure to use the Community Member Profile issue template, which has all the instructions needed.
When adding a new or updating an existing community member profile be sure to follow the existing template which can be found here Community Member Profile template. You can easily understand the template by checking out one of the profiles here
Badges offer recognition of the efforts and works of community members. Badges are assigned to a community member in acknowledgement of their engagement within and/or contribution to the representative project or (sub-)community. A variety of badges exist so that community members and their efforts may be affiliated with a particular project or community initiative. An example of how a badge assigned using markdown can be found here, and it will be appear this way on a member profile.
The service mesh landscape is powered by Gatsbyjs. In order to add/update the landscape, fork this repository, clone it, create a branch and navigate to the src/collections/landscape folder. Edit these js files (if appropriate):
- non-functional.js - overview of various service meshes
- meshes.js - list of individual service mesh details
- proxies.js - list of individual modern proxies
- gateway.js - list of API gateways
- load-balancer.js - list of load balancers
Entries should be listed in alphabetical order. Data provided to the smi.js
is dynamic and based upon results from conformance tests run using Meshery.
To update the Service Mesh Timeline, add the new service mesh in the non-functional.js file. Add announce-date
key for the service mesh then add a timeline-order
key having value 1+maximum value of timeline-order
till now, to list the service mesh in the timeline correctly.
- In order to contribute a blog post, fork this repository, clone it, create a branch and navigate to the
src/collections/blog
directory. - Create a copy of the blog template.
- Follow the instructions included in the blog template and name the new file after the title of the blog article.
- Entries will be listed in chronological order automatically.
- In order to add/update news items, fork this repository, clone it, create a branch and navigate to the
src/collections/news
directory. - Create a copy of the news template.
- Follow the instructions included in the news template and name the new file after the title of the news article.
- Entries will be listed in chronological order automatically.
Before building the site, ensure that you have the following dependencies installed on your system.
- Nodejs and npm: To verify run
node -v
&npm -v
Run the following:
make setup-libs
-To install the dependencies for the running the site.make site
-To run the website locally.
Please contribute! The Layer5 site uses Gatsby. The process of contributing to documentation follows this flow:
- Fork a copy of this repo.
- Get a local clone of your fork of the site.
git clone https://github.com/layer5io/layer5
- Switch to the
master
branch.git switch master
- Create and checkout a new branch to make changes within
git checkout -b <my-changes-branchname>
- Edit site/add content.
vi <specific page>.md
# or use your favorite IDE - Run site locally to preview changes.
make site
# this will run a local web server with "live reload" conveniently enabled. (NOTE: while usingmake
command on windows, there sometimes arises an error in identifying the command even after it is installed(unrecognized command), this is because the PATH for the binary might not be set correctly.) - Commit your changes to your remote branch.
git commit --signoff -m"<commit subject>
- Push your changes
git push origin <my-changes-branchname>
- Open a pull request (in your web browser) against the
master
branch on https://github.com/layer5io/layer5.
To contribute to this project, you must agree to the Developer Certificate of Origin (DCO) for each commit you make. The DCO is a simple statement that you, as a contributor, have the legal right to make the contribution.
See the DCO file for the full text of what you must agree to and how it works here. To signify that you agree to the DCO for contributions, you simply add a line to each of your git commit messages:
Signed-off-by: Jane Smith <[email protected]>
In most cases, you can add this signoff to your commit automatically with the
-s
or --signoff
flag to git commit
. You must use your real name and a reachable email
address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit:
$ commit -s -m “my commit message w/signoff”
To ensure all your commits are signed, you may choose to add this alias to your global .gitconfig
:
~/.gitconfig
[alias]
amend = commit -s --amend
cm = commit -s -m
commit = commit -s
Or you may configure your IDE, for example, Visual Studio Code to automatically sign-off commits for you: