PageSourceSearch

https://docs-spectrocloud.netlify.app/assets/js/40138ae3.b1b95529.js

js docs-spectrocloud.netlify.app collected 2026-10-03 10:43:30 UTC 15,525 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkspectro_cloud_docs=self.webpackChunkspectro_cloud_docs||[]).push([["15391"],{596021:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>r,toc:()=>c,default:()=>h,metadata:()=>t,assets:()=>a,contentTitle:()=>l});var t=JSON.parse('{"id":"clusters/edge/local-ui/host-management/access-console","title":"Access Local UI","description":"Instructions for accessing the Local UI.","source":"@site/docs/docs-content/clusters/edge/local-ui/host-management/access-console.md","sourceDirName":"clusters/edge/local-ui/host-management","slug":"/clusters/edge/local-ui/host-management/access-console","permalink":"/clusters/edge/local-ui/host-management/access-console","draft":false,"unlisted":false,"editUrl":"https://github.com/spectrocloud/librarium/blob/master/docs/docs-content/clusters/edge/local-ui/host-management/access-console.md","tags":[{"inline":true,"label":"edge","permalink":"/tags/edge"}],"version":"current","lastUpdatedAt":1777826507000,"sidebarPosition":32,"frontMatter":{"sidebar_label":"Access Local UI","title":"Access Local UI","description":"Instructions for accessing the Local UI.","hide_table_of_contents":false,"sidebar_position":32,"tags":["edge"]},"sidebar":"docSidebar","previous":{"title":"Edit User Data","permalink":"/clusters/edge/local-ui/host-management/edit-user-data"},"next":{"title":"Reboot, Shutdown, and Reset Edge Host","permalink":"/clusters/edge/local-ui/host-management/reset-reboot"}}'),o=s(474848),i=s(884429);let r={sidebar_label:"Access Local UI",title:"Access Local UI",description:"Instructions for accessing the Local UI.",hide_table_of_contents:!1,sidebar_position:32,tags:["edge"]},l,a={},c=[{value:"Log in to Local UI",id:"log-in-to-local-ui",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Instructions",id:"instructions",level:3},{value:"Login Security Behavior",id:"login-security-behavior",level:4},{value:"Validate",id:"validate",level:3},{value:"Log out of Local UI",id:"log-out-of-local-ui",level:2},{value:"Prerequisites",id:"prerequisites-1",level:3},{value:"Instructions",id:"instructions-1",level:3},{value:"Validate",id:"validate-1",level:3},{value:"Change User Password",id:"change-user-password",level:2},{value:"Prerequisites",id:"prerequisites-2",level:3},{value:"Instructions",id:"instructions-2",level:3},{value:"Validate",id:"validate-2",level:3}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components},{TabItem:s,Tabs:t}=n;return s||u("TabItem",!0),t||u("Tabs",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Local UI allows you to manage Edge hosts in your network locally, upload content such as images and packs, and create\nEdge clusters without connections to a Palette installation."}),"\n",(0,o.jsx)(n.p,{children:"This page guides you through how access the console, and log in, and manage your username and password."}),"\n",(0,o.jsx)(n.h2,{id:"log-in-to-local-ui",children:"Log in to Local UI"}),"\n",(0,o.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"An Edge host installed with Edge Installer 4.3 or later."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Network access to the Edge host's port where Local UI is exposed. The default port is 5080."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Credentials to log in to Local UI. Any Operating System (OS) user can be used to log into Local UI."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["The password is not expired. If you provided the ",(0,o.jsx)(n.code,{children:"stylus.site.users[*].passwordExpiry"})," value in the user data, it must\nbe a future date."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"instructions",children:"Instructions"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Ensure the Edge host is powered on."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["In your browser, go to ",(0,o.jsx)(n.code,{children:"https://HOST_IP:5080"}),". Replace ",(0,o.jsx)(n.code,{children:"HOST_IP"})," with the IP address of your Edge host. If you have\naccess to the Edge host terminal, the address of Local UI console is displayed on the terminal screen. If you have\nchanged the default port of the console, replace ",(0,o.jsx)(n.code,{children:"5080"})," with Local UI port."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You will be prompted to log in. Enter your username and password to log in."}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"login-security-behavior",children:"Login Security Behavior"}),"\n",(0,o.jsx)(n.p,{children:"In case of several consecutive unsuccessful login attempts, Local UI enforces a short delay before you can attempt to\nlog in again. The delay 
1starts at one second and doubles with each subsequent failed attempt. By default, the delay\nmechanism begins after three unsuccessful login attempts."}),"\n",(0,o.jsx)(n.p,{children:"If you reach the maximum number of consecutive unsuccessful login attempts, Local UI temporarily blocks access for your\nuser. By default, this lockout occurs after five consecutive failed attempts and lasts for 15 minutes."}),"\n",(0,o.jsxs)(n.p,{children:["You can customize the default values in the ",(0,o.jsx)(n.code,{children:"user-data"})," file for Edge hosts built with Palette agent version 4.7.16 or\nlater. For more information, refer to the ",(0,o.jsx)(n.code,{children:"stylus.localUI.login"})," parameters description in the\n",(0,o.jsx)(n.a,{href:"/clusters/edge/edge-configuration/installer-reference#palette-agent-parameters",children:"Edge Installer Configuration Reference"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"validate",children:"Validate"}),"\n",(0,o.jsx)(n.p,{children:"A successful login directs you to the Edge management console. Displayed is an overview of your Edge host."}),"\n",(0,o.jsx)(n.h2,{id:"log-out-of-local-ui",children:"Log out of Local UI"}),"\n",(0,o.jsx)(n.h3,{id:"prerequisites-1",children:"Prerequisites"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"You are logged in to Local UI."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"instructions-1",children:"Instructions"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["In your browser, go to ",(0,o.jsx)(n.code,{children:"https://HOST_IP:5080"}),". Replace ",(0,o.jsx)(n.code,{children:"HOST_IP"})," with the IP address of your Edge host. If you have\naccess to the Edge host terminal, the address of Local UI console is displayed on the terminal screen. If you have\nchanged the default port of the console, replace ",(0,o.jsx)(n.code,{children:"5080"})," with Local UI port."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["From Local UI, navigate to the top right ",(0,o.jsx)(n.strong,{children:"User Menu"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Click ",(0,o.jsx)(n.strong,{children:"Sign out"}),"."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"validate-1",children:"Validate"}),"\n",(0,o.jsx)(n.p,{children:"A successful sign-out takes you back to the login page. You need to enter your credentials to log in again."}),"\n",(0,o.jsx)(n.h2,{id:"change-user-password",children:"Change User Password"}),"\n",(0,o.jsxs)(n.p,{children:["You can change the password of an OS user through Local UI, through the terminal, or through the Palette API. The\n",(0,o.jsx)(n.a,{href:"/clusters/edge/site-deployment/site-installation/initial-setup",children:"TUI"})," prompts for a password change when the password is\nexpired and is not intended as the primary method for updating passwords."]}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["If you populated the ",(0,o.jsx)(n.code,{children:"stylus.site.users[*].passwordExpiry"})," field value in the user data, change the password from Local\nUI or when TUI prompts you to change it. Otherwise, the expiry date is not cleared."]})}),"\n",(0,o.jsx)(n.h3,{id:"prerequisites-2",children:"Prerequisites"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Network access to the Edge host's port where Local UI is exposed. Default is port 5080."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Credentials to log in to Local UI. Any OS user can be used to log into Local UI."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Depending on how you want to change the password, additional prerequisites are required."}),"\n",(0,o.jsxs)(t,{groupId:"access-method",children:[(0,o.jsx)(s,{value:"Local UI",children:(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Through Local UI: The ",(0,o.jsx)(n.code,{children:"stylus.disablePasswordUpdate"})," parameter is set to ",(0,o.jsx)(n.code,{children:"false"})," in the installer configuration user\ndata. The default value of the parameter is ",(0,o.jsx)(n.code,{children:"false"}),". For more information, refer to\n",(0,o.jsx)(n.a,{href:"/clusters/edge/edge-configuration/installer-reference#site-parameters",children:"Installer Reference"}),"."]}),"\n"]})}),(0,o.jsx)(s,{value:"Terminal",children:(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"None."}),"\n"]})}),(0,o.jsx)(s,{value:"API",children:(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Through the API: ",(0,o.jsx)(n.a,{href:"https://curl.se/docs/install.html",children:"curl"})," or another similar tool you can use to make HTTP requests\nis installed on the machine you use to access the Edge Management API."]}),"\n"]})})]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsx)(n.p,{children:"If the ability to change the password is disabled from Local UI, you can still log in to the terminal or use the Palette\nAPI to update the password."})}),"\n",(0,o.jsx)(n.h3,{id:"instructions-2",children:"Instructions"}),"\n",(0,o.jsxs)(t,{groupId:"access-method",children:[(0,o.jsx)(s,{value:"Local UI",children:(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"#log-in-to-local-ui",children:"Log in"})," to Local UI."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["From Local UI, navigate to the top right ",(0,o.jsx)(n.strong,{children:"User Menu"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Click ",(0,o.jsx)(n.strong,{children:"Update password"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Provide your existing credentials and enter the new password. If you configured a Pluggable Authentication Modules\n(PAM) policy, the new password must comply with it. Otherwise, Local UI returns an error."}),"\n"]}),"\n"]})}),(0,o.jsx)(s,{value:"Terminal",children:(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Power up the Edge host."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Press the ",(0,o.jsx)(n.strong,{children:"ALT + RIGHT ARROW"})," keys, or ",(0,o.jsx)(n.strong,{children:"CTRL + ALT + F1"})," on a keyboard connected to the Edge host. Replace\n",(0,o.jsx)(n.strong,{children:"ALT"})," with ",(0,o.jsx)(n.strong,{children:"OPTION"})," on a Mac keyboard. This will bring up the login screen for you to log in to the terminal."]}),"\n",(0,o.jsx)(n.p,{children:"Alternatively, establish an SSH connection to the Edge host."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Issue the command ",(0,o.jsx)(n.code,{children:"passwd"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Enter your current password to authenticate."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Enter your new password and press ",(0,o.jsx)(n.strong,{children:"ENTER"}),". Enter the new password again to confirm. If you configured a Pluggable\nAuthentication Modules (PAM) policy, the new password must comply with it. Otherwise, the terminal returns an error."]}),"\n"]}),"\n"]})}),(0,o.jsx)(s,{value:"API",children:(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Use the POST /v1/users/default/login endpoint to generate an authentication token with your OS username and password.\nThe following curl command is an example. Replace ",(0,o.jsx)(n.code,{children:"edge-host-ip"})," with the IP of your Edge host and replace\nos-username and os-password with your OS user credentials."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:'curl --location \'https://edge-host-ip:5080/v1/users/default/login\' \\\n--header \'Content-Type: application/json\' \\\n--data \'{\n    "username": "******",\n    "password": "******"\n}\'\n'})}),"\n",(0,o.jsx)(n.p,{children:"If your credentials are valid, you will receive a authorization token."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",metastring:"hideClipboard",children:'{\n  "Token": {\n    "Authorization": "******"\n  }\n}\n'})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Issue the following command to change the password. Replace the authorization token with the one you obtained in the\nprevious step. This will change the password of the user whose credentials you used to obtain the authorization\ntoken. You do not need to provide a username."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"curl --location 'https://edge-host-ip:5080/v1/users/default/password/reset' \\\n-H 'Content-Type: application/json' \\\n-H 'Accept: application/json' \\\n--data '{\n\"newPassword\": \"******\",\n\"oldPassword\": \"******\"\n}'\n--header 'Authorization: *******'\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you configured a Pluggable Authentication Modules (PAM) policy, the new password must comply with it. Otherwise,\nthe command returns an error with ",(0,o.jsx)(n.code,{children:'"code":"401"'}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["For more information about the API endpoint, refer to ",(0,o.jsx)(n.a,{href:"/api/edge-v1/v-1-user-password-reset/",children:"Reset User Password"}),"."]}),"\n"]}),"\n"]})})]}),"\n",(0,o.jsx)(n.h3,{id:"validate-2",children:"Validate"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"#log-out-of-local-ui",children:"Log out"})," of the console."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Enter your new credentials to log back in and confirm that the password has been updated."}),"\n"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}function u(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},884429:function(e,n,s){s.d(n,{R:()=>r,x:()=>l});var t=s(296540);let o={},i=t.createContext(o);function r(e){let n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.