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); + }); +}