diff --git a/docs/using-airbyte/getting-started/oss-quickstart.md b/docs/using-airbyte/getting-started/oss-quickstart.md
index e5433c12e427a..1808e670ac415 100644
--- a/docs/using-airbyte/getting-started/oss-quickstart.md
+++ b/docs/using-airbyte/getting-started/oss-quickstart.md
@@ -48,11 +48,16 @@ brew upgrade abctl
-**1: Download the latest release of `abctl` [here](https://github.com/airbytehq/abctl/releases)**
+**1: Download the latest release of `abctl`.**
+
+Latest linux-amd64 Release
+Latest linux-arm64 Release
+
+
:::info
-Be sure to download the file that is compatible with your machine's processor architecture.
-:::
+
+Be sure to download the file that is compatible with your machine's processor architecture.
You'll see two options: `linux-amd64` and `linux-arm64`
If you're unsure which one you need, running the following command will help:
@@ -63,6 +68,8 @@ uname -m
- If the output is `x86_64`, you have an x86-64 processor.
- If the output is `aarch64` or something similar, you have an ARM-based processor.
+
+:::
**2: Extract the archive**
@@ -99,7 +106,11 @@ If this command prints the installed version of the Airbyte Command Line Tool, i
-**1: Download the latest release of `abctl` [here](https://github.com/airbytehq/abctl/releases)**
+**1: Download the latest release of `abctl`.**
+
+Latest windows-amd64 Release
+
+
**2: Extract the archive**
- Right click the zip file you've downloaded and select `Extract All...`, then choose a destination folder.
@@ -210,4 +221,6 @@ There are several channels for community support of local setup and deployment.
On Udemy, [The Complete Hands-on Introduction to Airbyte](https://www.udemy.com/course/the-complete-hands-on-introduction-to-airbyte/) is a convenient and hands-on introduction to Airbyte that includes setting up example source and destination configurations. You'll also go on to use it in conjunction with Apache Airflow, Snowflake, dbt, and more.
**Bug Reports:**
If you find an issue with the `abctl` command, please report it as a github
-issue [here](https://github.com/airbytehq/airbyte/issues) with the type of `🐛 [abctl] Report an issue with the abctl tool`.
\ No newline at end of file
+issue [here](https://github.com/airbytehq/airbyte/issues) with the type of `🐛 [abctl] Report an issue with the abctl tool`.
+
+**Releases:**
If you'd like to select which release of abctl to run, you can find the list of releases [here](https://github.com/airbytehq/abctl/releases/).
\ No newline at end of file
diff --git a/docusaurus/docusaurus.config.js b/docusaurus/docusaurus.config.js
index 06c4311a1d9ef..4cd2357df1d93 100644
--- a/docusaurus/docusaurus.config.js
+++ b/docusaurus/docusaurus.config.js
@@ -79,8 +79,9 @@ const config = {
],
clientModules: [
- require.resolve("./src/scripts/fontAwesomeIcons.js"),
require.resolve("./src/scripts/cloudStatus.js"),
+ require.resolve('./src/scripts/download-abctl-buttons.js'),
+ require.resolve("./src/scripts/fontAwesomeIcons.js"),
],
presets: [
diff --git a/docusaurus/src/scripts/download-abctl-buttons.js b/docusaurus/src/scripts/download-abctl-buttons.js
new file mode 100644
index 0000000000000..5ab2f3879fd26
--- /dev/null
+++ b/docusaurus/src/scripts/download-abctl-buttons.js
@@ -0,0 +1,37 @@
+import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment";
+
+if (ExecutionEnvironment.canUseDOM) {
+ // Pre-fetch the urls for the binaries.
+ const binaries = fetch(
+ 'https://api.github.com/repos/airbytehq/abctl/releases/latest')
+ .then(response => response.json())
+ .then(data => data.assets);
+
+ // Initialize button by choosing the relevant binary based on the data-architecture tag.
+ function initializeDownloadButton(button) {
+ binaries.then(assets => {
+ const architecture = button.getAttribute('data-architecture');
+ const binary = assets.find(
+ b => b.name.toLowerCase().includes(architecture.toLowerCase()));
+ if (binary) {
+ button.href = binary.browser_download_url;
+ button.innerText = `Download ${architecture}`;
+ }
+ })
+ .catch(error => {
+ console.error('Error fetching latest release:', error);
+ });
+ }
+
+ // All buttons with this behavior have the class abctl-download.
+ function initializeAllDownloadButtons() {
+ const buttons = document.getElementsByClassName('abctl-download');
+ Array.from(buttons).forEach(initializeDownloadButton);
+ }
+
+ // Document load is a bit weird in docusaurus.
+ // https://stackoverflow.com/a/74736980/4195169
+ window.addEventListener('load', () => {
+ setTimeout(initializeAllDownloadButtons, 1000);
+ });
+}