Skip to content

Commit

Permalink
Merge pull request #643 from oliver-sanders/8.2.x-sync
Browse files Browse the repository at this point in the history
8.2.x sync
  • Loading branch information
oliver-sanders authored Oct 5, 2023
2 parents 71b3c79 + 2137151 commit 6ca28e7
Show file tree
Hide file tree
Showing 10 changed files with 352 additions and 196 deletions.
2 changes: 1 addition & 1 deletion .github/actions/install-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ runs:
libfontconfig1-dev \
aspell-en
- uses: conda-incubator/setup-miniconda@35d1405e78aa3f784fe3ce9a2eb378d5eeb62169 # v2.1.1
- uses: conda-incubator/setup-miniconda@3b0f2504dd76ef23b6d31f291f4913fb60ab5ff3 # v2.2.0
with:
channels: conda-forge
python-version: ${{ matrix.python-version || '' }}
Expand Down
6 changes: 5 additions & 1 deletion src/7-to-8/major-changes/ui.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ and as a multi user hub, ``cylc hub``. Both are dependent on `Cylc UI Server`_ i
Launching the UI via the hub will require authentication.
The default Authenticator uses PAM to authenticate system users with their
username and password.
Going via the hub unlocks the :ref:`Authorization` feature.

Going via the hub unlocks the ability to grant other users the permission
to view and interact with workflows running under your account.
Site administrators will need to configure this, for more information
see :ref:`cylc.uiserver.multi-user`.

.. figure:: ../../img/hub.png
:figwidth: 80%
Expand Down
13 changes: 10 additions & 3 deletions src/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,15 +110,20 @@
autosummary_imported_members = False

# Mapping to other Sphinx projects we want to import references from.
# NOTE: To search available references, use:
# $ python -m sphinx.ext.intersphinx <url>/objects.inv | less
intersphinx_mapping = {
'rose': (
'http://metomi.github.io/rose/2.0.0/html', None
'http://metomi.github.io/rose/2.1.0/html', None
),
'python': (
'https://docs.python.org/3/', None
),
'jupyter_server': (
'https://jupyter-server.readthedocs.io/en/latest/', None
),
'jupyter_hub': (
'https://jupyterhub.readthedocs.io/en/stable/', None
)
}

Expand All @@ -140,9 +145,11 @@
graphviz_dot_args = ['-Gfontname=sans', '-Gbgcolor=none',
'-Nfontname=sans']

linkcheck_anchors_ignore_for_url = [
linkcheck_ignore = [
# linux.die.net doesn't like our request headers
'https?://linux.die.net/man/1/bash',
# linkcheck has trouble handling GH anchors
r'https://github.com/.*'
'https?://github.com/.*#.*',
]

nitpick_ignore_regex = [
Expand Down
2 changes: 2 additions & 0 deletions src/dictionaries/words
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ arg
args
auth
authenticator
authoriser
backticks
baz
boolean
Expand Down Expand Up @@ -185,6 +186,7 @@ timeouts
timestep
timezone
timezones
uiserver
unpaused
unpausing
untracked
Expand Down
31 changes: 8 additions & 23 deletions src/reference/architecture/ui-server.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,14 @@ spawns UI Servers on behalf of users and provides each with a fixed URL
Users can access each other's UI Servers providing they have been granted
permission.

Authorization is performed by Cylc within the `Cylc UI Server`_, see
:ref:`cylc authorization`.
*Authentication* is provided by either `Jupyter Server`_ or `Jupyter Hub`_.

*Authorization* in the `Cylc UI Server`_ is provided by Cylc. In
multi-user mode this allows users to connect to each other's UI Servers for
monitoring or control purposes.

For more information on security and configuration see
:ref:`cylc.uiserver.multi-user`.

.. _Jupyter Hub technical overview: https://jupyterhub.readthedocs.io/en/stable/reference/technical-overview.html

Expand All @@ -109,24 +115,3 @@ For information on the architecture of `Jupyter Hub`_ and the

.. image:: img/gui-arch-multi-user.svg
:width: 100%


.. _cylc authorization:

Authorization
-------------

*Authentication* is provided by either `Jupyter Server`_ or `Jupyter Hub`_.

*Authorization* in the `Cylc UI Server`_ is provided by Cylc. In
multi-user mode this allows users to connect to each others UI Servers for
monitoring or control purposes.

See also :ref:`Authorization`.

.. note::

This authorization only applies to the ``/cylc`` endpoints managed by the
Cylc extension. Other `Jupyter Server`_ extensions such as `Jupyter Lab`_
do not share this authorization and will not be accessible to other users
(unless they can be configured to allow this).
30 changes: 30 additions & 0 deletions src/reference/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,36 @@ For more detail see the component changelogs:
* `metomi-rose-changelog`_
* `metomi-isodatetime-changelog`_


----------

Cylc 8.3.0
----------

.. admonition:: Cylc Components
:class: hint

TODO

..
Uncomment this before 8.3.0 release
:cylc-flow: `8.3 <https://github.com/cylc/cylc-flow/blob/8.3.x/CHANGES.md>`__
:cylc-uiserver: `1.4 <https://github.com/cylc/cylc-uiserver/blob/1.4.x/CHANGES.md>`__
:cylc-rose: `1.4 <https://github.com/cylc/cylc-rose/blob/1.4.x/CHANGES.md>`__


Upgrade To The Latest Jupyter Releases
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The Cylc UI Server has been updated to work with the latest releases of
`Jupyter Server`_ and `Jupyter Hub`_.

If you are utilising Cylc's multi-user functionality then your configuration
will require some changes to work with these releases.

See :ref:`cylc.uiserver.multi-user` for more details

----------

Cylc 8.2.0
Expand Down
9 changes: 8 additions & 1 deletion src/tutorial/runtime/runtime-configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -367,10 +367,16 @@ Start, Stop, Restart
.. TODO: Add advice on what to do if the command fails.
#. **Test The** ``get_observations`` **Tasks.**
#. **Test the** ``get_observations`` **tasks.**

Next we will test the ``get_observations`` tasks.

Install the workflow:

.. code-block:: bash
cylc install
Open a user interface (:ref:`tutorial.tui` or :ref:`tutorial.gui`) to view
your workflow.

Expand Down Expand Up @@ -429,6 +435,7 @@ Start, Stop, Restart
.. code-block:: bash
cylc validate .
cylc install
.. TODO: Add advice on what to do if the command fails.
Expand Down
3 changes: 2 additions & 1 deletion src/user-guide/installing-workflows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,8 @@ The run directory now looks as follows:

If your workflow needs to create or install scripts or executables at runtime
and you don't want Cylc to delete them on re-installation, you can use
``bin`` and ``lib/python`` directories in the :ref:` workflow share directory <workflow_share_directories>`.
``bin`` and ``lib/python`` directories in the
:ref:`workflow share directory<workflow_share_directories>`.


Expected Errors
Expand Down
Loading

0 comments on commit 6ca28e7

Please sign in to comment.