osc_sdk_python 0.39.2__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.
- osc_sdk_python-0.39.2/.github/ISSUE_TEMPLATE/bug_report.yml +61 -0
- osc_sdk_python-0.39.2/.github/ISSUE_TEMPLATE/config.yml +5 -0
- osc_sdk_python-0.39.2/.github/ISSUE_TEMPLATE/feature_request.yml +43 -0
- osc_sdk_python-0.39.2/.github/PULL_REQUEST_TEMPLATE.md +48 -0
- osc_sdk_python-0.39.2/.github/actions/setup-test/action.yml +14 -0
- osc_sdk_python-0.39.2/.github/release.yml +56 -0
- osc_sdk_python-0.39.2/.github/renovate.json5 +6 -0
- osc_sdk_python-0.39.2/.github/scripts/release-build.sh +30 -0
- osc_sdk_python-0.39.2/.github/workflows/build.yml +45 -0
- osc_sdk_python-0.39.2/.github/workflows/code-check-identified.yml +33 -0
- osc_sdk_python-0.39.2/.github/workflows/code-check.yml +20 -0
- osc_sdk_python-0.39.2/.github/workflows/codeql.yml +43 -0
- osc_sdk_python-0.39.2/.github/workflows/cred-scan.yml +18 -0
- osc_sdk_python-0.39.2/.github/workflows/github-sanity-scan.yml +18 -0
- osc_sdk_python-0.39.2/.github/workflows/publish.yml +20 -0
- osc_sdk_python-0.39.2/.github/workflows/sync-labels.yml +16 -0
- osc_sdk_python-0.39.2/.gitignore +23 -0
- osc_sdk_python-0.39.2/CODE_OF_CONDUCT.md +44 -0
- osc_sdk_python-0.39.2/CONTRIBUTING.md +56 -0
- osc_sdk_python-0.39.2/LICENSE +29 -0
- osc_sdk_python-0.39.2/MANIFEST.in +3 -0
- osc_sdk_python-0.39.2/Makefile +36 -0
- osc_sdk_python-0.39.2/PKG-INFO +259 -0
- osc_sdk_python-0.39.2/README.md +237 -0
- osc_sdk_python-0.39.2/docs/examples.md +85 -0
- osc_sdk_python-0.39.2/docs/troubleshooting.md +21 -0
- osc_sdk_python-0.39.2/local-tests.sh +28 -0
- osc_sdk_python-0.39.2/osc_sdk_python/VERSION +1 -0
- osc_sdk_python-0.39.2/osc_sdk_python/__init__.py +31 -0
- osc_sdk_python-0.39.2/osc_sdk_python/authentication.py +176 -0
- osc_sdk_python-0.39.2/osc_sdk_python/call.py +96 -0
- osc_sdk_python-0.39.2/osc_sdk_python/credentials.py +186 -0
- osc_sdk_python-0.39.2/osc_sdk_python/limiter.py +29 -0
- osc_sdk_python-0.39.2/osc_sdk_python/outscale_gateway.py +322 -0
- osc_sdk_python-0.39.2/osc_sdk_python/problem.py +100 -0
- osc_sdk_python-0.39.2/osc_sdk_python/requester.py +29 -0
- osc_sdk_python-0.39.2/osc_sdk_python/resources/gateway_errors.yaml +1220 -0
- osc_sdk_python-0.39.2/osc_sdk_python/resources/outscale.yaml +25166 -0
- osc_sdk_python-0.39.2/osc_sdk_python/retry.py +138 -0
- osc_sdk_python-0.39.2/osc_sdk_python/version.py +7 -0
- osc_sdk_python-0.39.2/pyproject.toml +40 -0
- osc_sdk_python-0.39.2/shell.nix +13 -0
- osc_sdk_python-0.39.2/tests/test_exceptions.py +18 -0
- osc_sdk_python-0.39.2/tests/test_exceptions_500.py +76 -0
- osc_sdk_python-0.39.2/tests/test_limiter.py +65 -0
- osc_sdk_python-0.39.2/tests/test_log.py +36 -0
- osc_sdk_python-0.39.2/tests/test_manual_aksk.py +32 -0
- osc_sdk_python-0.39.2/tests/test_net.py +21 -0
- osc_sdk_python-0.39.2/tests/test_password.py +38 -0
- osc_sdk_python-0.39.2/tests/test_problems.py +48 -0
- osc_sdk_python-0.39.2/tests/test_retry.py +235 -0
- osc_sdk_python-0.39.2/tests/test_vm.py +23 -0
- osc_sdk_python-0.39.2/tests/test_volume.py +17 -0
- osc_sdk_python-0.39.2/tox.ini +18 -0
- osc_sdk_python-0.39.2/uv.lock +446 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a reproducible bug or regression
|
|
3
|
+
labels: [bug]
|
|
4
|
+
assignees: []
|
|
5
|
+
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Thanks for taking the time to report this bug! Please fill in as much detail as possible.
|
|
11
|
+
|
|
12
|
+
- type: input
|
|
13
|
+
id: title
|
|
14
|
+
attributes:
|
|
15
|
+
label: Bug Summary
|
|
16
|
+
description: A short summary of the bug
|
|
17
|
+
placeholder: e.g., Crash on startup
|
|
18
|
+
validations:
|
|
19
|
+
required: true
|
|
20
|
+
|
|
21
|
+
- type: textarea
|
|
22
|
+
id: steps
|
|
23
|
+
attributes:
|
|
24
|
+
label: Steps to Reproduce
|
|
25
|
+
description: Describe the steps needed to reproduce the issue
|
|
26
|
+
placeholder: |
|
|
27
|
+
1. Open a terminal
|
|
28
|
+
2. Run: `my-cli-tool init --config config.yaml`
|
|
29
|
+
3. Run: `my-cli-tool deploy`
|
|
30
|
+
4. Observe the error in the output
|
|
31
|
+
validations:
|
|
32
|
+
required: true
|
|
33
|
+
|
|
34
|
+
- type: textarea
|
|
35
|
+
id: expected
|
|
36
|
+
attributes:
|
|
37
|
+
label: Expected Behavior
|
|
38
|
+
description: What did you expect to happen?
|
|
39
|
+
validations:
|
|
40
|
+
required: true
|
|
41
|
+
|
|
42
|
+
- type: textarea
|
|
43
|
+
id: actual
|
|
44
|
+
attributes:
|
|
45
|
+
label: Actual Behavior
|
|
46
|
+
description: What actually happened?
|
|
47
|
+
validations:
|
|
48
|
+
required: true
|
|
49
|
+
|
|
50
|
+
- type: input
|
|
51
|
+
id: version
|
|
52
|
+
attributes:
|
|
53
|
+
label: Project Version
|
|
54
|
+
description: What version are you using?
|
|
55
|
+
placeholder: e.g., v1.2.3
|
|
56
|
+
|
|
57
|
+
- type: textarea
|
|
58
|
+
id: environment
|
|
59
|
+
attributes:
|
|
60
|
+
label: Environment Info
|
|
61
|
+
description: Include OS, language/runtime, configuration, etc.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest a new feature or enhancement
|
|
3
|
+
labels: [enhancement]
|
|
4
|
+
assignees: []
|
|
5
|
+
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Have a feature in mind? Let us know how it would help!
|
|
11
|
+
|
|
12
|
+
- type: input
|
|
13
|
+
id: title
|
|
14
|
+
attributes:
|
|
15
|
+
label: Feature Summary
|
|
16
|
+
description: A short and clear title for your feature
|
|
17
|
+
placeholder: e.g., Add support for `--dry-run` flag in deploy command
|
|
18
|
+
validations:
|
|
19
|
+
required: true
|
|
20
|
+
|
|
21
|
+
- type: textarea
|
|
22
|
+
id: problem
|
|
23
|
+
attributes:
|
|
24
|
+
label: Problem to Solve
|
|
25
|
+
description: What problem does this feature solve?
|
|
26
|
+
|
|
27
|
+
- type: textarea
|
|
28
|
+
id: solution
|
|
29
|
+
attributes:
|
|
30
|
+
label: Proposed Solution
|
|
31
|
+
description: How do you imagine this feature would work?
|
|
32
|
+
|
|
33
|
+
- type: textarea
|
|
34
|
+
id: alternatives
|
|
35
|
+
attributes:
|
|
36
|
+
label: Alternatives Considered
|
|
37
|
+
description: Have you tried another approach or workaround?
|
|
38
|
+
|
|
39
|
+
- type: textarea
|
|
40
|
+
id: context
|
|
41
|
+
attributes:
|
|
42
|
+
label: Additional Context
|
|
43
|
+
description: Add any other context or related links.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# π¦ Pull Request Template
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Please include a summary of the changes and the related context. If this is a feature, explain the motivation. If it's a bug fix, describe what was broken.
|
|
6
|
+
|
|
7
|
+
Fixes: #<issue-number> _(if applicable)_
|
|
8
|
+
|
|
9
|
+
## Type of Change
|
|
10
|
+
|
|
11
|
+
Please check the relevant option(s):
|
|
12
|
+
|
|
13
|
+
- [ ] π Bug fix
|
|
14
|
+
- [ ] β¨ New feature
|
|
15
|
+
- [ ] π§Ή Code cleanup or refactor
|
|
16
|
+
- [ ] π Documentation update
|
|
17
|
+
- [ ] π§ Build or CI-related change
|
|
18
|
+
- [ ] π Security fix
|
|
19
|
+
- [ ] Other (specify):
|
|
20
|
+
|
|
21
|
+
## How Has This Been Tested?
|
|
22
|
+
|
|
23
|
+
Please describe the test strategy:
|
|
24
|
+
|
|
25
|
+
- [ ] Manual testing
|
|
26
|
+
- [ ] Unit tests
|
|
27
|
+
- [ ] Integration tests
|
|
28
|
+
- [ ] Not tested yet
|
|
29
|
+
|
|
30
|
+
Commands used (if applicable):
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Example
|
|
34
|
+
my-cli-tool build --verbose
|
|
35
|
+
my-cli-tool test
|
|
36
|
+
````
|
|
37
|
+
|
|
38
|
+
## Checklist
|
|
39
|
+
|
|
40
|
+
* [ ] I have followed the [Contributing Guidelines](../blob/main/CONTRIBUTING.md)
|
|
41
|
+
* [ ] I have added tests or explained why they are not needed
|
|
42
|
+
* [ ] I have updated relevant documentation (README, examples, etc.)
|
|
43
|
+
* [ ] My changes follow the [Conventional Commits](https://www.conventionalcommits.org/) specification
|
|
44
|
+
* [ ] My commits include appropriate [Gitmoji](https://gitmoji.dev/)
|
|
45
|
+
|
|
46
|
+
## Additional Context
|
|
47
|
+
|
|
48
|
+
Add any additional context or screenshots if necessary.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: Setup code checks
|
|
2
|
+
description: "Setup toolchain and run smoke test"
|
|
3
|
+
runs:
|
|
4
|
+
using: composite
|
|
5
|
+
steps:
|
|
6
|
+
- name: β¬οΈ Install uv
|
|
7
|
+
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7
|
|
8
|
+
- name: β¬οΈ Setup Python
|
|
9
|
+
run: uv python install
|
|
10
|
+
shell: bash
|
|
11
|
+
- name: β¬οΈ Build python package
|
|
12
|
+
run: make package
|
|
13
|
+
shell: bash
|
|
14
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
changelog:
|
|
2
|
+
exclude:
|
|
3
|
+
labels:
|
|
4
|
+
- skip-changelog
|
|
5
|
+
authors:
|
|
6
|
+
- github-actions[bot]
|
|
7
|
+
|
|
8
|
+
categories:
|
|
9
|
+
- title: π₯ Breaking
|
|
10
|
+
labels:
|
|
11
|
+
- breaking-change
|
|
12
|
+
- title: β¨ Added
|
|
13
|
+
labels:
|
|
14
|
+
- kind/feature
|
|
15
|
+
- title: π οΈ Changed / Refactoring
|
|
16
|
+
labels:
|
|
17
|
+
- kind/refactoring
|
|
18
|
+
- kind/other
|
|
19
|
+
- title: π Documentation
|
|
20
|
+
labels:
|
|
21
|
+
- kind/documentation
|
|
22
|
+
- title: β°οΈ Deprecated
|
|
23
|
+
labels:
|
|
24
|
+
- kind/deprecation
|
|
25
|
+
- title: ποΈ Removed
|
|
26
|
+
labels:
|
|
27
|
+
- kind/cleanup
|
|
28
|
+
- title: π Fixed
|
|
29
|
+
labels:
|
|
30
|
+
- kind/bug
|
|
31
|
+
- title: π Security
|
|
32
|
+
labels:
|
|
33
|
+
- security
|
|
34
|
+
- title: π¦ Dependency updates
|
|
35
|
+
labels:
|
|
36
|
+
- dependencies
|
|
37
|
+
- title: π± Others
|
|
38
|
+
labels:
|
|
39
|
+
- "*"
|
|
40
|
+
|
|
41
|
+
templates:
|
|
42
|
+
title: "Release v$RESOLVED_VERSION"
|
|
43
|
+
body: |
|
|
44
|
+
## π¦ Overview
|
|
45
|
+
This release brings new features, bug fixes, and improvements.
|
|
46
|
+
|
|
47
|
+
## π Changelog
|
|
48
|
+
$CHANGES
|
|
49
|
+
|
|
50
|
+
## π§ Upgrade notes
|
|
51
|
+
- Review **Breaking Changes** carefully.
|
|
52
|
+
- Follow migration steps if applicable.
|
|
53
|
+
|
|
54
|
+
## π₯ Contributors
|
|
55
|
+
Thanks to everyone who contributed:
|
|
56
|
+
$CONTRIBUTORS
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/bin/env bash
|
|
2
|
+
set -e
|
|
3
|
+
osc_api_version=$1
|
|
4
|
+
|
|
5
|
+
if [ -z "$osc_api_version" ]; then
|
|
6
|
+
echo "run $0 with version tag as argument, abort."
|
|
7
|
+
exit 1
|
|
8
|
+
fi
|
|
9
|
+
|
|
10
|
+
root=$(cd "$(dirname $0)/../.." && pwd)
|
|
11
|
+
|
|
12
|
+
# build new version number
|
|
13
|
+
local_sdk_version=$(cat $root/osc_sdk_python/VERSION)
|
|
14
|
+
local_sdk_version_major=$(echo $local_sdk_version | cut -d '.' -f 1)
|
|
15
|
+
local_sdk_version_minor=$(echo $local_sdk_version | cut -d '.' -f 2)
|
|
16
|
+
local_sdk_version_patch=$(echo $local_sdk_version | cut -d '.' -f 3)
|
|
17
|
+
new_sdk_version_minor=$(( local_sdk_version_minor + 1 ))
|
|
18
|
+
new_sdk_version="$local_sdk_version_major.$new_sdk_version_minor.0"
|
|
19
|
+
|
|
20
|
+
# Update osc-api version
|
|
21
|
+
curl --retry 10 -o "${root}/osc_sdk_python/resources/outscale.yaml" "https://raw.githubusercontent.com/outscale/osc-api/refs/tags/${osc_api_version}/outscale.yaml"
|
|
22
|
+
git add "${root}/osc_sdk_python/resources/outscale.yaml"
|
|
23
|
+
|
|
24
|
+
# Setup new SDK version
|
|
25
|
+
for f in "$root/README.md" "$root/osc_sdk_python/VERSION"; do
|
|
26
|
+
sed -i "s/$local_sdk_version_major\.$local_sdk_version_minor\.$local_sdk_version_patch/$local_sdk_version_major\.$new_sdk_version_minor\.0/g" "$f"
|
|
27
|
+
git add "$f"
|
|
28
|
+
done
|
|
29
|
+
|
|
30
|
+
uv version $(cat osc_sdk_python/VERSION)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: osc-sdk-python release build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
api_version:
|
|
7
|
+
description: 'Outscale API version'
|
|
8
|
+
required: true
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
pull-requests: write
|
|
13
|
+
id-token: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
auto-build:
|
|
17
|
+
environment: auto-build
|
|
18
|
+
runs-on: ubuntu-24.04
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
21
|
+
- uses: chainguard-dev/actions/setup-gitsign@main
|
|
22
|
+
- name: Install uv
|
|
23
|
+
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7
|
|
24
|
+
- name: Set up Python
|
|
25
|
+
run: uv python install
|
|
26
|
+
- name: Build release
|
|
27
|
+
run: .github/scripts/release-build.sh ${{ github.event.inputs.api_version }}
|
|
28
|
+
- name: Get SDK version
|
|
29
|
+
id: get-sdk-version
|
|
30
|
+
run: |
|
|
31
|
+
echo "sdk_version=$(cat osc_sdk_python/VERSION)" >> "$GITHUB_OUTPUT"
|
|
32
|
+
- name: Create Pull Request
|
|
33
|
+
uses: peter-evans/create-pull-request@v8.1.0
|
|
34
|
+
with:
|
|
35
|
+
committer: "Outscale Bot <opensource+bot@outscale.com>"
|
|
36
|
+
author: "Outscale Bot <opensource+bot@outscale.com>"
|
|
37
|
+
commit-message: "π release: osc-sdk-python v${{ env.sdk_version }}"
|
|
38
|
+
body: |
|
|
39
|
+
Automatic build of SDK v${{ env.sdk_version }} version based on Outscale API ${{ env.api_version }}.
|
|
40
|
+
title: "SDK v${{ env.sdk_version }}"
|
|
41
|
+
token: "${{ env.token }}"
|
|
42
|
+
env:
|
|
43
|
+
sdk_version: ${{ steps.get-sdk-version.outputs.sdk_version }}
|
|
44
|
+
api_version: ${{ github.event.inputs.api_version }}
|
|
45
|
+
token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: Code check On outscale
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
code-check:
|
|
13
|
+
runs-on: ubuntu-24.04
|
|
14
|
+
environment: eu-west-2
|
|
15
|
+
if: "! contains(github.event.pull_request.labels.*.name, 'dependencies')"
|
|
16
|
+
steps:
|
|
17
|
+
- name: π§Ή Frieza
|
|
18
|
+
uses: outscale/frieza-github-actions/frieza-clean@master
|
|
19
|
+
with:
|
|
20
|
+
access_key: ${{ secrets.OSC_ACCESS_KEY }}
|
|
21
|
+
secret_key: ${{ secrets.OSC_SECRET_KEY }}
|
|
22
|
+
region: ${{ secrets.OSC_REGION }}
|
|
23
|
+
- name: β¬οΈ Checkout repository
|
|
24
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
25
|
+
- name: Setup toolchain
|
|
26
|
+
uses: ./.github/actions/setup-test
|
|
27
|
+
- name: π§ͺ Run integration tests
|
|
28
|
+
env:
|
|
29
|
+
OSC_ACCESS_KEY: ${{ secrets.OSC_ACCESS_KEY }}
|
|
30
|
+
OSC_SECRET_KEY: ${{ secrets.OSC_SECRET_KEY }}
|
|
31
|
+
OSC_TEST_LOGIN: ${{ secrets.OSC_TEST_LOGIN }}
|
|
32
|
+
OSC_TEST_PASSWORD: ${{ secrets.OSC_TEST_PASSWORD }}
|
|
33
|
+
run: make test-int
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: Code check Local
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
code-check:
|
|
13
|
+
runs-on: ubuntu-24.04
|
|
14
|
+
steps:
|
|
15
|
+
- name: β¬οΈ Checkout repository
|
|
16
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
17
|
+
- name: Setup toolchain
|
|
18
|
+
uses: ./.github/actions/setup-test
|
|
19
|
+
- name: Run integration tests
|
|
20
|
+
run: ./local-tests.sh
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: "CodeQL"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "main" ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ "main" ]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: "37 13 * * 5"
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
analyze:
|
|
13
|
+
name: Analyze
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
actions: read
|
|
17
|
+
contents: read
|
|
18
|
+
security-events: write
|
|
19
|
+
|
|
20
|
+
strategy:
|
|
21
|
+
fail-fast: false
|
|
22
|
+
matrix:
|
|
23
|
+
include:
|
|
24
|
+
- language: python
|
|
25
|
+
- language: actions
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout
|
|
29
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
30
|
+
|
|
31
|
+
- name: Initialize CodeQL
|
|
32
|
+
uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4
|
|
33
|
+
with:
|
|
34
|
+
languages: ${{ matrix.language }}
|
|
35
|
+
queries: +security-and-quality
|
|
36
|
+
|
|
37
|
+
- name: Autobuild
|
|
38
|
+
uses: github/codeql-action/autobuild@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4
|
|
39
|
+
|
|
40
|
+
- name: Perform CodeQL Analysis
|
|
41
|
+
uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4
|
|
42
|
+
with:
|
|
43
|
+
category: "/language:${{ matrix.language }}"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: Credential Scanner
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
cred-scan:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
15
|
+
- name: Scan credentials
|
|
16
|
+
uses: outscale/cred-scan@main
|
|
17
|
+
with:
|
|
18
|
+
scan_path: "./"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: Github sanity scanner
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
github-sanity-scan:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
15
|
+
- name: Github sanity scanner
|
|
16
|
+
uses: outscale/github-sanity-scan@main
|
|
17
|
+
with:
|
|
18
|
+
no-pull-request-target: true
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: osc-sdk-python pip publishing
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [released]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
id-token: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
runs-on: ubuntu-24.04
|
|
14
|
+
environment: publish
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
17
|
+
- name: Setup toolchain
|
|
18
|
+
uses: ./.github/actions/setup-test
|
|
19
|
+
- name: Build & Push packages
|
|
20
|
+
run: make upload-package
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: Sync labels
|
|
2
|
+
on:
|
|
3
|
+
workflow_dispatch:
|
|
4
|
+
|
|
5
|
+
permissions:
|
|
6
|
+
issues: write # needed to edit labels
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
sync:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: EndBug/label-sync@v2
|
|
13
|
+
with:
|
|
14
|
+
config-file: 'https://raw.githubusercontent.com/outscale/.github/main/labels.yml'
|
|
15
|
+
# delete-other-labels: false # set to true for strict sync
|
|
16
|
+
# dry-run: false # set to true to preview changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Byte-compiled
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
|
|
5
|
+
# Distribution / packaging
|
|
6
|
+
build/
|
|
7
|
+
dist/
|
|
8
|
+
*.egg-info/
|
|
9
|
+
|
|
10
|
+
# Environments
|
|
11
|
+
.env
|
|
12
|
+
.venv
|
|
13
|
+
env/
|
|
14
|
+
venv/
|
|
15
|
+
ENV/
|
|
16
|
+
env.bak/
|
|
17
|
+
venv.bak/
|
|
18
|
+
|
|
19
|
+
# MacOS
|
|
20
|
+
.DS_Store
|
|
21
|
+
|
|
22
|
+
# Visual Code
|
|
23
|
+
.vscode/*
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
This project follows the [Contributor Covenant](https://www.contributor-covenant.org) Code of Conduct.
|
|
4
|
+
|
|
5
|
+
## Our Pledge
|
|
6
|
+
|
|
7
|
+
We as members, contributors, and leaders pledge to make participation in our project and community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
8
|
+
|
|
9
|
+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
|
|
10
|
+
|
|
11
|
+
## Our Standards
|
|
12
|
+
|
|
13
|
+
Examples of behavior that contributes to a positive environment include:
|
|
14
|
+
|
|
15
|
+
- Demonstrating empathy and kindness
|
|
16
|
+
- Being respectful of differing viewpoints and experiences
|
|
17
|
+
- Giving and gracefully accepting constructive feedback
|
|
18
|
+
- Taking responsibility and apologizing to those affected by mistakes
|
|
19
|
+
- Focusing on what is best for the community
|
|
20
|
+
|
|
21
|
+
Examples of unacceptable behavior include:
|
|
22
|
+
|
|
23
|
+
- The use of sexualized language or imagery
|
|
24
|
+
- Trolling, insulting, or derogatory comments
|
|
25
|
+
- Public or private harassment
|
|
26
|
+
- Publishing othersβ private information without explicit permission
|
|
27
|
+
- Other conduct which could reasonably be considered inappropriate
|
|
28
|
+
|
|
29
|
+
## Enforcement Responsibilities
|
|
30
|
+
|
|
31
|
+
Project maintainers are responsible for clarifying and enforcing this code of conduct and will take appropriate and fair corrective action in response to any behavior they deem inappropriate.
|
|
32
|
+
|
|
33
|
+
## Reporting
|
|
34
|
+
|
|
35
|
+
If you experience or witness unacceptable behavior, please report it via one of the following channels:
|
|
36
|
+
|
|
37
|
+
- π¬ [Discord](https://discord.gg/HUVtY5gT6s)
|
|
38
|
+
- π§ [opensource@outscale.com](mailto:opensource@outscale.com)
|
|
39
|
+
|
|
40
|
+
Reports will be handled confidentially and reviewed promptly.
|
|
41
|
+
|
|
42
|
+
## Attribution
|
|
43
|
+
|
|
44
|
+
This Code of Conduct is adapted from the [Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Contributing Guidelines
|
|
2
|
+
|
|
3
|
+
First off, thank you for taking the time to contribute! π
|
|
4
|
+
Your help is appreciated and helps make this project better for everyone.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## How to Contribute
|
|
9
|
+
|
|
10
|
+
### π Reporting Bugs
|
|
11
|
+
If you find a bug, please open an issue and include:
|
|
12
|
+
- A clear and descriptive title
|
|
13
|
+
- Steps to reproduce the issue
|
|
14
|
+
- Expected and actual behavior
|
|
15
|
+
- Any relevant logs, screenshots, or environment information
|
|
16
|
+
|
|
17
|
+
### β¨ Suggesting Enhancements
|
|
18
|
+
Have an idea for a new feature or improvement?
|
|
19
|
+
- Open an issue and describe your suggestion
|
|
20
|
+
- Explain the use case and potential benefits
|
|
21
|
+
- Optional: propose an implementation strategy
|
|
22
|
+
|
|
23
|
+
### π οΈ Submitting Code Changes
|
|
24
|
+
To submit a patch or enhancement:
|
|
25
|
+
1. Fork the repository
|
|
26
|
+
2. Create a new branch (`git checkout -b feature/your-feature-name`)
|
|
27
|
+
3. Make your changes
|
|
28
|
+
4. Test your changes (if applicable)
|
|
29
|
+
5. Open a pull request with a clear description of your changes
|
|
30
|
+
|
|
31
|
+
### β
Code of Conduct
|
|
32
|
+
By participating, you agree to uphold our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Guidelines
|
|
37
|
+
|
|
38
|
+
- Keep pull requests focused and atomic (one feature or fix per PR).
|
|
39
|
+
- Follow any existing code style or formatting conventions.
|
|
40
|
+
- Document your code where necessary.
|
|
41
|
+
- Include tests when adding new logic (if applicable).
|
|
42
|
+
- Use clear, meaningful commit messages (optionally following [Conventional Commits](https://www.conventionalcommits.org/) and using [Gitmoji](https://gitmoji.dev/) for added clarity and consistency).
|
|
43
|
+
|
|
44
|
+
## π Commit Template
|
|
45
|
+
|
|
46
|
+
To help you follow the Gitmoji and Conventional Commit format, you can enable the local commit template:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
git config commit.template .github/commit-template.txt
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Questions?
|
|
55
|
+
|
|
56
|
+
If you have any questions or need help, feel free to [open an issue](../../issues) or reach out to the maintainers on [Discord](https://discord.gg/HUVtY5gT6s).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019, Outscale SAS
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
|
|
12
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
and/or other materials provided with the distribution.
|
|
15
|
+
|
|
16
|
+
* Neither the name of the copyright holder nor the names of its
|
|
17
|
+
contributors may be used to endorse or promote products derived from
|
|
18
|
+
this software without specific prior written permission.
|
|
19
|
+
|
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
21
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
22
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
24
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
25
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
26
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
27
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
28
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|