github.com Open in urlscan Pro
140.82.121.4  Public Scan

Submitted URL: http://navig8.dev/
Effective URL: https://github.com/navig8s/navig8
Submission: On November 29 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

GET /navig8s/navig8/search

<form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="537133370" data-scoped-search-url="/navig8s/navig8/search" data-owner-scoped-search-url="/orgs/navig8s/search"
  data-unscoped-search-url="/search" data-turbo="false" action="/navig8s/navig8/search" accept-charset="UTF-8" method="get">
  <label class="form-control header-search-wrapper input-sm p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
    <input type="text" class="form-control js-site-search-focus header-search-input jump-to-field js-jump-to-field js-site-search-field is-clearable" data-hotkey="s,/" name="q" data-test-selector="nav-search-input" placeholder="Search"
      data-unscoped-placeholder="Search GitHub" data-scoped-placeholder="Search" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search"
      data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off">
    <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="kTu54FRwKW49bEj8RYR8hUZPvTmNPPy8ZBpxDWwkg6IgtY6znmxknqHYDEA7GraaNErNoWLQEfvJedkvllrAgQ==">
    <input type="hidden" class="js-site-search-type-field" name="type">
    <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash">
      <path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path>
      <path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path>
    </svg>
    <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
      <ul class="d-none js-jump-to-suggestions-template-container">
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
        In this repository
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
      </ul>
      <ul class="d-none js-jump-to-no-results-template-container">
        <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
          <span class="color-fg-muted">No suggested jump to results</span>
        </li>
      </ul>
      <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
        In this repository
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this organization">
        In this organization
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
        <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
          <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
      <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
</svg>
      <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
</svg>
      <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
    <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
</svg>
    </div>

    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
    </div>

    <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
        In this repository
      </span>
      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
        All GitHub
      </span>
      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>

    <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
      Jump to
      <span class="d-inline-block ml-1 v-align-middle">↵</span>
    </div>
  </a>
        </li>
      </ul>
    </div>
  </label>
</form>

Text Content

Skip to content
Toggle navigation
Sign up

 * Product
    * Actions
      Automate any workflow
    * Packages
      Host and manage packages
    * Security
      Find and fix vulnerabilities
    * Codespaces
      Instant dev environments
    * Copilot
      Write better code with AI
    * Code review
      Manage code changes
    * Issues
      Plan and track work
    * Discussions
      Collaborate outside of code
   
    * Explore
    * All features
    * Documentation
    * GitHub Skills
    * Blog

 * Solutions
    * For
    * Enterprise
    * Teams
    * Startups
    * Compare all
   
    * By Solution
    * CI/CD & Automation
    * DevOps
    * DevSecOps
   
    * Case Studies
    * Customer Stories
    * Resources

 * Open Source
    * GitHub Sponsors
      Fund open source developers
   
    * The ReadME Project
      GitHub community articles
   
    * Repositories
    * Topics
    * Trending
    * Collections

 * Pricing

 * In this repository All GitHub ↵
   Jump to ↵

 * No suggested jump to results

 * In this repository All GitHub ↵
   Jump to ↵
 * In this organization All GitHub ↵
   Jump to ↵
 * In this repository All GitHub ↵
   Jump to ↵

Sign in
Sign up

{{ message }}
navig8s / navig8 Public
 * Notifications
 * Fork 0
 * Star 2

Simplify and Visualize Helm Deployments


LICENSE

Apache-2.0, Unknown licenses found


LICENSES FOUND

Apache-2.0
LICENSE
Unknown
license-banner.txt
2 stars 0 forks
Star
Notifications
 * Code
 * Issues 0
 * Pull requests 0
 * Actions
 * Projects 0
 * Security
 * Insights

More
 * Code
 * Issues
 * Pull requests
 * Actions
 * Projects
 * Security
 * Insights


NAVIG8S/NAVIG8

This commit does not belong to any branch on this repository, and may belong to
a fork outside of the repository.
main
Switch branches/tags

Branches Tags
Could not load branches
Nothing to show

{{ refName }} default
View all branches
Could not load tags
Nothing to show
{{ refName }} default

