René's URL Explorer Experiment


Title: ROX-29577: PoC of e2e tests for VM scanning by vikin91 · Pull Request #20168 · stackrox/stackrox · GitHub

Open Graph Title: ROX-29577: PoC of e2e tests for VM scanning by vikin91 · Pull Request #20168 · stackrox/stackrox

X Title: ROX-29577: PoC of e2e tests for VM scanning by vikin91 · Pull Request #20168 · stackrox/stackrox

Description: Description Add an end-to-end VM scanning test workflow for OpenShift/KubeVirt and wire it into CI. This branch is a synthetic combination of the split: #20213 (merged) #20127 (merged) #20128 and #20129 It was created to make sure that the changes in the split branches have not diverted from the original all-in-one branch. THIS WON'T BE MERGED! I use it to run e2e tests only. Instead, I intend the following branches to be merged: #20213 #20127 #20218 and #20129. Bird-eye view of the e2e VM tests (includes all branches) graph TD subgraph Tm1["t₋₁ — CI Pipeline: Deploy ACS"] direction LR D1["Remove existing
StackRox resources"] --> D2["Setup TLS certs"] --> D3["Deploy StackRox
(Central, Sensor,
Scanner, Collector)"] --> D4["Download virtctl"] end subgraph T0["t₀ — Configuration"] direction LR C1["Load test config
from environment"] --> C2["Create K8s clients
(REST + dynamic)"] --> C3["Connect to Central
(gRPC)"] end subgraph T1["t₁ — Cluster Preflight"] direction LR P1["Verify cluster has nodes
capable of running VMs
(K8s API: node capacity)"] --> P2["Verify VM scanning
feature flag enabled on
Central, Sensor, Compliance
(K8s API: read env vars
from Deployment/DaemonSet)
"] --> P3["Verify VSOCK relay
is operational
(K8s API: KubeVirt CR
+ virt-handler pods)
"] end subgraph T2["t₂ — VM Provisioning"] direction LR V1["Create isolated
test namespace
(K8s API)"] --> V2["Setup image
pull credentials
(K8s API: Secret + SA)"] --> V3["Create KubeVirt VM(s)
with cloud-init
and SSH key
(K8s API: dynamic client)"] --> V4["Wait until VM
is booted and running
(K8s API: poll VMI status)"] end subgraph T3["t₃ — Guest Preparation (per VM)"] direction LR G1["Wait until guest
accepts SSH
(virtctl ssh probe)"] --> G2["Wait for cloud-init
to finish inside guest
(SSH: cloud-init status)"] --> G3["Verify passwordless
sudo works
(SSH: sudo -n true)"] --> G4["Copy roxagent
binary into guest
(virtctl scp)"] --> G5["Verify roxagent is
installed and executable
(SSH: stat + permissions)"] end T3 -. "── above: PR #20127 (Preflight & VM Bootstrap) ──
── below: PR #20128 (Scan Pipeline Validation) ──" .-> T4 subgraph T4["t₄ — Trigger First Scan"] direction LR S1["Wait for Scanner V4
vulnerability DB
to be loaded
(Central gRPC:
GetVulnDefinitionsInfo)
"] --> S2["Trigger scan:
run roxagent on guest
(collects packages,
sends via VSOCK)
(SSH: sudo roxagent)"] --> S3["If primary repo2cpe
mapping fails, retry
with fallback URL
(SSH: retry with new env)"] --> S4["Verify roxagent
did not crash
(check stderr)"] --> S5["Verify roxagent output
looks like a valid
scan report
(check stdout shape)"] end subgraph T5["t₅ — Wait for Scan Results in Central"] direction LR W1["Wait until Central
knows about the VM
(gRPC: ListVMs)"] --> W2["Wait until Central
has VM identity
(gRPC: GetVM)"] --> W3["Wait until Central
reports VM as Running
(gRPC: GetVM state)"] --> W4["Wait until Central
has scan data attached
(gRPC: GetVM scan)"] --> W5["Wait until scan
has a timestamp
(gRPC: GetVM scan_time)"] --> W6["Wait until all
components are
successfully scanned
(gRPC: GetVM components)"] end subgraph T6["t₆ — Verify VM Visible in Central with Correct Metadata"] direction LR A1["VM is discoverable
via List API
by namespace+name
(gRPC: ListVMs)"] --> A2["VM identity matches:
name, namespace,
cluster ID, cluster name
(gRPC: GetVM)"] --> A3["VM lifecycle state
is RUNNING
(gRPC: GetVM)"] --> A4["Scan result is attached
with a valid timestamp
(gRPC: GetVM)"] end subgraph T7["t₇ — Verify Scan Content is Complete"] direction LR B1["Scanned components
list is non-empty
(packages were found)
(gRPC: GetVM scan)"] --> B2["No component is marked
as UNSCANNED
(all were processed)
(gRPC: GetVM scan)"] --> B3["Operating system detected
(populated by Sensor
from guest metadata)
(gRPC: GetVM scan)"] end subgraph T8["t₈ — Rescan and Verify Idempotency"] direction LR R1["Record timestamp
of first scan
(gRPC: GetVM)"] --> R2["Trigger rescan:
run roxagent again
(SSH: sudo roxagent)"] --> R3["Verify roxagent
did not crash
(check stderr)"] --> R4["Wait until Central shows
a newer scan timestamp
than the first scan
(gRPC: poll GetVM)"] --> R5["Verify VM identity
is stable: same ID
across rescans
(gRPC: GetVM)"] end T8 -. "── above: PR #20128 (Scan Pipeline Validation) ──
── below: PR #20129 (Metrics Assertions) ──" .-> T9 subgraph T9["t₉ — Verify Scan Pipeline Metrics"] direction LR M1["Query Prometheus for
scan-started events
(Prometheus API)"] --> M2["Query Prometheus for
scan-completed events
(Prometheus API)"] --> M3["Verify counters
incremented for both
initial scan and rescan
(Prometheus API)"] end T9 -. "── above: PR #20129 (Metrics Assertions) ──
── below: shared suite teardown ──" .-> T10 subgraph T10["t₁₀ — Teardown"] direction LR TD1["Delete test VMs
(K8s API: dynamic client)"] --> TD2["Delete test namespace
(K8s API)"] --> TD3["Close Central
connection
(gRPC close)"] end Tm1 --> T0 --> T1 --> T2 --> T3 T4 --> T5 --> T6 --> T7 --> T8 Loading

