Home / Companies / Hookdeck / Blog / August 2022

August 2022 Summaries

6 posts from Hookdeck

Filter
Month: Year:
Post Summaries Back to Blog
Docker-OSX is a software that enables running macOS within a virtual machine (VM) on Linux systems, simplifying the process of using non-Apple hardware to run macOS. It is based on OSX-KVM and KVM-OpenCore and provides preconfigured containers for various macOS versions. The Docker commands for different macOS installations are available in the readme file. Running Docker-OSX with Wayland, a display server protocol, requires modifying the X11-specific volume and environment variable by Wayland equivalents. This solution is already documented in an open issue on GitHub.
Aug 16, 2022 345 words in the original blog post.
The article discusses an issue faced by developers at Hookdeck while using GitHub. They wanted different merging strategies for different branches, but GitHub always defaulted to the last used merge strategy. To address this problem, they built a Chrome and Firefox extension called "GitHub Contextual Merge Strategy". The extension preselects "create a merge commit" when the source branch is main, master, staging or preview, and otherwise selects "squash and merge". It uses MutationObserver to watch for changes in the DOM and webNavigation.onHistoryStateUpdated API to support single-page navigation. The extension has been successfully used by Hookdeck without any accidental squashes.
Aug 15, 2022 751 words in the original blog post.
This blog post discusses an alternative method for Google Cloud Service Account Authorization without using OAuth. The normal flow involves creating a self-signed JWT and authenticating it to request an OAuth token, which is then used to call Google APIs. However, the author prefers a more direct approach where the self-signed JWT is used directly to call Google APIs. This method eliminates the need for network authentication and refresh tokens, reducing overhead and potential errors. The post also covers issues with Google Cloud Storage when using this method and provides an updated JWT payload that includes a "scope" field instead of an "aud" field.
Aug 12, 2022 1,034 words in the original blog post.
In HTTP/2, there is a subtle difference between sending an empty body and no body at all. This distinction can be observed in Cloudflare Workers when dealing with HTTP payloads. While in HTTP/1.1 a request with no body is equivalent to one with an empty body, there's a difference in HTTP/2: a "no body" request sets the END_HEADERS & END_STREAM flags on the HTTP/2 stream, whereas an "empty body" will result in only END_HEADERS (at least in the cURL implementation). This can lead to requests being treated differently, especially when they don't include a Content-Length header.
Aug 09, 2022 1,961 words in the original blog post.
The text provides a detailed guide on creating a GitHub Action that exposes an SSH server, allowing users to debug GitHub workflow containers. It explains the process of setting up a simple GitHub Action using a composite action, which runs executable commands within a shell. The key steps include setting up SSH configurations, fetching public SSH keys from GitHub's API, generating server keys, starting an SSH server, and using Cloudflare's Tunnel to expose the server online. The guide highlights the use of environment variables and tools like `sshd`, `cloudflared`, and `tmux` to manage and monitor the SSH session. It emphasizes the convenience of using Cloudflare's guest mode, which eliminates the need for an API key, and suggests that a native GitHub SSH feature would simplify debugging efforts further.
Aug 06, 2022 2,000 words in the original blog post.
GitHub Actions is a popular tool for CI/CD tasks due to its tight integration with GitHub and simplicity. However, it lacks the "rerun job with SSH" feature found in CircleCI, which allows users to debug live test environments by exposing an SSH server. Debugging issues that occur only on CI can be challenging without this feature. To address this issue, action-sshd-cloudflared was created, enabling SSH access to GitHub Actions workflow containers. The solution uses a relay host like Cloudflare Tunnel to connect to the VM running the workflow. This allows users to debug issues that occur only on CI and helps in setting up GitHub Actions for an app when unfamiliar with the environment.
Aug 05, 2022 1,766 words in the original blog post.