Skip to content

Commit

Permalink
try to fix some misspellings (#1054)
Browse files Browse the repository at this point in the history
  • Loading branch information
johrstrom authored Dec 31, 2024
1 parent 5b476e0 commit 40b960c
Show file tree
Hide file tree
Showing 11 changed files with 55 additions and 29 deletions.
4 changes: 2 additions & 2 deletions source/architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Architecture

Below are some diagrams of OnDemand's architecture:

#. Overview is a high level visual generated from Powerpoint.
#. Overview is a high level visual generated from PowerPoint.
#. System context and Container context diagrams below follow the `C4 <https://c4model.com/>`_.
model for software diagrams, are more technically detailed and are built using draw.io
#. Request flow diagram is a sequence diagram built using plantuml.
Expand Down Expand Up @@ -97,7 +97,7 @@ Linux Host Adapter
.. figure:: /app-flow-diagrams/flow_linux_host_adapter.png

===========
Rstudio Job
RStudio Job
===========

.. figure:: /app-flow-diagrams/flow_rstudio_job.png
Expand Down
2 changes: 1 addition & 1 deletion source/authentication.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ No Open OnDemand functionality is available without authentication.
If you managed to install an Apache authentication module at your center
that currently does not have a tutorial listed below we would greatly
appreciate it if you could take the time to contribute a detailed
walkthrough.
walk-through.


.. tip::
Expand Down
2 changes: 1 addition & 1 deletion source/authentication/adfs-with-auth-mellon.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Note that this configuration assumes that SAML has been configured such that the
MellonEnable "auth"
</Location>
#. Convert the key and cert files into pfx format
#. Convert the key and cert files into PFX format

.. code-block:: shell
Expand Down
2 changes: 1 addition & 1 deletion source/authentication/dex.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ The service for OnDemand Dex is ``ondemand-dex``:
OnDemand Dex behind Apache reverse proxy
----------------------------------------

By default Dex sits behing Apache and is accessed via a reverse proxy.
By default Dex sits behind Apache and is accessed via a reverse proxy.
OnDemand Dex behind the reverse proxy logic will force Dex to listen only on ``localhost`` and only
via HTTP.

Expand Down
28 changes: 27 additions & 1 deletion source/spelling_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,30 @@ websocket
Phusion
Stata
VNC
Fluxbox
Fluxbox
subdirectory
entrypoint
conf
Kubernetes
filesystems
Jupyter
RStudio
configmap
init
nsswitch
millicores
executables
libraries
Lmod
plantuml
cgroups
namespaces
Nginx
auth
mellon
Dex
systemd
SSL
Keycloak
apache
mapfile
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ The main responsibility of the ``form.yml`` file (:ref:`app-development-interact
---
cluster: "owens"
form:
- version # <-- OSC supports multiple versions of MATLAB via LMod
- version # <-- OSC supports multiple versions of MATLAB via Lmod
- bc_account # <-- the charge account
- bc_num_hours # <-- the number of user requested hours that the job run
- bc_num_slots # <-- the number of nodes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ The main responsibility of the ``form.yml`` file (:ref:`app-development-interact

2. Next we will modify the runtime environment to allow RStudio to launch inside a Singularity container. There are two ways to accomplish this, and both modify the file ``~/ondemand/dev/bc_example_rstudio/template/script.sh.erb``.

If you are not using LMod, then in the function ``setup_env`` replace the value for ``RSTUDIO_SERVER_IMAGE`` with the absolute path to the Singularity image, and ``SINGULARITY_BINDPATH`` with all the directories that contain dependencies for RStudio server and R. Discovering those paths may benefit from using ``ptrace`` or ``lsof``. Finally ensure that ``R`` and ``rserver`` are in the ``PATH``.
If you are not using Lmod, then in the function ``setup_env`` replace the value for ``RSTUDIO_SERVER_IMAGE`` with the absolute path to the Singularity image, and ``SINGULARITY_BINDPATH`` with all the directories that contain dependencies for RStudio server and R. Discovering those paths may benefit from using ``ptrace`` or ``lsof``. Finally ensure that ``R`` and ``rserver`` are in the ``PATH``.

If you are using LMod then create a module like the following:
If you are using Lmod then create a module like the following:

.. code-block:: lua
:emphasize-lines: 4,5,6
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Setup Singularity
Download The Singularity Image
------------------------------

The Singularity image may be downloaded from Singularity Hub by users without sudoer rights by running the following:
The Singularity image may be downloaded from Singularity Hub by users without sudo rights by running the following:

.. code-block:: sh
Expand All @@ -21,11 +21,11 @@ This will download the pre-built image to the current working directory.
Alternatively, Build The Singularity Image
------------------------------------------

Running a build is trivial but does require sudoer access to the build host.
Running a build is trivial but does require sudo access to the build host.

Where ``Singularity`` is the file that defines the image. The image is just the base CentOS 7 packages plus a run script. This simplicity is because the actual executables and libraries must be bound and mounted into the container/guest at runtime from the host. By bind-mounting executables and libaries from the host system we are able to swap RStudio versions at launch time without having to update the Singuarlity image.

Likewise the runscript defined in the image uses the host ``$PATH`` which is propagated into the guest's environment as ``$USER_PATH``.
Likewise the ``runscript`` defined in the image uses the host ``$PATH`` which is propagated into the guest's environment as ``$USER_PATH``.

An example Singularity file for running RStudio:

Expand Down
22 changes: 11 additions & 11 deletions source/tutorials/tutorials-interactive-apps/k8s-jupyter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ Add a Jupyter App on a Kubernetes Cluster
=========================================

This tutorial will walk you through creating an interactive Jupyter app that
your users will use to launch a `Jupyter Notebook Server`_ in a kubernetes cluster.
your users will use to launch a `Jupyter Notebook Server`_ in a Kubernetes cluster.

It assumes you have a working understanding of app development already. The purpose of
this document is to describe how to write apps specifically for a kubernetes cluster,
this document is to describe how to write apps specifically for a Kubernetes cluster,
so it skips a lot of important details about app development that may be found in
other tutorials like :ref:`app-development-tutorials-interactive-apps-add-jupyter`.

Expand Down Expand Up @@ -62,7 +62,7 @@ resource requests
-----------------

``port`` is is the port the container is going to listen on. ``cpu`` and ``memory``
are the cpu and memory request. Note that memory here has ``Gi`` which is the unit.
are the CPU and memory request. Note that memory here has ``Gi`` which is the unit.

.. code-block:: yaml
Expand All @@ -75,7 +75,7 @@ are the cpu and memory request. Note that memory here has ``Gi`` which is the un
Kubernetes has some flexibility in requests. One can make _requests_ and _limits_
which are like hard and soft limits. In the example above, they're both the same.

Here's an example utilizing requests and limits for both memory and cpu. Note that
Here's an example utilizing requests and limits for both memory and CPU. Note that
we're using millicores in ``cpu_request``.

.. code-block:: yaml
Expand All @@ -88,7 +88,7 @@ we're using millicores in ``cpu_request``.
memory_request: "500Mi"
memory_limit: "4Gi"
See `kubernetes pod memory`_ and `kubernetes pod cpu`_ for more details.
See `Kubernetes pod memory`_ and `Kubernetes pod CPU`_ for more details.

configmap
---------
Expand Down Expand Up @@ -126,7 +126,7 @@ Even though these are containers, users often want to persist
the files they work on. This example mounts the home directory,
but could mount any project or scratch space just the same.

When mounting a host directory ``host_type`` must alwasy be Directory.
When mounting a host directory ``host_type`` must always be Directory.
This example shows how to mount host directories and nfs storage locations.

.. code-block:: yaml
Expand Down Expand Up @@ -172,7 +172,7 @@ You must specify a ``name``, an ``image`` and the ``command`` to be run.

Let's walk through these init containers and what they're doing.

``init-secret`` does just that. It initialzies a `kubernetes secret`_.
``init-secret`` does just that. It initialzies a `Kubernetes secret`_.
``add-passwd-to-cfg`` then reads that secret and creates a salt and
sha1 of this secret (these are needed specifically for Jupyter). Lastly
it adds a single line to our configmap, which is the ``c.NotebookApp.password``.
Expand Down Expand Up @@ -253,7 +253,7 @@ submit yml in full
.. _jupyter notebook server: http://jupyter.readthedocs.io/en/latest/
.. _bc k8s jupyter: https://github.com/OSC/bc_k8s_jupyter
.. _kubernetes pod memory: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/
.. _kubernetes pod cpu: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/
.. _kubernetes configmap: https://kubernetes.io/docs/concepts/configuration/configmap/\
.. _kubernetes secret: https://kubernetes.io/docs/concepts/configuration/secret/
.. _Kubernetes pod memory: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/
.. _Kubernetes pod CPU: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/
.. _Kubernetes configmap: https://kubernetes.io/docs/concepts/configuration/configmap/\
.. _Kubernetes secret: https://kubernetes.io/docs/concepts/configuration/secret/
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ You may want to rename this directory to something more appropriate.
npm init
.. warning::
``npm init`` will initialize the ``main`` script as ``index.js``. For OnDemand to recognzie
``npm init`` will initialize the ``main`` script as ``index.js``. For OnDemand to recognize
this application, the ``main`` attribute in ``package.json`` should be ``app.js`` not
``index.js``.

Expand Down Expand Up @@ -52,7 +52,7 @@ to the file.

This ``app.js`` imports the `Express`_ framework and sets up the ``router``
to route requests to the functions that can serve that request. This starter
file only has one route to the root url ``/`` and returns a simple ``Hello World``
file only has one route to the root URL ``/`` and returns a simple ``Hello World``
string.

.. code:: javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ So this section goes over adding the `Flask`_ web framework and having
the application load the virtual environment that has your dependencies in
it.

Create the virtual environmet
`````````````````````````````
Create the virtual environment
``````````````````````````````

First, we need to create the virtual environment. Issue this command below
to create one. This will create a subdirectory ``python-hello-world`` with a
Expand Down Expand Up @@ -94,7 +94,7 @@ for this file.
# passenger_wsgi.py
from app import MyApp as application
``app.py`` on the other hand, has logic associcated with the web application in it.
``app.py`` on the other hand, has logic associated with the web application in it.
It imports the `Flask`_ libraries, configures the routes and starts the flask server.

.. code:: python
Expand Down Expand Up @@ -132,7 +132,7 @@ virtual environment.
exec /bin/env python3 "$@"
.. warning::
Ensure that this ``bin/python`` file has executable permissons on it.
Ensure that this ``bin/python`` file has executable permissions on it.
Issue the command ``chmod +x bin.python`` to give it executable permissions.

Now, with the python wrapper script to load the environment for your application,
Expand Down

0 comments on commit 40b960c

Please sign in to comment.