community.sops icon indicating copy to clipboard operation
community.sops copied to clipboard

Add role and playbooks to install sops, add EE tests, show how to use in EE

Open felixfontein opened this issue 2 years ago • 5 comments

SUMMARY

Try to make this collection EE ready, with tests.

Fixes #30.

ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME

collection

felixfontein avatar Apr 15 '22 14:04 felixfontein

Codecov Report

Merging #98 (91224d8) into main (6398b7b) will increase coverage by 0.35%. The diff coverage is 84.21%.

@@            Coverage Diff             @@
##             main      #98      +/-   ##
==========================================
+ Coverage   65.80%   66.15%   +0.35%     
==========================================
  Files          10       11       +1     
  Lines         962      981      +19     
  Branches      220      220              
==========================================
+ Hits          633      649      +16     
- Misses        249      252       +3     
  Partials       80       80              
Flag Coverage Δ
integration 65.36% <84.21%> (+0.37%) :arrow_up:
sanity 22.73% <73.68%> (+1.00%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
plugins/filter/_latest_version.py 84.21% <84.21%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Apr 15 '22 14:04 codecov[bot]

Ok, after talking with some folks at yesterday's contributor summit, I think there will be no way to automatically make sure that sops is installed in EEs (except if there are regular system packages for sops). That's not the case or Debian, RHEL, and Alpine (except edge), for example. But what we can do is provide a sops installation role (planned anyway in #30), a playbook that installs sops on localhost, and provide instructions for users that they should run that playbook in the POST step for the EE build (similar to https://github.com/ansible-collections/community.sops/pull/98/files#diff-2136994feda0d08499dec5d6120a13cf594c3ab2f28f61d0ed17038f74417faaR9).

I'll try to work on that next.

felixfontein avatar Oct 18 '22 08:10 felixfontein

Docs Build 📝

Thank you for contribution!✨

The docsite for this PR is available for download as an artifact from this run: https://github.com/ansible-collections/community.sops/actions/runs/3326558996

File changes:

  • A collections/community/sops/_latest_version_filter.html
  • A collections/community/sops/install_role.html
  • A collections/index_role.html
  • M collections/community/index.html
  • M collections/community/sops/decrypt_filter.html
  • M collections/community/sops/docsite/guide.html
  • M collections/community/sops/index.html
  • M collections/community/sops/load_vars_module.html
  • M collections/community/sops/sops_encrypt_module.html
  • M collections/community/sops/sops_lookup.html
  • M collections/community/sops/sops_vars.html
  • M collections/index.html
  • M collections/index_filter.html
  • M collections/index_lookup.html
  • M collections/index_module.html
  • M collections/index_vars.html
  • M index.html
  • M search.html
Click to see the diff comparison.

NOTE: only file modifications are shown here. New and deleted files are excluded. See the file list and check the published docs to see those files.

diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/index.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/index.html
index d1b863c..c6e3bc5 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/index.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/index.html
@@ -85,6 +85,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/decrypt_filter.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/decrypt_filter.html
index e81a864..04708c9 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/decrypt_filter.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/decrypt_filter.html
@@ -23,7 +23,7 @@
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
     <link rel="next" title="community.sops.sops lookup – Read sops encrypted file contents" href="sops_lookup.html" />
-    <link rel="prev" title="Protecting Ansible secrets with Mozilla SOPS" href="docsite/guide.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
+    <link rel="prev" title="community.sops._latest_version filter – Get latest version from a list of versions" href="_latest_version_filter.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
 
@@ -78,7 +78,8 @@
 <li class="toctree-l4"><a class="reference internal" href="index.html#description">Description</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#communication">Communication</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#scenario-guide">Scenario Guide</a></li>
-<li class="toctree-l4 current"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="index.html#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -410,7 +412,7 @@
           
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="docsite/guide.html" class="btn btn-neutral float-left" title="Protecting Ansible secrets with Mozilla SOPS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="_latest_version_filter.html" class="btn btn-neutral float-left" title="community.sops._latest_version filter – Get latest version from a list of versions" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="sops_lookup.html" class="btn btn-neutral float-right" title="community.sops.sops lookup – Read sops encrypted file contents" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/docsite/guide.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/docsite/guide.html
index ce27d57..a36c687 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/docsite/guide.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/docsite/guide.html
@@ -22,7 +22,7 @@
         <script src="../../../../_static/sphinx_highlight.js"></script>
     <script src="../../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../../search.html" />
-    <link rel="next" title="community.sops.decrypt filter – Decrypt sops encrypted data" href="../decrypt_filter.html" />
+    <link rel="next" title="community.sops._latest_version filter – Get latest version from a list of versions" href="../_latest_version_filter.html" />
     <link rel="prev" title="Community.Sops" href="../index.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
@@ -79,6 +79,7 @@
 <li class="toctree-l4"><a class="reference internal" href="../index.html#communication">Communication</a></li>
 <li class="toctree-l4 current"><a class="reference internal" href="../index.html#scenario-guide">Scenario Guide</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../index.html#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -129,15 +131,79 @@
 <p>The ability to utilize various keysources makes it easier to use in complex environments than <a class="reference external" href="https://docs.ansible.com/ansible/latest/user_guide/vault.html">Ansible Vault</a>.</p>
 <div class="contents local topic" id="contents">
 <ul class="simple">
-<li><p><a class="reference internal" href="#setting-up-sops" id="id1">Setting up sops</a></p></li>
-<li><p><a class="reference internal" href="#working-with-encrypted-files" id="id2">Working with encrypted files</a></p></li>
-<li><p><a class="reference internal" href="#working-with-encrypted-data-from-other-sources" id="id3">Working with encrypted data from other sources</a></p></li>
-<li><p><a class="reference internal" href="#working-with-encrypted-variables" id="id4">Working with encrypted variables</a></p></li>
+<li><p><a class="reference internal" href="#installing-sops" id="id1">Installing sops</a></p></li>
+<li><p><a class="reference internal" href="#installing-community-sops-in-an-execution-environment" id="id2">Installing community.sops in an Execution Environment</a></p></li>
+<li><p><a class="reference internal" href="#setting-up-sops" id="id3">Setting up sops</a></p></li>
+<li><p><a class="reference internal" href="#working-with-encrypted-files" id="id4">Working with encrypted files</a></p></li>
+<li><p><a class="reference internal" href="#working-with-encrypted-data-from-other-sources" id="id5">Working with encrypted data from other sources</a></p></li>
+<li><p><a class="reference internal" href="#working-with-encrypted-variables" id="id6">Working with encrypted variables</a></p></li>
 </ul>
 </div>
+<section id="installing-sops">
+<h2><a class="toc-backref" href="#id1">Installing sops</a><a class="headerlink" href="#installing-sops" title="Permalink to this heading"></a></h2>
+<p>You can find binaries and packages <a class="reference external" href="https://github.com/mozilla/sops/releases">on the project’s release page</a>. Depending on your operating system, you might also be able to install it with your system’s package manager.</p>
+<p>This collection provides a <a class="reference external" href="ansible_collections.community.sops.install_role">role community.sops.install</a> which allows to install sops on the controller or a remote. The role allows to install from the system’s package manager or from GitHub, and allows to install on the remote hosts or the Ansible controller.</p>
+<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Playbook to install sops</span><span class="w"></span>
+<span class="w">  </span><span class="nt">hosts</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">all</span><span class="w"></span>
+<span class="w">  </span><span class="nt">tasks</span><span class="p">:</span><span class="w"></span>
+<span class="w">    </span><span class="c1"># To use the sops_encrypt module on a remote host, you need to install sops on it:</span><span class="w"></span>
+<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Install sops on remote hosts</span><span class="w"></span>
+<span class="w">      </span><span class="nt">ansible.builtin.include_role</span><span class="p">:</span><span class="w"></span>
+<span class="w">        </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">community.sops.install</span><span class="w"></span>
+<span class="w">      </span><span class="nt">vars</span><span class="p">:</span><span class="w"></span>
+<span class="w">        </span><span class="nt">sops_version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2.7.0</span><span class="w">  </span><span class="c1"># per default installs the latest version</span><span class="w"></span>
+
+<span class="w">    </span><span class="c1"># To use the lookup plugin, filter plugin, vars plugin, or the load_vars action,</span><span class="w"></span>
+<span class="w">    </span><span class="c1"># you need sops installed on localhost:</span><span class="w"></span>
+<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Install sops on localhost</span><span class="w"></span>
+<span class="w">      </span><span class="nt">ansible.builtin.include_role</span><span class="p">:</span><span class="w"></span>
+<span class="w">        </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">community.sops.install</span><span class="w"></span>
+<span class="w">      </span><span class="nt">vars</span><span class="p">:</span><span class="w"></span>
+<span class="w">        </span><span class="nt">sops_install_on_localhost</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span><span class="w"></span>
+</pre></div>
+</div>
+<p>When using ansible-core 2.11 or later, you can also use two convenience playbooks:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install sops on Ansible controller</span>
+$ ansible-playbook community.sops.install_localhost
+
+<span class="c1"># Install sops on remote servers</span>
+$ ansible-playbook community.sops.install --inventory /path/to/inventory
+</pre></div>
+</div>
+</section>
+<section id="installing-community-sops-in-an-execution-environment">
+<h2><a class="toc-backref" href="#id2">Installing community.sops in an Execution Environment</a><a class="headerlink" href="#installing-community-sops-in-an-execution-environment" title="Permalink to this heading"></a></h2>
+<p>When building an execution environment containing community.sops, please note that by default sops is not automatically installed. This is due to a limitation of the dependency specification system for execution environments. If you are building an execution environment that contains community.sops, you should make sure that sops is installed in it.</p>
+<p>The simplest way of ensuring this is to use the <code class="docutils literal notranslate"><span class="pre">community.sops.install_localhost</span></code> playbook. When defining an execution environment, you can add a <code class="docutils literal notranslate"><span class="pre">RUN</span></code> additional build step to your <code class="docutils literal notranslate"><span class="pre">execution-environment.yml</span></code>:</p>
+<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nn">---</span><span class="w"></span>
+<span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span><span class="w"></span>
+<span class="nt">dependencies</span><span class="p">:</span><span class="w"></span>
+<span class="w">  </span><span class="nt">galaxy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">requirements.yml</span><span class="w"></span>
+<span class="nt">additional_build_steps</span><span class="p">:</span><span class="w"></span>
+<span class="w">  </span><span class="nt">append</span><span class="p">:</span><span class="w"></span>
+<span class="w">    </span><span class="c1"># Ensure that sops is installed in the EE, assuming the EE is for ansible-core 2.11 or newer</span><span class="w"></span>
+<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">RUN ansible-playbook -v community.sops.install_localhost</span><span class="w"></span>
+</pre></div>
+</div>
+<p>Note that this only works if the execution environment is built with ansible-core 2.11 or newer. When using an execution environment with Ansible 2.9, you have to use the <code class="docutils literal notranslate"><span class="pre">community.sops.install</span></code> role manually. Also note that you need to make sure that Ansible 2.9 uses the correct Python interpreter to be able to install system packages with; in the below example we are assuming a RHEL/CentOS based execution environment base image:</p>
+<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nn">---</span><span class="w"></span>
+<span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span><span class="w"></span>
+<span class="nt">dependencies</span><span class="p">:</span><span class="w"></span>
+<span class="w">  </span><span class="nt">galaxy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">requirements.yml</span><span class="w"></span>
+<span class="nt">additional_build_steps</span><span class="p">:</span><span class="w"></span>
+<span class="w">  </span><span class="nt">append</span><span class="p">:</span><span class="w"></span>
+<span class="w">    </span><span class="c1"># Special step needed for Ansible 2.9 based EEs</span><span class="w"></span>
+<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span><span class="w"></span>
+<span class="w">      </span><span class="no">RUN ansible localhost -m include_role -a name=community.sops.install</span><span class="w"></span>
+<span class="w">          </span><span class="no">-e sops_install_on_localhost=true</span><span class="w"></span>
+<span class="w">          </span><span class="no">-e ansible_python_interpreter=/usr/libexec/platform-python</span><span class="w"></span>
+</pre></div>
+</div>
+<p>Once this step has been taken care of, you can use all plugins and modules (on <code class="docutils literal notranslate"><span class="pre">localhost</span></code>) from community.sops in the execution environment.</p>
+</section>
 <section id="setting-up-sops">
-<h2><a class="toc-backref" href="#id1">Setting up sops</a><a class="headerlink" href="#setting-up-sops" title="Permalink to this heading"></a></h2>
-<p>This guide assumes that you have installed Mozilla SOPS. You can find binaries and packages <a class="reference external" href="https://github.com/mozilla/sops/releases">on the project’s release page</a>. Depending on your operating system, you might also be able to install it with your system’s package manager.</p>
+<h2><a class="toc-backref" href="#id3">Setting up sops</a><a class="headerlink" href="#setting-up-sops" title="Permalink to this heading"></a></h2>
+<p>From now on this guide assumes that you have installed Mozilla SOPS.</p>
 <p>For simplicity, you can work with GPG keys. If you do not have one, or do not want to use yours, you can run <code class="docutils literal notranslate"><span class="pre">gpg</span> <span class="pre">--quick-generate-key</span> <span class="pre">me&#64;example.com</span></code> to create a GPG key for the user ID <code class="docutils literal notranslate"><span class="pre">me&#64;example.com</span></code>. You will need its 40 hex-digit key ID that is printed at the end. The first step is to create a <code class="docutils literal notranslate"><span class="pre">.sops.yaml</span></code> file in the directory tree you are working in:</p>
 <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">creation_rules</span><span class="p">:</span><span class="w"></span>
 <span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pgp</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4&#39;</span><span class="w"></span>
@@ -193,7 +259,7 @@
 <p>At the end, the <code class="docutils literal notranslate"><span class="pre">sops</span></code> section contains metadata, which includes the private key needed to decrypt the file encrypted with the public key of the GPG key ID <code class="docutils literal notranslate"><span class="pre">FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4</span></code>. If you had multiple GPG keys configured, or also other key sources, you can also find the file secret key encrypted with these keys here.</p>
 </section>
 <section id="working-with-encrypted-files">
-<h2><a class="toc-backref" href="#id2">Working with encrypted files</a><a class="headerlink" href="#working-with-encrypted-files" title="Permalink to this heading"></a></h2>
+<h2><a class="toc-backref" href="#id4">Working with encrypted files</a><a class="headerlink" href="#working-with-encrypted-files" title="Permalink to this heading"></a></h2>
 <p>You can decrypt sops-encrypted files with the <a class="reference internal" href="../sops_lookup.html#ansible-collections-community-sops-sops-lookup"><span class="std std-ref">community.sops.sops lookup plugin</span></a>, and dynamically encrypt data with the <a class="reference internal" href="../sops_encrypt_module.html#ansible-collections-community-sops-sops-encrypt-module"><span class="std std-ref">community.sops.sops_encrypt module</span></a>. Being able to encrypt is useful when you create or update secrets in your Ansible playbooks.</p>
 <p>Assume that you have an encrypted private key <code class="docutils literal notranslate"><span class="pre">keys/private_key.pem.sops</span></code>, which was in PEM format before being encrypted by sops:</p>
 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ openssl genrsa -out keys/private_key.pem <span class="m">2048</span>
@@ -306,7 +372,7 @@ $ wipe keys/private_key.pem
 </div>
 </section>
 <section id="working-with-encrypted-data-from-other-sources">
-<h2><a class="toc-backref" href="#id3">Working with encrypted data from other sources</a><a class="headerlink" href="#working-with-encrypted-data-from-other-sources" title="Permalink to this heading"></a></h2>
+<h2><a class="toc-backref" href="#id5">Working with encrypted data from other sources</a><a class="headerlink" href="#working-with-encrypted-data-from-other-sources" title="Permalink to this heading"></a></h2>
 <p>You can use the <code class="docutils literal notranslate"><span class="pre">community.sops.decrypt</span></code> Jinja2 filter plugin to decrypt arbitrary data. This can be data read earlier from a file, returned from an action, or obtained through some other means.</p>
 <p>For example, assume that you want to decrypt a file retrieved from a HTTPS server with the <a class="reference external" href="ansible_collections.ansible.builtin.uri_module">ansible.builtin.uri module</a>. To use the <code class="docutils literal notranslate"><span class="pre">community.sops.sops</span></code> lookup, you have to write it to a file first. With the filter, you can directly decrypt it:</p>
 <div class="highlight-yaml+jinja notranslate"><div class="highlight"><pre><span></span><span class="nn">---</span><span class="w"></span>
@@ -415,7 +481,7 @@ $ wipe keys/private_key.pem
 </div>
 </section>
 <section id="working-with-encrypted-variables">
-<h2><a class="toc-backref" href="#id4">Working with encrypted variables</a><a class="headerlink" href="#working-with-encrypted-variables" title="Permalink to this heading"></a></h2>
+<h2><a class="toc-backref" href="#id6">Working with encrypted variables</a><a class="headerlink" href="#working-with-encrypted-variables" title="Permalink to this heading"></a></h2>
 <p>You can load encrypted variables similarly to the <a class="reference external" href="https://docs.ansible.com/ansible/devel/collections/ansible/builtin/host_group_vars_vars.html#ansible-collections-ansible-builtin-host-group-vars-vars" title="(in Ansible vdevel)"><span class="xref std std-ref">ansible.builtin.host_group_vars vars plugin</span></a> with the <a class="reference internal" href="../sops_vars.html#ansible-collections-community-sops-sops-vars"><span class="std std-ref">community.sops.sops vars plugin</span></a>. If you need to load variables dynamically similarly to the <a class="reference external" href="https://docs.ansible.com/ansible/devel/collections/ansible/builtin/include_vars_module.html#ansible-collections-ansible-builtin-include-vars-module" title="(in Ansible vdevel)"><span class="xref std std-ref">ansible.builtin.include_vars action</span></a>, you can use the <a class="reference internal" href="../load_vars_module.html#ansible-collections-community-sops-load-vars-module"><span class="std std-ref">community.sops.load_vars action</span></a>.</p>
 <p>To use the vars plugin, you need to enable it in your Ansible config file (<code class="docutils literal notranslate"><span class="pre">ansible.cfg</span></code>):</p>
 <div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[defaults]</span><span class="w"></span>
@@ -501,7 +567,7 @@ $ wipe keys/private_key.pem
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="../index.html" class="btn btn-neutral float-left" title="Community.Sops" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="../decrypt_filter.html" class="btn btn-neutral float-right" title="community.sops.decrypt filter – Decrypt sops encrypted data" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="../_latest_version_filter.html" class="btn btn-neutral float-right" title="community.sops._latest_version filter – Get latest version from a list of versions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/index.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/index.html
index dae1f34..278d828 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/index.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/index.html
@@ -79,6 +79,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#communication">Communication</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#scenario-guide">Scenario Guide</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -131,6 +133,7 @@
 <li><p><a class="reference internal" href="#communication" id="id2">Communication</a></p></li>
 <li><p><a class="reference internal" href="#scenario-guide" id="id3">Scenario Guide</a></p></li>
 <li><p><a class="reference internal" href="#plugin-index" id="id4">Plugin Index</a></p></li>
+<li><p><a class="reference internal" href="#role-index" id="id5">Role Index</a></p></li>
 </ul>
 </div>
 <section id="description">
@@ -183,6 +186,7 @@
 <section id="filter-plugins">
 <h3>Filter Plugins<a class="headerlink" href="#filter-plugins" title="Permalink to this heading"></a></h3>
 <ul class="simple">
+<li><p><a class="reference internal" href="_latest_version_filter.html#ansible-collections-community-sops-latest-version-filter"><span class="std std-ref">_latest_version filter</span></a> – Get latest version from a list of versions</p></li>
 <li><p><a class="reference internal" href="decrypt_filter.html#ansible-collections-community-sops-decrypt-filter"><span class="std std-ref">decrypt filter</span></a> – Decrypt sops encrypted data</p></li>
 </ul>
 </section>
@@ -197,6 +201,14 @@
 <ul class="simple">
 <li><p><a class="reference internal" href="sops_vars.html#ansible-collections-community-sops-sops-vars"><span class="std std-ref">sops vars</span></a> – Loading sops-encrypted vars files</p></li>
 </ul>
+</section>
+</section>
+<section id="role-index">
+<h2><a class="toc-backref" href="#id5">Role Index</a><a class="headerlink" href="#role-index" title="Permalink to this heading"></a></h2>
+<p>These are the roles in the community.sops collection:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="install_role.html#ansible-collections-community-sops-install-role"><span class="std std-ref">install role</span></a> – Install Mozilla sops</p></li>
+</ul>
 <div class="admonition seealso">
 <p class="admonition-title">See also</p>
 <p>List of <a class="reference internal" href="../../index.html#list-of-collections"><span class="std std-ref">collections</span></a> with docs hosted here.</p>
@@ -204,7 +216,6 @@
 <div class="toctree-wrapper compound">
 </div>
 </section>
-</section>
 </section>
 
 
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/load_vars_module.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/load_vars_module.html
index 719e610..0315922 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/load_vars_module.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/load_vars_module.html
@@ -78,7 +78,8 @@
 <li class="toctree-l4"><a class="reference internal" href="index.html#description">Description</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#communication">Communication</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#scenario-guide">Scenario Guide</a></li>
-<li class="toctree-l4 current"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="index.html#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/sops_encrypt_module.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/sops_encrypt_module.html
index 9f80416..977f05c 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/sops_encrypt_module.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/sops_encrypt_module.html
@@ -22,7 +22,7 @@
         <script src="../../../_static/sphinx_highlight.js"></script>
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
-    <link rel="next" title="community.sops.sops vars – Loading sops-encrypted vars files" href="sops_vars.html" />
+    <link rel="next" title="community.sops.install role – Install Mozilla sops" href="install_role.html" />
     <link rel="prev" title="community.sops.load_vars module – Load sops-encrypted variables from files, dynamically within a task" href="load_vars_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
@@ -78,7 +78,8 @@
 <li class="toctree-l4"><a class="reference internal" href="index.html#description">Description</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#communication">Communication</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#scenario-guide">Scenario Guide</a></li>
-<li class="toctree-l4 current"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="index.html#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -580,7 +582,7 @@
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="load_vars_module.html" class="btn btn-neutral float-left" title="community.sops.load_vars module – Load sops-encrypted variables from files, dynamically within a task" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="sops_vars.html" class="btn btn-neutral float-right" title="community.sops.sops vars – Loading sops-encrypted vars files" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="install_role.html" class="btn btn-neutral float-right" title="community.sops.install role – Install Mozilla sops" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/sops_lookup.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/sops_lookup.html
index 4230b5f..7315620 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/sops_lookup.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/sops_lookup.html
@@ -78,7 +78,8 @@
 <li class="toctree-l4"><a class="reference internal" href="index.html#description">Description</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#communication">Communication</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#scenario-guide">Scenario Guide</a></li>
-<li class="toctree-l4 current"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="index.html#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/sops_vars.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/sops_vars.html
index f152968..6701823 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/community/sops/sops_vars.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/community/sops/sops_vars.html
@@ -23,7 +23,7 @@
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
     <link rel="next" title="Index of all Filter Plugins" href="../../index_filter.html" />
-    <link rel="prev" title="community.sops.sops_encrypt module – Encrypt data with sops" href="sops_encrypt_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
+    <link rel="prev" title="community.sops.install role – Install Mozilla sops" href="install_role.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
 
@@ -78,7 +78,8 @@
 <li class="toctree-l4"><a class="reference internal" href="index.html#description">Description</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#communication">Communication</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#scenario-guide">Scenario Guide</a></li>
-<li class="toctree-l4 current"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#plugin-index">Plugin Index</a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="index.html#role-index">Role Index</a></li>
 </ul>
 </li>
 </ul>
@@ -91,6 +92,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -478,7 +480,7 @@
           
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="sops_encrypt_module.html" class="btn btn-neutral float-left" title="community.sops.sops_encrypt module – Encrypt data with sops" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="install_role.html" class="btn btn-neutral float-left" title="community.sops.install role – Install Mozilla sops" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="../../index_filter.html" class="btn btn-neutral float-right" title="Index of all Filter Plugins" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index.html
index 221a25b..0ae7c97 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index.html
@@ -82,6 +82,7 @@
 <li class="toctree-l1"><a class="reference internal" href="index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_filter.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_filter.html
index 41c1380..698baa8 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_filter.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_filter.html
@@ -82,6 +82,7 @@
 </li>
 <li class="toctree-l1"><a class="reference internal" href="index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -116,6 +117,7 @@
 <section id="community-sops">
 <h2>community.sops<a class="headerlink" href="#community-sops" title="Permalink to this heading"></a></h2>
 <ul class="simple">
+<li><p><a class="reference internal" href="community/sops/_latest_version_filter.html#ansible-collections-community-sops-latest-version-filter"><span class="std std-ref">community.sops._latest_version</span></a> – Get latest version from a list of versions</p></li>
 <li><p><a class="reference internal" href="community/sops/decrypt_filter.html#ansible-collections-community-sops-decrypt-filter"><span class="std std-ref">community.sops.decrypt</span></a> – Decrypt sops encrypted data</p></li>
 </ul>
 </section>
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_lookup.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_lookup.html
index 1de0e2f..5b8f4e1 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_lookup.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_lookup.html
@@ -82,6 +82,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_module.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_module.html
index 9ce5e42..73d078a 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_module.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_module.html
@@ -22,7 +22,7 @@
         <script src="../_static/sphinx_highlight.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Index of all Vars Plugins" href="index_vars.html" />
+    <link rel="next" title="Index of all Roles" href="index_role.html" />
     <link rel="prev" title="Index of all Lookup Plugins" href="index_lookup.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
@@ -82,6 +82,7 @@
 <li class="toctree-l2"><a class="reference internal" href="#community-sops">community.sops</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -129,7 +130,7 @@
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="index_lookup.html" class="btn btn-neutral float-left" title="Index of all Lookup Plugins" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="index_vars.html" class="btn btn-neutral float-right" title="Index of all Vars Plugins" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="index_role.html" class="btn btn-neutral float-right" title="Index of all Roles" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_vars.html b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_vars.html
index 9486ff3..25b01c4 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/collections/index_vars.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/collections/index_vars.html
@@ -22,7 +22,7 @@
         <script src="../_static/sphinx_highlight.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="prev" title="Index of all Modules" href="index_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
+    <link rel="prev" title="Index of all Roles" href="index_role.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
 
@@ -78,6 +78,7 @@
 <li class="toctree-l1"><a class="reference internal" href="index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Index of all Vars Plugins</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#community-sops">community.sops</a></li>
 </ul>
@@ -126,7 +127,7 @@
           
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="index_module.html" class="btn btn-neutral float-left" title="Index of all Modules" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="index_role.html" class="btn btn-neutral float-left" title="Index of all Roles" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
     </div>
 
   <hr/>
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/index.html b/home/runner/work/community.sops/community.sops/docsbuild/head/index.html
index 8773f79..f644750 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/index.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/index.html
@@ -78,6 +78,7 @@
 <li class="toctree-l1"><a class="reference internal" href="collections/index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="collections/index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->
@@ -125,6 +126,7 @@
 <li class="toctree-l1"><a class="reference internal" href="collections/index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="collections/index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 </div>
diff --git a/home/runner/work/community.sops/community.sops/docsbuild/base/search.html b/home/runner/work/community.sops/community.sops/docsbuild/head/search.html
index 7a2ebd8..cf8238f 100644
--- a/home/runner/work/community.sops/community.sops/docsbuild/base/search.html
+++ b/home/runner/work/community.sops/community.sops/docsbuild/head/search.html
@@ -79,6 +79,7 @@
 <li class="toctree-l1"><a class="reference internal" href="collections/index_filter.html">Index of all Filter Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_lookup.html">Index of all Lookup Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_module.html">Index of all Modules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="collections/index_role.html">Index of all Roles</a></li>
 <li class="toctree-l1"><a class="reference internal" href="collections/index_vars.html">Index of all Vars Plugins</a></li>
 </ul>
 <!-- extra nav elements for Ansible beyond RTD Sphinx Theme -->

github-actions[bot] avatar Oct 19 '22 12:10 github-actions[bot]

I'm not really happy about having the filter plugin in this collection, since it's really unrelated to it, but I still prefer that over adding a dependency to another collection (like community.general) just to be able to sort by version.

felixfontein avatar Oct 20 '22 12:10 felixfontein

(I've uploaded the docs for the current version of this PR to https://ansible.fontein.de/collections/community/sops/)

felixfontein avatar Oct 20 '22 19:10 felixfontein