-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodules.toml
More file actions
95 lines (87 loc) · 8.5 KB
/
Copy pathmodules.toml
File metadata and controls
95 lines (87 loc) · 8.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# RusToK Module Manifest
# This file defines the module composition for the selected build.
# Changing composition requires rebuilding the platform.
schema = 2
app = "rustok-server"
# ───────────────────────────────────────────────
# Build: target profile and host embedding
# ───────────────────────────────────────────────
[build]
target = "x86_64-unknown-linux-gnu"
profile = "release"
[build.server]
embed_admin = true # Embed the Leptos admin in the server binary
embed_storefront = true # Embed the Leptos storefront in the server binary
[build.admin]
stack = "leptos" # "leptos" | "next"
public_url = "http://localhost:3001"
redirect_uris = ["http://localhost:3001/auth/callback"]
[[build.storefront]]
id = "default"
stack = "leptos" # "leptos" | "next"
public_url = "http://localhost:3000"
redirect_uris = ["http://localhost:3000/auth/callback"]
# ───────────────────────────────────────────────
# Modules: selected platform composition
# ───────────────────────────────────────────────
[modules]
# Core modules (required and always active)
modules = { crate = "rustok-modules", source = "path", path = "crates/modules/rustok-modules", required = true }
auth = { crate = "rustok-auth", source = "path", path = "crates/modules/rustok-auth", required = true }
cache = { crate = "rustok-cache", source = "path", path = "crates/modules/rustok-cache", required = true }
channel = { crate = "rustok-channel", source = "path", path = "crates/modules/rustok-channel", required = true }
email = { crate = "rustok-email", source = "path", path = "crates/modules/rustok-email", required = true }
index = { crate = "rustok-index", source = "path", path = "crates/modules/rustok-index", required = true }
search = { crate = "rustok-search", source = "path", path = "crates/modules/rustok-search", required = true }
outbox = { crate = "rustok-outbox", source = "path", path = "crates/modules/rustok-outbox", required = true }
events = { crate = "rustok-events-module", source = "path", path = "crates/modules/rustok-events-module", required = true, depends_on = ["outbox"] }
tenant = { crate = "rustok-tenant", source = "path", path = "crates/modules/rustok-tenant", required = true }
rbac = { crate = "rustok-rbac", source = "path", path = "crates/modules/rustok-rbac", required = true, depends_on = ["outbox"] }
# Domain modules (optional)
content = { crate = "rustok-content", source = "path", path = "crates/modules/rustok-content" }
cart = { crate = "rustok-cart", source = "path", path = "crates/modules/rustok-cart" }
customer = { crate = "rustok-customer", source = "path", path = "crates/modules/rustok-customer" }
product = { crate = "rustok-product", source = "path", path = "crates/modules/rustok-product", depends_on = ["taxonomy"] }
product_relations = { crate = "rustok-product-relations", source = "path", path = "crates/modules/rustok-product-relations", depends_on = ["product"] }
brand = { crate = "rustok-brand", source = "path", path = "crates/modules/rustok-brand", depends_on = ["product"] }
product_bundles = { crate = "rustok-product-bundles", source = "path", path = "crates/modules/rustok-product-bundles", depends_on = ["product"] }
profiles = { crate = "rustok-profiles", source = "path", path = "crates/modules/rustok-profiles", depends_on = ["media", "social_graph", "taxonomy"] }
social_graph = { crate = "rustok-social-graph", source = "path", path = "crates/modules/rustok-social-graph", depends_on = ["index", "outbox"] }
reactions = { crate = "rustok-reactions", source = "path", path = "crates/modules/rustok-reactions", depends_on = ["outbox"] }
groups = { crate = "rustok-groups", source = "path", path = "crates/modules/rustok-groups" }
region = { crate = "rustok-region", source = "path", path = "crates/modules/rustok-region" }
pricing = { crate = "rustok-pricing", source = "path", path = "crates/modules/rustok-pricing", depends_on = ["product"] }
inventory = { crate = "rustok-inventory", source = "path", path = "crates/modules/rustok-inventory", depends_on = ["product"] }
order = { crate = "rustok-order", source = "path", path = "crates/modules/rustok-order" }
payment = { crate = "rustok-payment", source = "path", path = "crates/modules/rustok-payment" }
fulfillment = { crate = "rustok-fulfillment", source = "path", path = "crates/modules/rustok-fulfillment" }
commerce = { crate = "rustok-commerce", source = "path", path = "crates/modules/rustok-commerce", depends_on = ["tenant", "cart", "customer", "product", "region", "pricing", "inventory", "order", "payment", "fulfillment"] }
marketplace_seller = { crate = "rustok-marketplace-seller", source = "path", path = "crates/modules/rustok-marketplace-seller" }
marketplace_listing = { crate = "rustok-marketplace-listing", source = "path", path = "crates/modules/rustok-marketplace-listing", depends_on = ["marketplace_seller", "product"] }
marketplace_allocation = { crate = "rustok-marketplace-allocation", source = "path", path = "crates/modules/rustok-marketplace-allocation", depends_on = ["order", "marketplace_seller", "marketplace_listing"] }
marketplace_commission = { crate = "rustok-marketplace-commission", source = "path", path = "crates/modules/rustok-marketplace-commission", depends_on = ["marketplace_allocation"] }
marketplace_ledger = { crate = "rustok-marketplace-ledger", source = "path", path = "crates/modules/rustok-marketplace-ledger", depends_on = ["marketplace_commission"] }
marketplace_payout = { crate = "rustok-marketplace-payout", source = "path", path = "crates/modules/rustok-marketplace-payout", depends_on = ["marketplace_ledger"] }
marketplace = { crate = "rustok-marketplace", source = "path", path = "crates/modules/rustok-marketplace", depends_on = ["marketplace_seller", "marketplace_listing", "marketplace_allocation", "marketplace_commission", "marketplace_ledger", "marketplace_payout"] }
moderation = { crate = "rustok-moderation", source = "path", path = "crates/modules/rustok-moderation" }
blog = { crate = "rustok-blog", source = "path", path = "crates/modules/rustok-blog", depends_on = ["content", "outbox", "taxonomy", "channel"] }
forum = { crate = "rustok-forum", source = "path", path = "crates/modules/rustok-forum", depends_on = ["content", "taxonomy", "tenant"] }
notifications = { crate = "rustok-notifications", source = "path", path = "crates/modules/rustok-notifications", depends_on = ["outbox"] }
comments = { crate = "rustok-comments", source = "path", path = "crates/modules/rustok-comments" }
pages = { crate = "rustok-pages", source = "path", path = "crates/modules/rustok-pages", depends_on = ["content", "outbox", "page_builder"] }
navigation = { crate = "rustok-navigation", source = "path", path = "crates/modules/rustok-navigation", depends_on = ["channel", "outbox"] }
page_builder = { crate = "rustok-page-builder", source = "path", path = "crates/modules/rustok-page-builder" }
taxonomy = { crate = "rustok-taxonomy", source = "path", path = "crates/modules/rustok-taxonomy", depends_on = ["content", "outbox"] }
media = { crate = "rustok-media", source = "path", path = "crates/modules/rustok-media", depends_on = ["outbox"] }
translation = { crate = "rustok-translation", source = "path", path = "crates/modules/rustok-translation" }
seo = { crate = "rustok-seo", source = "path", path = "crates/modules/rustok-seo", depends_on = ["content"] }
workflow = { crate = "rustok-workflow", source = "path", path = "crates/modules/rustok-workflow" }
alloy = { crate = "alloy", source = "path", path = "crates/modules/alloy" }
flex = { crate = "flex", source = "path", path = "crates/modules/flex" }
# Capability extensions are deployment-scoped `RusToKModule` entries. They are
# globally active when compiled and never tenant-toggled; the generic
# runtime-extension host seam composes their handles and workers.
ai = { crate = "rustok-ai", source = "path", path = "crates/modules/rustok-ai", runtime = "extension" }
iggy_connector = { crate = "rustok-iggy-connector", source = "path", path = "crates/modules/rustok-iggy-connector", runtime = "extension" }
[settings]
default_enabled = ["content", "cart", "customer", "product", "product_relations", "brand", "product_bundles", "taxonomy", "region", "pricing", "inventory", "order", "payment", "fulfillment", "commerce", "pages", "navigation", "page_builder"]