View all tags


NAME ALREADY IN USE


A tag already exists with the provided branch name. Many Git commands accept
both tag and branch names, so creating this branch may cause unexpected
behavior. Are you sure you want to create this branch?
Cancel Create
1 branch 1 tag

Go to file Code
 * Local
 * Codespaces

 * Clone
   HTTPS GitHub CLI
   
   Use Git or checkout with SVN using the web URL.
   
   Work fast with our official CLI. Learn more.

 * Open with GitHub Desktop
 * Download ZIP

SIGN IN REQUIRED

Please sign in to use Codespaces.

LAUNCHING GITHUB DESKTOP

If nothing happens, download GitHub Desktop and try again.

LAUNCHING GITHUB DESKTOP

If nothing happens, download GitHub Desktop and try again.

LAUNCHING XCODE

If nothing happens, download Xcode and try again.

LAUNCHING VISUAL STUDIO CODE

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.


LATEST COMMIT

Nikita Epshtein and Nikita Epshtein Added license banner to generated build
…
2e2cd9d Nov 22, 2022
Added license banner to generated build
2e2cd9d


GIT STATS

 * 55 commits


FILES

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
.github/workflows
Support latest tag for docker image
Nov 11, 2022
docker
Hotfix: static build
Nov 16, 2022
docs/how_parsing_works
Makefile, README and Documentation (#6)
Oct 21, 2022
src
Docker support (#9)
Nov 11, 2022
.env.template
Docker support (#9)
Nov 11, 2022
.eslintrc.cjs
Docker support (#9)
Nov 11, 2022
.gitignore
Hotfix: static build
Nov 16, 2022
.prettierrc
Docker support (#9)
Nov 11, 2022
LICENSE
Added LICENSE
Oct 24, 2022
README.md
Small fix in the README
Nov 16, 2022
index.html
Docker support (#9)
Nov 11, 2022
jest.config.js
Docker support (#9)
Nov 11, 2022
license-banner.txt
Added license banner to generated build
Nov 22, 2022
light.css
Docker support (#9)
Nov 11, 2022
logo-icon-navig8.svg
Makefile, README and Documentation (#6)
Oct 21, 2022
package.json
Added license banner to generated build
Nov 22, 2022
pnpm-lock.yaml
Added license banner to generated build
Nov 22, 2022
tsconfig.json
Docker support (#9)
Nov 11, 2022
tsconfig.node.json
Docker support (#9)
Nov 11, 2022
vite.config.ts
Added license banner to generated build
Nov 22, 2022
View code
Navig8 Simplify and Visualize Helm Deployments Table of contents Assumptions
Local development Environment requirements Starting from scratch Customization
options Environment variables: Custom logo Themization Overwriting CSS rules
Deployment as FE static An example of deployment flow Deployment as Docker
container An example of running docker image locally Proxy to bypass CORS &
security notes Examples Roadmap


README.MD


NAVIG8


SIMPLIFY AND VISUALIZE HELM DEPLOYMENTS



The Navig8 web user interface simplifies Kubernetes application deployment by
guiding users through Helm Chart values.

Its logic is executed only on frontend side which guarantees no sensitive data
filled in its form will ever be implicitly processed somewhere outside user's
computer.

--------------------------------------------------------------------------------


TABLE OF CONTENTS

 * Assumptions
 * Local development
   * Environment requirements
   * Starting from scratch
 * Customization options
   * Environment variables:
   * Custom logo
   * Themization
   * Overwriting CSS rules
 * Deployment as FE static
   * An example of deployment flow
 * Deployment as Docker container
   * An example of running docker image locally
 * Proxy to bypass CORS & security notes
 * Examples
 * Roadmap


ASSUMPTIONS

 * Navig8's initial design is lightweight: all functionality is in the web
   client for easy web hosting.
   * There is no persistence for values or back-end requirements, see the
     Roadmap section for more on this topic.
 * The target Helm Chart repository is network accessible to the web client
   running Navig8.
 * The target Helm Chart has values.schema.json
 * OPTIONAL: the target Helm Chart has a README.md.
 * Navig8 leverages existing Helm Chart value specifications, see the Roadmap
   section for more on this topic.
 * Navig8 provides helm commands for execution.


LOCAL DEVELOPMENT


ENVIRONMENT REQUIREMENTS

 * Node.js with version ^16
 * pnpm with version ^7


STARTING FROM SCRATCH

pnpm install
cp .env.template .env.development.local # Add values for required variables there. Each variable is documented inside the file.
pnpm dev




CUSTOMIZATION OPTIONS


ENVIRONMENT VARIABLES:

Name Required Description Default NAVIG8_REPO_URL * Url to the helm repository
that is usually used in helm add repo command NAVIG8_REPO_ENTRY * Entry is a
unique key of the entries hash map (
https://helm.sh/docs/topics/chart_repository/#the-index-file
) NAVIG8_REPO_NAME * The name of the repo used in the command helm repo add
$NAVIG8_REPO_NAME $NAVIG8_REPO_URL NAVIG8_PREDEFINED_NAMESPACE The k8s namespace
that will be created and used for the helm installation NAVIG8_DOCUMENTATION_URL
Link to the documentation for the specified helm chart that will be provided to
the user NAVIG8_USE_PROXY Boolean-like string ("false" or "true"). Used in
development and Docker env to tell whether a proxy should be created to bypass
CORS headers or not "false" NAVIG8_COPYRIGHT A string that will be shown on the
right of the <footer> element. If you want to add a dynamic year that will
represent year at the momet - add {year} to the string.

Example: ©{year} Kasten by Veeam® NAVIG8_FAVICON Icon that can be usually seen
inside the tab of the browser and is usually important for crawlers of social
media, chat applications, and search engines. NAVIG8_SEO_TITLE A small string
that represents the content of the page that can be usually seen inside the tab
of the browser and is usually important for crawlers of social media, chat
applications, and search engines. NAVIG8_METAS An array as JSON string with data
for custom <meta> elements in html

The structure is (Typescript definition):
type Metas = Array<{name: string, content: string}>

Example:
[{"name": "description", "content": "This is my description"}] '[]' NAVIG8_LINKS
An array as JSON string with attributes for custom <link> elements in html

The structure is (Typescript definition):
type Links = Array<Record<string, string>>

Example: [{"rel": "canonical", "href": "http://example.com"}] '[]'
NAVIG8_TOP_HEAD
NAVIG8_BOTTOM_HEAD
NAVIG8_TOP_BODY
NAVIG8_BOTTOM_BODY Raw html that will be inserted in the index.html and will be
statically served. Each variable name represents location where html will be
inserted. "" NAVIG8_BASE_URL URL relative to the domain root or an absolute one
that represents path to the frontend folder with built static

Example: /pages/navig8 '/'


CUSTOM LOGO

By default, an icon from the manifest of the specified helm repo is used as a
logo in the header of the interface.

It can be overwritten with the CSS rule background-image inside .logo class in
the <REPO_ROOT>/light.css that is responsible for the light theme (We assume
that we will support the dark theme as well in the nearest future) The logo can
be of any format supported by the browser (but .svg is highly recommended)

This is how it could be done using only the terminal:

LOGO_URL=url
cat >> light.css <<- EOF
.logo {
   background-image: url($LOGO_URL);
}
EOF



You can also add a file there and set a relative path:

cp /some/where/else/logo.svg ./logo.svg
cat >> light.css <<- EOF
.logo {
   background-image: url(./logo.svg);
}
EOF




THEMIZATION

The interface is built using PrimeVue UI-kit which makes it possible to
customize a theme.

It's possible to make the color scheme more brand-specific by setting it CSS
variable in <REPO_ROOT>/light.css file that is dedicated to CSS overwrites for
the light theme (We assume that we will support the dark theme as well in the
nearest future).

There is a description of color palettes that this UI kit uses.

The method of adding a new scheme to the light.css file can be the same as for
custom logo

cat >> light.css <<- EOF
:root {
  --primary-color:#3B82F6;
  --primary-color-text:#ffffff;
  /* other colors */
}
EOF




OVERWRITING CSS RULES

Feel free to fork this repo and change styles or whatever you want, but if a
fork is not the preferable option - an overwriting can be done in the same way
as for custom logo and themization


DEPLOYMENT AS FE STATIC

 1. Build frontend static using Available Customization options.
 2. Deployment to the server that serves static html/js/css
 3. CORS header Access-Control-Allow-Origin should be extended for the specified
    helm chart repo files with the domain where navig8 is run.

We have plans on simplifying this process. Please see the Roadmap section for
more details


AN EXAMPLE OF DEPLOYMENT FLOW

It is assumed that we are inside the process where pnpm, git and node are
available (Environment requirements).

 1. Clone the repo

git clone git@github.com:navig8s/navig8.git


 2. Install dependencies

pnpm install --frozen-lockfile


 3. Setup at least required ENV variables declared in this table. You can do it
    inside the terminal process of course.

NAVIG8_REPO_URL=repo_url
NAVIG8_REPO_ENTRY=entry
NAVIG8_REPO_NAME=name


 4. Build the frontend

pnpm build 


 5. Copy the output of FE static inside <REPO_ROOT>/dist folder anywhere you
    want.
 6. Set Access-Control-Allow-Origin for the helm repo you've specified so navig8
    could fetch all files it needs. For example, you host navig8 at
    https://navig8-instance.com. This should be included in the
    Access-Control-Allow-Origin header for all files in the specified helm
    chart.


DEPLOYMENT AS DOCKER CONTAINER

Docker solution could be run in k8s cluster or by one of the popular cloud
services like Google Cloud Run

 1. Get last image from ghcr registry
 2. Set at least required environment variables from the list
 3. Publish the Container's port 80, forward requests to domain of your choice
    to it as it will be listened for requests.
 4. Run Container


AN EXAMPLE OF RUNNING DOCKER IMAGE LOCALLY

docker pull ghcr.io/navig8s/navig8
docker run -d -p 8080:80 \
  --env NAVIG8_REPO_URL=repo_url \
  --env NAVIG8_REPO_ENTRY=entry \
  --env NAVIG8_REPO_NAME=name \
  ghcr.io/navig8s/navig8





PROXY TO BYPASS CORS & SECURITY NOTES

It's highly recommended to set CORS headers (Access-Control-Allow-Origin) for
helm repo, that is going to be used by navig8 and thus handle CORS issue.

In case it's not an option - there is a possibility to use reverse proxy for
Docker environment (see settings). Current realisation of the reverse proxy that
is available in Docker environment is intended to be used for same-origin
requests that nginx will proxy to the specified chart repo's url (frontend
requests /repo that is proxied to NAVIG8_REPO_URL in current implementation).


EXAMPLES

 * [Coming soon]: install.kasten.io is a public Navig8 instance for the K10 Helm
   Chart.


ROADMAP

 * Prebuilt Docker image with reverse proxy to bypass CORS inside
 * Possibility to skip values.schema.json file for the form construction
 * Possibility to view and edit values.yaml file
 * Dark theme support
 * Code of Conduct
 * Issues template


ABOUT

Simplify and Visualize Helm Deployments


TOPICS

helm helm-charts helm-chart k10 kasten


RESOURCES

Readme


LICENSE

Apache-2.0, Unknown licenses found


LICENSES FOUND

Apache-2.0
LICENSE
Unknown
license-banner.txt


STARS

2 stars


WATCHERS

3 watching


FORKS

0 forks


RELEASES

1 tags


PACKAGES 1

 * navig8




LANGUAGES


 * CSS 60.1%
 * TypeScript 27.4%
 * Vue 9.8%
 * Shell 1.3%
 * JavaScript 0.9%
 * HTML 0.4%
 * Dockerfile 0.1%


FOOTER

© 2022 GitHub, Inc.


FOOTER NAVIGATION

 * Terms
 * Privacy
 * Security
 * Status
 * Docs
 * Contact GitHub
 * Pricing
 * API
 * Training
 * Blog
 * About


You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You
signed out in another tab or window. Reload to refresh your session.