Skip to content

Commit 96b669e

Browse files
committed
Merge branch 'update/projects' of https://github.com/vr-varad/layer5 into update/projects
2 parents 7e6033f + b483671 commit 96b669e

30 files changed

Lines changed: 2134 additions & 272 deletions

File tree

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"@mui/icons-material": "^6.4.6",
4343
"@mui/material": "^5.15.11",
4444
"@react-icons/all-files": "^4.1.0",
45-
"@sistent/sistent": "^0.15.4",
45+
"@sistent/sistent": "^0.15.5",
4646
"@svgr/webpack": "^8.0.1",
4747
"@types/mui-datatables": "^4.3.12",
4848
"ajv": "^8.17.1",

src/assets/data/faq/index.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,9 @@ const data = {
229229
question: "What is the refund policy?",
230230
category: "Pricing",
231231
answer: [
232-
"Users can cancel or downgrade at anytime.",
233-
"Your next billing statement will be prorated based on your date of cancelation or downgrade.",
232+
"You can cancel at anytime.",
233+
"We totally get that plans can change, and we're here to make things as straight-forward as possible. At Layer5, we have a no-refund policy for all our subscription plans. That means once your payment goes through, it's non-refundable, even if you haven't used much of the time left in your billing cycle. This helps us keep delivering awesome access to our cloud native tools, collaborative features, performance testing, multi-cloud setups, and all the learning goodies in Layer5 Academy and Kanvas.",
234+
"If you're ready to cancel, no worries — just head to your account settings to cancel anytime. That'll stop any future renewals and charges, but you'll still enjoy full access until your current period ends. We're all about helping you explore first, so feel free to try our Free Forever plan to dip your toes in with things like built-in models, community support, and basic testing before going paid.",
234235
],
235236
},
236237
{
@@ -245,14 +246,14 @@ const data = {
245246
question: "What happens if I accidentally don't renew or forget to renew my subscription?",
246247
category: "Pricing",
247248
answer: [
248-
"Continuity of your infrastructure and applicaiton management is important to us as it is to you. Meshery will continue to operate under the Free tier features and usage limits. Your historical data will continue to be available to you. You can renew your subscription to have higher-level plan features reenabled at any time.",
249+
"Continuity of your infrastructure and application management is important to us as it is to you. Layer5 Cloud and Kanvas will continue to operate under the Free tier features and usage limits. Your historical data will continue to be available to you. You can renew your subscription to have higher-level plan features reenabled at any time.",
249250
],
250251
},
251252
{
252253
question: "Are there other pricing options?",
253254
category: "Pricing",
254255
answer: [
255-
"Annual and monthly plans are available. We can customize billing plans to meet your needs. For a detailed explanation of billing, please see our Billing FAQ.",
256+
"Annual and monthly plans are available. Some plans have add-ons available. We can customize billing plans to meet your needs. For a detailed explanation of billing, please see our Billing FAQ.",
256257
],
257258
},
258259
{
@@ -283,7 +284,9 @@ const data = {
283284
question: "When does the billing cycle start and stop?",
284285
category: "Billing",
285286
answer: [
286-
"The billing cycle begins the first of the month regardless of when you sign up. Your first month is prorated based on your actual sign-up date. Layer5 meters the count of elements under management on a daily basis. The billable count of elements under management is calculated at the end of the month using the maximum count (high water mark) of the lower 99 percent of usage for those days. Layer5 excludes the top 1% to reduce the impact of spikes in usage on your bill. The billable count of elements under management is based on the average number of elements for the month. See your Usage in Layer5 Cloud. Billing pages are only accessible to users with the Meshery Admin Role.",
287+
"The billing cycle begins the first day of the subscription period.",
288+
"Layer5 meters the count of active users and systems under management on a daily basis. The billable count of users and elements under management is calculated at the end of the month using the maximum count (high water mark) of the lower 99 percent of usage for those days.",
289+
"Layer5 excludes the top 1% to reduce the impact of spikes in usage on your bill. The billable count of active users and elements under management is based on the average number of elements for the month. See your Usage in Layer5 Cloud. Billing pages are only accessible to users with the Org Billing Admin role.",
287290
],
288291
},
289292
{
@@ -292,6 +295,8 @@ const data = {
292295
answer: [
293296
"You can view your account's subscription, your other paid features and products, and your next billing date in your account's billing settings",
294297
],
298+
link: "https://cloud.layer5.io/account/subscriptions",
299+
linktext: "Manage Subscriptions",
295300
},
296301
{
297302
question: "What happens if payment fails?",
@@ -307,6 +312,14 @@ const data = {
307312
"You can unlock the paid features on your account and trigger a new payment attempt by updating the payment method on your account. To learn more about how to manage your payments, visit the Billing section of your Layer5 Cloud account.",
308313
],
309314
},
315+
{
316+
question: "What about refunds for yearly subscriptions if I cancel early?",
317+
category: "Billing",
318+
answer: [
319+
"Great question, and we're happy to clarify! For yearly subscriptions (which often come at a nice discount compared to monthly billing), we stick to the same no-refund policy. You'll have full-year access to all the cool stuff, including advanced service mesh courses, hands-on labs, multi-cluster management, and enterprise features. ",
320+
"If you cancel early, it just prevents the auto-renewal for next year, and you'll keep using everything until your paid term wraps up—no refunds for the remaining months. We designed it this way to support our ongoing platform improvements. If you're unsure, the Free Forever plan is a low-pressure way to check out the basics first!",
321+
],
322+
},
310323

311324
//
312325
// CAREERS / INTERNSHIPS

src/collections/blog/2023/05-22-changing-release-channels-in-meshery/index.mdx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,11 @@ Example: <br/> <code class="language-bash">mesheryctl system context create new-
6363
<h3>Switching between Meshery release channels using mesheryctl.</h3>
6464
<p>mesheryctl is a command-line tool for managing Meshery. You can use it to switch between different release channels. Here's how:</p>
6565

66-
<ul><li>Run the following command to see the current configuration for Meshery:</li>
67-
<pre><code class="language-bash">mesheryctl system context view</code></pre>
68-
<img src={MesheryVersion} className="image-center" style="width:50%;"></img>
69-
<p>This will show you the currently channels ,<b>stable</b> or <b>edge</b>, along with the version number and other information.</p>
70-
<li>Run the following command to switch to a different release channel:</li>
71-
<pre><code class="language-bash">mesheryctl system channel switch</code></pre>
72-
This command will update your meshconfig file to switch release channel and version of context in focus. To switch the channel to a specific version, replace <b>Version</b> with the desired version number.
73-
<li> To confirm that the channel has been changed, run the following command again: <pre><code class="language-bash">mesheryctl system channel view</code></pre></li></ul>
66+
<ul>
67+
<li>Run the following command to see the current configuration for Meshery: <pre><code class="language-bash">mesheryctl system context view</code></pre><img src={MesheryVersion} className="image-center" style="width:50%;" /><p>This will show you the current release channel (<b>stable</b> or <b>edge</b>), along with the version number and other information.</p></li>
68+
<li>Run the following command to switch to a different release channel:<pre><code class="language-bash">mesheryctl system channel switch</code></pre>This command will update your meshconfig file to switch release channel and version of context in focus. To switch the channel to a specific version, replace <b>Version</b> with the desired version number.</li>
69+
<li>To confirm that the channel has been changed, run the following command again: <pre><code class="language-bash">mesheryctl system channel view</code></pre></li>
70+
</ul>
7471

7572
<h2>Conclusion </h2>
7673

src/collections/resources/Resources.style.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import styled from "styled-components";
22
export const ResourcesWrapper = styled.div`
33
color: #000;
44
5+
div.comparison h2 {
6+
text-align: left;
7+
margin-top: 2rem;
8+
}
59
div.comparison h3 {
610
text-align: left;
711
margin-top: 2rem;

src/collections/resources/comparison/layer5-academy-vs-moocit/index.mdx

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -36,49 +36,47 @@ It is the backbone of the platform, enabling instructors to easily design, struc
3636

3737
| Feature | Moocit | Layer5 | Notes |
3838
|---------|--------|--------|-------|
39-
| Content Variety ||| Supports text, images, videos, PDFs |
40-
| Interactive Learning ||| Quizzes, polls, drag-and-drop, peer review, self-assessment |
41-
| Learning Paths/Tracks ||| Sequential paths and prerequisites |
42-
| Course Publishing ||| Layer5 approach to content creation and publishing is gitflow based with version-controlled publishing. Moocit's approach is web-based with incremental instant releases. |
43-
| Course Management ||| Tools to organize, assign, and manage |
44-
| Course Tracking ||| Track learner progress and completion |
45-
| Course Authoring | ⚠️ || Moocit: uses an antiquated Open edX platform with XML-based authoring. Layer5: uses a modern Hugo static site generator with Markdown-based authoring. |
46-
| Public Catalog ||| Layer5 provides comprehensive discoverability; Moocit lacks full public catalog. |
39+
| Content Variety ||| Both: Support text, images, videos, PDFs |
40+
| Interactive Learning ||| Both: Quizzes, tests, self-assessment |
41+
| Learning Paths/Tracks ||| Both: Support sequential paths and prerequisites |
42+
| Course Publishing ||| Moocit: Web-based approach to content creation and publishing with incremental instant and scheduled releases. Layer5: Gitflow based approach to content creation and publishing is gitflow based with version-controlled publishing. |
43+
| Course Management ||| Both: Tools to organize, assign, and manage |
44+
| Course Tracking ||| Both: Track learner progress and completion |
45+
| Course Authoring | ⚠️ || Moocit: uses the Open edX platform with XML-based authoring. Layer5: uses a modern Hugo static site generator with Markdown-based authoring. |
46+
| Public Catalog ||| Moocit: Lacks browsable, public catalog. Layer5: Provides comprehensive discoverability with browsable, public catalog. |
4747

4848
### Learner Experience
4949

5050
Learner experience emphasizes intuitive design, collaboration, and flexibility. Both platforms enable personalized learning, progress tracking, and interactive engagement, with Layer5 extending into real-time collaboration via [Kanvas](/cloud-native-management/kanvas).
5151

5252
| Feature | Moocit | Layer5 | Notes |
5353
|---------|--------|--------|-------|
54-
| Learner Portal ||| Centralized access to materials |
55-
| Learner Profile ||| Limited support for interactive profiles |
56-
| Mobile Learning ||| Multi-device access |
57-
| Certificate Generation ||| Shareable certifications |
58-
| Social Learning ||| Forums, discussions, and Kanvas collaboration |
59-
| Synchronous Learning ||| Real-time collaboration in Kanvas |
60-
| Self-Paced Learning ||| Learner-driven pacing |
61-
| Hands-on Labs || Kanvas labs | Layer5 emphasizes real-time collaboration through Kanvas|
54+
| Learner Portal ||| |
55+
| Self-paced Learning ||| |
56+
| Instructor-led Learning ||| |
57+
| Mobile Learning ||| |
58+
| Certificate Generation ||| Both: Shareable certifications |
59+
| Social Learning ||| Both: Forums, discussions. Layer5: Kanvas and Slack. |
60+
| Learner Profile | ⚠️ || Moocit: Limited support for interactive profiles. Layer5: Comprehensive learner profiles with progress tracking and social features. |
61+
| Group / Synchronous Learning ||| Layer5: Real-time, collaborative learning. |
62+
| Hands-on Labs ||| Layer5: through Kanvas |
6263

6364
### Administration & Analytics
6465

6566
Both platforms deliver robust administration capabilities with user management, analytics, and compliance tools. Layer5 extends customization through its cloud-native ecosystem integration.
6667

6768
| Feature | Moocit | Layer5 | Notes |
6869
|---------|--------|--------|-------|
69-
| User Management ||| Manage accounts, roles, and permissions |
70-
| Assessment Management ||| Build and evaluate assessments |
71-
| Gradebook ||| Track grades and scores |
72-
| Advanced Analytics ||| Learner performance, insights |
73-
| Reporting & Statistics ||| Learning patterns and outcomes |
74-
| Customization ||| Themes, prerequisites, conditional displays |
75-
| Third-Party Integrations ||| Limited visibility |
76-
| Stripe ||| Payment processing |
77-
| Single Sign-On (SSO) ||| Enhanced access control |
78-
| Branded Academy Invitations ||| Approval queues, domain-based allowances |
79-
| Branded Content Announcements ||| New challenge/course announcements |
80-
| Public Clouds ||| AWS, Azure, GCP, DigitalOcean |
81-
| Orchestration Support ||| Hundreds of CNCF ecosystem integrations |
70+
| Assessment Management ||| Both: Build and evaluate assessments. |
71+
| Gradebook ||| Both: Track grades and scores. |
72+
| Reporting & Statistics ||| Both: Insights into learner engagement and performance. |
73+
| User Management | ⚠️ || Moocit: Manage user accounts. Layer5: Manage user accounts with granular and customizable permissions and roles. |
74+
| Group Creation and Management ||| Both: Allow instructors to organize students and content into different groups. |
75+
| Single Sign-On (SSO) ||| Layer5: Enhanced identity and granular access control. |
76+
| Branded Academy Invitations ||| Layer5: Approval queues, domain-based allowances. |
77+
| Branded Content Announcements ||| Layer5: New content announcements |
78+
| Public Clouds ||| Layer5: AWS, Azure, GCP, DigitalOcean, and an Kubernetes service |
79+
| Orchestration Support ||| Layer5: Hundreds of CNCF ecosystem integrations |
8280

8381
### Additional Features
8482

@@ -87,16 +85,14 @@ Extra functionalities make the platforms more engaging. While both cover gamific
8785
| Feature | Moocit | Layer5 | Notes |
8886
|---------|--------|--------|-------|
8987
| Gamification ||| Layer5: badges and learning leaderboards. |
90-
| eCommerce Management ||| Both platforms support Stripe as a built-in integration. |
91-
| White-labeling ||| Superior branding flexibility in Layer5 |
92-
| Chatbot Support | ⚠️ || Moocit: website chat. Layer5: community-centric Slack |
88+
| eCommerce Management ||| Both: Support Stripe as a built-in integration. |
89+
| White-labeling ||| Layer5: Superior branding flexibility. |
90+
| Chatbot Support | ⚠️ || Moocit: website chat. Layer5: community-centric Slack. |
9391
| Cloud Native Focused ||| Layer5 is a cloud native ecosystem stalwart, tightly aligned with the CNCF. |
9492

95-
96-
9793
## Summary
9894

99-
Moocit lacks content attribution and orchestration with hands-on labs. Feature comparison with [Moocit](https://moocit.com/) highlights the strengths of Layer5 Academy in terms of content creation, learner experience, and administrative capabilities.
95+
While Moocit lacks content attribution and seamless orchestration with hands-on labs, Layer5 Academy stands out by enabling true learning through interactive, hands-on labs powered by Kanvas—where real learning happens. Layer5 Academy's labs drive students to utilize third-party public cloud providers' infrastructure, meaning more time spent on hands-on activities can increase costs for users paying for their chosen provider's resources. However, public cloud providers featuring Academy content and labs can incentivize adoption by offering credits and discount codes, presented to learners after enrolling in a Challenge, Learning Path, or Certification. Furthermore, Layer5 enhances administrative efficiency with support for bulk invitations for new learners and email announcements for new academy content, underscoring its superior strengths in content creation, learner experience, and administrative capabilities compared to Moocit.
10096

10197
</div>
10298
</ResourcesWrapper>

src/components/Animated-steps-list/Steps-list/StepsList.style.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const StepsListWrapper = styled.div`
88
99
& > li {
1010
&:not(:last-of-type) {
11-
margin-bottom: 600px;
11+
margin-bottom: 150px;
1212
1313
@media (max-width: 850px) {
1414
margin-bottom: 88px;

src/components/Animated-steps-list/hero/hero.style.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ export const HeroWrapper = styled.div`
77
font-weight: 600;
88
}
99
10-
padding: 12rem 0 20rem 0;
10+
padding: 4rem 0 4rem 0;
1111
1212
@media (max-width: 800px) {
13-
padding: 2rem 0 10rem 0;
13+
padding: 1rem 0 2rem 0;
1414
}
1515
1616
.content {

src/components/Animated-steps-list/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import FramedTerminal from "../Animated-terminal/Framed-terminal";
77
import { AnimatedStepsListWrapper } from "./AnimatedStepsList.style";
88

99
// The breakpoints where the next step of each animation triggers
10-
const breakpoints = [0, 350, 1400, 2450, 2680];
10+
const breakpoints = [0, 300, 800, 1300, 1700];
1111

1212
// The number of pixels before the next breakpoint that the animation should complete
13-
const animationBottomPadding = [0, 620, 575, -50];
13+
const animationBottomPadding = [0, 180, 180, 50];
1414

1515
const calculateCurrentFrame = (terminalSteps, currentIndex, scrollPosition) => {
1616
const percentage = Math.min(
@@ -37,7 +37,7 @@ const AnimatedStepsList = ({ terminalHeroState, steps }) => {
3737
const scrollPosition = useScrollPosition();
3838
const [indicatorIndex, setIndicatorIndex] = useState(0);
3939
const activeTerminalStateIndex =
40-
scrollPosition <= 350 ? 0 : indicatorIndex + 1;
40+
scrollPosition <= 300 ? 0 : indicatorIndex + 1;
4141
const terminalSteps = [terminalHeroState].concat(
4242
steps.map((step) => step.terminal)
4343
);

0 commit comments

Comments
 (0)