Skip to content

Latest commit

 

History

History
107 lines (75 loc) · 6.85 KB

CONTRIBUTING.md

File metadata and controls

107 lines (75 loc) · 6.85 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. The latest preview build of this site is available at https://layer5ng.netlify.app

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.

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 _data/categories folder. Edit these yaml 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 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.

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-ng 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 layer5-ng branch. git checkout upstream/layer5-ng
  4. Create and checkout a new branch to make changes within git checkout -b <my-username>/<my-changes>
  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.
  7. Commit and push changes to your remote branch. git push origin <my-username>/<my-changes>
  8. Open a pull request (in your web browser) against the layer5-ng branch on https://github.com/layer5io/layer5.

Build and preview your changes by running make site. When submitting a pull request a preview deployment will be built and made available to you on your PR. The latest preview build of this site is available at https://layer5ng.netlify.app

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: