Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions apps/api/migrations/009_v4_pricing_migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
-- Migration: v4.0 Pricing Plan Names
-- Date: 2026-01-16
-- Description: Updates existing plan names to v4.0 naming convention
--
-- Mapping:
-- free -> community
-- solo -> pro (merged with existing pro)
-- enterprise -> sovereign
--
-- Note: This is a data migration, not schema migration.
-- The code handles legacy names at runtime via normalizePlanName(),
-- but this ensures data consistency.

-- Update free -> community
UPDATE licenses SET plan = 'community' WHERE plan = 'free';

-- Update solo -> pro
UPDATE licenses SET plan = 'pro' WHERE plan = 'solo';

-- Update enterprise -> sovereign
UPDATE licenses SET plan = 'sovereign' WHERE plan = 'enterprise';

-- Verify counts (for manual inspection)
-- SELECT plan, COUNT(*) FROM licenses GROUP BY plan;
2 changes: 1 addition & 1 deletion apps/web/content/docs/cli-reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ replimap scan --profile prod --region us-east-1
| `--entry` | Start from entry point: `alb:my-alb` or `tag:App=MyApp` |
| `--tag` | Filter by tag: `Environment=Production` |
| `--cache` | Use cached results for incremental scans |
| `--trust-center` | Enable Trust Center auditing (Enterprise) |
| `--trust-center` | Enable Trust Center auditing (Sovereign) |

### Examples

Expand Down
4 changes: 2 additions & 2 deletions apps/web/src/app/dashboard/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ export default async function DashboardPage() {
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
<div className="p-6 rounded-lg border border-border bg-card">
<h3 className="font-semibold text-foreground mb-2">License</h3>
<p className="text-2xl font-bold text-emerald-400">Free Tier</p>
<p className="text-2xl font-bold text-emerald-400">Community</p>
<p className="text-sm text-muted-foreground mt-1">
3 scans remaining this month
Unlimited scans · JSON export
</p>
</div>

Expand Down
6 changes: 3 additions & 3 deletions apps/web/src/components/faq.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const faqs = [
{
question: "Can I use RepliMap in air-gapped environments?",
answer:
"Yes. Solo and Pro plans support offline license activation with machine ID binding. Enterprise customers get additional support for air-gapped deployments.",
"Yes. Pro and Team plans support offline license activation with machine ID binding. Sovereign customers get additional support for air-gapped deployments with signed audit reports.",
},
{
question: "What AWS services are supported?",
Expand All @@ -24,7 +24,7 @@ const faqs = [
{
question: "How does the Lifetime deal work?",
answer:
"Pay once, use forever. Lifetime licenses include all features of the selected tier (Solo or Pro) and all future updates. No recurring charges. Limited to the first 50 customers at Early Bird pricing.",
"Pay once, use forever. Lifetime licenses include all features of the selected tier (Pro or Team) and all future updates. No recurring charges. Limited availability at Early Bird pricing.",
},
{
question: "Can I upgrade or downgrade my plan?",
Expand All @@ -34,7 +34,7 @@ const faqs = [
{
question: "What if I need more than 10 AWS accounts?",
answer:
"Enterprise plans support unlimited AWS accounts. Contact our sales team for custom pricing based on your organization's needs.",
"Sovereign plans support unlimited AWS accounts. Contact our sales team for custom pricing based on your organization's needs.",
},
]

Expand Down
Loading