Commit graph

10581 commits

Author SHA1 Message Date
Salt Project Packaging
257c067ef6
Release v3007.0rc1 2024-01-02 21:47:46 +00:00
Daniel A. Wozniak
887a9f30c8 Fix another spelling wart 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
a31597fea7 Fix up docs 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
eee8396473 Fix review comments 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
fdbb4ed333 Update transport docs with websockt transport 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
15f44f2d12 Fix up code review spelling grammar 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
a49554a4d3 Fix another code review grammar issue 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
80a6efb608 Fix up issues found in code revieww 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
bc4a8390c8 Add master-cluster to doctree 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
39197b9b40 Add cluster config settings to docs 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
aaca103604 wip docs for master cluster 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
c7d7454056 Fix pre-commit 2023-12-18 04:33:53 -07:00
mrx
b874028705 Update index.rst
update syntax
2023-12-18 04:33:53 -07:00
mike.reider
24e7991f6b sdb doc example subkeys 2023-12-18 04:33:53 -07:00
jeanluc
56ad1ec942 Fix saltext vault/pushover docs
* the correct organization is `salt-extensions`, not `saltstack`
* the release file is strict GitHub-flavoured Markdown only
2023-12-18 03:42:28 -07:00
Daniel Wozniak
21391fe7ba Revert "URL auditor with URL fixes"
This reverts commit d07172cc0e.
2023-12-17 23:13:58 -07:00
ScriptAutomate
d07172cc0e URL auditor with URL fixes 2023-12-17 22:30:41 -07:00
Clay Sweetser
3e491c3416 Remove TOC for Returners from Configuration page.
Remove the table of contents for the "Returners" page from the "Configuration" page.
2023-12-16 04:33:01 -07:00
Clay Sweetser
433642f21f Add TOC for Returners to Remote Execution page
Add a table of contents for the "Returners" page to the "Remote Execution" page.
2023-12-16 04:33:01 -07:00
nicholasmhughes
22a160e791 adding another/different example use case for clarity 2023-12-15 21:46:44 -07:00
nicholasmhughes
a05205bb4f use sentence case instead of title case for headings 2023-12-15 21:46:44 -07:00
nicholasmhughes
2304b355b1 fixes saltstack/salt#65222 document using slots for contents via function call in file state modules 2023-12-15 21:46:44 -07:00
jeanluc
f2121e5ade
Rewrite vault core, issue AppRoles to minions (#62684)
* Rewrite vault core, orchestrate AppRoles for minions

This commit represents a fundamental rewrite in how Salt interacts with
Vault. The master should still be compatible with minions running the
old code. There should be no breaking changes to public interfaces and
the old configuration format should still apply.

Core:
- Issue AppRoles to minions
- Manage entities with templatable metadata for minions
- Use inbuilt Salt cache
- Separate config cache from token cache
- Cache: introduce connection-scope vs global scope

Utility module:
- Support being imported (__utils__ deprecation)
- Raise exceptions on queries to simplify response handling
- Add classes to wrap complexity, especially regarding KV v2
- Lay some groundwork for renewing tokens

Execution module:
- Add patch_secret
- Add version support to delete_secret
- Allow returning listed keys only in list_secret
- Add policy_[fetch/write/delete] and policies_list
- Add query for arbitrary API queries

State module:
- Make use of execution module
- Change output format

Docs:
- Update for new configuration format
- Correct examples
- Add configuration examples
- Add required policies

* Fix linting for rewritten vault integration

* Add pytest unit tests for utils.vault, fix found issues

* Fix old vault runner tests

* Rewrite vault sdb tests, migrate to pytests

* Adapt vault ext_pillar tests

* Adapt vault execution module tests, migrate to pytests

* Add more vault execution module unit tests

* Support python <3.7 (vault util), time-independent tests

* Add/migrate vault runner unit tests (pytest)

* Add vault state module pytests

* Fix tests lint

* Refactor Vault container fixture, move to session scope

* Fix for existing vault execution/sdb module integration tests

* Improve existing vault runner integration tests

* Fix vault test support, add list policies

* Add more functional execution module tests, fix deprecated warning

* Refactor vault pytest support

* Add integration tests, improve/fix caching/issue_params

* Improve caching behavior, fix tests

* Always use session cache as well
* Also flush session cache when requested
* Make KV metadata caching behavior configurable
* Update tests to account for changes from prev commit

* Allow to autodiscover platform default CA bundle

* Remove runner approle param overrides

There is no simple way to ensure they are kept.

* Add clear_cache runner function

* Also manage token metadata for issued secret IDs

* Cleanup tests

* Cleanup code, pylint logging suggestions

* Do not always invalidate config when verify=default

* Ensure concatted metadata lists are sorted

* Add changelog (partly)

* Work with legacy peer_run configuration as well

* Consume a token use regardless of status code

* Correct verify semantics

* Refine token uses handling, add changelog/tests for old issues

* Add changelog for main features

* Add test for issue 58580

* Fix vault docs

* Provide all old make_request functionality, add tests

* Allow token use override, add docstrings to query funcs

* Simplify config_location merge

* Cleanup

* Fix make_request warning

* Attempt to fix memory issues during CI test run

* Increase documented version

* Improve lease handling

* Refine lease ttl handling/add token lifecycle management

* Fix docs build

* Adapt formatting

* assert what you get against what you expect
* drop empty parentheses after wrapper
* use `is` to compare against strictly boolean vars

* Fix issue param overrides

* during pillar rendering, they were always reset by the master (for
  AppRoles)
* overrides were only respected for some settings (AppRoles)
* old config syntax was using the old syntax internally (tech debt)

* Introduce session-scoped cache

* Tokens with a single use left are unrenewable

* Allow override of flushing of cached leases during lookup

* Refactor cache classes, save lease data

* Rename session token cache key

* Add lease management utility

* Fix runner integration tests

after renaming the token cache key

* Do not overwrite data of cached leases after renewal

* Pass token_lifecycle to minions

* Do not fail syncing multiple approles/entities with pillar templates

* Ensure config cache expiration can be disabled

* Rename changelog files (.md)

* Declare vaultpolicylexer as parallel read safe

* Correct meta[data] payload key

For tokens it is `meta`, but for secret IDs, `metadata`.

* Reuse TCP connection

* Refactor utils module

* Ensure client is recreated after clearing cache

* Always use unwrap_client config as expected server

This should fix the test failure in the runner integration test
TestAppRoleIssuance::test_server_switch_does_not_break_minion_auth

* Ensure client is recreated after clearing cache 2

* Simulate patch for KV v1 or missing `patch` capability

* Add `patch` option to Vault SDB driver

* Reduce lease validity when revocation fails

* Extract AppRole/Identity API from runner into utils

* Revoke tokens, fire events, improve cache/exception handling

* Tokens (and therefore associated leases) are revoked when cleared by default
* It's possible to disable clearing cache when a perfectly valid token
  is available, but a PermissionDeniedError is encountered.
* UnwrapExceptions always cause an event to be fired
* It's possible to enable sending of events when
    a) cache is cleared
    b) a lease is requested from cache, but it is/will be invalid
