Skip to content

Latest commit

 

History

History
97 lines (66 loc) · 5.53 KB

CONTRIBUTING.md

File metadata and controls

97 lines (66 loc) · 5.53 KB

Contributing to Layer5

You want to contribute to the project? Yay! We want you to! Visit our centralized instructions for contributing.

Contribution

Contributions, updates, discrepancy reports and pull requests are welcome! Layer5 is community-built and warmly welcomes collaboration. Contributors are expected to adhere to our Code of Conduct.

The service mesh landscape is powered by Jekyll. In order to add/update the landscape, fork this repository, clone it, create a branch and navigate to the _data/categories folder. Edit these yaml files (if appropriate):

Entries should be listed in alphabetical order. Edit other yaml files as needed.

  • Aslo, to update the Service Mesh Timeline, add the new service mesh in the non-functional.yml 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 add/update news items, fork this repository, clone it, create a branch and navigate to the 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.

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:

Set Up Your Development Environment

Note: Windows users can run Jekyll by following the Windows Installation Guide, for Jekyll. This includes installing the Ruby Version Manager RVM - a command-line tool that allows you to easily install, manage, and work with multiple ruby environments on your local machine. Alternatively, if you are running Windows 10, you may install the Windows Subsystem for Linux:

  • WSL1 for Windows build version 1607 or higher.

Please contribute! The Layer5 site uses GitHub Pages (Jekyll) to host its site. 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. Create and checkout a new branch to make changes within git checkout -b <my-username>/<my-changes>
  4. Edit site/add content. vi <specific page>.md # or use your favorite IDE
  5. Run site locally to preview changes. make site # this will run a local web server with "live reload" conveniently enabled.
  • Note: From the Makefile, this command is actually running $ bundle exec jekyll serve --drafts --livereload. There are two Jekyll configuration, jekyll serve for developing locally and jekyll build when you need to generate the site artefacfs for production.
  1. Commit and push changes to your remote branch. git push origin <my-username>/<my-changes>
  2. Open a pull request (in your web browser) against the master branch on https://github.com/layer5io/layer5.

Build and preview your changes by running make site or make docker.