refactor(architecture): reorganize LikeC4 projects and consolidate webcomponents
Renamed resources/likec4 to resources/edp-likec4 to better reflect that this directory contains the Enterprise Developer Platform architecture models, not documentation platform architecture. Extended element kinds in edp-likec4/models/spec.c4 to support documentation platform modeling: - Added person, tool, process, repository element kinds - These allow modeling of documentation workflows and processes Consolidated webcomponent generation: - Combined both architecture projects (edp-likec4 and doc-likec4) into a single webcomponent output at static/js/likec4-webcomponent.js - Updated Taskfile.yml to generate from edp-likec4 directory - Removed duplicate webcomponent script loading in head-end.html - Fixed CustomElementRegistry duplicate registration issue Embedded TeleNeoOffice corporate fonts: - Added font files to static/fonts/ and static/ root - Required for correct rendering of diagrams in webcomponent - Fonts are embedded in webcomponent but also served from Hugo static paths - Fixed 404 errors for font loading Updated architecture documentation: - Fixed markdown linting issues (trailing spaces, fence spacing) - Updated all references from resources/likec4 to resources/edp-likec4 - Enhanced setup.md with correct directory structure This refactoring enables: 1. Clear separation between EDP architecture and documentation platform models 2. Single consolidated webcomponent containing all architecture views 3. Proper font loading for corporate branding in diagrams 4. Foundation for future architecture documentation expansion Breaking changes: None (paths updated in documentation)
|
|
@ -92,6 +92,12 @@ tasks:
|
||||||
cmds:
|
cmds:
|
||||||
- htmltest
|
- htmltest
|
||||||
|
|
||||||
|
# LikeC4 tasks
|
||||||
|
likec4:generate:
|
||||||
|
desc: Generate LikeC4 webcomponent (includes all architecture projects)
|
||||||
|
cmds:
|
||||||
|
- cd resources/edp-likec4 && npx likec4 codegen webcomponent --webcomponent-prefix likec4 --outfile ../../static/js/likec4-webcomponent.js
|
||||||
|
|
||||||
# Development tasks
|
# Development tasks
|
||||||
deps:ensure-npm:
|
deps:ensure-npm:
|
||||||
desc: Ensure npm dependencies are installed
|
desc: Ensure npm dependencies are installed
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,12 @@ This document describes the high-level architecture of our Enterprise Developmen
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
let attempts = 0;
|
let attempts = 0;
|
||||||
const maxAttempts = 10;
|
const maxAttempts = 10;
|
||||||
|
|
||||||
function checkLikeC4Loading() {
|
function checkLikeC4Loading() {
|
||||||
attempts++;
|
attempts++;
|
||||||
const component = document.querySelector('likec4-view');
|
const component = document.querySelector('likec4-view');
|
||||||
const loading = document.getElementById('likec4-loading');
|
const loading = document.getElementById('likec4-loading');
|
||||||
|
|
||||||
if (component && component.shadowRoot && component.shadowRoot.children.length > 0) {
|
if (component && component.shadowRoot && component.shadowRoot.children.length > 0) {
|
||||||
if (loading) loading.style.display = 'none';
|
if (loading) loading.style.display = 'none';
|
||||||
console.log('LikeC4 component loaded successfully');
|
console.log('LikeC4 component loaded successfully');
|
||||||
|
|
@ -44,7 +44,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||||
setTimeout(checkLikeC4Loading, 1000);
|
setTimeout(checkLikeC4Loading, 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if LikeC4 loader is available
|
// Check if LikeC4 loader is available
|
||||||
if (typeof window.customElements !== 'undefined') {
|
if (typeof window.customElements !== 'undefined') {
|
||||||
setTimeout(checkLikeC4Loading, 1500);
|
setTimeout(checkLikeC4Loading, 1500);
|
||||||
|
|
@ -110,11 +110,11 @@ The interactive diagram above shows the relationships between different componen
|
||||||
|
|
||||||
To update or modify the architecture diagrams:
|
To update or modify the architecture diagrams:
|
||||||
|
|
||||||
1. Edit the `.c4` files in `resources/likec4/`
|
1. Edit the `.c4` files in `resources/edp-likec4/`
|
||||||
2. Regenerate the webcomponent:
|
2. Regenerate the webcomponent:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
npx likec4 codegen webcomponent \
|
npx likec4 codegen webcomponent \
|
||||||
--webcomponent-prefix likec4 \
|
--webcomponent-prefix likec4 \
|
||||||
--outfile ../../static/js/likec4-webcomponent.js
|
--outfile ../../static/js/likec4-webcomponent.js
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ LikeC4 enables you to create interactive C4 architecture diagrams as code. The d
|
||||||
Navigate to the LikeC4 directory and install dependencies:
|
Navigate to the LikeC4 directory and install dependencies:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -39,6 +39,7 @@ npx likec4 codegen webcomponent \
|
||||||
```
|
```
|
||||||
|
|
||||||
This command:
|
This command:
|
||||||
|
|
||||||
- Reads all `.c4` files from `models/` and `views/`
|
- Reads all `.c4` files from `models/` and `views/`
|
||||||
- Generates a single JavaScript file with all architecture views
|
- Generates a single JavaScript file with all architecture views
|
||||||
- Outputs to `static/js/likec4-webcomponent.js`
|
- Outputs to `static/js/likec4-webcomponent.js`
|
||||||
|
|
@ -54,8 +55,8 @@ The integration should already be configured in:
|
||||||
|
|
||||||
## Directory Structure
|
## Directory Structure
|
||||||
|
|
||||||
```
|
```plaintext
|
||||||
resources/likec4/
|
resources/edp-likec4/
|
||||||
├── models/ # C4 model definitions
|
├── models/ # C4 model definitions
|
||||||
│ ├── components/ # Component models
|
│ ├── components/ # Component models
|
||||||
│ ├── containers/ # Container models
|
│ ├── containers/ # Container models
|
||||||
|
|
@ -93,11 +94,12 @@ Add this to any Markdown file:
|
||||||
To find available view IDs, search the `.c4` files:
|
To find available view IDs, search the `.c4` files:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
grep -r "view\s\+\w" views/ models/ --include="*.c4"
|
grep -r "view\s\+\w" views/ models/ --include="*.c4"
|
||||||
```
|
```
|
||||||
|
|
||||||
Common views:
|
Common views:
|
||||||
|
|
||||||
- `otc-faas` - OTC FaaS deployment
|
- `otc-faas` - OTC FaaS deployment
|
||||||
- `edp` - EDP overview
|
- `edp` - EDP overview
|
||||||
- `landscape` - Developer landscape
|
- `landscape` - Developer landscape
|
||||||
|
|
@ -128,14 +130,14 @@ Click on components in the diagram to explore the architecture.
|
||||||
|
|
||||||
### 1. Modify Architecture Models
|
### 1. Modify Architecture Models
|
||||||
|
|
||||||
Edit the `.c4` files in `resources/likec4/`:
|
Edit the `.c4` files in `resources/edp-likec4/`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Edit a model
|
# Edit a model
|
||||||
vi resources/likec4/models/containers/argocd.c4
|
vi resources/edp-likec4/models/containers/argocd.c4
|
||||||
|
|
||||||
# Or edit a view
|
# Or edit a view
|
||||||
vi resources/likec4/views/deployment/otc/otc-faas.c4
|
vi resources/edp-likec4/views/deployment/otc/otc-faas.c4
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Preview Changes Locally
|
### 2. Preview Changes Locally
|
||||||
|
|
@ -143,7 +145,7 @@ vi resources/likec4/views/deployment/otc/otc-faas.c4
|
||||||
Use the LikeC4 CLI to preview:
|
Use the LikeC4 CLI to preview:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
|
|
||||||
# Start preview server
|
# Start preview server
|
||||||
npx likec4 start
|
npx likec4 start
|
||||||
|
|
@ -156,7 +158,7 @@ npx likec4 start
|
||||||
After making changes:
|
After making changes:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
npx likec4 codegen webcomponent \
|
npx likec4 codegen webcomponent \
|
||||||
--webcomponent-prefix likec4 \
|
--webcomponent-prefix likec4 \
|
||||||
--outfile ../../static/js/likec4-webcomponent.js
|
--outfile ../../static/js/likec4-webcomponent.js
|
||||||
|
|
@ -178,7 +180,7 @@ hugo server -D
|
||||||
Commit both the model files and the regenerated web component:
|
Commit both the model files and the regenerated web component:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git add resources/likec4/
|
git add resources/edp-likec4/
|
||||||
git add static/js/likec4-webcomponent.js
|
git add static/js/likec4-webcomponent.js
|
||||||
git commit -m "feat: update architecture diagrams"
|
git commit -m "feat: update architecture diagrams"
|
||||||
```
|
```
|
||||||
|
|
@ -242,12 +244,15 @@ Then update `layouts/partials/hooks/head-end.html`:
|
||||||
|
|
||||||
1. **Check browser console** (F12 → Console)
|
1. **Check browser console** (F12 → Console)
|
||||||
2. **Verify webcomponent exists:**
|
2. **Verify webcomponent exists:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ls -lh static/js/likec4-webcomponent.js
|
ls -lh static/js/likec4-webcomponent.js
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **Regenerate if missing:**
|
3. **Regenerate if missing:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
npm install
|
npm install
|
||||||
npx likec4 codegen webcomponent \
|
npx likec4 codegen webcomponent \
|
||||||
--webcomponent-prefix likec4 \
|
--webcomponent-prefix likec4 \
|
||||||
|
|
@ -258,8 +263,9 @@ Then update `layouts/partials/hooks/head-end.html`:
|
||||||
|
|
||||||
- Check view ID matches exactly (case-sensitive)
|
- Check view ID matches exactly (case-sensitive)
|
||||||
- Search for the view in `.c4` files:
|
- Search for the view in `.c4` files:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
grep -r "view otc-faas" resources/likec4/
|
grep -r "view otc-faas" resources/edp-likec4/
|
||||||
```
|
```
|
||||||
|
|
||||||
### Styling Issues
|
### Styling Issues
|
||||||
|
|
@ -272,7 +278,7 @@ Then update `layouts/partials/hooks/head-end.html`:
|
||||||
If LikeC4 codegen fails:
|
If LikeC4 codegen fails:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd resources/likec4
|
cd resources/edp-likec4
|
||||||
rm -rf node_modules package-lock.json
|
rm -rf node_modules package-lock.json
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
<!-- LikeC4 Interactive Architecture Diagrams -->
|
<!-- LikeC4 Interactive Architecture Diagrams -->
|
||||||
<link rel="stylesheet" href="{{ "css/likec4-styles.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "css/likec4-styles.css" | relURL }}">
|
||||||
<script src="{{ "js/likec4-loader.js" | relURL }}"></script>
|
<script src="{{ "js/likec4-loader.js" | relURL }}"></script>
|
||||||
|
<script type="module" src="{{ "js/likec4-webcomponent.js" | relURL }}"></script>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<!-- Version Info Styles & Script -->
|
<!-- Version Info Styles & Script -->
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
# LikeC4 architecture documentation
|
# LikeC4 Architecture Documentation - EDP Platform
|
||||||
|
|
||||||
|
This folder contains LikeC4 architecture models for the **Enterprise Developer Platform (EDP)**.
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
These models document the platform architecture, not the documentation system itself.
|
||||||
|
(For documentation platform architecture, see `resources/doc-likec4/`)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
Run `npx likec4 start` to start dev server
|
Run `npx likec4 start` to start dev server
|
||||||
|
|
||||||
|
|
@ -69,4 +69,18 @@ deployment {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
cloud edge 'Edge Cloud' {
|
||||||
|
description 'Edge environments for distributed workloads.'
|
||||||
|
technology 'Edge'
|
||||||
|
|
||||||
|
environment edge-dev 'Edge Dev' {
|
||||||
|
description 'Edge development environment'
|
||||||
|
technology 'Edge'
|
||||||
|
}
|
||||||
|
|
||||||
|
environment edge-prod 'Edge Prod' {
|
||||||
|
description 'Edge production environment'
|
||||||
|
technology 'Edge'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 467 KiB After Width: | Height: | Size: 467 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 240 KiB |
|
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 265 KiB |
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 374 KiB After Width: | Height: | Size: 374 KiB |
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB |
|
Before Width: | Height: | Size: 475 KiB After Width: | Height: | Size: 475 KiB |
|
|
@ -0,0 +1,336 @@
|
||||||
|
// Documentation Platform Architecture Model
|
||||||
|
// This model describes the Hugo-based documentation platform
|
||||||
|
|
||||||
|
model {
|
||||||
|
|
||||||
|
// === Personas ===
|
||||||
|
documentor = person 'Documentor' {
|
||||||
|
description 'Content creator and maintainer of the developer platform documentation'
|
||||||
|
technology 'Hugo, Markdown, LikeC4'
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Documentation Platform System ===
|
||||||
|
docPlatform = system 'Documentation Platform' {
|
||||||
|
description 'Hugo-based documentation system with integrated architecture visualization'
|
||||||
|
|
||||||
|
// Core Components
|
||||||
|
hugoSite = component 'Hugo Site' {
|
||||||
|
description 'Static site generator based on Hugo with Docsy theme'
|
||||||
|
technology 'Hugo Extended, Docsy'
|
||||||
|
}
|
||||||
|
|
||||||
|
contentRepo = repository 'Content Repository' {
|
||||||
|
description 'Markdown files, images, and configuration'
|
||||||
|
technology 'Git, Markdown'
|
||||||
|
|
||||||
|
contentPages = component 'Content Pages' {
|
||||||
|
description 'Documentation pages in Markdown format'
|
||||||
|
technology 'Markdown'
|
||||||
|
}
|
||||||
|
|
||||||
|
archModels = component 'Architecture Models' {
|
||||||
|
description 'LikeC4 architecture models and views'
|
||||||
|
technology 'LikeC4 DSL'
|
||||||
|
}
|
||||||
|
|
||||||
|
assets = component 'Static Assets' {
|
||||||
|
description 'CSS, JavaScript, images, fonts'
|
||||||
|
technology 'CSS, JavaScript'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
likec4Integration = component 'LikeC4 Integration' {
|
||||||
|
description 'Architecture diagram visualization embedded in documentation'
|
||||||
|
technology 'LikeC4, Web Components'
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build & Development Tools
|
||||||
|
taskfile = tool 'Taskfile' {
|
||||||
|
description 'Task automation for local development, build, and testing'
|
||||||
|
technology 'Task (go-task)'
|
||||||
|
}
|
||||||
|
|
||||||
|
devServer = process 'Development Server' {
|
||||||
|
description 'Local Hugo server with hot reload for content development'
|
||||||
|
technology 'Hugo Server'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// === CI/CD Pipeline ===
|
||||||
|
cicdPipeline = system 'CI/CD Pipeline' {
|
||||||
|
description 'Automated testing and deployment pipeline'
|
||||||
|
|
||||||
|
githubActions = process 'GitHub Actions' {
|
||||||
|
description 'Automated testing workflow on push/PR'
|
||||||
|
technology 'GitHub Actions'
|
||||||
|
|
||||||
|
testBuild = component 'Build Test' {
|
||||||
|
description 'Hugo build validation'
|
||||||
|
technology 'Hugo'
|
||||||
|
}
|
||||||
|
|
||||||
|
testMarkdown = component 'Markdown Lint' {
|
||||||
|
description 'Markdown syntax and style checking'
|
||||||
|
technology 'markdownlint'
|
||||||
|
}
|
||||||
|
|
||||||
|
testHtml = component 'HTML Validation' {
|
||||||
|
description 'Generated HTML validation'
|
||||||
|
technology 'htmlvalidate'
|
||||||
|
}
|
||||||
|
|
||||||
|
testLinks = component 'Link Checker' {
|
||||||
|
description 'Broken link detection'
|
||||||
|
technology 'htmltest'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
containerBuild = process 'Container Build' {
|
||||||
|
description 'OCI/Docker image creation with Hugo site'
|
||||||
|
technology 'Docker'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Deployment ===
|
||||||
|
deploymentEnv = system 'Deployment Environment' {
|
||||||
|
description 'Edge deployment infrastructure'
|
||||||
|
|
||||||
|
edgeConnect = system 'Edge Connect' {
|
||||||
|
description 'Edge deployment orchestration platform'
|
||||||
|
technology 'EdgeConnect'
|
||||||
|
}
|
||||||
|
|
||||||
|
k8sCluster = system 'Kubernetes Cluster' {
|
||||||
|
description 'K8s cluster on edge cloudlet (Munich)'
|
||||||
|
technology 'Kubernetes'
|
||||||
|
|
||||||
|
docService = component 'Documentation Service' {
|
||||||
|
description 'LoadBalancer service exposing docs on port 80'
|
||||||
|
technology 'K8s Service'
|
||||||
|
}
|
||||||
|
|
||||||
|
docDeployment = component 'Documentation Deployment' {
|
||||||
|
description 'Pod running Hugo-generated static site'
|
||||||
|
technology 'K8s Deployment, Nginx'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Relationships: Documentor Workflow ===
|
||||||
|
documentor -> contentRepo.contentPages 'writes documentation' {
|
||||||
|
description 'Creates and updates Markdown content'
|
||||||
|
}
|
||||||
|
|
||||||
|
documentor -> contentRepo.archModels 'creates architecture models' {
|
||||||
|
description 'Defines C4 models with LikeC4 DSL'
|
||||||
|
}
|
||||||
|
|
||||||
|
documentor -> taskfile 'executes local tasks' {
|
||||||
|
description 'task serve, task build, task test'
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Relationships: Local Development ===
|
||||||
|
taskfile -> devServer 'starts' {
|
||||||
|
description 'task serve'
|
||||||
|
}
|
||||||
|
|
||||||
|
devServer -> hugoSite 'renders' {
|
||||||
|
description 'Live reload on content changes'
|
||||||
|
}
|
||||||
|
|
||||||
|
hugoSite -> contentRepo 'reads content from' {
|
||||||
|
description 'Processes Markdown and templates'
|
||||||
|
}
|
||||||
|
|
||||||
|
hugoSite -> likec4Integration 'integrates' {
|
||||||
|
description 'Embeds architecture diagrams'
|
||||||
|
}
|
||||||
|
|
||||||
|
likec4Integration -> contentRepo.archModels 'visualizes' {
|
||||||
|
description 'Renders C4 models as interactive diagrams'
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Relationships: Testing ===
|
||||||
|
taskfile -> githubActions.testBuild 'can run locally' {
|
||||||
|
description 'task test:build'
|
||||||
|
}
|
||||||
|
|
||||||
|
taskfile -> githubActions.testMarkdown 'can run locally' {
|
||||||
|
description 'task test:markdown'
|
||||||
|
}
|
||||||
|
|
||||||
|
taskfile -> githubActions.testHtml 'can run locally' {
|
||||||
|
description 'task test:html'
|
||||||
|
}
|
||||||
|
|
||||||
|
taskfile -> githubActions.testLinks 'can run locally' {
|
||||||
|
description 'task test:links'
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Relationships: CI/CD ===
|
||||||
|
contentRepo -> githubActions 'triggers on push/PR' {
|
||||||
|
description 'Webhook on main branch'
|
||||||
|
}
|
||||||
|
|
||||||
|
githubActions.testBuild -> hugoSite 'builds' {
|
||||||
|
description 'hugo --gc --minify'
|
||||||
|
}
|
||||||
|
|
||||||
|
githubActions.testMarkdown -> contentRepo.contentPages 'validates' {
|
||||||
|
description 'Lints Markdown files'
|
||||||
|
}
|
||||||
|
|
||||||
|
githubActions.testHtml -> hugoSite 'validates output' {
|
||||||
|
description 'Checks generated HTML'
|
||||||
|
}
|
||||||
|
|
||||||
|
githubActions.testLinks -> hugoSite 'checks links in' {
|
||||||
|
description 'Detects broken links'
|
||||||
|
}
|
||||||
|
|
||||||
|
githubActions -> containerBuild 'triggers on success' {
|
||||||
|
description 'Builds Docker image with Hugo output'
|
||||||
|
}
|
||||||
|
|
||||||
|
containerBuild -> hugoSite 'packages' {
|
||||||
|
description 'public/ directory served by Nginx'
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Relationships: Deployment ===
|
||||||
|
containerBuild -> deploymentEnv.edgeConnect 'pushes image to' {
|
||||||
|
description 'Tagged container image'
|
||||||
|
}
|
||||||
|
|
||||||
|
deploymentEnv.edgeConnect -> deploymentEnv.k8sCluster 'deploys to' {
|
||||||
|
description 'Via edgeconnectdeployment.yaml'
|
||||||
|
}
|
||||||
|
|
||||||
|
deploymentEnv.k8sCluster.docDeployment -> deploymentEnv.k8sCluster.docService 'exposed by' {
|
||||||
|
description 'Port 80'
|
||||||
|
}
|
||||||
|
|
||||||
|
documentor -> deploymentEnv.k8sCluster.docService 'views published docs' {
|
||||||
|
description 'HTTPS access to live documentation'
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// === Views ===
|
||||||
|
|
||||||
|
views {
|
||||||
|
|
||||||
|
view overview of docPlatform {
|
||||||
|
title 'Documentation Platform Overview'
|
||||||
|
description 'High-level overview of the Hugo-based documentation platform for documentors'
|
||||||
|
|
||||||
|
include *
|
||||||
|
|
||||||
|
style documentor {
|
||||||
|
color green
|
||||||
|
}
|
||||||
|
style docPlatform {
|
||||||
|
color blue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
view localDevelopment of docPlatform {
|
||||||
|
title 'Local Development Workflow'
|
||||||
|
description 'How a documentor works locally with the documentation'
|
||||||
|
|
||||||
|
include documentor
|
||||||
|
include docPlatform
|
||||||
|
include docPlatform.contentRepo -> *
|
||||||
|
include docPlatform.hugoSite
|
||||||
|
include docPlatform.likec4Integration
|
||||||
|
include docPlatform.taskfile
|
||||||
|
include docPlatform.devServer
|
||||||
|
|
||||||
|
style documentor {
|
||||||
|
color green
|
||||||
|
}
|
||||||
|
style docPlatform.taskfile {
|
||||||
|
color amber
|
||||||
|
}
|
||||||
|
style docPlatform.devServer {
|
||||||
|
color amber
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
view cicdPipeline of cicdPipeline {
|
||||||
|
title 'CI/CD Pipeline'
|
||||||
|
description 'Automated testing and container build process'
|
||||||
|
|
||||||
|
include cicdPipeline
|
||||||
|
include cicdPipeline.githubActions -> *
|
||||||
|
include cicdPipeline.containerBuild
|
||||||
|
include docPlatform.contentRepo
|
||||||
|
include docPlatform.hugoSite
|
||||||
|
|
||||||
|
style cicdPipeline.githubActions {
|
||||||
|
color blue
|
||||||
|
}
|
||||||
|
style cicdPipeline.containerBuild {
|
||||||
|
color indigo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
view deploymentFlow {
|
||||||
|
title 'Deployment to Edge Environment'
|
||||||
|
description 'How the documentation is deployed to the edge infrastructure'
|
||||||
|
|
||||||
|
include cicdPipeline.containerBuild
|
||||||
|
include deploymentEnv
|
||||||
|
include deploymentEnv.edgeConnect
|
||||||
|
include deploymentEnv.k8sCluster -> *
|
||||||
|
include documentor
|
||||||
|
|
||||||
|
style deploymentEnv {
|
||||||
|
color muted
|
||||||
|
}
|
||||||
|
style deploymentEnv.k8sCluster {
|
||||||
|
color secondary
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
view fullWorkflow {
|
||||||
|
title 'Complete Documentor Workflow'
|
||||||
|
description 'End-to-end view from content creation to published documentation'
|
||||||
|
|
||||||
|
include documentor
|
||||||
|
include docPlatform.contentRepo
|
||||||
|
include docPlatform.taskfile
|
||||||
|
include cicdPipeline.githubActions
|
||||||
|
include cicdPipeline.containerBuild
|
||||||
|
include deploymentEnv.edgeConnect
|
||||||
|
include deploymentEnv.k8sCluster
|
||||||
|
|
||||||
|
style documentor {
|
||||||
|
color green
|
||||||
|
}
|
||||||
|
style docPlatform.taskfile {
|
||||||
|
color amber
|
||||||
|
}
|
||||||
|
style cicdPipeline.githubActions {
|
||||||
|
color blue
|
||||||
|
}
|
||||||
|
style deploymentEnv.k8sCluster {
|
||||||
|
color secondary
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
view testingCapabilities of cicdPipeline.githubActions {
|
||||||
|
title 'Testing Capabilities'
|
||||||
|
description 'All automated tests that ensure documentation quality'
|
||||||
|
|
||||||
|
include *
|
||||||
|
include docPlatform.hugoSite
|
||||||
|
include docPlatform.contentRepo.contentPages
|
||||||
|
include docPlatform.taskfile
|
||||||
|
|
||||||
|
style cicdPipeline.githubActions {
|
||||||
|
color blue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -5,6 +5,12 @@ specification {
|
||||||
color green
|
color green
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
element person {
|
||||||
|
style {
|
||||||
|
shape person
|
||||||
|
color green
|
||||||
|
}
|
||||||
|
}
|
||||||
element component
|
element component
|
||||||
element container {
|
element container {
|
||||||
style {
|
style {
|
||||||
|
|
@ -22,6 +28,13 @@ specification {
|
||||||
element step
|
element step
|
||||||
element system
|
element system
|
||||||
element workflow
|
element workflow
|
||||||
|
element tool
|
||||||
|
element process
|
||||||
|
element repository {
|
||||||
|
style {
|
||||||
|
shape storage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
deploymentNode cloud
|
deploymentNode cloud
|
||||||
deploymentNode environment
|
deploymentNode environment
|
||||||
1
static/TeleNeoOffice-Bold.a7bb592b.ttf
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
fonts/TeleNeoOffice-Bold.a7bb592b.ttf
|
||||||
1
static/TeleNeoOffice-ExtraBold.fbe9fe42.ttf
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
fonts/TeleNeoOffice-ExtraBold.fbe9fe42.ttf
|
||||||
1
static/TeleNeoOffice-Medium.79fb426d.ttf
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
fonts/TeleNeoOffice-Medium.79fb426d.ttf
|
||||||
1
static/TeleNeoOffice-Regular.b0a2cff1.ttf
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
fonts/TeleNeoOffice-Regular.b0a2cff1.ttf
|
||||||
1
static/TeleNeoOffice-Thin.53627df9.ttf
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
fonts/TeleNeoOffice-Thin.53627df9.ttf
|
||||||