Skip to content

Latest commit

 

History

History
130 lines (93 loc) · 9.53 KB

CONTRIBUTING.md

File metadata and controls

130 lines (93 loc) · 9.53 KB

Contributing at Layer5

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.

Layer5 Site

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.

Common Types of Site Updates

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.

Source code for Community Member Profiles

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 for Community Members

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.

Possible badges include
  • Community
  • Landscape
  • ImageHub
  • Meshery
  • Meshery Operator
  • SMP
  • Nighthawk
  • Patterns

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):

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.

  1. In order to contribute a blog post, fork this repository, clone it, create a branch and navigate to the src/collections/blog directory.
  2. Create a copy of the blog template.
  3. Follow the instructions included in the blog template and name the new file after the title of the blog article.
  4. Entries will be listed in chronological order automatically.
  1. In order to add/update news items, fork this repository, clone it, create a branch and navigate to the src/collections/news directory.
  2. Create a copy of the news template.
  3. Follow the instructions included in the news template and name the new file after the title of the news article.
  4. Entries will be listed in chronological order automatically.

Contributor Instructions

Before building the site, ensure that you have the following dependencies installed on your system.

Building the site

Run the following:

  1. make setup-libs-To install the dependencies for the running the site.
  2. make site-To run the website locally.

Please contribute! The Layer5 site uses Gatsby. The process of contributing to documentation follows this flow:

  1. Fork a copy of this repo.
  2. Get a local clone of your fork of the site. git clone https://github.com/layer5io/layer5
  3. Switch to the master branch. git switch master
  4. Create and checkout a new branch to make changes within git checkout -b <my-changes-branchname>
  5. Edit site/add content. vi <specific page>.md # or use your favorite IDE
  6. Run site locally to preview changes. make site # this will run a local web server with "live reload" conveniently enabled. (NOTE: while using make 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.)
  7. Commit your changes to your remote branch. git commit --signoff -m"<commit subject>
  8. Push your changes git push origin <my-changes-branchname>
  9. 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: