-
Notifications
You must be signed in to change notification settings - Fork 19
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
chore(docs): Created GitHub runner cryptographic overview
#386
base: main
Are you sure you want to change the base?
Conversation
Test coverage for 514725e
Static code analysis report
|
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.
wow, great research, thank you for doing it!
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.
Thanks! Mostly have nits
|
||
The GitHub runner charm supports being deployed behind an HTTP proxy. [Aproxy](https://github.com/canonical/aproxy) is installed and enabled when an HTTP proxy is detected so that jobs executing in the runner VMs don’t have to configure the proxy themselves. Aproxy is a transparent proxy service for HTTP and HTTPS/TLS connections. Aproxy works by pre-reading the Host header in HTTP requests and SNI in TLS hellos; it forwards HTTP proxy requests with the hostname therefore, complies with HTTP proxies requiring destination hostname for auditing or access control. Aproxy doesn't and can't decrypt the TLS connections. It works by reading the plaintext SNI information in the client hello during the TLS handshake, so the authentication and encryption of TLS are never compromised. Aproxy supports TLS 1.0 and above except TLS 1.3 Encrypted Client Hello. | ||
### Signature Verification | ||
Cloud image is verified by SHA256 checksum. Runner binary is also downloaded by [GitHub Runner Charm](https://github.com/canonical/github-runner-operator) and verified by SHA256 in this charm. |
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.
Could we elaborate which Cloud image is meant here?
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.
I think this sentence should be updated here, too.
…om:canonical/github-runner-operator into ISD-2412-SSDLC-Cryptographic-Documentation
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.
Thanks. Some follow-up comments.
|
||
Images that run in the OpenStack vm are built using the [Image Builder Charm](https://github.com/canonical/github-runner-image-builder-operator). This charm needs to download the runner binary, cloud image to base the image on and yq. All these images are downloaded with TLS. | ||
Images that run in the OpenStack vm are built using the [Image Builder](https://github.com/canonical/github-runner-image-builder-operator). This application needs to download the runner binary, yq and the cloud image to base the image on. All these images are downloaded with TLS. |
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.
Images that run in the OpenStack vm are built using the [Image Builder](https://github.com/canonical/github-runner-image-builder-operator). This application needs to download the runner binary, yq and the cloud image to base the image on. All these images are downloaded with TLS. | |
Images that run in the OpenStack vm are built using the [Image Builder](https://github.com/canonical/github-runner-image-builder. This application needs to download the runner binary, yq and the cloud image to base the image on. All these images are downloaded with TLS. |
### Signature Verification | ||
Cloud images are verified by SHA256 checksum. Runner binary is also downloaded by [the GitHub Runner Charm](https://github.com/canonical/github-runner-operator) and verified by SHA256 in this charm. | ||
Cloud images that are downloaded by the Image Builder are verified by SHA256 checksum. Runner binary is also downloaded by [the GitHub Runner Charm](https://github.com/canonical/github-runner-operator) and verified by SHA256 in this charm. |
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.
@yanksyoon Can you have a look on "Cloud images that are downloaded by the Image Builder are verified by SHA256 checksum." if its correct in terms of the technical implementation?
|
||
The GitHub runner charm supports being deployed behind an HTTP proxy. [Aproxy](https://github.com/canonical/aproxy) is installed and enabled when an HTTP proxy is detected so that jobs executing in the runner VMs don’t have to configure the proxy themselves. Aproxy is a transparent proxy service for HTTP and HTTPS/TLS connections. Aproxy works by pre-reading the Host header in HTTP requests and SNI in TLS hellos; it forwards HTTP proxy requests with the hostname therefore, complies with HTTP proxies requiring destination hostname for auditing or access control. Aproxy doesn't and can't decrypt the TLS connections. It works by reading the plaintext SNI information in the client hello during the TLS handshake, so the authentication and encryption of TLS are never compromised. Aproxy supports TLS 1.0 and above except TLS 1.3 Encrypted Client Hello. | ||
### Signature Verification | ||
Cloud image is verified by SHA256 checksum. Runner binary is also downloaded by [GitHub Runner Charm](https://github.com/canonical/github-runner-operator) and verified by SHA256 in this charm. |
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.
I think this sentence should be updated here, too.
Applicable spec: SEC0030 - SSDLC - Cryptographic Documentation
Overview
Created the
GitHub runner cryptographic overview
document.Rationale
Juju Events Changes
Module Changes
Library Changes
Checklist
src-docs
.urgent
,trivial
,complex
).