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/_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", 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: 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