Skip to content

Commit 0eca358

Browse files
authored
Merge pull request hvac#738 from hvac/develop
Release v0.11.0
2 parents 9505717 + e5a2e5b commit 0eca358

File tree

150 files changed

+13204
-9289
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+13204
-9289
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.10.14
2+
current_version = 0.11.0
33
commit = True
44
tag = True
55

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ko_fi: jeffwecan
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
name: Lint and Test
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- develop
8+
pull_request:
9+
branches:
10+
- main
11+
- develop
12+
13+
jobs:
14+
lint:
15+
name: Lint
16+
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
python-version:
20+
- 3.6
21+
- 3.7
22+
- 3.8
23+
- 3.9
24+
25+
steps:
26+
- uses: actions/checkout@v2
27+
28+
- name: Set up Python ${{ matrix.python-version }}
29+
uses: actions/setup-python@v2
30+
with:
31+
python-version: ${{ matrix.python-version }}
32+
33+
- name: Install `black` and `flake8`
34+
run: |
35+
pip install \
36+
black \
37+
flake8 \
38+
;
39+
40+
- name: Check formatting with `black`
41+
run: black --check .
42+
43+
- name: Lint with `flake8`
44+
run: flake8 . --count --statistics
45+
46+
unit-tests:
47+
name: Unit Tests
48+
runs-on: ubuntu-latest
49+
strategy:
50+
matrix:
51+
python-version:
52+
- 3.6
53+
- 3.7
54+
- 3.8
55+
- 3.9
56+
57+
steps:
58+
- uses: actions/checkout@v2
59+
60+
- name: Set up Python ${{ matrix.python-version }}
61+
uses: actions/setup-python@v2
62+
with:
63+
python-version: ${{ matrix.python-version }}
64+
65+
- name: Install Python dependencies
66+
run: pip install -r requirements-dev.txt
67+
68+
- name: pytest tests/unit_tests
69+
run: |
70+
pytest \
71+
--cov=hvac \
72+
--cov-report=xml \
73+
tests/unit_tests
74+
75+
- name: Upload unit tests coverage artifacts
76+
uses: actions/upload-artifact@v2
77+
with:
78+
name: unit_tests-coverage.xml
79+
path: coverage.xml
80+
if-no-files-found: error
81+
82+
integration-tests:
83+
name: Integration Tests
84+
runs-on: ubuntu-latest
85+
strategy:
86+
matrix:
87+
python-version:
88+
- 3.6
89+
vault-version:
90+
- 1.4.7
91+
- 1.5.9
92+
- 1.6.5
93+
- 1.7.2
94+
95+
steps:
96+
- uses: actions/checkout@v2
97+
98+
- name: Set up Python ${{ matrix.python-version }}
99+
uses: actions/setup-python@v2
100+
with:
101+
python-version: ${{ matrix.python-version }}
102+
103+
- name: Install Python dependencies
104+
run: pip install -r requirements-dev.txt
105+
106+
- name: Install Vault and Consul (for integration tests)
107+
run: |
108+
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
109+
echo "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
110+
| sudo tee /etc/apt/sources.list.d/hashicorp.list
111+
112+
sudo apt update \
113+
-o Dir::Etc::sourceparts="-" \
114+
-o APT::Get::List-Cleanup="0" \
115+
-o Dir::Etc::sourcelist="sources.list.d/hashicorp.list"
116+
117+
sudo apt install \
118+
consul \
119+
vault-enterprise \
120+
;
121+
122+
# We disble cap_ipc_lock here as its generally incompatabile with GitHub
123+
# Actions' runtime environments.
124+
sudo setcap cap_ipc_lock= /usr/bin/vault
125+
126+
- name: pytest tests/integration_tests
127+
run: |
128+
pytest \
129+
--cov=hvac \
130+
--cov-report=xml \
131+
tests/integration_tests
132+
133+
- name: Upload integration tests coverage artifacts
134+
uses: actions/upload-artifact@v2
135+
with:
136+
name: integration_tests-coverage.xml
137+
path: coverage.xml
138+
if-no-files-found: error
139+
140+
upload-to-codecov:
141+
name: Upload to Codecov
142+
runs-on: ubuntu-latest
143+
needs:
144+
- unit-tests
145+
- integration-tests
146+
steps:
147+
- name: Checkout
148+
uses: actions/checkout@v2
149+
150+
- name: Download artifacts
151+
uses: actions/download-artifact@v2
152+
153+
- name: Upload to Codecov
154+
uses: codecov/codecov-action@v1

.github/workflows/python-package.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
# Changelog
22

3+
## 0.11.0 (July 12th, 2021)
4+
5+
### 💥 Breaking Changes
6+
7+
- **Note**: This is intended to by the last hvac release supporting Python 2.7.
8+
9+
**_Starting with hvac version `1.0.0`, Python versions `>=3.6` will be the only explictly supported versions._**
10+
- Userpass: Add `use_token` param on `login()`, Accept passthrough `**kwargs` on create user . GH-733
11+
12+
### 🚀 Features
13+
14+
- Support CA-related Environment Variables. GH-735
15+
- Migrate Token Auth Methods to Dedicated Class. GH-734
16+
- Allow Omission of Password Argument on Userpass `create_or_update_user()`. GH-714
17+
- Add `token_ttl` & `token_max_ttl` Arguments to `ldap.configure()`. GH-707
18+
19+
### 🐛 Bug Fixes
20+
21+
- Fix Cert.login() handling of use_token argument. GH-720
22+
- Use PUTs for AWS Secrets Engine STS Requests. GH-718
23+
24+
### 🧰 Miscellaneous
25+
26+
- Add deprecation notices for `Client()` k8s methods. GH-732
27+
- Add deprecation notices for `Client()` approle methods. GH-731
28+
- Deprecate AppID-related `Client()` Methods. GH-730
29+
- Update Deprecated Usage In Documentation & Tests. GH-728
30+
- Add `python_requires='>=2.7'` to setuptools Metadata. GH-727
31+
- Transition to `black` Formatting + Updated PR Actions Workflow. GH-726
32+
33+
Thanks to @el-deano, @intgr, @jeffwecan, @pjaudiomv, @tp6783 and tyhess for their lovely contributions.
34+
335
## 0.10.14 (May 21st, 2021)
436

