Skip to content

Commit

Permalink
Remove redundant GET and PUT secret functions
Browse files Browse the repository at this point in the history
Allow transit encryption for ingress request
  • Loading branch information
dormant-user committed Jan 19, 2025
1 parent 0d624bd commit bf41849
Show file tree
Hide file tree
Showing 10 changed files with 64 additions and 150 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,18 @@ print(Fernet.generate_key())
```
</details>

## API Functionality

| Endpoint | Description | API method |
|------------------|--------------------------------------------|------------|
| `/health` | API health endpoint | GET |
| `/get-secret` | Retrieve secrets (comma separated list) | GET |
| `/get-table` | Get ALL the secrets stored in a table | GET |
| `/list-tables` | List all available tables | GET |
| `/put-secret` | Store or update a secret (key-value pairs) | PUT |
| `/delete-secret` | Delete a specific secret | DELETE |
| `/create-table` | Create a new table | POST |

## Coding Standards
Docstring format: [`Google`][google-docs] <br>
Styling conventions: [`PEP 8`][pep8] and [`isort`][isort]
Expand Down
13 changes: 13 additions & 0 deletions docs/README.html
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,18 @@ <h2>Environment Variables<a class="headerlink" href="#environment-variables" tit
</pre></div>
</div>
</details></section>
<section id="api-functionality">
<h2>API Functionality<a class="headerlink" href="#api-functionality" title="Permalink to this heading"></a></h2>
<p>| Endpoint | Description | API method |
|——————|——————————————–|————|
| <code class="docutils literal notranslate"><span class="pre">/health</span></code> | API health endpoint | GET |
| <code class="docutils literal notranslate"><span class="pre">/get-secret</span></code> | Retrieve secrets (comma separated list) | GET |
| <code class="docutils literal notranslate"><span class="pre">/get-table</span></code> | Get ALL the secrets stored in a table | GET |
| <code class="docutils literal notranslate"><span class="pre">/list-tables</span></code> | List all available tables | GET |
| <code class="docutils literal notranslate"><span class="pre">/put-secret</span></code> | Store or update a secret (key-value pairs) | PUT |
| <code class="docutils literal notranslate"><span class="pre">/delete-secret</span></code> | Delete a specific secret | DELETE |
| <code class="docutils literal notranslate"><span class="pre">/create-table</span></code> | Create a new table | POST |</p>
</section>
<section id="coding-standards">
<h2>Coding Standards<a class="headerlink" href="#coding-standards" title="Permalink to this heading"></a></h2>
<p>Docstring format: <a class="reference external" href="https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings"><code class="docutils literal notranslate"><span class="pre">Google</span></code></a> <br>
Expand Down Expand Up @@ -196,6 +208,7 @@ <h3><a href="index.html">Table of Contents</a></h3>
<li><a class="reference internal" href="#">VaultAPI</a><ul>
<li><a class="reference internal" href="#kick-off">Kick off</a></li>
<li><a class="reference internal" href="#environment-variables">Environment Variables</a></li>
<li><a class="reference internal" href="#api-functionality">API Functionality</a></li>
<li><a class="reference internal" href="#coding-standards">Coding Standards</a></li>
<li><a class="reference internal" href="#release-notes">Release Notes</a></li>
<li><a class="reference internal" href="#linting">Linting</a></li>
Expand Down
12 changes: 12 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,18 @@ print(Fernet.generate_key())
```
</details>

## API Functionality

| Endpoint | Description | API method |
|------------------|--------------------------------------------|------------|
| `/health` | API health endpoint | GET |
| `/get-secret` | Retrieve secrets (comma separated list) | GET |
| `/get-table` | Get ALL the secrets stored in a table | GET |
| `/list-tables` | List all available tables | GET |
| `/put-secret` | Store or update a secret (key-value pairs) | PUT |
| `/delete-secret` | Delete a specific secret | DELETE |
| `/create-table` | Create a new table | POST |