* A VaultAuthException does not immediately lead to clearing
  the connection cache
* get_authd_client and others: multiple small enhancements and fixes

* Allow updating cached config w/o closing session

* Homogenize funcs, update docs, cleanup

* Minor internal fixes

`is_valid_for` is present on all lease-like objects, while `is_valid`
specifically should account for more, e.g. the number of uses.

The Vault API does not return 404 when a lookup fails.

* Add release note

* Address review remarks

* Fix release notes

* Remove loading minion_mods from factory

* Address other review remarks

* Add inline specification of trusted CA root cert

* Small QoL additions

* Fix lint

* Fix lint for Python >=3.8 support

* Add missing fixes

* Fix unit tests

In some cases, the `spec` calls were failing because the underlying
object was already patched

---------

Co-authored-by: Thomas Phipps <tphipps@vmware.com>
2023-12-15 21:42:08 -07:00
Zhiwei Liang
e9cb14c91e Add backups_enabled option; improve docs 2023-12-15 01:17:27 -07:00
Pedro Algarvio
e3ba31dc7a
Merge 3006.x into 3007.x 2023-12-14 11:32:20 +00:00
Megan Wilhite
d453007a8f Migrate package tests to the main test suite 2023-12-12 15:29:41 -07:00
Salt Project Packaging
0472fd381e
Release v3006.5 2023-12-12 18:03:35 +00:00
Daniel A. Wozniak
d7549bd155 Fix docstring 2023-12-10 21:06:45 -07:00
Daniel A. Wozniak
7a366444ab Fix pre-commit 2023-12-10 18:22:28 -07:00
Thomas Merkel
788b922d34 Update doc/topics/tutorials/gitfs.rst
Co-authored-by: Caleb Beard <53276404+MKLeb@users.noreply.github.com>
2023-12-10 16:45:39 -07:00
Thomas Merkel
f933e66a77 doc: gitfs_remotes provide additional ordering information
The user should be informed that a state in a file will overrule a state
in an directory for gitfs_remotes because the remotes are merged
together to one structure.

