mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-08 05:56:38 +00:00
85 lines
2.6 KiB
TypeScript
85 lines
2.6 KiB
TypeScript
import { FeatureId } from "./features";
|
|
|
|
export type LimitSet = Partial<{
|
|
[key in FeatureId]: {
|
|
value: number | null; // null indicates no limit
|
|
description?: string;
|
|
};
|
|
}>;
|
|
|
|
export const sandboxLimitSet: LimitSet = {
|
|
[FeatureId.SITES]: { value: 1, description: "Sandbox limit" }, // 1 site up for 2 days
|
|
[FeatureId.USERS]: { value: 1, description: "Sandbox limit" },
|
|
[FeatureId.EGRESS_DATA_MB]: { value: 1000, description: "Sandbox limit" }, // 1 GB
|
|
[FeatureId.DOMAINS]: { value: 0, description: "Sandbox limit" },
|
|
[FeatureId.REMOTE_EXIT_NODES]: { value: 0, description: "Sandbox limit" }
|
|
};
|
|
|
|
export const freeLimitSet: LimitSet = {
|
|
[FeatureId.SITES]: { value: 3, description: "Free tier limit" }, // 1 site up for 32 days
|
|
[FeatureId.USERS]: { value: 3, description: "Free tier limit" },
|
|
[FeatureId.EGRESS_DATA_MB]: {
|
|
value: 25000,
|
|
description: "Free tier limit"
|
|
}, // 25 GB
|
|
[FeatureId.DOMAINS]: { value: 3, description: "Free tier limit" },
|
|
[FeatureId.REMOTE_EXIT_NODES]: { value: 1, description: "Free tier limit" }
|
|
};
|
|
|
|
export const homeLabLimitSet: LimitSet = {
|
|
[FeatureId.SITES]: { value: 3, description: "Home lab limit" }, // 1 site up for 32 days
|
|
[FeatureId.USERS]: { value: 3, description: "Home lab limit" },
|
|
[FeatureId.EGRESS_DATA_MB]: {
|
|
value: 25000,
|
|
description: "Home lab limit"
|
|
}, // 25 GB
|
|
[FeatureId.DOMAINS]: { value: 3, description: "Home lab limit" },
|
|
[FeatureId.REMOTE_EXIT_NODES]: { value: 1, description: "Home lab limit" }
|
|
};
|
|
|
|
export const starterLimitSet: LimitSet = {
|
|
[FeatureId.SITES]: {
|
|
value: 10,
|
|
description: "Starter limit"
|
|
}, // 50 sites up for 31 days
|
|
[FeatureId.USERS]: {
|
|
value: 150,
|
|
description: "Starter limit"
|
|
},
|
|
[FeatureId.EGRESS_DATA_MB]: {
|
|
value: 12000000,
|
|
description: "Starter limit"
|
|
}, // 12000 GB
|
|
[FeatureId.DOMAINS]: {
|
|
value: 250,
|
|
description: "Starter limit"
|
|
},
|
|
[FeatureId.REMOTE_EXIT_NODES]: {
|
|
value: 5,
|
|
description: "Starter limit"
|
|
}
|
|
};
|
|
|
|
export const scaleLimitSet: LimitSet = {
|
|
[FeatureId.SITES]: {
|
|
value: 10,
|
|
description: "Scale limit"
|
|
}, // 50 sites up for 31 days
|
|
[FeatureId.USERS]: {
|
|
value: 150,
|
|
description: "Scale limit"
|
|
},
|
|
[FeatureId.EGRESS_DATA_MB]: {
|
|
value: 12000000,
|
|
description: "Scale limit"
|
|
}, // 12000 GB
|
|
[FeatureId.DOMAINS]: {
|
|
value: 250,
|
|
description: "Scale limit"
|
|
},
|
|
[FeatureId.REMOTE_EXIT_NODES]: {
|
|
value: 5,
|
|
description: "Scale limit"
|
|
}
|
|
};
|