Improve README and CONTRIBUTING

This commit is contained in:
Alyssa Rock 2022-11-07 15:22:13 -07:00
parent 0f6b9efbea
commit c485d1de7b
5 changed files with 207 additions and 264 deletions

View file

@ -2,34 +2,33 @@
Contributing
============
So you want to contribute to the Salt project? Excellent! You can help
in a number of ways:
- Using Salt and opening well-written bug reports.
- Joining a `working group <https://github.com/saltstack/community>`__.
- Answering questions on `irc <https://web.libera.chat/#salt>`__,
- Use Salt and open well-written bug reports.
- Join a `working group <https://github.com/saltstack/community>`__.
- Answer questions on `irc <https://web.libera.chat/#salt>`__,
the `community Slack <https://join.slack.com/t/saltstackcommunity/shared_invite/zt-3av8jjyf-oBQ2M0vhXOhJpNpRkPWBvg>`__,
the `salt-users mailing
list <https://groups.google.com/forum/#!forum/salt-users>`__,
`Server Fault <https://serverfault.com/questions/tagged/saltstack>`__,
or `r/saltstack on Reddit <https://www.reddit.com/r/saltstack/>`__.
- Fixing bugs.
- `Enhancing the documentation <https://docs.saltproject.io/en/master/topics/development/conventions/documentation.html#salt-docs>`__.
- Providing workarounds, patches, or other code without tests.
- Telling other people about problems you solved using Salt.
- Fix bugs.
- `Improve the documentation <https://saltstack.gitlab.io/open/docs/docs-hub/topics/contributing.html>`__.
- Provide workarounds, patches, or other code without tests.
- Tell other people about problems you solved using Salt.
If youd like to update docs or fix an issue, youre going to need the
If you'd like to update docs or fix an issue, you're going to need the
Salt repo. The best way to contribute is using
`Git <https://git-scm.com/>`__.
Environment Setup
-----------------
To hack on Salt or the docs youre going to need to set up your
development environment. If you already have a workflow that youre
Environment setup
=================
To hack on Salt or the docs you're going to need to set up your
development environment. If you already have a workflow that you're
comfortable with, you can use that, but otherwise this is an opinionated
guide for setting up your dev environment. Follow these steps and youll
guide for setting up your dev environment. Follow these steps and you'll
end out with a functioning dev environment and be able to submit your
first PR.
@ -44,16 +43,15 @@ more about Git. One popular resource is the free online book `Learn Git
in a Month of
Lunches <https://www.manning.com/books/learn-git-in-a-month-of-lunches>`__.
pyenv, Virtual Environments, and You
----------------------------------------
pyenv, Virtual Environments, and you
------------------------------------
We recommend `pyenv <https://github.com/pyenv/pyenv>`__, since it allows
installing multiple different Python versions, which is important for
testing Salt across all the versions of Python that we support.
On Linux
~~~~~~~~
^^^^^^^^
Install pyenv:
::
@ -63,8 +61,7 @@ Install pyenv:
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
On Mac
~~~~~~
^^^^^^
Install pyenv using brew:
::
@ -93,11 +90,11 @@ version of Python:
pyenv install 3.7.0
If that fails, dont panic! Youre probably just missing some build
If that fails, don't panic! You're probably just missing some build
dependencies. Check out `pyenv common build
problems <https://github.com/pyenv/pyenv/wiki/Common-build-problems>`__.
Now that youve got your version of Python installed, you can create a
Now that you've got your version of Python installed, you can create a
new virtual environment with this command:
::
@ -110,13 +107,13 @@ Then activate it:
pyenv activate salt
Sweet! Now youre ready to clone Salt so you can start hacking away! If
Sweet! Now you're ready to clone Salt so you can start hacking away! If
you get stuck at any point, check out the resources at the beginning of
this guide. IRC and Slack are particularly helpful places to go.
Get The Source!
~~~~~~~~~~~~~~~
Get the source!
---------------
Salt uses the fork and clone workflow for Git contributions. See `Using
the Fork-and-Branch Git
Workflow <https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/>`__
@ -130,13 +127,13 @@ Clones are so shallow. Well, this one is anyway:
git clone --depth=1 --origin salt https://github.com/saltstack/salt.git
This creates a shallow clone of Salt, which should be fast. Most of the
time thats all youll need, and you can start building out other
time that's all you'll need, and you can start building out other
commits as you go. If you *really* want all 108,300+ commits you can
just run ``git fetch --unshallow``. Then go make a sandwich because its
just run ``git fetch --unshallow``. Then go make a sandwich because it's
gonna be a while.
Youre also going to want to head over to GitHub and create your own
`fork of Salt <https://github.com/saltstack/salt/fork>`__. Once youve
You're also going to want to head over to GitHub and create your own
`fork of Salt <https://github.com/saltstack/salt/fork>`__. Once you've
got that set up you can add it as a remote:
::
@ -144,16 +141,16 @@ got that set up you can add it as a remote:
git remote add yourname <YOUR SALT REMOTE>
If you use your name to refer to your fork, and ``salt`` to refer to the
official Salt repo youll never get ``upstream`` or ``origin`` confused.
official Salt repo you'll never get ``upstream`` or ``origin`` confused.
.. note::
Each time you start work on a new issue you should fetch the most recent
changes from ``salt/upstream``.
``pre-commit`` and ``nox`` Setup
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set up ``pre-commit`` and ``nox``
---------------------------------
Here at Salt we use `pre-commit <https://pre-commit.com/>`__ and
`nox <https://nox.thea.codes/en/stable/>`__ to make it easier for
contributors to get quick feedback, for quality control, and to increase
@ -177,14 +174,14 @@ others. You can easily install them in your virtualenv with:
Please ensure you export ``SKIP=pip-tools-compile`` to skip pip-tools-compile.
Now before each commit, it will ensure that your code at least *looks*
right before you open a pull request. And with that step, its time to
right before you open a pull request. And with that step, it's time to
start hacking on Salt!
.. _imagemagick-setup:
``imagemagick`` Setup
~~~~~~~~~~~~~~~~~~~~~
Set up ``imagemagick``
---------------------
One last prerequisite is to have ``imagemagick`` installed, as it is required
by Sphinx for generating the HTML documentation.
@ -199,17 +196,17 @@ by Sphinx for generating the HTML documentation.
sudo apt install imagemagick
Salt Issues
-----------
Salt issues
===========
Create Your Own
~~~~~~~~~~~~~~~
Create your own
---------------
Perhaps youve come to this guide because you found a problem in Salt,
and youve diagnosed the cause. Maybe you need some help figuring out
Perhaps you've come to this guide because you found a problem in Salt,
and you've diagnosed the cause. Maybe you need some help figuring out
the problem. In any case, creating quality bug reports is a great way to
contribute to Salt even if you lack the skills, time, or inclination to
fix it yourself. If thats the case, head on over to `Salts issue
fix it yourself. If that's the case, head on over to `Salt's issue
tracker on
GitHub <https://github.com/saltstack/salt/issues/new/choose>`__.
@ -228,20 +225,20 @@ In a nutshell:
- **Minimum**: All of the **extra** information has been removed. Will
2 or 3 lines of master/minion config still exhibit the behavior?
- **Complete**: Minimum also means complete. If your example is missing
information, then its not complete. Salt, Python, and OS versions
information, then it's not complete. Salt, Python, and OS versions
are all bits of information that make your example complete. Have you
provided the commands that you ran?
- **Verifiable**: Can someone take your report and reproduce it?
Slow is smooth, and smooth is fast - it may feel like youre taking a
long time to create your issue if youre creating a proper MCVE, but a
Slow is smooth, and smooth is fast - it may feel like you're taking a
long time to create your issue if you're creating a proper MCVE, but a
MCVE eliminates back and forth required to reproduce/verify the issue so
someone can actually create a fix.
Pick An Issue
~~~~~~~~~~~~~
Pick an issue
-------------
If you dont already have an issue in mind, you can search for `help
If you don't already have an issue in mind, you can search for `help
wanted <https://github.com/saltstack/salt/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22>`__
issues. If you also search for `good first
issue <https://github.com/saltstack/salt/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+label%3A%22good+first+issue%22>`__
@ -249,17 +246,17 @@ then you should be able to find some issues that are good for getting
started contributing to Salt. `Documentation
issues <https://github.com/saltstack/salt/issues?q=is%3Aissue+is%3Aopen+label%3Adocumentation+>`__
are also good starter issues. When you find an issue that catches your
eye (or one of your own), its a good idea to comment on the issue and
mention that youre working on it. Good communication is key to
collaboration - so if you dont have time to complete work on the issue,
eye (or one of your own), it's a good idea to comment on the issue and
mention that you're working on it. Good communication is key to
collaboration - so if you don't have time to complete work on the issue,
just leaving some information about when you expect to pick things up
again is a great idea!
Hacking Away
------------
Hacking away
============
Salt, Tests, Documentation, and You
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Salt, tests, documentation, and you
-----------------------------------
Before approving code contributions, Salt requires:
@ -269,27 +266,26 @@ Before approving code contributions, Salt requires:
Documentation fixes just require correct documentation.
What If I Dont Write Tests or Docs?
What if I don't write tests or docs?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you arent into writing documentation or tests, we still welcome your
If you aren't into writing documentation or tests, we still welcome your
contributions! But your PR will be labeled ``Needs Testcase`` and
``Help Wanted`` until someone can get to write the tests/documentation.
Of course, if you have a desire but just lack the skill we are more than
happy to collaborate and help out! Theres the `documentation working
group <https://github.com/saltstack/docs-hub>`__ and the `testing
working
group <https://github.com/saltstack/community/tree/master/working_groups/wg-Testing>`__.
happy to collaborate and help out! There's the `documentation working
group <https://saltstack.gitlab.io/open/docs/docs-hub/topics/home.html>`__
and the `testing working group <https://github.com/saltstack/community/tree/master/working_groups/wg-Testing>`__.
We also regularly stream our test clinic `live on
Twitch <https://www.twitch.tv/saltprojectoss>`__ every Tuesday afternoon
and Thursday morning, Central Time. If youd like specific help with
and Thursday morning, Central Time. If you'd like specific help with
tests, bring them to the clinic. If no community members need help, you
can also just watch tests written in real time.
.. _docs-building:
Documentation
~~~~~~~~~~~~~
-------------
Salt uses both docstrings, as well as normal reStructuredText files in
the ``salt/doc`` folder for documentation. Sphinx is used to generate the
@ -314,20 +310,20 @@ this:
cd -; python -m nox -e 'docs-html(compress=False, clean=False)'; cd doc/_build/html; python -m http.server
And then refresh your browser to get your updated docs. This one should
be quite a bit faster since Sphinx wont need to rebuild everything.
be quite a bit faster since Sphinx won't need to rebuild everything.
If your change is a docs-only change, you can go ahead and commit/push
your code and open a PR. You can indicate that its a docs-only change by
adding ``[Documentation]`` to the title of your PR. Otherwise youll
your code and open a PR. You can indicate that it's a docs-only change by
adding ``[Documentation]`` to the title of your PR. Otherwise you'll
want to write some tests and code.
Running Development Salt
~~~~~~~~~~~~~~~~~~~~~~~~
Running development Salt
------------------------
Note: If you run into any issues in this section, check the
Troubleshooting section.
If youre going to hack on the Salt codebase youre going to want to be
If you're going to hack on the Salt codebase you're going to want to be
able to run Salt locally. The first thing you need to do is install Salt
as an editable pip install:
@ -337,7 +333,7 @@ as an editable pip install:
This will let you make changes to Salt without having to re-install it.
After all of the dependencies and Salt are installed, its time to set
After all of the dependencies and Salt are installed, it's time to set
up the config for development. Typically Salt runs as ``root``, but you
can specify which user to run as. To configure that, just copy the
master and minion configs. We have .gitignore setup to ignore the
@ -397,35 +393,35 @@ from the minion instead:
salt-call -c local/etc/salt test.version
Note that youre running ``salt-call`` instead of ``salt``, and youre
not specifying the minion (``\*``), but if youre running the dev
Note that you're running ``salt-call`` instead of ``salt``, and you're
not specifying the minion (``\*``), but if you're running the dev
version then you still will need to pass in the config dir. Now that
youve got Salt running, you can hack away on the Salt codebase!
you've got Salt running, you can hack away on the Salt codebase!
If you need to restart Salt for some reason, if youve made changes and
they dont appear to be reflected, this is one option:
If you need to restart Salt for some reason, if you've made changes and
they don't appear to be reflected, this is one option:
::
kill -INT $(pgrep salt-master)
kill -INT $(pgrep salt-minion)
If youd rather not use ``kill``, you can have a couple of terminals
If you'd rather not use ``kill``, you can have a couple of terminals
open with your salt virtualenv activated and omit the ``--daemon``
argument. Salt will run in the foreground, so you can just use ctrl+c to
quit.
Test First? Test Last? Test Meaningfully!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Test first? Test last? Test meaningfully!
-----------------------------------------
You can write tests first or tests last, as long as your tests are
meaningful and complete! *Typically* the best tests for Salt are going
to be unit tests. Testing is `a whole topic on its
own <https://docs.saltproject.io/en/master/topics/tutorials/writing_tests.html>`__,
But you may also want to write functional or integration tests. Youll
But you may also want to write functional or integration tests. You'll
find those in the ``salt/tests`` directory.
When youre thinking about tests to write, the most important thing to
When you're thinking about tests to write, the most important thing to
keep in mind is, “What, exactly, am I testing?” When a test fails, you
should know:
@ -433,21 +429,21 @@ should know:
- Why did it fail?
- As much as possible, what do I need to do to fix this failure?
If you cant answer those questions then you might need to refactor your
If you can't answer those questions then you might need to refactor your
tests.
When youre running tests locally, you should make sure that if you
remove your code changes your tests are failing. If your tests *arent*
failing when you havent yet made changes, then its possible that
youre testing the wrong thing.
When you're running tests locally, you should make sure that if you
remove your code changes your tests are failing. If your tests *aren't*
failing when you haven't yet made changes, then it's possible that
you're testing the wrong thing.
But whether you adhere to TDD/BDD, or you write your code first and your
tests last, ensure that your tests are meaningful.
Running Tests
^^^^^^^^^^^^^
As previously mentioned, we use ``nox``, and thats how we run our
Running tests
-------------
As previously mentioned, we use ``nox``, and that's how we run our
tests. You should have it installed by this point but if not you can
install it with this:
@ -461,26 +457,26 @@ Now you can run your tests:
python -m nox -e "pytest-3.7(coverage=False)" -- tests/unit/cli/test_batch.py
Its a good idea to install
It's a good idea to install
`espeak <https://github.com/espeak-ng/espeak-ng>`__ or use ``say`` on
Mac if youre running some long-running tests. You can do something like
Mac if you're running some long-running tests. You can do something like
this:
::
python -m nox -e "pytest-3.7(coverage=False)" -- tests/unit/cli/test_batch.py; espeak "Tests done, woohoo!"
That way you dont have to keep monitoring the actual test run.
That way you don't have to keep monitoring the actual test run.
Changelog and Commit!
~~~~~~~~~~~~~~~~~~~~~
Changelog and commit!
---------------------
When you write your commit message you should use imperative style. Do
this:
Add frobnosticate capability
Dont do this:
Don't do this:
Added frobnosticate capability
@ -495,44 +491,44 @@ instanch, if you fixed issue 123, you would do:
echo "Made sys.doc inform when no minions return" > changelog/123.fixed
And thats all that would go into your file. When it comes to your
commit message, its usually a good idea to add other information, such as
And that's all that would go into your file. When it comes to your
commit message, it's usually a good idea to add other information, such as
- What does a reviewer need to know about the change that you made?
- If someone isnt an expert in this area, what will they need to know?
- If someone isn't an expert in this area, what will they need to know?
This will also help you out, because when you go to create the PR it
will automatically insert the body of your commit messages.
PR Time!
--------
Once youve done all your dev work and tested locally, you should check
Pull request time!
------------------
Once you've done all your dev work and tested locally, you should check
out our `PR
guidelines <https://docs.saltproject.io/en/master/topics/development/pull_requests.html>`__.
After you read that page, its time to `open a new
After you read that page, it's time to `open a new
PR <https://github.com/saltstack/salt/compare>`__. Fill out the PR
template - you should have updated or created any necessary docs, and
written tests if youre providing a code change. When you submit your
written tests if you're providing a code change. When you submit your
PR, we have a suite of tests that will run across different platforms to
help ensure that no known bugs were introduced.
Now What?
~~~~~~~~~
Youve made your changes, added documentation, opened your PR, and have
Now what?
---------
You've made your changes, added documentation, opened your PR, and have
passing tests… now what? When can you expect your code to be merged?
When you open your PR, a reviewer will get automatically assigned. If
your PR is submitted during the week you should be able to expect some
kind of communication within that business day. If your tests are
passing and were not in a code freeze, ideally your code will be merged
that day. If you havent heard from your assigned reviewer, ping them on
GitHub, `irc <https://web.libera.chat/#salt>`__, or Community Slack.
passing and we're not in a code freeze, ideally your code will be merged
that week or month. If you haven't heard from your assigned reviewer, ping them
on GitHub, `irc <https://web.libera.chat/#salt>`__, or Community Slack.
Its likely that your reviewer will leave some comments that need
It's likely that your reviewer will leave some comments that need
addressing - it may be a style change, or you forgot a changelog entry,
or need to update the docs. Maybe its something more fundamental -
or need to update the docs. Maybe it's something more fundamental -
perhaps you encountered the rare case where your PR has a much larger
scope than initially assumed.
@ -542,22 +538,23 @@ open for a significant period of time it may be worth rebasing your
changes on the most recent changes to Salt. If you need help, the
previously linked Git resources will be valuable.
But if, for whatever reason, youre not interested in driving your PR to
completion then just note that in your PR. Something like, “Im not
But if, for whatever reason, you're not interested in driving your PR to
completion then just note that in your PR. Something like, “I'm not
interested in writing docs/tests, I just wanted to provide this fix -
someone else will need to complete this PR.” If you do that then well
someone else will need to complete this PR.” If you do that then we'll
add a “Help Wanted” label and someone will be able to pick up the PR,
make the required changes, and it can eventually get merged in.
In any case, now that you have a PR open, congrats! Youre a Salt
In any case, now that you have a PR open, congrats! You're a Salt
developer! You rock!
Troubleshooting
---------------
===============
zmq.core.error.ZMQError
~~~~~~~~~~~~~~~~~~~~~~~
-----------------------
Once the minion starts, you may see an error like the following::
::
@ -576,9 +573,9 @@ length of this path. This can be done in a couple different ways:
NOTE: The socket path is limited to 107 characters on Solaris and Linux,
and 103 characters on BSD-based systems.
No permissions to access …
~~~~~~~~~~~~~~~~~~~~~~~~~~
No permissions to access ...
----------------------------
If you forget to pass your config path to any of the ``salt*`` commands,
you might see
@ -589,9 +586,9 @@ you might see
Just pass ``-c local/etc/salt`` (or whatever you named it)
File descriptor limit
~~~~~~~~~~~~~~~~~~~~~
File descriptor limit
---------------------
You might need to raise your file descriptor limit. You can check it
with:
@ -607,12 +604,12 @@ If the value is less than 3072, you should increase it with:
# For c-shell:
limit descriptors 3072
Pygit2 or other dependency install fails
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pygit2 or other dependency install fails
----------------------------------------
You may see some failure messages when installing requirements. You can
directly access your nox environment and possibly install pygit (or
other dependency) that way. When you run nox, youll see a message like
other dependency) that way. When you run nox, you'll see a message like
this:
::