Open Graph Description: Description Add an end-to-end VM scanning test workflow for OpenShift/KubeVirt and wire it into CI. This branch is a synthetic combination of the split: #20213 (merged) #20127 (merged) #20128 an...

X Description: Description Add an end-to-end VM scanning test workflow for OpenShift/KubeVirt and wire it into CI. This branch is a synthetic combination of the split: #20213 (merged) #20127 (merged) #20128 an...

Opengraph URL: https://github.com/stackrox/stackrox/pull/20168

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:99c64011-34a1-5664-661c-11cadc56439e
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id862A:2B16CF:268D30B:338842D:6A6552B0
html-safe-nonce88af7cebf1f3295d3709d9a04ba7688b0641ee6066a8016345b2b62c88d27268
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NjJBOjJCMTZDRjoyNjhEMzBCOjMzODg0MkQ6NkE2NTUyQjAiLCJ2aXNpdG9yX2lkIjoiNTE1ODUwMDc2NTA1MDE2Mzg4OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacc450454282b98119f6b7a95e8961d828d8b63fc5b1d8b3552df9341ded9d9f8a
hovercard-subject-tagpull_request:3568038150
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
twitter:imagehttps://avatars.githubusercontent.com/u/114479?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/114479?s=400&v=4
og:image:altDescription Add an end-to-end VM scanning test workflow for OpenShift/KubeVirt and wire it into CI. This branch is a synthetic combination of the split: #20213 (merged) #20127 (merged) #20128 an...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/stackrox/stackrox git https://github.com/stackrox/stackrox.git
octolytics-dimension-user_id40638982
octolytics-dimension-user_loginstackrox
octolytics-dimension-repository_id434017296
octolytics-dimension-repository_nwostackrox/stackrox
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id434017296
octolytics-dimension-repository_network_root_nwostackrox/stackrox
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fstackrox%2Fstackrox%2Fpull%2F20168%2Fcommits%2Ff711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fstackrox%2Fstackrox%2Fpull%2F20168%2Fcommits%2Ff711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=stackrox%2Fstackrox
Reloadhttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Reloadhttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Reloadhttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Please reload this pagehttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
stackrox https://github.com/stackrox
stackroxhttps://github.com/stackrox/stackrox
Notifications https://github.com/login?return_to=%2Fstackrox%2Fstackrox
Fork 183 https://github.com/login?return_to=%2Fstackrox%2Fstackrox
Star 1.3k https://github.com/login?return_to=%2Fstackrox%2Fstackrox
Code https://github.com/stackrox/stackrox
Issues 53 https://github.com/stackrox/stackrox/issues
Pull requests 587 https://github.com/stackrox/stackrox/pulls
Actions https://github.com/stackrox/stackrox/actions
Security and quality 0 https://github.com/stackrox/stackrox/security
Insights https://github.com/stackrox/stackrox/pulse
Code https://github.com/stackrox/stackrox
Issues https://github.com/stackrox/stackrox/issues
Pull requests https://github.com/stackrox/stackrox/pulls
Actions https://github.com/stackrox/stackrox/actions
Security and quality https://github.com/stackrox/stackrox/security
Insights https://github.com/stackrox/stackrox/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fstackrox%2Fstackrox%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fstackrox%2Fstackrox%2Fissues%2Fnew%2Fchoose
vikin91https://github.com/vikin91
masterhttps://github.com/stackrox/stackrox/tree/master
master-ROX-29577-e2e-vm-scanning-pochttps://github.com/stackrox/stackrox/tree/master-ROX-29577-e2e-vm-scanning-poc
Conversation 58 https://github.com/stackrox/stackrox/pull/20168
Commits 22 https://github.com/stackrox/stackrox/pull/20168/commits
Checks 163 https://github.com/stackrox/stackrox/pull/20168/checks
Files changed https://github.com/stackrox/stackrox/pull/20168/files
Please reload this pagehttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
ROX-29577: PoC of e2e tests for VM scanning https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#top
Show all changes 22 commits https://github.com/stackrox/stackrox/pull/20168/files
0177f5b ROX-29577: split VM scanning PR2 scan pipeline vikin91 Apr 24, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/0177f5b2a2468eeb46edb5d25dd43fd55f6e03ef
7dfa422 ROX-29577: include pipeline test in test_e2e_vm build vikin91 May 6, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/7dfa42253cac8a3ad7550d8a066d371f1f89eec1
c4a9459 fix(tests): defer delCancel immediately in provisionPersistentVMs vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/c4a94598ac8f139fa43dfce26b269550e738e762
44d7041 fix(vmhelpers): relax tight timing in pollUntil timeout test vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/44d704142573e7942c0070b74c9a6c4a72df9ba0
34ab4a2 Allow more index reports per minute in relay vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/34ab4a2b8eabb44bba72ea3e4333c08c4da0dbd3
f056187 Rename persistentVMs leftover vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/f056187166b74526d36f8d41ca8dcd144ca10044
24599b8 Self-review - 6 issues vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/24599b8d21d52fbcc4958f2c2c834defe901af89
22b0a5b Add comment vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/22b0a5b7aee25d83c8ca5c8156c92137991806ac
bf7d203 AI- & self-review vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/bf7d20331c6b3a44de52bd2547105fb42712a307
11ec38e Drop fallback CPE2Repo mappin URL vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/11ec38ec66a21d1c05446f1445cc98ce81437426
688f220 Remove validateRoxagentSuccessStderr vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/688f2202f29b39c069dde7f08273fc07eff86b65
e3fd755 Drop persistRoxagentStdout vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/e3fd755a5ca06bed3244ac319e1ce3c2cbe8b665
befa2c5 Remove VerboseOutputLooksLikeReport vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/befa2c5b95f56517d8a007776fc7fac6134eb867
d3551dd Simplify complexity round 3 vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/d3551dd257df0b32c342e1f0cf0860c8da955e14
8865a14 Remove more dead code vikin91 May 20, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/8865a1439493ed66cb8f4df2c28904835b76cdb2
2ab95b7 ROX-29577: split VM scanning PR3 metrics assertions vikin91 Apr 21, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/2ab95b7376c315d2a6c6678984d37abe180daf54
b48ecd7 ROX-29577: include testmetrics in metrics-stage unit target vikin91 Apr 21, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/b48ecd723102924b9cac07ce884536bd8c7e4985
758e814 Add missing build tags vikin91 May 6, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/758e814c25608c33ba5cf06d0486a2c1c42fac36
28408cd fix(testmetrics): prevent false-positive metric prefix matching vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/28408cd3db6cf871f875de82f79c57b056c92f4d
f711b96 fix(testmetrics): add explicit HTTP client timeout for port-forward s… vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
2754174 Fix metric name assertion vikin91 May 19, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/2754174353a32423d5ee191e3229186ab4da7e38
eeffb37 Fix test tags vikin91 May 21, 2026 https://github.com/stackrox/stackrox/pull/20168/commits/eeffb37cab5aa774eaac943ee080001d3d314b99
Clear filters https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Please reload this pagehttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Please reload this pagehttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
Prev https://github.com/stackrox/stackrox/pull/20168/commits/28408cd3db6cf871f875de82f79c57b056c92f4d
Next https://github.com/stackrox/stackrox/pull/20168/commits/2754174353a32423d5ee191e3229186ab4da7e38
#20168https://github.com/stackrox/stackrox/pull/20168
Please reload this pagehttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b
https://github.com/vikin91
https://github.com/cursoragent
vikin91https://github.com/stackrox/stackrox/commits?author=vikin91
cursoragenthttps://github.com/stackrox/stackrox/commits?author=cursoragent
tests/testmetrics/scrape.gohttps://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#diff-2b9d9c9e1e3d80bc4fea332174e76d8faed1dcc14df4e8393eb7f0f9119d8d4b
View file https://github.com/stackrox/stackrox/blob/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b/tests/testmetrics/scrape.go
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/stackrox/stackrox/pull/20168/commits/{{ revealButtonHref }}
https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#diff-2b9d9c9e1e3d80bc4fea332174e76d8faed1dcc14df4e8393eb7f0f9119d8d4b
https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#diff-2b9d9c9e1e3d80bc4fea332174e76d8faed1dcc14df4e8393eb7f0f9119d8d4b
https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#diff-2b9d9c9e1e3d80bc4fea332174e76d8faed1dcc14df4e8393eb7f0f9119d8d4b
https://github.com/stackrox/stackrox/pull/20168/commits/f711b96e7277ac0253c3ebf5ca55f7ba0d7e4e2b#diff-2b9d9c9e1e3d80bc4fea332174e76d8faed1dcc14df4e8393eb7f0f9119d8d4b
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.