-
Notifications
You must be signed in to change notification settings - Fork 520
Contribute: zfs driver and zfs driver shared over ISCSI #5654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: one-6.2
Are you sure you want to change the base?
Changes from all commits
05b58b8
742537a
ef50b8f
b600de1
51cda83
c8301d4
3575ac3
647fc2b
a2babe3
33ee5cd
8d055ef
18f6a94
125c1ec
37d5a77
0a59439
1369b99
2ad40ce
e7b7b96
4de1e5a
af5f772
18e2516
0baaa4a
b8330a0
d79f2c7
023924e
01656b1
ac8c7bd
36918fd
cb9ae8b
bc9bb23
180e901
303e704
9d9511b
df4bfbe
6a35239
89ba30f
78638da
099f00a
46de81c
d8db8c0
e4f3846
aa63640
bd89c19
2255885
3c048e5
1a4d3f4
29a294d
d42bb97
b1336d2
26ed861
368bccf
aa536a4
1ec2ae7
0e654c4
8dda8d2
99c0e36
f3bb947
75416ea
7228b01
d6daecd
b4f2bee
fe67119
07fc9aa
53fc699
e777287
b2465d9
01539ee
cc62c31
d43a443
4609a57
4dc9674
c3c5758
2540a7c
c22c843
f68c826
929a40f
370a3da
25c5b5e
f2682d0
685a21e
52df1f7
aadbb4e
b62dc3c
e0679cc
f73b4f1
93b1027
a2e3349
605ec52
d741ab5
ec3a6d1
2a7f32b
70f5748
361430a
7b3b082
dcf6903
42c8c79
54f21aa
fe3b599
2608a73
bb8f4c6
77fae42
046fad5
796e023
3352e2a
6bebb20
d5d6713
49047d3
2e31cb0
a5e90e7
3b7ac7f
645b707
7eec08b
ebed8bf
6694325
5cb80b5
208290e
884d35c
e734a43
b81bf18
8b62a11
7bf0267
e2c1231
9c0ed1b
a6b8776
3ee17ff
9839819
4f523bf
7e9a97e
e442052
3afa877
958b157
133b3ad
928d16f
b35e910
4c4eab4
4f7c1b2
dd81ac0
48770ba
b10a4d6
1e2632e
2fce9bf
0fad0eb
39c9f81
a1d1d00
7f9e56e
a68fc36
dd40d3b
b172332
7ae9e62
924b4a6
3694c1c
dbc6116
c5e50b3
6ed5f95
56015ee
0c90a6a
34dd8ae
62872c4
77d389f
4cb3280
34b808b
9c55ab1
02637c2
d874e8b
f40ba4a
77c59fb
605e2da
263087b
d94a324
d006301
9f6c8ba
c9fef8a
f35fcb9
aa85035
709ef4e
1b4e1f2
c570c2c
905fcf0
de46992
2e57b78
58f9bf3
0474ed7
a21faaf
a3cee2d
7fdfeb4
97fa143
34e9a2b
a9430a2
bfccb59
b340d48
8455ac0
ea69b40
27554da
b71fb90
9b99da2
71134ec
09b39e9
2d09516
ab1f19a
3835634
ff42ab2
434e079
0c286f9
b004d76
a80b23f
175856a
98959c8
95a5243
6e8d87c
713287b
be68723
d5dafa6
6893ef4
5366934
773426f
abbc594
826f630
23d4b6a
cb61d59
6d6caf7
9252033
8b2747c
d4dc5c0
a156d7a
c36da69
3582f79
5d2d4b6
a438e27
6cae8cb
a364415
d15b909
7d4bb5b
2d1bcc2
af892bb
bebf710
0df0dde
ccf64ca
7c6445c
56725a6
0aa721c
2dcef6d
441a352
02a4452
0e18f96
dd820f4
e98b5ed
8e68590
61905fc
c6a7e0c
46558d2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| --- | ||
| name: Documentation Bug report | ||
| about: The purpose of this form is the report issues in the documentation. | ||
| labels: | ||
| - 'Status: Pending' | ||
| - 'Category: Documentation' | ||
| type: 'Bug' | ||
| --- | ||
|
|
||
| <!-- For bugs in OpenNebula and the relevant documentation, report a bug [here](https://github.com/OpenNebula/one/issues/new?template=bug_report.md) --> | ||
|
|
||
| **Description** | ||
| A clear and concise description of what the bug is. | ||
|
|
||
| **Current Content** | ||
| Link and description to the existing content that needs to be updated. | ||
|
|
||
| **Expected Content** | ||
| A clear and concise description of what you expect to see in the documentation. | ||
|
|
||
| **Affected doc version/s** | ||
| List the documentation versions where this change should be reflected. This might vary during the triage process. | ||
|
|
||
| **(Optional) Additional details** | ||
| Add any other information about the problem here. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| approval_team: | ||
| - rsmontero # Ruben | ||
| - xorel # Jan | ||
|
|
||
| # Add any files you want to explicitly protect here | ||
| protected_files: | ||
| - install.sh | ||
| - "**/package*.json" | ||
| - ".github/**" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| ### Description | ||
|
|
||
| <!--- Please leave a helpful description of the PR here. ---> | ||
|
|
||
| ### Branches to which this PR applies | ||
|
|
||
| <!--- Please check you didn't forget a branch this needs to be cherry picked to. | ||
| Leave them unchecked, they will be checked by the merger ---> | ||
|
|
||
| - [ ] master | ||
| - [ ] one-X.X | ||
|
|
||
| <hr> | ||
|
|
||
| - [ ] Check this if this PR should **not** be squashed |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,147 @@ | ||
| name: Check Protected Files | ||
| on: | ||
| workflow_dispatch: {} | ||
| pull_request: | ||
| types: [opened, synchronize, reopened, ready_for_review] | ||
| pull_request_review: | ||
| types: [submitted, edited, dismissed] | ||
|
|
||
| jobs: | ||
| run: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| npm install js-yaml minimatch | ||
|
|
||
| - name: Load protected config | ||
| uses: actions/github-script@v8 | ||
| id: config | ||
| with: | ||
| result-encoding: json | ||
| script: | | ||
| const fs = require('fs') | ||
| const yaml = require('js-yaml') | ||
|
|
||
| const configPath = '.github/config/protected_files.yml' | ||
|
|
||
| if(!fs.existsSync(configPath)) { | ||
| core.setFailed(`Protected config file missing at: ${configPath}. This file is required.`) | ||
|
|
||
| return | ||
| } | ||
|
|
||
| try { | ||
| const raw = fs.readFileSync(configPath, 'utf8') | ||
| const config = yaml.load(raw) | ||
|
|
||
| if (!config || !config.approval_team || !config.protected_files){ | ||
| core.setFailed(`Protected config file missing or malformed at: ${configPath}. This file is required.`) | ||
|
|
||
| return | ||
| } | ||
|
|
||
|
|
||
| return config | ||
|
|
||
| } catch (err) { | ||
| core.setFailed(`Failed to load protected config: ${err}`) | ||
| } | ||
|
|
||
| - name: Get changed files | ||
| uses: actions/github-script@v8 | ||
| id: changed | ||
| with: | ||
| result-encoding: json | ||
| script: | | ||
| const { data: files } = await github.rest.pulls.listFiles({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| pull_number: context.issue.number, | ||
| }) | ||
|
|
||
| const changed = [].concat(files ?? [])?.flatMap(f => f?.filename)?.filter(Boolean) | ||
|
|
||
| return changed | ||
|
|
||
| - name: Check protected files and approvals | ||
| id: reviewers | ||
| uses: actions/github-script@v8 | ||
| with: | ||
| result-encoding: json | ||
| script: | | ||
| const { minimatch } = require('minimatch') | ||
| const changed = ${{ steps.changed.outputs.result }} | ||
| const config = ${{ steps.config.outputs.result }} | ||
|
|
||
| const protectedFiles = config.protected_files | ||
| const approvalTeam = config.approval_team | ||
|
|
||
|
|
||
| const affected = changed | ||
| ?.filter(f => | ||
| protectedFiles.some(pattern => minimatch(f, pattern)) | ||
| ) | ||
|
|
||
|
|
||
| if (affected?.length <= 0) { | ||
| core.info("No protected files modified!") | ||
|
|
||
| return | ||
| } | ||
|
|
||
| const owner = context.repo.owner | ||
| const repo = context.repo.repo | ||
| const pull_number = context.issue.number | ||
| const pr_author = context.payload.pull_request.user.login | ||
|
|
||
| const reviews = await github.paginate(github.rest.pulls.listReviews, { | ||
| owner, | ||
| repo, | ||
| pull_number, | ||
| }) | ||
|
|
||
| const requestedReviews = await github.paginate(github.rest.pulls.listRequestedReviewers, { | ||
| owner, | ||
| repo, | ||
| pull_number | ||
| }) | ||
|
|
||
| const usersApproved = reviews | ||
| .filter(r => r.state === 'APPROVED') | ||
| .map(r => r?.user?.login) | ||
| .filter(Boolean) | ||
|
|
||
| const usersRequested = requestedReviews.flatMap(r => r.users.map(u => u.login)).filter(Boolean) | ||
|
|
||
|
|
||
| const missingApprovals = approvalTeam.filter(u => !usersApproved.includes(u) && u !== pr_author) | ||
| const teamApprovals = approvalTeam.filter(u => usersApproved.includes(u) && u !== pr_author) | ||
|
|
||
| const reviewersToRequest = missingApprovals.filter(u => !usersRequested.includes(u)) | ||
|
|
||
| if (reviewersToRequest?.length > 0) { | ||
| await github.rest.pulls.requestReviewers({ | ||
| owner, | ||
| repo, | ||
| pull_number, | ||
| reviewers: reviewersToRequest | ||
| }) | ||
| } | ||
|
|
||
| const isApproved = approvalTeam.some(u => usersApproved.includes(u)) | ||
|
|
||
| if (isApproved) { | ||
| core.info(`Required approvals are present!\nApproved by: ${teamApprovals?.join(', ')}`) | ||
|
|
||
| return | ||
| } else { | ||
| core.setFailed(`Some protected files have been changed but not all required approvals are present. Missing approvals from one of: ${missingApprovals | ||
| ?.filter(u => !usersApproved?.includes(u)) | ||
| ?.join(', ')}`) | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| name: Slack Push Notifier | ||
|
|
||
| on: | ||
| push: | ||
| branches: [master] | ||
| pull_request: | ||
| types: [closed] | ||
| branches: [master] | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| notify_slack_push: | ||
| name: Notify Slack on pushes | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Set commit message for push | ||
| if: github.event_name == 'push' | ||
| run: | | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji. Untrusted input has been detected in GitHub Actions workflow run commands. This creates a significant security risk for script injection attacks, where malicious actors could exploit workflow inputs to execute unauthorized commands. GitHub Actions workflows should validate and sanitize all user-provided inputs, especially those used in run commands. Consider using GitHub's built-in security features like actions/github-script for safer command execution, or implement proper input validation before using dynamic values in run commands. Similar issue at line numbers 19, 20, 21, 22, 23, 24, 25, 29, 30, and 36. |
||
|
|
||
| HEADLINE=$(echo "${{ github.event.head_commit.message }}" | head -n1) | ||
| HEADLINE=$(echo "$HEADLINE" | tr -cd '[:alnum:]_. -') | ||
|
|
||
| echo "COMMIT_ONELINER=$HEADLINE" >> $GITHUB_ENV | ||
| echo "COMMIT_URL=${{ github.event.head_commit.url }}" >> $GITHUB_ENV | ||
| echo "EVENT_TYPE=direct push" >> $GITHUB_ENV | ||
|
|
||
| - name: Set commit message for PR | ||
| if: github.event_name == 'pull_request' && github.event.pull_request.merged == true | ||
| run: | | ||
|
|
||
| HEADLINE="${{ github.event.pull_request.merge_commit_title }}" | ||
| HEADLINE=$(echo "$HEADLINE" | tr -cd '[:alnum:]_. -') | ||
|
|
||
| echo "COMMIT_ONELINER=$HEADLINE" >> $GITHUB_ENV | ||
| echo "COMMIT_URL=${{ github.event.pull_request.html_url }}" >> $GITHUB_ENV | ||
| echo "EVENT_TYPE=pull request merged" >> $GITHUB_ENV | ||
|
|
||
| - name: Send notification to slack | ||
| if: ${{ github.repository == 'OpenNebula/one-ee' && env.COMMIT_ONELINER != '' }} | ||
| uses: slackapi/slack-github-action@v2.1.1 | ||
| with: | ||
| webhook: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
| webhook-type: incoming-webhook | ||
| payload: | | ||
| channel: ${{ secrets.SLACK_CHANNEL_ID }} | ||
| text: "New ${{env.EVENT_TYPE}}" | ||
| blocks: | ||
| - type: "section" | ||
| text: | ||
| type: "mrkdwn" | ||
| text: "> --> *New commit:* <${{ env.COMMIT_URL }}|${{ env.COMMIT_ONELINER }}>" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recommendation generated by Amazon CodeGuru Reviewer. Leave feedback on this recommendation by replying to the comment or by reacting to the comment using emoji.
Untrusted input has been detected in GitHub Actions workflow run commands. This creates a significant security risk for script injection attacks, where malicious actors could exploit workflow inputs to execute unauthorized commands. GitHub Actions workflows should validate and sanitize all user-provided inputs, especially those used in run commands. Consider using GitHub's built-in security features like actions/github-script for safer command execution, or implement proper input validation before using dynamic values in run commands.
Learn more
Similar issue at line numbers 19, 20, 24, 25, and 26.