An extra example should illustrate that it.
2023-12-10 16:45:39 -07:00
Benjamin Drung
b9b0c2462b doc: Exclude documentation_options.js from default theme
`documentation_options.js` from the default theme sets the option
`URL_ROOT` to:

```
document.getElementById("documentation_options").getAttribute('data-url_root')
```

This requires that the script element for `documentation_options.js`
includes the tag `id="documentation_options"` and sets the
`data-url_root` tag. Otherwise evaluating `URL_ROOT` will fail and
building the documentation during the Debian package build will fail:

```
dh_sphinxdoc: error: DOCUMENTATION_OPTIONS does not define URL_ROOT
```

The variable `DOCUMENTATION_OPTIONS` is directly set `layout.html` and
therefore `documentation_options.js` does not need to be included. So
just exclude it.

Signed-off-by: Benjamin Drung <benjamin.drung@ionos.com>
2023-12-10 16:23:20 -07:00
Ari Maniatis
0b423e443f The script attribute is not userdata 2023-12-10 15:12:23 -07:00
Ari Maniatis
341f844c6d Better list of FreeBSD ami for EC2
The old list was many many years out of date.
2023-12-10 04:17:07 -07:00
Daniel Wozniak
4028520d10
Merge branch 'master' into patch-3 2023-12-09 22:10:39 -07:00
Daniel Wozniak
c9afe46ad9
Merge pull request #65553 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-12-07 16:35:19 -07:00
Pedro Algarvio
967d3015f6
Merge 3006.x into master 2023-12-05 18:10:58 +00:00
Daniel A. Wozniak
4d8eac3bac Update security reporting email 2023-12-04 21:57:24 -07:00
Daniel A. Wozniak
9fb71a7559 Update documentation to reflect __file_client__ 2023-12-04 14:20:01 -07:00
Shane Lee
4a45b06c16
Fix a few typos and gramatical errors 2023-12-01 17:07:05 -07:00
Gayathri Krishnaswamy
866f9598b9
Update windows-package-manager.rst
Updated some grammatical errors.
2023-11-29 11:38:14 -07:00
Gayathri Krishnaswamy
890889e117
Update windows-package-manager.rst
Updated comments provided by Alyssa
2023-11-29 11:38:14 -07:00
Gayathri Krishnaswamy
a5108d40f0
Updated Windows package manager 2023-11-29 11:38:13 -07:00
Pedro Algarvio
7abbed1dee Don't include the 3007.0.md.template in the 3006.x branch
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-27 21:13:22 +00:00
Pedro Algarvio
a2228b9751 When a release doc only exists as a template, copy it into the right path
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-27 21:13:22 +00:00
Pedro Algarvio
3b0fd07da8 Show warning on modules which are getting deprecated into extensions
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-27 21:13:22 +00:00
Pedro Algarvio
356bceb212
Revert "Don't include the 3007.0.md.template in the 3006.x branch"
This reverts commit 575c1b8a79.
2023-11-26 17:01:29 +00:00
Pedro Algarvio
575c1b8a79
Don't include the 3007.0.md.template in the 3006.x branch
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 17:01:21 +00:00
MKLeb
4d72d7c052 Revert "REVERT: Add temp 3007.0 release notes"
This reverts commit 2c77a3788edac7f96ce0bf9aa07568d75d768b28.
2023-11-19 19:42:05 +00:00
MKLeb
5f31b3120e REVERT: Add temp 3007.0 release notes 2023-11-19 19:42:05 +00:00