Skip to content

Add per-store manifests, multi-store provisioning, and dashboard - #8

Merged
Deep-Axe merged 4 commits into
mainfrom
feat/multi-store
Oct 26, 2026
Merged

Deep-Axe merged 4 commits into
mainfrom
feat/multi-store

Conversation

@Deep-Axe

Copy link
Copy Markdown
Owner

This pull request introduces multi-store provisioning to the StoreLink platform, enabling users and teams to create, manage, and delete multiple independent WooCommerce stores directly from the dashboard. The changes span the frontend, documentation, CI/CD, and Kubernetes Helm charts, ensuring the feature is robust, secure, and well-documented.

Multi-store provisioning and dashboard integration:

  • Added a new Stores tab to the dashboard, allowing users to create, retry, and delete stores, view per-user and per-team limits, and monitor store status with real-time updates. Includes UI for store creation, deletion confirmation, and error handling. (apps/dashboard/src/main.tsx, apps/dashboard/src/stores.tsx, apps/dashboard/src/style.css) [1] [2] [3] [4] [5] [6] [7]

  • Updated the dashboard and documentation to reflect the new multi-store capabilities, including navigation, feature lists, usage guides, and verification steps. (README.md) [1] [2] [3] [4] [5]

Kubernetes and Helm chart enhancements:

  • Updated Helm templates to pass multi-store configuration as environment variables, and expanded network policies to support provisioned store MCP servers and the provisioner component. (charts/storelink/templates/apps.yaml, charts/storelink/templates/network-policies.yaml) [1] [2] [3]

Testing and CI/CD improvements:

  • Enhanced CI workflow to test multi-store Helm templates and validate error conditions for store configuration, ensuring that misconfigured HTTPS stores without certificates fail as expected. (.github/workflows/ci.yaml)

store-manifests renders everything one store needs in its own namespace:
quota and limit range, default-deny policies that admit only the gateway
to the store's MCP server, MariaDB, WordPress with its Ingress, the
bootstrap Job named by its spec, and the Woo MCP server. One function
derives every host, URL and MCP origin from the slug. StoreCluster applies
objects with server-side apply and refuses any namespace outside
storelink-store-*, and deletes only namespaces labelled as managed. The
upstream policy can approve exactly the provisioned store MCP origin
form. The ServiceAccount HTTPS code is shared with the credential store.
@Deep-Axe
Deep-Axe merged commit 625cd71 into main Oct 26, 2026
3 checks passed
@Deep-Axe
Deep-Axe deleted the feat/multi-store branch October 26, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant