From 426eb4a34253a1d06773c512177576ea918000dc Mon Sep 17 00:00:00 2001 From: Milstein Date: Mon, 29 Dec 2025 10:02:42 -0500 Subject: [PATCH 1/3] remove winter break snowing layout --- docs/get-started/index.md | 68 +++++++++++++++++++++++++++++++++++++++ mkdocs.yaml | 66 ++++++++++++++++++++++++++++--------- requirements.txt | 21 ++++++++---- 3 files changed, 133 insertions(+), 22 deletions(-) create mode 100644 docs/get-started/index.md diff --git a/docs/get-started/index.md b/docs/get-started/index.md new file mode 100644 index 000000000..891c3ddc2 --- /dev/null +++ b/docs/get-started/index.md @@ -0,0 +1,68 @@ +# NERC Getting Started Index + +If you're just starting out, we recommend starting from [User Onboarding Process Overview](user-onboarding-on-NERC.md) +and going through the tutorial in order. + +If you just need to review a specific step, you can find the page you need in +the list below. + +## Cost & Billing + +- [How does NERC pricing work?](cost-billing/how-pricing-works.md) + **<<-- Start Here** + +- [Pricing for Bare Metal Machines on NERC](cost-billing/pricing-for-bare-metal-machines.md) + +- [NERC Pricing Calculator](cost-billing/nerc-pricing-calculator.md) + +### Billing Process + +- [Billing Process for My Institution](cost-billing/billing-process-for-my-institution.md) + +- [Billing Process for Harvard University](cost-billing/billing-process-for-harvard.md) + +- [Billing Process for Boston University](cost-billing/billing-process-for-bu.md) + +- [Billing FAQs](cost-billing/billing-faqs.md) + +## User Onboarding Steps + +- [User Onboarding Process](user-onboarding-on-NERC.md) + +## User Registration using MGHPCC Shared Services Account Portal a.k.a. RegApp + +- [How to Create a User Account](create-a-user-portal-account.md) + +## How to Get Resource Allocations using ColdFront? + +- [What is NERC's ColdFront?](allocation/coldfront.md) + +- [A New Project Creation Process](allocation/adding-a-project.md) + +- [Managing Users in the Project](allocation/manage-users-to-a-project.md) + +- [How to request a new Resource Allocation](allocation/requesting-an-allocation.md) + +- [Request change to Resource Allocation to an existing project](allocation/allocation-change-request.md) + +- [Adding a new Resource Allocation to the project](allocation/adding-a-new-allocation.md) + +- [Managing Users in the Project Resource Allocation](allocation/managing-users-to-an-allocation.md) + +- [Project and Individual Allocation Annual Review Process](allocation/project-and-allocation-review.md) + +- [Archiving an Existing Project](allocation/archiving-a-project.md) + +- [Allocation details](allocation/allocation-details.md) + +## Security Best Practices for the NERC Users + +- [Quick Guide and Best Practices](best-practices/best-practices.md) + +- [Best Practices for My Institution](best-practices/best-practices-for-my-institution.md) + +- [Best Practices for Harvard University](best-practices/best-practices-for-harvard.md) + +- [Best Practices for Boston University](best-practices/best-practices-for-bu.md) + +--- diff --git a/mkdocs.yaml b/mkdocs.yaml index c0e5e96dd..8cad67d13 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -6,11 +6,13 @@ site_author: NERC site_url: https://nerc-project.github.io/nerc-docs/ repo_name: nerc-project/nerc-docs repo_url: https://github.com/nerc-project/nerc-docs +edit_uri: edit/main/docs/ nav: - Home: index.md - About: about.md - Getting Started: + - Getting Started: get-started/index.md - Cost & Billing: - How does NERC pricing work?: get-started/cost-billing/how-pricing-works.md - Pricing for Bare Metal Machines on NERC: get-started/cost-billing/pricing-for-bare-metal-machines.md @@ -198,23 +200,31 @@ theme: icon: material/toggle-switch name: Switch to light mode features: - - content.code.copy - # - navigation.instant - # - navigation.tracking - # - navigation.sections - # - navigation.indexes - - navigation.top # - navigation.tabs # - navigation.tabs.sticky # - navigation.expand + - content.action.edit + - content.code.copy + # - content.tabs.link - content.code.annotate - - content.tabs.link + - navigation.instant + - navigation.instant.prefetch + - navigation.instant.progress + - navigation.tracking + - navigation.sections + - navigation.indexes + - navigation.top + - navigation.path + - search.highlight + - search.share + # - toc.integrate + - toc.follow extra_css: - stylesheets/extra.css - - stylesheets/snow.css +# - stylesheets/snow.css extra_javascript: - javascripts/extra.js - - javascripts/snow.js +# - javascripts/snow.js extra: font: text: Roboto @@ -228,17 +238,41 @@ extra: # Extensions markdown_extensions: - - admonition - - pymdownx.details - - pymdownx.superfences + # - pymdownx.tabbed: + # alternate_style: true - tables - attr_list - md_in_html - - pymdownx.blocks.caption - - pymdownx.tabbed: - alternate_style: true + - admonition + - pymdownx.details + # For content tabs - pymdownx.superfences + - pymdownx.blocks.caption + # For code highlighting + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.snippets + # For in page [TOC] (not sidebar) + # - toc: + # permalink: true plugins: - - material/search + - search + # - autorefs + # - awesome-nav - glightbox + - git-revision-date-localized: + # exclude autogenerated files + exclude: + - argparse/* + - examples/* + - minify: + minify_html: true + minify_js: true + minify_css: true + cache_safe: true + js_files: [docs/javascripts/*.js] + css_files: [docs/stylesheets/*.css] diff --git a/requirements.txt b/requirements.txt index e747001e3..0182df066 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,16 @@ -mkdocs==1.6.0 -mkdocs-material==9.5.30 -mkdocs-material-extensions==1.3.1 -mkdocs-glightbox==0.4.0 -pre-commit==3.8.0 -Jinja2>=3.1,<3.2 +mkdocs +# mkdocs-api-autonav +mkdocs-material +mkdocs-material-extensions +mkdocstrings-python +# mkdocs-gen-files +# mkdocs-awesome-nav +mkdocs-glightbox +mkdocs-git-revision-date-localized-plugin +mkdocs-minify-plugin +regex +ruff +pydantic +pre-commit +Jinja2 git+https://github.com/CCI-MOC/nerc-rates@main#egg=nerc_rates From 4441c232cdd5820fa293b93f5e0fa4d5230df4c3 Mon Sep 17 00:00:00 2001 From: Milstein Date: Mon, 29 Dec 2025 10:05:18 -0500 Subject: [PATCH 2/3] fixed line length issue --- docs/get-started/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/get-started/index.md b/docs/get-started/index.md index 891c3ddc2..48a5dd0d0 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -1,11 +1,12 @@ # NERC Getting Started Index -If you're just starting out, we recommend starting from [User Onboarding Process Overview](user-onboarding-on-NERC.md) -and going through the tutorial in order. +If you're just starting out, we recommend starting from +[User Onboarding Process Overview](user-onboarding-on-NERC.md) and going through +the tutorial in order. If you just need to review a specific step, you can find the page you need in the list below. - + ## Cost & Billing - [How does NERC pricing work?](cost-billing/how-pricing-works.md) From 872453ea93e145509a97c97b563f2967028fb02f Mon Sep 17 00:00:00 2001 From: Milstein Date: Mon, 5 Jan 2026 13:07:01 -0500 Subject: [PATCH 3/3] Optional: Remove User(s) from your ColdFront Project --- .../decommission-openshift-resources.md | 16 ++++++++++++++++ .../coldfront-remove-users-from-a-project.png | Bin 0 -> 18341 bytes .../decommission-openstack-resources.md | 16 ++++++++++++++++ .../coldfront-remove-users-from-a-project.png | Bin 0 -> 18341 bytes 4 files changed, 32 insertions(+) create mode 100644 docs/openshift/decommission/images/coldfront-remove-users-from-a-project.png create mode 100644 docs/openstack/decommission/images/coldfront-remove-users-from-a-project.png diff --git a/docs/openshift/decommission/decommission-openshift-resources.md b/docs/openshift/decommission/decommission-openshift-resources.md index 9c6f48acb..058f8d951 100644 --- a/docs/openshift/decommission/decommission-openshift-resources.md +++ b/docs/openshift/decommission/decommission-openshift-resources.md @@ -227,6 +227,22 @@ Please check all the resources currently being used by your project by running the `oc get all` command, is a **REQUIRED** resource, and so you don't need to clean it up. +## Optional: Remove User(s) from your ColdFront Project + +Removing users from your ColdFront project via the [NERC's ColdFront interface](https://coldfront.mss.mghpcc.org/) +is straightforward. Simply click the "Remove Users" button for the corresponding +project. This will display the following interface: + +![Remove User(s) From A Project](images/coldfront-remove-users-from-a-project.png) + +PI or project managers can select the user(s) and then click on the "Remove Selected +Users From Project" button. + +!!! note "Very Important" + + If you remove a user (or users) from a project, they will automatically be + removed from all allocations they were previously assigned to within that project. + ## Use ColdFront to reduce the Storage Quota to Zero Each allocation, whether requested or approved, will be billed based on the diff --git a/docs/openshift/decommission/images/coldfront-remove-users-from-a-project.png b/docs/openshift/decommission/images/coldfront-remove-users-from-a-project.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd38b0b0e9036430c0d1528d9e808694c78a638 GIT binary patch literal 18341 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 literal 0 HcmV?d00001 diff --git a/docs/openstack/decommission/decommission-openstack-resources.md b/docs/openstack/decommission/decommission-openstack-resources.md index 30077281b..68ed301c6 100644 --- a/docs/openstack/decommission/decommission-openstack-resources.md +++ b/docs/openstack/decommission/decommission-openstack-resources.md @@ -123,6 +123,22 @@ Navigate to _Project -> Object Store -> Containers_. So, you don't need to manually delete all objects inside a container prior deleting the container. This will save a lot of your time and effort. +## Optional: Remove User(s) from your ColdFront Project + +Removing users from your ColdFront project via the [NERC's ColdFront interface](https://coldfront.mss.mghpcc.org/) +is straightforward. Simply click the "Remove Users" button for the corresponding +project. This will display the following interface: + +![Remove User(s) From A Project](images/coldfront-remove-users-from-a-project.png) + +PI or project managers can select the user(s) and then click on the "Remove Selected +Users From Project" button. + +!!! note "Very Important" + + If you remove a user (or users) from a project, they will automatically be + removed from all allocations they were previously assigned to within that project. + ## Use ColdFront to reduce the Storage Quota to Zero Each allocation, whether requested or approved, will be billed based on the diff --git a/docs/openstack/decommission/images/coldfront-remove-users-from-a-project.png b/docs/openstack/decommission/images/coldfront-remove-users-from-a-project.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd38b0b0e9036430c0d1528d9e808694c78a638 GIT binary patch literal 18341 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 literal 0 HcmV?d00001