## Coding Standards
Docstring format: [`Google`][google-docs] <br>
Styling conventions: [`PEP 8`][pep8] and [`isort`][isort]
Expand Down
12 changes: 12 additions & 0 deletions docs/_sources/README.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,18 @@ print(Fernet.generate_key())
```
</details>

## API Functionality

| Endpoint | Description | API method |
|------------------|--------------------------------------------|------------|
| `/health` | API health endpoint | GET |
| `/get-secret` | Retrieve secrets (comma separated list) | GET |
| `/get-table` | Get ALL the secrets stored in a table | GET |
| `/list-tables` | List all available tables | GET |
| `/put-secret` | Store or update a secret (key-value pairs) | PUT |
| `/delete-secret` | Delete a specific secret | DELETE |
| `/create-table` | Create a new table | POST |

## Coding Standards
Docstring format: [`Google`][google-docs] <br>
Styling conventions: [`PEP 8`][pep8] and [`isort`][isort]
Expand Down
14 changes: 3 additions & 11 deletions docs/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,6 @@ <h2 id="G">G</h2>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#vaultapi.routes.get_secrets">get_secrets() (in module vaultapi.routes)</a>
</li>
<li><a href="index.html#vaultapi.database.get_table">get_table() (in module vaultapi.database)</a>

<ul>
Expand Down Expand Up @@ -228,11 +226,7 @@ <h2 id="K">K</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#vaultapi.payload.DeleteSecret.key">key (vaultapi.payload.DeleteSecret attribute)</a>

<ul>
<li><a href="index.html#vaultapi.payload.PutSecret.key">(vaultapi.payload.PutSecret attribute)</a>
</li>
</ul></li>
</ul></td>
</tr></table>

Expand Down Expand Up @@ -306,8 +300,6 @@ <h2 id="P">P</h2>
<li><a href="index.html#vaultapi.routes.put_secret">(in module vaultapi.routes)</a>
</li>
</ul></li>
<li><a href="index.html#vaultapi.routes.put_secrets">put_secrets() (in module vaultapi.routes)</a>
</li>
<li><a href="index.html#vaultapi.payload.PutSecret">PutSecret (class in vaultapi.payload)</a>
</li>
</ul></td>
Expand Down Expand Up @@ -342,10 +334,12 @@ <h2 id="S">S</h2>
</li>
<li><a href="index.html#vaultapi.models.EnvConfig.secret">secret (vaultapi.models.EnvConfig attribute)</a>
</li>
<li><a href="index.html#vaultapi.models.Session">Session (class in vaultapi.models)</a>
<li><a href="index.html#vaultapi.payload.PutSecret.secrets">secrets (vaultapi.payload.PutSecret attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#vaultapi.models.Session">Session (class in vaultapi.models)</a>
</li>
<li><a href="index.html#vaultapi.models.Session.Config">Session.Config (class in vaultapi.models)</a>
</li>
<li><a href="index.html#vaultapi.server.start">start() (in module vaultapi.server)</a>
Expand Down Expand Up @@ -391,8 +385,6 @@ <h2 id="V">V</h2>
<li><a href="index.html#vaultapi.models.EnvConfig.validate_apikey">validate_apikey() (vaultapi.models.EnvConfig class method)</a>
</li>
<li><a href="index.html#vaultapi.models.EnvConfig.validate_transit_key_length">validate_transit_key_length() (vaultapi.models.EnvConfig class method)</a>
</li>
<li><a href="index.html#vaultapi.payload.PutSecret.value">value (vaultapi.payload.PutSecret attribute)</a>
</li>
<li>
vaultapi.api
Expand Down
49 changes: 5 additions & 44 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ <h1>Welcome to VaultAPI’s documentation!<a class="headerlink" href="#welcome-t
<li class="toctree-l1"><a class="reference internal" href="README.html">VaultAPI</a><ul>
<li class="toctree-l2"><a class="reference internal" href="README.html#kick-off">Kick off</a></li>
<li class="toctree-l2"><a class="reference internal" href="README.html#environment-variables">Environment Variables</a></li>
<li class="toctree-l2"><a class="reference internal" href="README.html#api-functionality">API Functionality</a></li>
<li class="toctree-l2"><a class="reference internal" href="README.html#coding-standards">Coding Standards</a></li>
<li class="toctree-l2"><a class="reference internal" href="README.html#release-notes">Release Notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="README.html#linting">Linting</a></li>
Expand Down Expand Up @@ -583,18 +584,13 @@ <h1>Payload<a class="headerlink" href="#payload" title="Permalink to this headin
<dl class="py class">
<dt class="sig sig-object py" id="vaultapi.payload.PutSecret">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">vaultapi.payload.</span></span><span class="sig-name descname"><span class="pre">PutSecret</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">BaseModel</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#vaultapi.payload.PutSecret" title="Permalink to this definition"></a></dt>
<dd><p>Payload for put-secret API call.</p>
<dd><p>Payload for put-secrets API call.</p>
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">PutSecret</span>
</pre></div>
</div>
<dl class="py attribute">
<dt class="sig sig-object py" id="vaultapi.payload.PutSecret.key">
<span class="sig-name descname"><span class="pre">key</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#vaultapi.payload.PutSecret.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="vaultapi.payload.PutSecret.value">
<span class="sig-name descname"><span class="pre">value</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#vaultapi.payload.PutSecret.value" title="Permalink to this definition"></a></dt>
<dt class="sig sig-object py" id="vaultapi.payload.PutSecret.secrets">
<span class="sig-name descname"><span class="pre">secrets</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#vaultapi.payload.PutSecret.secrets" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="py attribute">
Expand Down Expand Up @@ -682,29 +678,11 @@ <h1>Payload<a class="headerlink" href="#payload" title="Permalink to this headin
<dl class="py function">
<dt class="sig sig-object py" id="vaultapi.routes.get_secret">
<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">vaultapi.routes.</span></span><span class="sig-name descname"><span class="pre">get_secret</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">table_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'default'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">apikey</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">HTTPAuthorizationCredentials</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Depends(HTTPBearer)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#vaultapi.routes.get_secret" title="Permalink to this definition"></a></dt>
<dd><p><strong>API function to retrieve a secret.</strong></p>
<p><strong>Args:</strong></p>
<blockquote>
<div><p>request: Reference to the FastAPI request object.
key: Name of the secret to be retrieved.
table_name: Name of the table where the secret is stored.
apikey: API Key to authenticate the request.</p>
</div></blockquote>
<p><strong>Raises:</strong></p>
<blockquote>
<div><p>APIResponse:
Raises the HTTPStatus object with a status code and detail as response.</p>
</div></blockquote>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="vaultapi.routes.get_secrets">
<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">vaultapi.routes.</span></span><span class="sig-name descname"><span class="pre">get_secrets</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keys</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">table_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'default'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">apikey</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">HTTPAuthorizationCredentials</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Depends(HTTPBearer)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#vaultapi.routes.get_secrets" title="Permalink to this definition"></a></dt>
<dd><p><strong>API function to retrieve multiple secrets at a time.</strong></p>
<p><strong>Args:</strong></p>
<blockquote>
<div><p>request: Reference to the FastAPI request object.
key: Comma separated list of secret names to be retrieved.
keys: Comma separated list of secret names to be retrieved.
table_name: Name of the table where the secrets are stored.
apikey: API Key to authenticate the request.</p>
</div></blockquote>
Expand Down Expand Up @@ -751,23 +729,6 @@ <h1>Payload<a class="headerlink" href="#payload" title="Permalink to this headin
<dl class="py function">
<dt class="sig sig-object py" id="vaultapi.routes.put_secret">
<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">vaultapi.routes.</span></span><span class="sig-name descname"><span class="pre">put_secret</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#vaultapi.payload.PutSecret" title="vaultapi.payload.PutSecret"><span class="pre">PutSecret</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">apikey</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">HTTPAuthorizationCredentials</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Depends(HTTPBearer)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#vaultapi.routes.put_secret" title="Permalink to this definition"></a></dt>
<dd><p><strong>API function to add secrets to database.</strong></p>
<p><strong>Args:</strong></p>
<blockquote>
<div><p>request: Reference to the FastAPI request object.
data: Payload with <code class="docutils literal notranslate"><span class="pre">key</span></code>, <code class="docutils literal notranslate"><span class="pre">value</span></code>, and <code class="docutils literal notranslate"><span class="pre">table_name</span></code> as body.
apikey: API Key to authenticate the request.</p>
</div></blockquote>
<p><strong>Raises:</strong></p>
<blockquote>
<div><p>APIResponse:
Raises the HTTPStatus object with a status code and detail as response.</p>
</div></blockquote>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="vaultapi.routes.put_secrets">
<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">vaultapi.routes.</span></span><span class="sig-name descname"><span class="pre">put_secrets</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">PutSecrets</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">apikey</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">HTTPAuthorizationCredentials</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Depends(HTTPBearer)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#vaultapi.routes.put_secrets" title="Permalink to this definition"></a></dt>
<dd><p><strong>API function to add multiple secrets to a table in the database.</strong></p>
<p><strong>Args:</strong></p>
<blockquote>
Expand Down
Binary file modified docs/objects.inv
Binary file not shown.
Loading

0 comments on commit bf41849

Please sign in to comment.