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:
- If you already have an account on CNCF Slack, join #armada on https://cloud-native.slack.com.
- If you need an inviation to CNCF Slack, you can get one at https://slack.cncf.io.
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:
- Using welcoming and inclusive language.
- Being respectful of differing viewpoints and experiences.
- Gracefully accepting constructive criticism.
- Attempting collaboration before conflict.
- Focusing on what is best for the community.
- Appreciating time and effort contributed by members.
- Showing empathy towards other community members.
Examples of unacceptable behavior by participants include:
- Violence, threats of violence, or inciting others to commit self-harm.
- The use of sexualized language or imagery and unwelcome sexual attention or advances.
- Trolling, intentionally spreading misinformation, insulting/derogatory comments, and personal or political attacks, including challenging someone’s self-identity.
- Public or private harassment, aggression, deliberate intimidation, or threats.
- Feigning or exaggerating surprise when someone admits to not knowing something, or excusing a disrespectful communication as “ironic” or “joking”.
- Publishing others’ private information, such as a physical or electronic address, without explicit permission. This includes any sort of “outing” of any aspect of someone’s identity without their consent.
- Abuse of the reporting process to intentionally harass or exclude others.
- Advocating for, or encouraging, any of the above behavior.
- Other conduct which could reasonably be considered inappropriate in a professional or community setting.
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: