cloudcheck 8.6.0__tar.gz → 8.7.0__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.
Files changed (90) hide show
  1. cloudcheck-8.7.0/.github/workflows/docker-tests.yml +97 -0
  2. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/.github/workflows/python-tests.yml +6 -6
  3. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/.github/workflows/rust-tests.yml +1 -1
  4. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/Cargo.lock +425 -1
  5. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/Cargo.toml +6 -1
  6. cloudcheck-8.7.0/Dockerfile +36 -0
  7. cloudcheck-8.7.0/PKG-INFO +251 -0
  8. cloudcheck-8.7.0/README.md +243 -0
  9. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloud_providers_v2.json +2989 -14
  10. cloudcheck-8.7.0/cloudcheck/providers/baidu.py +17 -0
  11. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/base.py +31 -3
  12. cloudcheck-8.7.0/cloudcheck/providers/cdnetworks.py +14 -0
  13. cloudcheck-8.7.0/cloudcheck/providers/gabia.py +12 -0
  14. cloudcheck-8.7.0/cloudcheck/providers/gcore.py +27 -0
  15. cloudcheck-8.7.0/cloudcheck/providers/gocache.py +17 -0
  16. cloudcheck-8.7.0/cloudcheck/providers/hostway.py +13 -0
  17. cloudcheck-8.7.0/cloudcheck/providers/kinx.py +14 -0
  18. cloudcheck-8.7.0/cloudcheck/providers/ktcloud.py +14 -0
  19. cloudcheck-8.7.0/cloudcheck/providers/lgtelecom.py +13 -0
  20. cloudcheck-8.7.0/cloudcheck/providers/microsoft365.py +33 -0
  21. cloudcheck-8.7.0/cloudcheck/providers/navercloud.py +15 -0
  22. cloudcheck-8.7.0/cloudcheck/providers/nhncloud.py +15 -0
  23. cloudcheck-8.7.0/cloudcheck/providers/skbroadband.py +13 -0
  24. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/tencent.py +1 -1
  25. cloudcheck-8.7.0/cloudcheck/providers/zscaler.py +25 -0
  26. cloudcheck-8.7.0/dist/cloudcheck-8.7.0-cp314-cp314-manylinux_2_38_x86_64.whl +0 -0
  27. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/pyproject.toml +1 -1
  28. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/scripts/update_readme_table.py +1 -1
  29. cloudcheck-8.7.0/src/api.rs +134 -0
  30. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/src/lib.rs +113 -26
  31. cloudcheck-8.7.0/src/main.rs +106 -0
  32. cloudcheck-8.7.0/test_docker.py +143 -0
  33. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/uv.lock +21 -21
  34. cloudcheck-8.6.0/PKG-INFO +0 -177
  35. cloudcheck-8.6.0/README.md +0 -170
  36. cloudcheck-8.6.0/dist/cloudcheck-8.6.0-cp314-cp314-manylinux_2_38_x86_64.whl +0 -0
  37. cloudcheck-8.6.0/src/main.rs +0 -24
  38. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/.github/dependabot.yml +0 -0
  39. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/.github/workflows/pipeline-tests.yml +0 -0
  40. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/.gitignore +0 -0
  41. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloud_providers.json +0 -0
  42. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/__init__.py +0 -0
  43. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/helpers.py +0 -0
  44. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/__init__.py +0 -0
  45. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/akamai.py +0 -0
  46. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/alibaba.py +0 -0
  47. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/amazon.py +0 -0
  48. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/arvancloud.py +0 -0
  49. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/backblaze.py +0 -0
  50. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/cachefly.py +0 -0
  51. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/cisco.py +0 -0
  52. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/cloudflare.py +0 -0
  53. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/cloudfront.py +0 -0
  54. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/ddosguard.py +0 -0
  55. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/dell.py +0 -0
  56. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/digitalocean.py +0 -0
  57. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/dod.py +0 -0
  58. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/fastly.py +0 -0
  59. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/fbi.py +0 -0
  60. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/github.py +0 -0
  61. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/google.py +0 -0
  62. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/heroku.py +0 -0
  63. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/hetzner.py +0 -0
  64. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/hpe.py +0 -0
  65. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/huawei.py +0 -0
  66. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/ibm.py +0 -0
  67. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/imperva.py +0 -0
  68. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/kamatera.py +0 -0
  69. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/leaseweb.py +0 -0
  70. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/microsoft.py +0 -0
  71. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/oracle.py +0 -0
  72. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/ovh.py +0 -0
  73. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/qrator.py +0 -0
  74. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/quiccloud.py +0 -0
  75. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/rackspace.py +0 -0
  76. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/ru_fso.py +0 -0
  77. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/salesforce.py +0 -0
  78. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/scaleway.py +0 -0
  79. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/stormwall.py +0 -0
  80. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/sucuri.py +0 -0
  81. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/uk_mod.py +0 -0
  82. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/wasabi.py +0 -0
  83. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/x4b.py +0 -0
  84. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck/providers/zoho.py +0 -0
  85. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck_update/__init__.py +0 -0
  86. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck_update/cli.py +0 -0
  87. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/cloudcheck_update/test_cloudcheck_update.py +0 -0
  88. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/pytest.ini +0 -0
  89. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/src/python.rs +0 -0
  90. {cloudcheck-8.6.0 → cloudcheck-8.7.0}/test_cloudcheck.py +0 -0
