forbes-0023 127836f7ce docs: replace kindred.internal with example.internal in all docs and config
Replace all references to internal hostnames (silo.kindred.internal,
psql.kindred.internal, minio.kindred.internal, ipa.kindred.internal,
keycloak.kindred.internal) with example.internal equivalents.

Replace gitea.kindred.internal and git.kindred.internal with the public
git.kindred-systems.com instance. Also fix stale silo-0062 repo name
in setup-host.sh and DEPLOYMENT.md.
2026-02-11 11:20:45 -06:00
2026-01-29 13:10:12 -06:00
2026-01-29 13:10:12 -06:00

Kindred Silo

Item database and part management system.

Overview

Kindred Silo is an R&D-oriented item database with:

  • Configurable part number generation via YAML schemas
  • Revision tracking with append-only history, rollback, comparison, and status labels
  • BOM management with multi-level expansion, flat BOM flattening, assembly costing, where-used queries, CSV/ODS export
  • Authentication with local (bcrypt), LDAP/FreeIPA, and OIDC/Keycloak backends
  • Role-based access control (admin > editor > viewer) with API tokens and sessions
  • ODS import/export for items, BOMs, and project sheets
  • Audit/completeness scoring with weighted per-category property validation
  • Web UI — React SPA (Vite + TypeScript, Catppuccin Mocha theme) for item browsing, project management, schema editing, and audit
  • CAD integration via REST API (silo-mod, silo-calc)
  • Physical inventory tracking with hierarchical locations (schema ready)

Components

silo/
├── cmd/
│   ├── silo/              # CLI tool
│   └── silod/             # API server
├── internal/
│   ├── api/               # HTTP handlers and routes (75 endpoints)
│   ├── auth/              # Authentication (local, LDAP, OIDC)
│   ├── config/            # Configuration loading
│   ├── db/                # PostgreSQL repositories
│   ├── migration/         # Property migration utilities
│   ├── odoo/              # Odoo ERP integration
│   ├── ods/               # ODS spreadsheet library
│   ├── partnum/           # Part number generation
│   ├── schema/            # YAML schema parsing
│   ├── storage/           # MinIO file storage
│   └── testutil/          # Test helpers
├── web/                   # React SPA (Vite + TypeScript)
│   └── src/
│       ├── api/           # API client and type definitions
│       ├── components/    # Reusable UI components
│       ├── context/       # Auth context provider
│       ├── hooks/         # Custom React hooks
│       ├── pages/         # Page components (Items, Projects, Schemas, Settings, Audit, Login)
│       └── styles/        # Catppuccin Mocha theme and global styles
├── migrations/            # Database migrations (11 files)
├── schemas/               # Part numbering schemas (YAML)
├── deployments/           # Docker Compose and systemd configs
├── scripts/               # Deployment and setup scripts
└── docs/                  # Documentation

Quick Start

# Docker Compose (quickest)
cp config.example.yaml config.yaml
# Edit config.yaml with your database, MinIO, and auth settings
make docker-up

# Or manual setup
psql -h localhost -U silo -d silo -f migrations/*.sql
go run ./cmd/silod -config config.yaml

When auth is enabled, a default admin account is created on first startup using the credentials in config.yaml under auth.local.default_admin_username and auth.local.default_admin_password.

# CLI usage
go run ./cmd/silo register --schema kindred-rd --category F01

Configuration

See config.example.yaml for all options.

Authentication

Silo supports three authentication backends, configured in config.yaml:

Backend Description
Local Built-in accounts with bcrypt passwords
LDAP FreeIPA / Active Directory integration
OIDC Keycloak / OpenID Connect providers

Roles: admin (full access) > editor (create/modify items) > viewer (read-only).

API tokens provide programmatic access for scripts and CAD clients. Set auth.enabled: false for development without authentication.

See docs/AUTH.md for full details.

Client Integrations

CAD and spreadsheet integrations are maintained in separate repositories:

  • Kindred Create / FreeCAD workbench -- silo-mod
  • LibreOffice Calc extension -- silo-calc

The server provides the REST API and ODS endpoints consumed by these clients.

Documentation

Document Description
docs/SPECIFICATION.md Full design specification and API reference
docs/STATUS.md Implementation status
docs/DEPLOYMENT.md Production deployment guide
docs/CONFIGURATION.md Configuration reference (all config.yaml options)
docs/AUTH.md Authentication system design
docs/AUTH_USER_GUIDE.md User guide for login, tokens, and roles
docs/GAP_ANALYSIS.md Gap analysis and revision control roadmap
docs/COMPONENT_AUDIT.md Component audit tool design
ROADMAP.md Feature roadmap and SOLIDWORKS PDM comparison
frontend-spec.md React SPA frontend specification

License

MIT License - Copyright (c) 2026 Kindred Systems LLC

See LICENSE for details.

Description
No description provided
Readme MIT 3.6 MiB
Languages
Go 68.5%
TypeScript 25.5%
Shell 2.7%
PLpgSQL 2.4%
Makefile 0.5%
Other 0.3%