From f2d7b8f8e0b750c60534c6e575790ad4b7689299 Mon Sep 17 00:00:00 2001 From: Andy Doan Date: Thu, 23 Apr 2026 08:14:31 -0500 Subject: [PATCH 1/3] rm: Remove "pull queues" from manual We are deprecating pull queues in favor of push queues. This removes the references to them from our docs. Signed-off-by: Andy Doan --- .../reference-manual/factory/event-queues.rst | 47 ++++--------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/source/reference-manual/factory/event-queues.rst b/source/reference-manual/factory/event-queues.rst index 8a2913b6..58e7149f 100644 --- a/source/reference-manual/factory/event-queues.rst +++ b/source/reference-manual/factory/event-queues.rst @@ -16,47 +16,21 @@ These include: * When an OTA update starts and completes. Event queues are implemented using Google PubSub_ to provide a well understood and tested framework. -There are two types of event queues: - - * Push: Works as a webhook_ service. - Events are sent to a managed URL where they can be processed. - - * Pull: Works like a typical message queue system where one can write their own client to receive and process events. - -The PubSub documentation includes a very useful guide_ for deciding which approach will work best for you. -They also include a wide range of `client libraries`_ for consuming the Pull API. +FoundriesFactory leverages "push subscriptions" as the delivery mechanism for events. PubSub subscriptions are created with default retention, expiration, and acknowledgement values_. Implementation Details ---------------------- Each FoundriesFactory is given a single PubSub Topic. -Each Push and Pull queue created by a customer results in the creation of a PubSub subscription. +Each Topic results in the creation of a PubSub "push" subscription. The FoundriesFactory API provides a thin, multi-tenant friendly wrapper to manage everything. .. note:: - For performance reasons, new push queues can take up to five minutes before they start receiving events. - -Creating a Pull Queue ---------------------- - -A pull queue can be created using Fioctl: - -.. code-block:: console - - $ fioctl event-queues mk-pull - $ fioctl event-queues mk-pull docs-example $HOME/.fio-pull-queue.creds - -Fioctl can also monitor this queue: + For performance reasons, new queues can take up to five minutes before they start receiving events. -.. code-block:: console - - $ fioctl event-queues listen docs-example $HOME/.fio-pull-queue.creds - -This command also serves as a reference example_ on implementing a pull queue listener. - -Creating a Push Queue ---------------------- +Creating a Queue +---------------- A push queue requires a little up front work: @@ -91,8 +65,8 @@ Once the server is running, you can create a push queue with: At this point events will start showing up in the example server. -Push Queue Payloads -~~~~~~~~~~~~~~~~~~~ +Event Queue Payloads +~~~~~~~~~~~~~~~~~~~~ Incoming HTTP requests will look similar to: @@ -112,8 +86,8 @@ Incoming HTTP requests will look similar to: "subscription":"projects/osf-prod/subscriptions/xxxxxxxx" } -Push Queue Security -~~~~~~~~~~~~~~~~~~~ +Event Queue Security +~~~~~~~~~~~~~~~~~~~~ Incoming requests will include a header, ``Authorization: Bearer ``. This JWT is signed with one of Google's own private keys. @@ -237,9 +211,6 @@ DEVICE_PUBKEY_CHANGE .. _PubSub: https://cloud.google.com/pubsub/docs/overview -.. _webhook: - https://en.wikipedia.org/wiki/Webhook - .. _guide: https://cloud.google.com/pubsub/docs/subscriber From 65a2a2cef29af0bec03d8b873b466d0c86ed55b6 Mon Sep 17 00:00:00 2001 From: Katrina Prosise Date: Thu, 30 Apr 2026 05:51:50 -0400 Subject: [PATCH 2/3] Fix issues around fioctl_version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes included adding an `export` to the fioctl install steps, updating the download URL, and switching to always using the latest. This commit addresses issue FFTK-4779, "fix fioctl version…" Signed-off-by: Katrina Prosise --- .github/workflows/publish-dev.yml | 3 +-- .github/workflows/publish-main.yml | 3 +-- source/conf.py | 4 +--- .../getting-started/install-fioctl/index.rst | 18 +++++------------- 4 files changed, 8 insertions(+), 20 deletions(-) diff --git a/.github/workflows/publish-dev.yml b/.github/workflows/publish-dev.yml index dfcbfbdc..de6aada7 100644 --- a/.github/workflows/publish-dev.yml +++ b/.github/workflows/publish-dev.yml @@ -36,8 +36,7 @@ jobs: - name: Add latest Fioctl docs run: | - export fv=$(wget -q -O- https://api.github.com/repos/foundriesio/fioctl/releases/latest | grep tag_name | sed -E 's/.*"([^"]+)".*/\1/') - wget -O /tmp/fioctl https://github.com/foundriesio/fioctl/releases/download/${fv}/fioctl-linux-amd64 + wget -O /tmp/fioctl https://github.com/foundriesio/fioctl/releases/latest/download/fioctl-linux-amd64 chmod +x /tmp/fioctl /tmp/fioctl gen-rst source/appendix/fioctl-command-reference/ diff --git a/.github/workflows/publish-main.yml b/.github/workflows/publish-main.yml index 83a380af..522c3269 100644 --- a/.github/workflows/publish-main.yml +++ b/.github/workflows/publish-main.yml @@ -31,8 +31,7 @@ jobs: - name: Add latest Fioctl docs run: | - export fv=$(wget -q -O- https://api.github.com/repos/foundriesio/fioctl/releases/latest | grep tag_name | sed -E 's/.*"([^"]+)".*/\1/') - wget -O /tmp/fioctl https://github.com/foundriesio/fioctl/releases/download/${fv}/fioctl-linux-amd64 + wget -O /tmp/fioctl https://github.com/foundriesio/fioctl/releases/latest/download/fioctl-linux-amd64 chmod +x /tmp/fioctl /tmp/fioctl gen-rst source/appendix/fioctl-command-reference/ diff --git a/source/conf.py b/source/conf.py index ccb66a79..e98faa1a 100644 --- a/source/conf.py +++ b/source/conf.py @@ -19,7 +19,6 @@ mp_version = os.environ.get('MP_UPDATE_VERSION') lmp_build = os.environ.get('LMP_BUILD') -fioctl_version = os.environ.get('fv') if mp_version is None: try: git_version = subprocess.check_output(['git', 'describe', '--tags']) @@ -213,8 +212,7 @@ rst_epilog = ''' .. |docker_tag| replace:: {} .. |manifest_tag| replace:: {} -.. |fioctl_version| replace:: {} -'''.format(docker_tag, manifest_tag, fioctl_version) +'''.format(docker_tag, manifest_tag) # -- PDF Configuration -------------------------------------------------------- diff --git a/source/getting-started/install-fioctl/index.rst b/source/getting-started/install-fioctl/index.rst index dc0ad95e..9b5bf92f 100644 --- a/source/getting-started/install-fioctl/index.rst +++ b/source/getting-started/install-fioctl/index.rst @@ -47,17 +47,13 @@ We use `GitHub Releases`_ to distribute static golang binaries. .. attention:: Make sure you have ``curl`` installed. 1. Download a Linux binary to a directory on your ``PATH``. - For example, to download version |fioctl_version| on Linux, define the version: - - .. parsed-literal:: - - FIOCTL_VERSION="|fioctl_version|" + For example, to download the latest version on Linux: Download the binary with curl: .. code-block:: console - $ sudo curl -o /usr/local/bin/fioctl -LO https://github.com/foundriesio/fioctl/releases/download/$FIOCTL_VERSION/fioctl-linux-amd64 + $ sudo curl -o /usr/local/bin/fioctl -LO https://github.com/foundriesio/fioctl/releases/latest/download/fioctl-linux-amd64 2. Make the :ref:`ref-fioctl` binary executable: @@ -73,21 +69,17 @@ We use `GitHub Releases`_ to distribute static golang binaries. 1. Download a Darwin binary from the `GitHub Releases`_ page to a directory on your ``PATH``. - For example, to download version |fioctl_version| on macOS, define the version: - - .. parsed-literal:: - - FIOCTL_VERSION="|fioctl_version|" + For example, to download the latest version on macOS: Download the binary with curl: .. code-block:: console - $ sudo curl -o /usr/local/bin/fioctl -L https://github.com/foundriesio/fioctl/releases/download/$FIOCTL_VERSION/fioctl-darwin-amd64 + $ sudo curl -o /usr/local/bin/fioctl -L https://github.com/foundriesio/fioctl/releases/latest/download/fioctl-darwin-amd64 .. important:: - For MacOS running on a Apple M1 processor, replace ``fioctl-darwin-amd64`` with ``fioctl-darwin-arm64``, and set ``FIOCTL_VERSION`` to v0.21 or newer. + For MacOS running on a Apple M1 processor, replace ``fioctl-darwin-amd64`` with ``fioctl-darwin-arm64``. 2. Make the :ref:`ref-fioctl` binary executable: From 8044fdd1ca8138ef91a00e87ae2fe2399d2fe248 Mon Sep 17 00:00:00 2001 From: Katrina Prosise Date: Wed, 13 May 2026 08:13:27 -0400 Subject: [PATCH 3/3] update version switcher for v97 release Signed-off-by: Katrina Prosise --- source/_static/switcher.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_static/switcher.json b/source/_static/switcher.json index b68f4604..3e23bbc2 100644 --- a/source/_static/switcher.json +++ b/source/_static/switcher.json @@ -5,15 +5,15 @@ "url": "https://docs.foundries.io/dev" }, { - "name": "v96 (stable)", - "version": "96", + "name": "v97 (stable)", + "version": "97", "url": "https://docs.foundries.io/latest", "preferred": true }, { - "name": "v95", - "version": "95", - "url": "https://docs.foundries.io/95/" + "name": "v96", + "version": "96", + "url": "https://docs.foundries.io/96/" }, { "name": "…older",