View file

@ -36,47 +36,87 @@
* `Latest Salt Documentation`_
* `Open an issue`_ (bug report, feature request, etc.)
*Salt is the worlds fastest, most intelligent and scalable automation*
*Salt is the world's fastest, most intelligent and scalable automation*
*engine.*
About Salt
==========
Built on Python, Salt is an event-driven automation tool and framework to
deploy, configure, and manage complex IT systems. Use Salt to automate common
infrastructure administration tasks and ensure that all the components of your
infrastructure are operating in a consistent desired state.
Built on python, Salt uses simple and human-readable YAML combined with
event-driven automation to deploy and configure complex IT systems. In addition
to leveling-up `vRealize Automation SaltStack Config`_, Salt can be found under
the hood of products from Juniper, Cisco, Cloudflare, Nutanix, SUSE, and Tieto,
to name a few.
Salt has many possible uses, including configuration management, which involves:
About SaltStack
===============
* Managing operating system deployment and configuration.
* Installing and configuring software applications and services.
* Managing servers, virtual machines, containers, databases, web servers,
network devices, and more.
* Ensuring consistent configuration and preventing configuration drift.
`SaltStack was acquired by VMware in 2020 <https://www.vmware.com/company/acquisitions/saltstack.html>`_.
Salt Project remains an open source ecosystem that VMware supports and
contributes to.
Salt is ideal for configuration management because it is pluggable,
customizable, and plays well with many existing technologies. Salt enables you
to deploy and manage applications that use any tech stack running on nearly any
`operating system <https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-supported-operating-systems.html>`_,
including different types of network devices such as switches and routers from a
variety of vendors.
Download Salt
=============
In addition to configuration management Salt can also:
* Automate and orchestrate routine IT processes, such as common required tasks
for scheduled server downtimes or upgrading operating systems or applications.
* Create self-aware, self-healing systems that can automatically respond to
outages, common administration problems, or other important events.
About our sponsors
==================
Salt powers VMware's `vRealize Automation SaltStack Config`_, and can be found
under the hood of products from Juniper, Cisco, Cloudflare, Nutanix, SUSE, and
Tieto, to name a few.
The original sponsor of our community, SaltStack, was `acquired by VMware in 2020 <https://www.vmware.com/company/acquisitions/saltstack.html>`_.
The Salt Project remains an open source ecosystem that VMware supports and
contributes to. VMware ensures the code integrity and quality of the Salt
modules by acting as the official sponsor and manager of the Salt project. Many
of the core Salt Project contributors are also VMware employees. This team
carefully reviews and enhances the Salt modules to ensure speed, quality, and
security.
Download and install Salt
=========================
Salt is tested and packaged to run on CentOS, Debian, RHEL, Ubuntu, MacOS,
Windows, and more. Download Salt and get started now.
Windows, and more. Download Salt and get started now. See
`supported operating systems <https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-supported-operating-systems.html>`_
for more information.
* `<https://repo.saltproject.io/>`_
* `Installation Instructions <https://docs.saltproject.io/en/master/topics/installation/index.html>`_
To download and install Salt, see:
* `The Salt install guide <https://docs.saltproject.io/salt/install-guide/en/latest/index.html>`_
* `Salt Project repository <https://repo.saltproject.io/>`_
Salt Project Documentation
Technical support
=================
Report bugs or problems using Salt by opening an issue: `<https://github.com/saltstack/salt/issues>`_
To join our community forum where you can exchange ideas, best practices,
discuss technical support questions, and talk to project maintainers, join our
Slack workspace: `Salt Project Community Slack`_
Salt Project documentation
==========================
Installation instructions, tutorials, in-depth API and module documentation:
Installation instructions, getting started guides, in-depth API
documentation, and contributing to Salt.
* `The Salt install guide <https://docs.saltproject.io/salt/install-guide/en/latest/index.html>`_
* `The Salt user guide <https://docs.saltproject.io/salt/user-guide/en/latest/>`_
* `Latest Salt documentation`_
* `Salt's contributing guide <https://docs.saltproject.io/en/master/topics/development/contributing.html>`_
* `Getting Started with Salt <https://docs.saltproject.io/en/getstarted/>`_
* `Latest Salt Documentation`_
* `Salts Contributor Guide <https://docs.saltproject.io/en/master/topics/development/contributing.html>`_
Security Advisories
Security advisories
===================
Keep an eye on the Salt Project
`Security Announcements <https://saltproject.io/security-announcements/>`_
landing page. Salt Project recommends subscribing to the
@ -86,17 +126,26 @@ announcements.
Other channels to receive security announcements include the
`Salt Community mailing list <https://groups.google.com/forum/#!forum/salt-users>`_
and the
`Salt Project Community Slack`_.
and the `Salt Project Community Slack`_.
Responsibly Reporting Security Vulnerabilities
Responsibly reporting security vulnerabilities
++++++++++++++++++++++++++++++++++++++++++++++
When reporting security vulnerabilities for Salt or other SaltStack projects,
refer to the `SECURITY.md`_ file found in this repository.
Engage the Salt Project and The Community
=========================================
Join our community
==================
Salt is built by the Salt Project community, which includes more than 3,000
contributors working in roles just like yours. This well-known and trusted
community works together to improve the underlying technology and extend Salt by
creating a variety of execution and state modules to accomplish the most common
tasks or solve the most important problems that people in your role are likely
to face.
If you want to help extend Salt or solve a problem with Salt, you can join our
community and contribute today.
Please be sure to review our
`Code of Conduct <https://github.com/saltstack/salt/blob/master/CODE_OF_CONDUCT.md>`_.
@ -115,12 +164,12 @@ to the **Salt Project Community Events Calendar** on the main
`<https://saltproject.io>`_ website.
If you have additional questions, email us at saltproject@vmware.com or reach out
directly to the Community Manager, Janae Andrus via Slack. Wed be glad to
directly to the Community Manager, Jimmy Chunga via Slack. We'd be glad to
have you join our community!
License
=======
Salt is licensed under the Apache 2.0 license. Please
see the
`LICENSE file <https://github.com/saltstack/salt/blob/master/LICENSE>`_ for the

