Skip to content

Commit

Permalink
Move md to rst for image file
Browse files Browse the repository at this point in the history
  • Loading branch information
psakievich committed May 1, 2024
1 parent ddbd5ec commit bf000de
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 45 deletions.
45 changes: 0 additions & 45 deletions docs/general/spack_manager_structure.md

This file was deleted.

45 changes: 45 additions & 0 deletions docs/general/spack_manager_structure.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Spack-Manager Structure
======================

Check failure on line 2 in docs/general/spack_manager_structure.rst

View workflow job for this annotation

GitHub Actions / docs

WARNING: Title underline too short.

Check failure on line 2 in docs/general/spack_manager_structure.rst

View workflow job for this annotation

GitHub Actions / docs

WARNING: Title underline too short.

Spack-Manager is a Spack extension that provides a way for software applications
to configure their usage of spack.

.. figure:: ./application-workflow.png
:width: 100%

An example of generalized infrastructure requirements that are common across HPC and scientific computing applications. Spack-Manager's goal is to empower these types of infrastructures while still allowing application teams to drive the details.

The code of Spack-Manager is independent of each individual application and each
application code needs to configure a Spack-Manager `Project` to tell Spack-Manager how to work
with their application.

.. figure:: ./Spack-Manager-Org.png
:width: 50%

Spack-Manager is designed to provide an abstraction that can support multiple application teams. Each team develops a Project that can be registered with an instance of Spack-Manager.

A `Project` at its core is simply a collection of `spack configuration files`_ and `spack package repositories`_.

Check failure on line 21 in docs/general/spack_manager_structure.rst

View workflow job for this annotation

GitHub Actions / docs

ERROR: Unknown target name: "spack configuration files".

Check failure on line 21 in docs/general/spack_manager_structure.rst

View workflow job for this annotation

GitHub Actions / docs

ERROR: Unknown target name: "spack package repositories".
A few other optional hooks will be discussed below.

The configuration files in a `Project` are organized based on the configuration bifurcations that the projects supports.
These are called `Machines` based on the guiding principle that spack configurations typically have to be
changed when the machine/system is changed.

`Projects` can be registered with Spack-Manager by adding them to the `spack-manager.yaml` configuration file.
This file lives in the Spack-Manager directory and controls settings for `Spack-Manager` and the `Projects` that
are registered.

.. code-block:: yaml
spack-manager:
projects:
- /path/to/project_a
default_view: False
- $HOME/project_b
Information on configuring a new `Project` can be found in the system administrator profile documentation `here`_.

Check failure on line 40 in docs/general/spack_manager_structure.rst

View workflow job for this annotation

GitHub Actions / docs

ERROR: Unknown target name: "here".

.. figure:: ./ApplicationSpace.png
:width: 100%

The end goal of many code application and DevOps teams is to efficiently span the space of platform permutations and project variations.

0 comments on commit bf000de

Please sign in to comment.