@@ -0,0 +1,97 @@
1
+ name: Docker Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ stable ]
6
+ pull_request:
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ jobs:
13
+ docker-test:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v6
21
+ with:
22
+ python-version: "3.11"
23
+
24
+ - name: Install dependencies
25
+ run: |
26
+ pip install requests
27
+
28
+ - name: Set up Docker Buildx
29
+ uses: docker/setup-buildx-action@v3
30
+
31
+ - name: Run Docker tests
32
+ run: |
33
+ python test_docker.py
34
+
35
+ docker-publish:
36
+ runs-on: ubuntu-latest
37
+ needs: docker-test
38
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/stable' }}
39
+
40
+ steps:
41
+ - name: Checkout code
42
+ uses: actions/checkout@v6
43
+
44
+ - name: Set up Docker Buildx
45
+ uses: docker/setup-buildx-action@v3
46
+
47
+ - name: Log in to Docker Hub
48
+ uses: docker/login-action@v3
49
+ with:
50
+ username: blacklanternsecurity
51
+ password: ${{ secrets.DOCKER_TOKEN }}
52
+
53
+ - name: Extract metadata
54
+ id: meta
55
+ uses: docker/metadata-action@v5
56
+ with:
57
+ images: blacklanternsecurity/cloudcheck
58
+ tags: |
59
+ type=ref,event=branch
60
+ type=ref,event=pr
61
+ type=sha,prefix=sha-
62
+ type=raw,value=latest,enable={{is_default_branch}}
63
+ type=raw,value=v1
64
+ type=raw,value=v1.0
65
+ type=raw,value=v1.0.0
66
+
67
+ - name: Build and push Docker image
68
+ uses: docker/build-push-action@v6
69
+ with:
70
+ context: .
71
+ file: ./Dockerfile
72
+ push: true
73
+ tags: ${{ steps.meta.outputs.tags }}
74
+ labels: ${{ steps.meta.outputs.labels }}
75
+ cache-from: type=gha
76
+ cache-to: type=gha,mode=max
77
+
78
+ - name: Clean up old Docker Hub tags (up to 50 most recent tags plus 'latest')
79
+ run: |
80
+ # Install jq for JSON processing
81
+ sudo apt-get update && sudo apt-get install -y jq
82
+
83
+ echo "Cleaning up blacklanternsecurity/cloudcheck tags..."
84
+
85
+ tags_response=$(curl -s -H "Authorization: Bearer ${{ secrets.DOCKER_TOKEN }}" \
86
+ "https://hub.docker.com/v2/repositories/blacklanternsecurity/cloudcheck/tags/?page_size=100")
87
+
88
+ tags_to_delete=$(echo "$tags_response" | jq -r '.results[] | select(.name != "latest") | [.last_updated, .name] | @tsv' | \
89
+ sort -r | tail -n +11 | cut -f2)
90
+
91
+ for tag in $tags_to_delete; do
92
+ echo "Deleting blacklanternsecurity/cloudcheck tag: $tag"
93
+ curl -X DELETE -H "Authorization: Bearer ${{ secrets.DOCKER_TOKEN }}" \
94
+ "https://hub.docker.com/v2/repositories/blacklanternsecurity/cloudcheck/tags/$tag/"
95
+ done
96
+
97
+ echo "Cleanup completed for blacklanternsecurity/cloudcheck. Kept 50 most recent tags plus 'latest'."
@@ -109,7 +109,7 @@ jobs:
109
109
  exit 1
110
110
  fi
111
111
  - name: Upload wheels
112
- uses: actions/upload-artifact@v5
112
+ uses: actions/upload-artifact@v6
113
113
  with:
114
114
  name: wheels-linux-${{ matrix.platform.target }}
115
115
  path: dist
@@ -155,7 +155,7 @@ jobs:
155
155
  exit 1
156
156
  fi
157
157
  - name: Upload wheels
158
- uses: actions/upload-artifact@v5
158
+ uses: actions/upload-artifact@v6
159
159
  with:
160
160
  name: wheels-musllinux-${{ matrix.platform.target }}
161
161
  path: dist
@@ -184,7 +184,7 @@ jobs:
184
184
  args: --release --out dist --find-interpreter
185
185
  sccache: false
186
186
  - name: Upload wheels
187
- uses: actions/upload-artifact@v5
187
+ uses: actions/upload-artifact@v6
188
188
  with:
189
189
  name: wheels-windows-${{ matrix.platform.target }}
190
190
  path: dist
@@ -212,7 +212,7 @@ jobs:
212
212
  args: --release --out dist --find-interpreter
213
213
  sccache: false
214
214
  - name: Upload wheels
215
- uses: actions/upload-artifact@v5
215
+ uses: actions/upload-artifact@v6
216
216
  with:
217
217
  name: wheels-macos-${{ matrix.platform.target }}
218
218
  path: dist
@@ -229,7 +229,7 @@ jobs:
229
229
  command: sdist
230
230
  args: --out dist
231
231
  - name: Upload sdist
232
- uses: actions/upload-artifact@v5
232
+ uses: actions/upload-artifact@v6
233
233
  with:
234
234
  name: wheels-sdist
235
235
  path: dist
@@ -247,7 +247,7 @@ jobs:
247
247
  # Used to generate artifact attestation
248
248
  attestations: write
249
249
  steps:
250
- - uses: actions/download-artifact@v6
250
+ - uses: actions/download-artifact@v7
251
251
  - name: Generate artifact attestation
252
252
  uses: actions/attest-build-provenance@v3
253
253
  with:
@@ -20,7 +20,7 @@ jobs:
20
20
  uses: actions-rust-lang/setup-rust-toolchain@v1
21
21
 
22
22
  - name: Cache Rust dependencies
23
- uses: actions/cache@v4
23
+ uses: actions/cache@v5
24
24
  with:
25
25
  path: |
26
26
  ~/.cargo/registry