View file

@ -10,7 +10,7 @@ Salt Table of Contents
topics/about_salt_project
topics/index
topics/salt_system_architecture
topics/community/index
topics/contributing
topics/installation/index
topics/configuration/index
topics/using_salt

View file

@ -1,106 +0,0 @@
.. _salt-community:
========================
Salt Community Resources
========================
.. rubric:: Join the Salt!
There are many ways to participate in and communicate with the Salt community.
Salt has an active IRC channel and a mailing list.
Mailing List
============
Join the `salt-users mailing list`_. It is the best place to ask questions
about Salt and see whats going on with Salt development! The Salt mailing list
is hosted by Google Groups. It is open to new members.
.. _`salt-users mailing list`: https://groups.google.com/forum/#!forum/salt-users
Additionally, all users of Salt should be subscribed to the Announcements mailing
list which contains important updates about Salt, such as new releases and
security-related announcements. This list is low-traffic.
.. _`salt-announce mailing list`: https://groups.google.com/forum/#!forum/salt-announce
IRC
===
The ``#salt`` IRC channel is hosted on the popular `LiberaChat`_ network. You
can use the `LiberaChat webchat client`_ right from your browser. `Logs of the
IRC channel activity`_ are also available.
.. _LiberaChat: https://libera.chat/
.. _`LiberaChat webchat client`: https://web.libera.chat/#salt
.. _`Logs of the IRC channel activity`: http://ngxbot.nginx.org/logs/%23salt/
If you wish to discuss the development of Salt itself join us in ``#salt-devel``.
Follow on Github
================
The Salt code is developed via Github. Follow Salt for constant updates on what
is happening in Salt development:
|saltrepo|
Long-term planning and strategic decisions are handled via Salt Enhancement Proposals
and can be found on GitHub.
.. _`Salt Enhancement Proposals`: https://github.com/saltstack/salt-enhancement-proposals
Blogs
=====
The Salt Project keeps a `blog`_ with recent news and advancements:
https://saltproject.io/blog/
.. _`blog`: https://saltproject.io/blog/
Example Salt States
===================
The official ``salt-states`` repository is:
https://github.com/saltstack/salt-states
A few examples of salt states from the community:
* https://github.com/blast-hardcheese/blast-salt-states
* https://github.com/kevingranade/kevingranade-salt-state
* https://github.com/uggedal/states
* https://github.com/mattmcclean/salt-openstack/tree/master/salt
* https://github.com/rentalita/ubuntu-setup/
* https://github.com/brutasse/states
* https://github.com/pcrews/salt-data
Follow on ohloh
===============
https://www.ohloh.net/p/salt
Other community links
=====================
- `Salt Project <http://saltproject.io>`_
- `Subreddit <http://www.reddit.com/r/saltstack>`_
- `YouTube <https://www.youtube.com/channel/UCpveTIucFx9ljGelW63-BWg>`_
- `Twitch <https://twitch.tv/saltprojectoss>`_
- `Facebook <https://www.facebook.com/SaltProjectOSS>`_
- `Twitter <https://twitter.com/Salt_Project_OS>`_
- `Wikipedia page <https://en.wikipedia.org/wiki/Salt_(software)>`_
- `Stack Overflow <https://stackoverflow.com/questions/tagged/salt-stack+or+salt-cloud+or+salt-creation>`_
Hack the Source
===============
If you want to get involved with the development of source code or the
documentation efforts, please review the :ref:`contributing documentation
<contributing>`!
.. _`Apache 2.0 license`: http://www.apache.org/licenses/LICENSE-2.0.html

View file

@ -0,0 +1,3 @@
.. _contributing:
.. include:: ../../CONTRIBUTING.rst