diff --git a/public/config.js b/public/config.js index 05589057af75bad2339a58c7dfa9398ff64a5978..2523bb0c470f3af0a3598b3e9f74a154011297a0 100644 --- a/public/config.js +++ b/public/config.js @@ -1,10 +1,9 @@ SERVER_ADDRESS='' +ENVIRONMENT_TITLE='LOCAL' API_BASE_ENDPOINT='/api/spec' SWAGGER_UI_URL='/api/docs' TOKEN_RENEW_INTERVAL=180000 NAMING_ADDRESS='https://naming.esss.lu.se' -ENVIRONMENT_TITLE = '' -BACKEND_VERSION='1.0.0-rc9' -BACKEND_REPOSITORY_TAGS='https://gitlab.esss.lu.se/ccce/dev/ce-deploy-backend/-/tags/' -FRONTEND_VERSION='1.0.0-rc6' +FRONTEND_VERSION='0.0.0-local' FRONTEND_REPOSITORY_TAGS='https://gitlab.esss.lu.se/ccce/dev/ce-deploy-ui/-/tags/' +SUPPORT_URL='https://jira.esss.lu.se/plugins/servlet/desk/portal/44?requestGroup=137' \ No newline at end of file diff --git a/src/views/help/HelpView.js b/src/views/help/HelpView.js index 00cff8026b77759e50a35317d8827cb12f77ad1a..e9d37441bd2770ff966def84821d9c7d026a2fb9 100644 --- a/src/views/help/HelpView.js +++ b/src/views/help/HelpView.js @@ -1,318 +1,48 @@ import React, { useContext, useEffect } from "react"; -import { styled } from "@mui/material/styles"; -import { Paper, Link, Typography } from "@mui/material"; -import "./helpfile.css"; -import { RootContainer } from "../../components/common/Container/RootContainer"; -import { ExternalLink, GlobalAppBarContext } from "@ess-ics/ce-ui-common"; +import { RootPaper, Help } from "@ess-ics/ce-ui-common"; +import { Stack, Typography } from "@mui/material"; +import { GlobalAppBarContext } from "@ess-ics/ce-ui-common"; import { applicationTitle } from "../../components/common/Helper"; -const PREFIX = "HelpView"; - -const classes = { - paper: `${PREFIX}-paper`, - typography: `${PREFIX}-typography` -}; - -const StyledRootContainer = styled(RootContainer)(({ theme }) => ({ - [`& .${classes.paper}`]: { - padding: theme.spacing(4) - }, - - [`& .${classes.typography}`]: { - paddingBottom: theme.spacing(2.5) - } -})); - export function HelpView() { const { setTitle } = useContext(GlobalAppBarContext); useEffect(() => setTitle(applicationTitle("Help")), [setTitle]); return ( - <StyledRootContainer> - <Paper className={classes.paper}> - <h2>Help</h2> - <Typography - variant="body1" - component="div" - className={classes.typography} - > - <p> - Before you can deploy an IOC, you need to: - <ul> - <li> - have your IOC name registered in the{" "} - <ExternalLink - newTab - href="https://naming.esss.lu.se/" - text={"Naming service"} - sx={{ textDecoration: "none" }} - />{" "} - (go{" "} - <Link - href="https://confluence.esss.lu.se/x/k41nFg" - target="_blank" - rel="noreferrer" - underline="hover" - > - here - </Link>{" "} - for help) - </li> - <li> - have an IOC host registered in{" "} - <Link - href="https://csentry.esss.lu.se/" - target="_blank" - rel="noreferrer" - underline="hover" - > - CSEntry - </Link> - </li> - <li> - have your IOC in a ESS GitLab repository within the " - <Link - href="https://gitlab.esss.lu.se/iocs" - target="_blank" - rel="noreferrer" - underline="hover" - > - iocs/ - </Link> - " group (either in{" "} - <Link - href="https://gitlab.esss.lu.se/iocs/factory" - target="_blank" - rel="noreferrer" - underline="hover" - > - factory - </Link>{" "} - for templated IOCs or in{" "} - <Link - href="https://gitlab.esss.lu.se/iocs/manual" - target="_blank" - rel="noreferrer" - underline="hover" - > - manual - </Link>{" "} - for other IOCs). You can use{" "} - <Link - href="https://gitlab.esss.lu.se/ics-cookiecutter/cookiecutter-e3-ioc" - target="_blank" - rel="noreferrer" - underline="hover" - > - cookiecutter - </Link>{" "} - to create the repository, or you can create it by hand - you can - find an example IOC repository{" "} - <Link - href="https://gitlab.esss.lu.se/ccce/dev/e3-ioc-ccce-example" - target="_blank" - rel="noreferrer" - underline="hover" - > - here - </Link> - </li> - </ul> - Deployments shall be done on blank (formatted) machines set up with - CSEntry - some configuration is done during OS installation. - Deployments made on old hosts, or hosts which make use mixed - deployment methods (e.g. with both manually and CE-deployed IOCs) - are not supported by the CE team. Note that we currently only - support deployments on CentOS 7. - </p> - - <hr /> - - <p> - For any support-related issues, please create a ticket at our{" "} - <Link - href="https://jira.esss.lu.se/plugins/servlet/desk/portal/44?requestGroup=137" - target="_blank" - rel="noreferrer" - underline="hover" - > - Service Desk - </Link> - . - </p> - - <p> - We also have a{" "} - <Link - href="https://confluence.esss.lu.se/x/3fPIFQ" - target="_blank" - rel="noreferrer" - underline="hover" - > - bug and known issues page - </Link> - , as well as a number of{" "} - <Link - href="https://confluence.esss.lu.se/x/CVGQFg" - target="_blank" - rel="noreferrer" - underline="hover" - > - help articles - </Link> - . - </p> - </Typography> - - <h2>FAQ</h2> - <Typography - variant="body1" - className={classes.typography} - component="div" - > - <h4>How do I change which host my IOC is deployed on?</h4> - In order to change hosts for an IOC, you must - <ul> - <li>Undeploy the IOC from its current host</li> - <li>Deploy it to the new host.</li> - </ul> - <h4> - Why do I first need to register the IOC, and then deploy it - separately? - </h4> - This deployment tool is only a part of the IOC management toolchain. - When the full toolchain is complete an IOC will be generated from - modeling and configuration data and will not need to be registered. As - those tools do not yet exist, you must first register your IOC as if - it were coming from an earlier part of a complete toolchain. - Deployment would at that time be a separate stage that takes an - abstract IOC and then places it on a configured and prepared host. - <h4> - Why can I not see my IOC/host/repository in the dropdown list? - </h4> - The deployment tool will only show you valid IOCs, hosts, and - repositories. - <ul> - <li> - In order to register an IOC, its name must exist in the Naming - service. - </li> - <li> - In order to deploy to a host, it needs to be configured as an IOC - host in CSEntry. - </li> - <li> - In order to find an IOC repository, it needs to exist in the - " - <Link - href="https://gitlab.esss.lu.se/iocs" - target="_blank" - rel="noreferrer" - underline="hover" + <RootPaper> + <Help + summary={ + <Stack gap={1.5}> + <Typography> + This is the deployment and monitoring parts of the IOC toolchain + in the Controls Ecosystem; CE Deploy & Monitor.{" "} + </Typography> + <Typography> + It is a tool that manages IOCs on host machines, using Ansible to + perform the necessary configuration management. This tool will set + up IOC-hosts and deploy IOC(s) in a consistent manner, and will + configure all necessary services towards this purpose. The tool + also integrates with various other systems to enable monitoring of + IOCs and hosts, and enables some limited remote execution + features. + </Typography> + <Typography fontStyle="italic"> + Be aware that the tool does{" "} + <Typography + component="span" + fontWeight="bold" > - iocs/ - </Link> - " GitLab group. - </li> - </ul> - <h4> - What does the deployment system do? Is there something I need to be - aware of? - </h4> - The deployment system will set up a host machine to run only IOCs - defined in this tool, and will configure all necessary services to do - so. This means that it might interfere with other (already running) - processes on the machine, which is part of why it is a requirement to - start from blank (formatted) machines; another part of this - requirement comes from some setup being done at the OS-installation - stage. - <h4> - How do I migrate IOCs that have been deployed with another - deployment system (e.g. CCCE alpha or LDS)? - </h4> - In order to migrate an IOC that was deployed with a separate system, - manually, or otherwise, you must ensure that all of the above - conditions are satisfied (that is, your IOC is registered, the - repository is in GitLab, and the host is registered). You should then - <ul> - <li>Undeploy the IOC from whatever system you used to deploy it</li> - <li>Request from CSI that the host be freshly formatted</li> - </ul> - Please note that the second point is important as there is necessary - configuration done during the initial host configuration stage. - <h4>What does the yellow and red backgrounds on an IOC/host mean?</h4> - A red or a yellow background means that an IOC or host has various - issues that need to be addressed. Details on the specific issues can - be found for the IOC or host’s own details page. - <h4>How do I transfer ownership of an IOC?</h4> - Please contact the CCCE team for help. - <h4> - I accidentally connected to the wrong IOC name or git repository - - what do I do? - </h4> - Please contact the CCCE team for help. - </Typography> - - <h2>About</h2> - <Typography - variant="body1" - component="div" - > - This is the{" "} - <Link - href="https://confluence.esss.lu.se/x/CVGQFg" - target="_blank" - rel="noreferrer" - underline="hover" - > - deployment and monitoring - </Link>{" "} - parts of the IOC toolchain in the controls ecosystem (CE); working - name "CE deploy & monitor". It is a tool that manages IOCs - on host machines, using Ansible to perform the necessary configuration - management. This tool will set up IOC-hosts and deploy IOC(s) in a - consistent manner, and will configure all necessary services towards - this purpose. The tool also integrates with various other systems to - enable monitoring of IOCs and hosts, and enables some limited remote - execution features. - <p> - Be aware that the tool does <b>not</b> set up your host (and OS) - - this needs to be done in CSEntry. - </p> - <p> - IOCs and hosts with divergences or issues will raise various - warnings - there will be yellow or red backgrounds and annotations - if issues are detected, according to the severity of the warning. - </p> - <p> - To see a list of REST API endpoints, please see our{" "} - <Link - href={`${window.SERVER_ADDRESS}${window.SWAGGER_UI_URL}`} - target="_blank" - rel="noreferrer" - underline="hover" - > - API documentation - </Link> - . - </p> - <hr /> - <h3>Application info</h3> - <table> - <tr> - <td>Application Version:</td> - <td> - <Link - href={`${window.FRONTEND_REPOSITORY_TAGS}${window.FRONTEND_VERSION}`} - target="_blank" - rel="noreferrer" - underline="hover" - >{`${window.FRONTEND_VERSION}`}</Link> - </td> - </tr> - </table> - </Typography> - </Paper> - </StyledRootContainer> + not + </Typography>{" "} + set up your host (and OS) - this needs to be done in CSEntry. + </Typography> + </Stack> + } + docsHref="https://confluence.esss.lu.se/x/CVGQFg" + supportHref={window.SUPPORT_URL} + version={window.FRONTEND_VERSION} + versionHref={`${window.FRONTEND_REPOSITORY_TAGS}${window.FRONTEND_VERSION}`} + /> + </RootPaper> ); }