chore: add checksum to umbrella certificate#1089
Conversation
There was a problem hiding this comment.
Pull request overview
This PR enhances certificate management in the base development container by adding checksum verification for the Cisco Umbrella root certificate and refactoring the Dockerfile for improved maintainability. The changes ensure build reproducibility and security by verifying certificate integrity during the build process.
Changes:
- Added checksum verification when downloading the Cisco Umbrella root certificate
- Updated certificate filename to use kebab-case (
cisco-umbrella-root.crt) for consistency - Refactored Dockerfile using heredoc syntax to group related commands and improve readability
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.devcontainer/base/Dockerfile |
Added checksummed certificate download and consolidated RUN commands into heredoc block |
.devcontainer/cpp/devcontainer.json |
Updated NODE_EXTRA_CA_CERTS environment variable to reference new certificate filename |
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 20 | 0 | 0 | 0.52s | |
| ✅ DOCKERFILE | hadolint | 3 | 0 | 0 | 0.74s | |
| ✅ GHERKIN | gherkin-lint | 6 | 0 | 0 | 2.37s | |
| ✅ JSON | npm-package-json-lint | yes | no | no | 0.46s | |
| ✅ JSON | prettier | 21 | 4 | 0 | 0 | 0.41s |
| ✅ JSON | v8r | 21 | 0 | 0 | 7.43s | |
| ✅ MARKDOWN | markdownlint | 11 | 0 | 0 | 0 | 0.92s |
| ✅ MARKDOWN | markdown-table-formatter | 11 | 0 | 0 | 0 | 0.27s |
| ✅ REPOSITORY | checkov | yes | no | no | 17.08s | |
| ✅ REPOSITORY | gitleaks | yes | no | no | 0.5s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.01s | |
| ✅ REPOSITORY | grype | yes | no | no | 28.23s | |
| ✅ REPOSITORY | secretlint | yes | no | no | 0.89s | |
| ✅ REPOSITORY | syft | yes | no | no | 1.91s | |
| ✅ REPOSITORY | trivy | yes | no | no | 5.93s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 0.23s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 2.29s | |
| lychee | 79 | 2 | 0 | 33.43s | ||
| ✅ YAML | prettier | 28 | 0 | 0 | 0 | 1.1s |
| ✅ YAML | v8r | 28 | 0 | 0 | 7.56s | |
| ✅ YAML | yamllint | 28 | 0 | 0 | 0.93s |
Detailed Issues
⚠️ SPELL / lychee - 2 errors
[IGNORED] docker://pandoc/extra:3.7.0@sha256:a703d335fa237f8fc3303329d87e2555dca5187930da38bfa9010fa4e690933a | Unsupported: Error creating request client: builder error for url (docker://pandoc/extra:3.7.0@sha256:a703d335fa237f8fc3303329d87e2555dca5187930da38bfa9010fa4e690933a)
[ERROR] https://www.contributor-covenant.org/ | Network error: error sending request for url (https://www.contributor-covenant.org/) Maybe a certificate error?
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
[IGNORED] https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/philips-software/amp-devcontainer | Unsupported: Error creating request client: builder error for url (vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/philips-software/amp-devcontainer)
📝 Summary
---------------------
🔍 Total..........127
✅ Successful.....123
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........2
Errors in .github/CODE_OF_CONDUCT.md
[ERROR] https://www.contributor-covenant.org/ | Network error: error sending request for url (https://www.contributor-covenant.org/) Maybe a certificate error?
Errors in .github/workflows/issue-creation-tool-versions.yml
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
See detailed reports in MegaLinter artifacts
Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@9.3.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,DOCKERFILE_HADOLINT,GHERKIN_GHERKIN_LINT,JSON_V8R,JSON_PRETTIER,JSON_NPM_PACKAGE_JSON_LINT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_GRYPE,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
|
Pull Request Report (#1089)Static measures
Time related measures
Status check related measures
|
|
🎉 Hooray! The changes in this pull request went live with the release of v6.7.1 🎉 |




🚀 Hey, I have created a Pull Request
Description of changes
This pull request updates the
.devcontainer/base/Dockerfileand related configuration to improve how the Cisco Umbrella root certificate is added and referenced in the development container. The changes streamline certificate installation, update the certificate filename for consistency, and refactor related build steps for clarity and maintainability.Certificate Management Improvements:
ADDinstruction with a checksum, ensuring integrity and making the build more reproducible. (.devcontainer/base/Dockerfile)wgetapproach. (.devcontainer/base/Dockerfile)Configuration Consistency:
NODE_EXTRA_CA_CERTSindevcontainer.jsonhas been updated to match the new certificate filename (cisco-umbrella-root.crt), ensuring Node.js processes use the correct certificate file. (.devcontainer/cpp/devcontainer.json)Dockerfile Refactoring:
<<EOF), improving readability and grouping related setup commands together. (.devcontainer/base/Dockerfile).devcontainer/base/Dockerfile)✔️ Checklist