Add tiered managed pricing to Magistrala product page - #171
Merged
Conversation
Replace the two-tier (Community / Enterprise) pricing block with five managed tiers — Starter, Growth, Business, Enterprise, Dedicated — each showing capacity, price, and cumulative features. Add a monthly/annual billing toggle (annual ~10% cheaper) driven by a small progressive- enhancement script, and keep an open-source self-host note.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
absmach-website | 451847e | Commit Preview URL Branch Preview URL |
Jul 10 2026, 03:46 PM |
Add a Custom / bring-your-own-cloud banner below the tier grid covering own-cloud/on-prem deployment, custom SLA, HA clustering, dedicated infrastructure, and priority support. Add a pricing-focused FAQ (managed scope, device counting, limits, plan changes, billing, custom SLA, self-hosting) rendered with the existing FAQAccordion.
Rework tiers to Starter, Prototype, Business, Enterprise, Custom with updated prices (50/200/500/1000 EUR/mo). Add a 'Good for' line per tier, move the capacity summary and data-transfer limit into each Included list, and turn the standalone Custom banner into a fifth Contact-priced card. Drop internal cost columns.
Add FAQ entries clarifying that every plan is a dedicated instance and explaining what the '~N devices · M messages / month' figures mean, including why messages/second is not used as a metric. Extend FAQAccordion with an optional numbered points list for the latter.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 08:58
632168d to
2214555
Compare
Reorder each card to name -> price -> description -> included, wrap the price and billing note in a fixed-height block, and give the description a min-height so the four bands line up horizontally across all tiers regardless of copy length.
Clarify that Magistrala core and the Community Edition are free to self-host, while the Enterprise Edition (rules engine, alarms, reports, audit logs, dashboards) is not.
Extract the pricing block into a reusable Pricing component and mount it on a new /pricing page (with its own hero) as well as the Magistrala product page. Point the header CTA to Pricing instead of Contact us. Refresh the product-page FAQ: correct the self-hosting answer for the Community/Enterprise edition split, replace the stale free-tier message -limit entry with a pricing overview, and add pricing links via a new optional link field on FAQAccordion.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 10:00
0daef74 to
5580f62
Compare
Replace the single tier grid with a tabbed layout: - Community: free, open-source Community Edition card with install links. - Private Cloud: the existing managed dedicated tiers with a monthly/ annual toggle. - Self-managed: Magistrala Enterprise Edition run in your own environment — a license-only option (EUR 300/cluster/month or EUR 3,999 perpetual, toggled monthly/perpetual) and a managed-by-us option (contact). Generalise the billing toggle to be panel-scoped and data-driven so both the annual and perpetual toggles share one handler, and update the pricing FAQ and page hero for the three operating models.
- Rewrite the Community Edition card in our own words (free forever, full control, open source, no lock-in) instead of the reference wording. - Self-managed License-only: drop bundled support (support is purchased separately) and state there are no limits on devices, messages, or features. - Private Cloud: mark data-transfer limits with an asterisk and note that extra transfer is billed at EUR 20 per additional TB per month.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 11:07
8fb6319 to
f256c73
Compare
Remove the Starter tier and fold its inclusions into Prototype, now the entry plan at EUR 150/mo (EUR 1,620/yr), ~200 devices and 1M messages, covering commercial UI, UI/backend patches, security updates and fixes, community support, dashboards, and audit logs. Reflow the tier grid to four columns and update the pricing FAQ example and stale Starter references in the page description and product-page FAQ.
Rewrite the Community / Private Cloud / Self-managed comparison as a bulleted list with bold labels, fix the 'In includes' typo, and tighten the wording. Add an optional bullets field (label + text) to FAQAccordion to support this.
The Community Edition backend is open source under Apache 2.0, but the UI is not open source — it is free to use and deploy as a Docker container. Update the Community card copy and features, the models FAQ bullet, and the self-hosting FAQ answers accordingly.
Show disk storage for messages above the data-transfer line on each Private Cloud tier: 80 GB (Prototype), 180 GB (Business), 300 GB (Enterprise). Also drop an unsupported strokeWidth prop on the Community card icon to clear a type-check error.
- Add a Community vs Enterprise Edition comparison table, with EE split into its Business and Enterprise service levels. - Add a 'Features, not fences' emphasis band: no artificial caps, only soft hardware-bound limits, and every deployment a dedicated instance. - Rewrite the custom-SLA FAQ to make clear a formal uptime SLA and HA clustering are Custom-plan (and 'Managed by us') only, and clean up the awkward self-managed wording in the deploy FAQ.
Drop the SLA/HA row from the table (kept in the FAQ and as a footnote), and switch the columns from the two EE levels to Community plus every Private Cloud tier (Prototype, Business, Enterprise, Custom). Add a Capacity group with devices, messages, message storage, and data transfer per tier; self-hosted Community shows 'Your hardware'.
- Turn the UI row into a 'Commercial UI with whitelabeling' checkbox row. - Prefix message capacities with ~ and use 'Higher priority' support. - Add an asterisk on the unlimited-resources row with a footnote making clear limits are purely hardware- and setup-related, never artificial caps. Keep the comparison table capacities in sync with the tier cards.
Drop the explanatory subtitle under the 'Community vs Private Cloud plans' heading.
Emphasize that deployments aren't locked or tracked via license keys, so data stays in the chosen deployment, and that the anonymous deployment statistics we collect can be turned off.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 14:06
a3e4557 to
063fb51
Compare
… separators - Replace 'non-critical message loss' with 'best-effort delivery'. - Rewrite the plan-change FAQ: upgrades anytime, downgrades need a migration so contact us. - Format prices with thousands separators (e.g. EUR 1,000, EUR 3,999) via a shared en-US formatter, applied to both the rendered amounts and the toggle data attributes.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 14:50
3a298bb to
d2f6b9f
Compare
Give the Community tab the same intro treatment as Private Cloud and Self-managed.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 15:01
d2f6b9f to
2cb351d
Compare
Make the license updates line toggle-aware: monthly shows 'Priority security patches & updates', while perpetual shows '... for the purchased version', since a one-time license does not include indefinite updates. Extend the term toggle to swap .mg-term text.
Explain that a monthly license stays on the latest release while paying, and a perpetual license covers the purchased version indefinitely with patches and minor updates, but not future major releases.
Replace 'keep paying' with 'your subscription is active'.
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 9, 2026 17:32
b329852 to
8f0d06f
Compare
Signed-off-by: dusan <borovcanindusan1@gmail.com>
Signed-off-by: dusan <borovcanindusan1@gmail.com>
dborovcanin
force-pushed
the
magistrala-pricing-tiers
branch
from
July 10, 2026 12:03
12f4d6c to
c1509e4
Compare
Signed-off-by: dusan <borovcanindusan1@gmail.com>
Signed-off-by: dusan <borovcanindusan1@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a full pricing experience to the Abstract Machines site: a reusable, tabbed pricing block, a dedicated /pricing page, a matching header CTA, and an aligned pricing FAQ.
Pricing is split into three operating models (tabs): Community, Private Cloud, Self-managed.
Tabs
Community — free, open-source Community Edition card ("Your free ticket to IoT"): unlimited devices/assets, unlimited updates, ability to contribute, community support. Install + Documentation links.
Private Cloud — fully managed, dedicated instances with a monthly/annual toggle (annual ~10% off):
Self-managed — Magistrala Enterprise Edition in your own environment, with a monthly/perpetual toggle:
Details
Pricing.astrocomponent (single source of truth) — mounted on/products/magistralaand the new/pricingpage (showHeadprop suppresses its section header where the page supplies its own hero)./pricing(desktop + mobile). Contact remains in the footer and hero./pricinglinks via a new optionallinkfield onFAQAccordion.Testing
astro buildpasses (Complete!, exit 0);/pricingand/products/magistralagenerated,/pricingin the sitemap.€null/€undefinedleaks.