Contributing

We want everyone to feel that they can contribute to the Armada Project. Whether you have an idea to share, a feature to add, an issue to report, or a pull-request of the finest, most scintillating code ever, we want you to participate!

In the sections below, you’ll find some easy way to connect with other Armada developers as well as some useful informational links on our license and community policies.

Looking forward to building Armada with you!

Github

The main project fork lives here in Github:

To work with Armada website, please check the folder website/ within the master branch:

If you want to brainstorm a potential new feature, hop on over to the Discussions page, listed below.

Contributing Guide

Setup

Setup everything you’ll need to get started running and developing Armada:

Issues

If you spot a bug, then please raise an issue in our main GitHub project:

Pull Requests

Likewise, if you have developed a cool new feature or improvement, then send us a pull request. Please try and make sure that this is linked to an issue.

Please keep all pull requests on a separate branch with proper name!

Branches

Squashing fix-ups

Please try and squash any small commits to make the repo a bit cleaner. See a guide for doing this here:

Branch Naming Scheme

Note the names of the branch must follow proper docker names:

A tag name must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters.

Signing Off Commits

To enhance the integrity of contributions to the Armada repository, we’ve adopted the use of the DCO (Developer Certificate of Origin) plug-in. This means that for every commit you contribute via Pull Requests, you’ll need to sign off your commits to certify that you have the right to submit it under the open source license used by this project.

Every commit in your PRs must have a “Signed-Off” attribute.

When committing to the repository, ensure you use the --signoff option with git commit. This will append a sign-off message at the end of the commit log to indicate that the commit has your signature.

You sign-off by adding the following to your commit messages:

Author: Your Name <your.name@example.com>
Date:   Thu Feb 2 11:41:15 2018 -0800

    This is my commit message

    Signed-off-by: Your Name <your.name@example.com>

Notice the Author and Signed-off-by lines match. If they don’t, the PR will be rejected by the automated DCO check.

Git has a -s command line option to do this automatically:

git commit -s -m 'This is my commit message'

If you forgot to do this and have not yet pushed your changes to the remote repository, you can amend your commit with the sign-off by running

git commit --amend -s

This command will modify the latest commit and add the required sign-off.

For more details checkout DCO

Chat & Discussions

Sometimes, it’s good to hash things out in real time.

Armada uses GH Discussions for long form communication and design discussions. To join the conversation there, go to Discussions:

Real-time interactions between Armada developers and users occurs primarily in CNCF Slack. To join us there:

Finding Issues to Work On

If you’re new to the project and looking for a place to start, we recommend checking out the issues tagged with “good first issues”. These issues are specifically curated for newcomers to the project, providing an opportunity to get familiar with the codebase and make meaningful contributions.

You can view the list of good first issues issues.

Security

Armada developers appreciate and encourage coordinated disclosure of security vulnerabilities. If you believe you have a vulnerability to report, please contact the security team at security@gr-oss.io for triage.

License

Armada is licensed with the Apache 2.0 license. You can find it published here:

Contributor Code of Conduct

Guiding us in our day-to-day interactions and decision-making are the values of trust, respect, collaboration and transparency. Our community welcomes participants from around the world with different experiences, personalities, unique perspectives, and great ideas to share.

We expect this code of conduct to be honored by everyone who participates in the Armada community formally or informally.

This code is not exhaustive or complete, and is a living document. It serves to distill our common understanding of a collaborative, shared environment and goals. We expect it to be followed in spirit as much as in the letter, so that it can enrich all of us and the technical communities in which we participate.

Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment include:

Examples of unacceptable behavior by participants include:

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Gitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project’s members.

Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members.

As a project on GitHub, this project is additionally covered by the GitHub Community Guidelines.

Enforcement

While this code of conduct should be adhered to by participants, we recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this code of conduct. When that happens, or if they are violating this code of conduct, you may reply to them and point out this code of conduct. Such messages may be in public or in private, whatever is most appropriate. However, regardless of whether the message is public or not, it should still adhere to the relevant parts of this code of conduct and itself should not be abusive or disrespectful. Assume good faith; it is more likely that participants are unaware of their bad behaviour than that they intentionally try to degrade the quality of the discussion.

As a small and young project, we don’t yet have a Code of Conduct enforcement team. We encourage contributors to try to resolve issues with respectful communication - here is an example of how to do that.

Should there be difficulties in dealing with the situation or you are uncomfortable speaking up, unacceptable behavior may be reported to conduct@armadaproject.io. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.

If you are unsure whether an incident is a violation, or whether the space where the incident took place is covered by our Code of Conduct, we encourage you to still address or report it. We would prefer to have a few extra reports where we decide to take no action than to let an incident go unnoticed and unresolved, resulting in an individual or group feeling like they can no longer participate in the community. Reports deemed as not a violation will also allow us to improve our Code of Conduct and processes surrounding it.

Participants asked to stop any harassing behavior are expected to comply immediately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.

License

This Code of Conduct is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.

Attribution

This Code of Conduct is informed by and adapted from multiple sources: