// TODO: impl indicator export interface Indicator { icon: string; class?: string; label?: string; link?: string; } export interface Item { name: string; icon?: string; description: string; isPrivate?: boolean; link?: string; github?: string; healthCheck?: string; indicators?: Indicator[]; } export interface Category { name: string; description?: string; items: Item[]; icon?: string; } export const defineProjects = (val: Category[]) => val; const projects = defineProjects([ { name: "YuutaCloud", description: "Home IDC", icon: "bi:cloud-fill", items: [ { name: "vSphere + vSAN", isPrivate: true, description: "Next generation VM hosts (under construction).", icon: "carbon:logo-vmware", }, { name: "Active Directory", isPrivate: true, description: "vSphere SSO.", icon: "mdi:microsoft-windows-classic", }, { name: "FreeBSD Router", isPrivate: true, description: "Site-to-site VPN local side. Using WireGuard, BGP and OSPF to connect to YuutaNet cloud routers.", icon: "cib:freebsd", }, { name: "EdgeRouter", isPrivate: true, description: "Provides IPv4 NAT, VLAN and firewall.", icon: "clarity:router-solid", }, ], }, { name: "YuutaNet", icon: "bx:bxs-network-chart", description: "ASN for YuutaCloud", items: [ { name: "Home", link: "https://yuuta.network", github: "https://github.com/YuutaNet/yuutanet.github.io", description: "Home page", icon: "ant-design:home-filled", }, { name: "Bird", isPrivate: true, description: "I use Bird for BGP and OSPF.", icon: "brandico:twitter-bird", }, { name: "WireGuard", isPrivate: true, description: "I use WireGuard for intra links.", icon: "cib:wireguard", }, { name: "Auto Peering", link: "https://peering.yuuta.moe", description: "DN42 auto peering system written in Java.", icon: "cib:java", }, ], }, { name: "YuutaWeb", icon: "mdi:web", description: "Personal websites", items: [ { name: "Home", link: "https://yuuta.moe", description: "Personal index.", icon: "ant-design:home-filled", }, { name: "Blog", link: "https://blog.yuuta.moe", description: "Essays and tutorials.", icon: "cib:blogger", }, { name: "Git", link: "https://git.yuuta.moe", description: "Just some projects.", icon: "bi:git", }, { name: "Mail", link: "https://mail.yuuta.moe", description: "FreeBSD mail server using OpenSMPTD + Dovecot + Rspamd.", icon: "cib:freebsd", }, { name: "FTP", link: "https://ftp.yuuta.moe", description: "File share.", icon: "bi:cloud-download-fill", }, ] }, { name: "YuutaHome", icon: "ant-design:home-filled", description: "Home infra", items: [ { name: "Home Server", isPrivate: true, description: "FreeBSD Personal Server. Using YuutaCloud and YuutaNet.", icon: "cib:freebsd", }, { name: "Workstation", isPrivate: true, description: "Arch Linux workstation. Using 5600G and ASUS X570-E Gaming.", icon: "cib:amd", }, { name: "Laptop", isPrivate: true, description: "Arch Linux laptop. Using XPS 13 9360.", icon: "bi:laptop", }, { name: "Phone", isPrivate: true, description: "Lineage OS 17.1 running on OnePlus 7 Pro.", icon: "simple-icons:lineageos", }, { name: "EdgeRouter", isPrivate: true, description: "Provides YuutaNet (DN42) connectivity via WireGuard.", icon: "clarity:router-solid", }, { name: "TPLink EAP245", isPrivate: true, description: "Wireless access point.", icon: "bx:bx-wifi", }, ] }, { name: "YMC", icon: "mdi:minecraft", description: "Technical Minecraft", items: [ { name: "Home", link: "https://ymc.moe/", description: "Home page.", icon: "ant-design:home-filled", }, { name: "Map", link: "https://map.ymc.moe/", description: "Online map.", icon: "bi:map-fill", }, { name: "ExtMC", github: "https://github.com/YMC-Minecraft/extmc.git", description: "Minecraft plugin framework based on rcon and stdout.", icon: "clarity:plugin-solid-alerted", }, { name: "Internal Git", isPrivate: true, description: "Hosts internal projects and shared Minecraft source code. Hosted on YuutaCloud.", icon: "bi:git", }, { name: "Internal Wiki", link: "https://wiki.ymc.moe/", description: "Share projects status. Hosted on YuutaCloud.", icon: "cib:wikipedia", }, { name: "LDAP", isPrivate: true, description: "Membership information and passwords. Hosted on YuutaCloud.", icon: "carbon:directory-domain", }, { name: "Prometheus & Grafana", link: "https://monitor.ymc.moe/", description: "Monitoring platform.", icon: "simple-icons:prometheus", }, ] }, { name: "Personal Projects", icon: "eos-icons:flask", description: "Some stuff", items: [ { name: "MuteBot", github: "https://git.yuuta.moe/mutebot.git", description: "Telegram bot that mutes new members.", icon: "bi:telegram", }, { name: "Minecraft Pacman", link: "https://www.yuuta.moe/minecraft-pacman/", github: "https://git.yuuta.moe/Minecraft/minecraft-pacman.git", description: "Minecraft Arch Linux packages.", icon: "cib:arch-linux", }, { name: "Userbot", isPrivate: true, description: "Personal Telegram user bot (under construction).", icon: "bi:telegram", }, { name: "mcal", github: "https://git.yuuta.moe/Minecraft/mcal.git", description: "Minecraft calculators.", icon: "clarity:calculator-solid", }, { name: "mdrd", github: "https://git.yuuta.moe/mdrd.git", description: "Simple markdown renderer CGI application", icon: "ant-design:file-markdown-filled", }, ], }, ]); export { projects };