537
### 🐛 Bug Fixes

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pip install -e .
1818
Integration tests will automatically start a Vault server in the background. Just make sure
1919
the latest `vault` binary is available in your `PATH`.
2020

21-
1. [Install Vault](https://vaultproject.io/docs/install/index.html) or execute `tests/scripts/install-vault.sh`. Note: by default this script installs the OSS version of Vault. An enterprise trial version of the Vault binary is available for testing (but has an explicitly limited runtime). To run integration test cases requiring enterprise Vault, you can invoke the installation script with: `install-vault.sh <desired version> 'enterprise'`
21+
1. [Install Vault](https://vaultproject.io/docs/install/index.html)
2222
2. Install requirements
2323

2424
```

docs/conf.py

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,60 +6,61 @@
66
# Set up import path to allow the autodoc extension to find the local module code.
77
import os
88
import sys
9-
sys.path.insert(0, os.path.abspath('..'))
9+
10+
sys.path.insert(0, os.path.abspath(".."))
1011

1112

1213
# -- Project information -----------------------------------------------------
1314

14-
project = u'hvac'
15-
copyright = u'2018-2020, Ian Unruh, Jeffrey Hogan'
16-
author = u'Ian Unruh, Jeffrey Hogan'
15+
project = u"hvac"
16+
copyright = u"2018-2020, Ian Unruh, Jeffrey Hogan"
17+
author = u"Ian Unruh, Jeffrey Hogan"
1718

1819
# The short X.Y version
19-
version = '0.10.14'
20+
version = "0.11.0"
2021
# The full version, including alpha/beta/rc tags
21-
release = '0.10.14'
22+
release = "0.11.0"
2223

2324

2425
# -- General configuration ---------------------------------------------------
2526

2627
extensions = [
27-
'docs.ext.hvac_doctest',
28-
'sphinx.ext.autodoc',
29-
'sphinx.ext.coverage',
30-
'sphinx.ext.viewcode',
31-
'sphinx.ext.githubpages',
32-
'm2r2',
33-
'autodocsumm',
28+
"docs.ext.hvac_doctest",
29+
"sphinx.ext.autodoc",
30+
"sphinx.ext.coverage",
31+
"sphinx.ext.viewcode",
32+
"sphinx.ext.githubpages",
33+
"m2r2",
34+
"autodocsumm",
3435
]
3536

3637
# Add any paths that contain templates here, relative to this directory.
37-
templates_path = ['_templates']
38+
templates_path = ["_templates"]
3839

39-
source_suffix = ['.rst', '.md']
40+
source_suffix = [".rst", ".md"]
4041

4142
# The master toctree document.
42-
master_doc = 'index'
43+
master_doc = "index"
4344

4445
language = None
45-
exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store']
46-
pygments_style = 'sphinx'
46+
exclude_patterns = [u"_build", "Thumbs.db", ".DS_Store"]
47+
pygments_style = "sphinx"
4748

4849

4950
# -- Options for HTML output -------------------------------------------------
5051

51-
html_theme = 'sphinx_rtd_theme'
52-
html_static_path = ['_static']
53-
html_context = {'no_skippy': True}
52+
html_theme = "sphinx_rtd_theme"
53+
html_static_path = ["_static"]
54+
html_context = {"no_skippy": True}
5455
html_theme_options = {
5556
# Toc options
56-
'collapse_navigation': False,
57+
"collapse_navigation": False,
5758
}
5859

5960
# -- Options for HTMLHelp output ---------------------------------------------
6061

6162
# Output file base name for HTML help builder.
62-
htmlhelp_basename = 'hvacdoc'
63+
htmlhelp_basename = "hvacdoc"
6364

6465
# -- Options for Epub output -------------------------------------------------
6566

@@ -70,13 +71,13 @@
7071
epub_copyright = copyright
7172

7273
# A list of files that should not be packed into the epub file.
73-
epub_exclude_files = ['search.html']
74+
epub_exclude_files = ["search.html"]
7475

7576
# -- doctest configuration -------------------------------------------------
76-
if os.getenv('READ_THE_DOCS_BUILD') is not None:
77+
if os.getenv("READ_THE_DOCS_BUILD") is not None:
7778
doctest_global_enabled = False
7879

79-
doctest_global_setup = '''
80+
doctest_global_setup = """
8081
import os
8182
from pprint import pprint, pformat
8283
@@ -93,17 +94,17 @@
9394
9495
manager, mocker = doctest_global_setup()
9596
client = manager.client
96-
'''
97+
"""
9798

98-
doctest_global_cleanup = '''
99+
doctest_global_cleanup = """
99100
mocker.stop()
100101
manager.stop()
101-
'''
102+
"""
102103

103104
# -- Autodoc configuration -------------------------------------------------
104105

105106
autodoc_default_options = {
106-
'autosummary': True,
107+
"autosummary": True,
107108
}
108109

109110

0 commit comments

Comments
 (0)