cloudcheck 9.3.0__tar.gz → 10.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cloudcheck-10.0.1/.github/workflows/cla.yml +97 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.github/workflows/daily-update.yml +3 -12
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.github/workflows/python-tests.yml +5 -6
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.github/workflows/rust-tests.yml +7 -1
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/Cargo.lock +404 -302
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/Cargo.toml +1 -1
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/PKG-INFO +45 -44
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/README.md +44 -43
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloud_providers_v2.json +7044 -4201
- cloudcheck-10.0.1/cloud_providers_v3.json +61361 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/helpers.py +15 -2
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/amazon.py +13 -2
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/base.py +2 -1
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/cloudflare.py +3 -3
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/digitalocean.py +7 -2
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/gocache.py +3 -1
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/google.py +6 -3
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/hetzner.py +7 -2
- cloudcheck-10.0.1/cloudcheck/providers/iboss.py +13 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/microsoft.py +2 -2
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck_update/__init__.py +1 -1
- cloudcheck-10.0.1/cloudcheck_update/cli.py +21 -0
- cloudcheck-10.0.1/dist/cloudcheck-10.0.1-cp314-cp314-manylinux_2_38_x86_64.whl +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/pyproject.toml +5 -5
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/scripts/update_readme_table.py +3 -3
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/src/lib.rs +2 -2
- cloudcheck-10.0.1/test_cloudcheck.py +110 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/uv.lock +1 -1
- cloudcheck-9.3.0/cloudcheck_update/cli.py +0 -13
- cloudcheck-9.3.0/dist/cloudcheck-9.3.0-cp314-cp314-manylinux_2_38_x86_64.whl +0 -0
- cloudcheck-9.3.0/test_cloudcheck.py +0 -38
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.github/dependabot.yml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.github/workflows/docker-tests.yml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.github/workflows/pipeline-tests.yml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/.gitignore +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/Dockerfile +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloud_providers.json +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/__init__.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/__init__.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/akamai.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/alibaba.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/arvancloud.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/backblaze.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/baidu.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/cachefly.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/cdnetworks.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/cisco.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/cloudfront.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/ddosguard.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/dell.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/dod.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/fastly.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/fbi.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/gabia.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/gcore.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/github.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/heroku.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/hostway.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/hpe.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/huawei.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/ibm.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/imperva.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/kamatera.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/kinx.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/ktcloud.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/leaseweb.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/lgtelecom.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/microsoft365.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/navercloud.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/nhncloud.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/oracle.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/ovh.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/qrator.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/quiccloud.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/rackspace.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/ru_fso.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/salesforce.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/scaleway.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/skbroadband.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/stormwall.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/sucuri.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/tencent.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/uk_mod.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/wasabi.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/x4b.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/yandex.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/zoho.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck/providers/zscaler.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/cloudcheck_update/test_cloudcheck_update.py +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/helm/Chart.yaml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/helm/cloudcheck/values.yaml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/helm/templates/cloudcheck.yaml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/helm/values.yaml +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/pytest.ini +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/src/api.rs +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/src/main.rs +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/src/python.rs +0 -0
- {cloudcheck-9.3.0 → cloudcheck-10.0.1}/test_docker.py +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
name: "CLA Assistant"
|
|
2
|
+
on:
|
|
3
|
+
issue_comment:
|
|
4
|
+
types: [created]
|
|
5
|
+
pull_request_target:
|
|
6
|
+
types: [opened, closed, synchronize]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
pull-requests: write
|
|
10
|
+
statuses: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
CLAAssistant:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- name: Generate token from GitHub App
|
|
17
|
+
id: app-token
|
|
18
|
+
uses: actions/create-github-app-token@v1
|
|
19
|
+
with:
|
|
20
|
+
app-id: ${{ secrets.APP_ID }}
|
|
21
|
+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
|
22
|
+
owner: blacklanternsecurity
|
|
23
|
+
|
|
24
|
+
- name: Check all committers against org and allowlist
|
|
25
|
+
id: cla-check
|
|
26
|
+
env:
|
|
27
|
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
|
28
|
+
run: |
|
|
29
|
+
if [ "${{ github.event_name }}" = "pull_request_target" ]; then
|
|
30
|
+
PR_NUM="${{ github.event.pull_request.number }}"
|
|
31
|
+
else
|
|
32
|
+
PR_NUM="${{ github.event.issue.number }}"
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
COMMITTERS=$(gh api "repos/${{ github.repository }}/pulls/$PR_NUM/commits" --paginate --jq '.[].author.login' | sort -u)
|
|
36
|
+
ALL_EXEMPT=true
|
|
37
|
+
|
|
38
|
+
for LOGIN in $COMMITTERS; do
|
|
39
|
+
# treat commits with no associated GitHub login as non-exempt
|
|
40
|
+
if [ -z "$LOGIN" ] || [ "$LOGIN" = "null" ]; then
|
|
41
|
+
echo "Unknown committer (no GitHub login) — not exempt"
|
|
42
|
+
ALL_EXEMPT=false
|
|
43
|
+
break
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
EXEMPT=false
|
|
47
|
+
|
|
48
|
+
# check if account type is Bot (GitHub App accounts)
|
|
49
|
+
AUTHOR_TYPE=$(gh api "users/${LOGIN}" --jq '.type' 2>/dev/null || echo "Unknown")
|
|
50
|
+
if [ "$AUTHOR_TYPE" = "Bot" ]; then
|
|
51
|
+
echo "$LOGIN is a Bot account — exempt"
|
|
52
|
+
EXEMPT=true
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# check org membership
|
|
56
|
+
if [ "$EXEMPT" = "false" ]; then
|
|
57
|
+
if gh api "orgs/blacklanternsecurity/members/$LOGIN" > /dev/null 2>&1; then
|
|
58
|
+
echo "$LOGIN is an org member — exempt"
|
|
59
|
+
EXEMPT=true
|
|
60
|
+
fi
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
if [ "$EXEMPT" = "false" ]; then
|
|
64
|
+
echo "$LOGIN is not exempt — CLA required"
|
|
65
|
+
ALL_EXEMPT=false
|
|
66
|
+
break
|
|
67
|
+
fi
|
|
68
|
+
done
|
|
69
|
+
|
|
70
|
+
echo "all_exempt=$ALL_EXEMPT" >> "$GITHUB_OUTPUT"
|
|
71
|
+
|
|
72
|
+
- name: Skip CLA when all committers are exempt
|
|
73
|
+
if: steps.cla-check.outputs.all_exempt == 'true' && github.event_name == 'pull_request_target'
|
|
74
|
+
env:
|
|
75
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
76
|
+
run: |
|
|
77
|
+
gh api --method POST "repos/${{ github.repository }}/statuses/${{ github.event.pull_request.head.sha }}" \
|
|
78
|
+
-f state=success \
|
|
79
|
+
-f context="CLAAssistant" \
|
|
80
|
+
-f description="CLA check skipped — all committers are org members or bots"
|
|
81
|
+
|
|
82
|
+
- name: "CLA Assistant"
|
|
83
|
+
if: |
|
|
84
|
+
(steps.cla-check.outputs.all_exempt != 'true') &&
|
|
85
|
+
((github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target')
|
|
86
|
+
uses: contributor-assistant/github-action@v2.6.1
|
|
87
|
+
env:
|
|
88
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
89
|
+
PERSONAL_ACCESS_TOKEN: ${{ steps.app-token.outputs.token }}
|
|
90
|
+
with:
|
|
91
|
+
path-to-signatures: "signatures/version1/cla.json"
|
|
92
|
+
path-to-document: "https://github.com/blacklanternsecurity/CLA/blob/main/ICLA.md"
|
|
93
|
+
branch: "main"
|
|
94
|
+
allowlist: "dependabot[bot],github-actions[bot],renovate[bot]"
|
|
95
|
+
remote-organization-name: "blacklanternsecurity"
|
|
96
|
+
remote-repository-name: "CLA"
|
|
97
|
+
lock-pullrequest-aftermerge: "false"
|
|
@@ -24,10 +24,6 @@ jobs:
|
|
|
24
24
|
with:
|
|
25
25
|
ref: stable
|
|
26
26
|
|
|
27
|
-
- name: Create temporary update branch
|
|
28
|
-
run: |
|
|
29
|
-
git checkout -b update/daily-$(date -u +%Y-%m-%d)
|
|
30
|
-
|
|
31
27
|
- name: Set up Python
|
|
32
28
|
uses: actions/setup-python@v6
|
|
33
29
|
with:
|
|
@@ -56,16 +52,11 @@ jobs:
|
|
|
56
52
|
echo "has_changes=true" >> $GITHUB_OUTPUT
|
|
57
53
|
fi
|
|
58
54
|
|
|
59
|
-
- name: Commit and
|
|
55
|
+
- name: Commit and push to stable
|
|
60
56
|
if: steps.changes.outputs.has_changes == 'true'
|
|
61
57
|
run: |
|
|
62
|
-
BRANCH="update/daily-$(date -u +%Y-%m-%d)"
|
|
63
58
|
git config user.name "github-actions[bot]"
|
|
64
59
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
65
|
-
git add
|
|
60
|
+
git add cloud_providers_v3.json README.md
|
|
66
61
|
git commit -m "chore: daily signature update $(date -u +%Y-%m-%d)"
|
|
67
|
-
git push origin
|
|
68
|
-
git checkout stable
|
|
69
|
-
git merge "$BRANCH" --no-edit -m "chore: merge daily signature update"
|
|
70
|
-
git push origin stable
|
|
71
|
-
git push origin --delete "$BRANCH"
|
|
62
|
+
git push origin HEAD:stable
|
|
@@ -60,8 +60,7 @@ jobs:
|
|
|
60
60
|
- name: Build PyPi package
|
|
61
61
|
run: uv run maturin build --release --out dist
|
|
62
62
|
- name: Publish PyPi package
|
|
63
|
-
|
|
64
|
-
run: uv run maturin publish --username __token__ --password ${{ secrets.PYPI_TOKEN }} || true
|
|
63
|
+
run: uv run maturin publish --skip-existing --username __token__ --password ${{ secrets.PYPI_TOKEN }}
|
|
65
64
|
linux:
|
|
66
65
|
runs-on: ${{ matrix.platform.runner }}
|
|
67
66
|
needs: publish
|
|
@@ -92,7 +91,7 @@ jobs:
|
|
|
92
91
|
with:
|
|
93
92
|
target: ${{ matrix.platform.target }}
|
|
94
93
|
args: --release --out dist --find-interpreter
|
|
95
|
-
sccache:
|
|
94
|
+
sccache: false
|
|
96
95
|
manylinux: auto
|
|
97
96
|
before-script-linux: |
|
|
98
97
|
if command -v apt-get >/dev/null 2>&1; then
|
|
@@ -138,7 +137,7 @@ jobs:
|
|
|
138
137
|
with:
|
|
139
138
|
target: ${{ matrix.platform.target }}
|
|
140
139
|
args: --release --out dist --find-interpreter
|
|
141
|
-
sccache:
|
|
140
|
+
sccache: false
|
|
142
141
|
manylinux: musllinux_1_2
|
|
143
142
|
before-script-linux: |
|
|
144
143
|
if command -v apk >/dev/null 2>&1; then
|
|
@@ -185,7 +184,7 @@ jobs:
|
|
|
185
184
|
with:
|
|
186
185
|
target: ${{ matrix.platform.target }}
|
|
187
186
|
args: --release --out dist --find-interpreter
|
|
188
|
-
sccache:
|
|
187
|
+
sccache: false
|
|
189
188
|
- name: Upload wheels
|
|
190
189
|
uses: actions/upload-artifact@v6
|
|
191
190
|
with:
|
|
@@ -213,7 +212,7 @@ jobs:
|
|
|
213
212
|
with:
|
|
214
213
|
target: ${{ matrix.platform.target }}
|
|
215
214
|
args: --release --out dist --find-interpreter
|
|
216
|
-
sccache:
|
|
215
|
+
sccache: false
|
|
217
216
|
- name: Upload wheels
|
|
218
217
|
uses: actions/upload-artifact@v6
|
|
219
218
|
with:
|
|
@@ -51,4 +51,10 @@ jobs:
|
|
|
51
51
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
52
52
|
|
|
53
53
|
- name: Publish to crates.io
|
|
54
|
-
run:
|
|
54
|
+
run: |
|
|
55
|
+
VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
|
|
56
|
+
if cargo search cloudcheck --limit 1 | head -1 | grep -q "$VERSION"; then
|
|
57
|
+
echo "Version $VERSION already exists on crates.io, skipping publish"
|
|
58
|
+
else
|
|
59
|
+
cargo publish --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
|
60
|
+
fi
|