two/web/components.yml
GnomeZworc 6abf93005b
web: start: add icons gestion
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-06-14 23:08:40 +02:00

101 lines
2.8 KiB
YAML

# Component manifest — source of truth for the web UI.
#
# Edit this file, then run ./build.sh to:
# - download every remote component into components/<name>/
# - generate components.json (the runtime load list) in declared order
#
# Load order matters: service components (login-gate, api-client) must come
# before the components that consume them.
# Local components shipped inside this repo. Not downloaded — listed here only
# so build.sh can place them in the generated load order.
local_components:
- login-gate
- api-client
- logout-button
- side-panel
- date-display
- form-vm
- vnc-viewer
# Remote components fetched from git at build time.
# Each is its own repo; its root must contain <name>.js and manifest.json.
#
# - name: vpc-panel # → components/vpc-panel/
# repo: https://git.g3e.fr/team-reseau/vpc-panel
# ref: v1.2.0 # tag, branch or commit (default: main)
components:
- name: side-nav
repo: https://git.g3e.fr/syonad/syn-side-nav
ref: main
# Vendor libraries — downloaded into web/vendor/ at build time (gitignored).
# Components import them via relative paths, never via components.json.
# path: restrict download to a subdirectory of the repo (optional).
# dest: destination under web/ (default: vendor/<name>).
vendors:
- name: novnc-core
repo: https://github.com/novnc/noVNC
ref: v1.5.0
path: core
dest: vendor/novnc/core
- name: novnc-vendor
repo: https://github.com/novnc/noVNC
ref: v1.5.0
path: vendor
dest: vendor/novnc/vendor
# Pages — each page is a self-contained directory (JS + CSS + manifest.json).
# Same model as components: local pages ship in this repo, remote pages are
# downloaded from git at build time. build.sh reads each manifest.json to
# generate navigation.json and pages.json.
#
# Page manifest.json must contain: tag, route, label, icon.
# Page JS must: customElements.define('<tag>', ...) and use display:contents.
local_pages:
- dashboard
- vpcs
- subnets
- vms
- account
# Remote pages fetched from git — same mechanism as components.
#
# - name: vpcs
# repo: https://git.g3e.fr/team-reseau/page-vpcs
# ref: v1.0.0
remote_pages: []
# Menu — order and visibility in the side-nav.
# List routes in desired display order.
# A page not listed here is accessible via /#/route but hidden from the nav.
menu:
- dashboard
- type: separator
- type: group
label: Réseau
icon: vpc
children:
- vpcs
- subnets
- type: group
label: Empty
icon: vpc
children: []
- type: group
label: Compute
icon: vm
children:
- vms
- type: group
label: Comptes
icon: account
children: []
- type: separator
- dashboard
- type: section
label: Réseau
- vpcs
- subnets
- vms