diff --git a/docs/general/spack_manager_structure.md b/docs/general/spack_manager_structure.md index cbea9903..8c5ac8b2 100644 --- a/docs/general/spack_manager_structure.md +++ b/docs/general/spack_manager_structure.md @@ -1,11 +1,20 @@ # Spack-Manager Structure Spack-Manager is a Spack extension that provides a way for software applications -to configure their usage of spack. +to configure their usage of spack. + + + +
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. + + +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](https://spack.readthedocs.io/en/latest/configuration.html), and [spack package repositories](https://spack.readthedocs.io/en/latest/repositories.html). A few other optional hooks will be discussed below. @@ -27,3 +36,7 @@ spack-manager: ``` Information on configuring a new `Project` can be found in the system administrator profile documentation [here](https://sandialabs.github.io/spack-manager/user_profiles/system_admins/creating_a_project.html). + + + +The end goal of many code application and DevOps teams is to efficiently span the space of platform permutations and project variations.
diff --git a/docs/images/Spack-To-Applications.png b/docs/images/Spack-To-Applications.png index 90cca8a6..53ab5fd8 100644 Binary files a/docs/images/Spack-To-Applications.png and b/docs/images/Spack-To-Applications.png differ diff --git a/docs/index.rst b/docs/index.rst index 52abe4da..cb978ec3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,9 +11,13 @@ Spack-Manager is quite literal in its name, in that it provides a way to manage across multiple machines, and multiple projets. .. image:: images/Spack-To-Applications.png - :alt: Spack is serving the package management needs of thousands of software packages. However, individual application teams wish to harness the power of Spack for their individual applications specific needs. This naturally leads to redundant, similar workflows. + :alt: Spack is central to applications, but applications often want to further customize their interfaces and interactions with Spack :width: 75% + Spack is serving the package management needs of thousands of software packages. + However, individual application teams wish to harness the power of Spack for their individual applications specific needs. + This naturally leads to redundant, similar workflows. + The intent of this project is to maintain as thin of a buffer as possible between software packages and Spack, and to be pushing ideas and workflow improvements back to Spack on a regular basis to reduce the code that is maintained here. As such we do not try to fully mask Spack's workflow or commands from users, but rather expose them at a level appropriate for the user type. @@ -32,6 +36,8 @@ decreases as the user becomes further removed from the build process. The three :alt: Population size of each profile is inverserly proportional to the Spack knowledge required for their roles :width: 70% + Population size of each profile is inverserly proportional to the Spack knowledge required for their roles + Separate documentation exists for each of these user profiles. .. toctree:: @@ -47,30 +53,17 @@ Benefits of Spack-Manager Spack's `custom extensions