Skip to content

Commit

Permalink
Merge pull request #4264 from thisiskaransgit/newblog
Browse files Browse the repository at this point in the history
  • Loading branch information
Chadha93 authored Jun 15, 2023
2 parents 252ecab + 70b54fd commit 391b3fb
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
title: "Changing Meshery Release Channels"
subtitle: "Change Meshery Release Channels using mesheryctl or using your meshconfig file."
date: 2023-06-16 10:30:05 -0530
author: Karan Thakur
thumbnail: ./change-meshery-release-channels.png
darkthumbnail: ./change-meshery-release-channels.png
category: "Meshery"
description: "Meshery is constantly evolving and improving, with new features and bug fixes being added regularly. To stay up to date with the latest Meshery features and updates, you can switch between different release channels."
tags:
- Meshery
- Open Source
- mesheryctl
type: Blog
resource: true
published: true
---

import { BlogWrapper } from "../../Blog.style.js";
import MesheryVersion from "./meshery-version.png";

<BlogWrapper>

<p>
Meshery is constantly evolving and improving, with new features and bug fixes being added regularly. To stay up to date with the latest Meshery features and updates, you can switch between different release channels.
</p>
<p>
Artifacts of the builds for Meshery and its components are published under two different release channels, so that improved controls may be provided to both Meshery users and Meshery developers. The two release channels are edge and stable release channels. Relative to stable releases, edge releases occur much more frequently. Edge releases are made with each merge to master, unless that merge to master is for a stable release. Stable releases are made with each
merge to master when a GitHub release tag is also present in the workflow.
</p>

<h2> How release channels offer subscription </h2>
<p>
Release Channels offers a subsciption where user can subscribe to a specific release channel and get notified when a new release is available. This is useful for users who want to stay up to date with the latest Meshery features, while also also providing flexibility for users who want to stay on a specific version of Meshery.
However, this approach can be risky because some updates may introduce bugs or compatibility issues that could break your existing installation. Depending upon your risk aversion and the nature of your deployment environment, having a subscription means that you will automatically receive these updates that you might not be ready incorporate. On the other hand, release channels also offer the ability to pin to a specific release which is a good thing as it allows users to maintain stability and predictability of their environment by preventing unexpected changes from being introduced into their system. However, doing so cancels out any future subscription-based benefits such as receiving security patches or bug fixes that were added after that version was released.

Therefore, it's important for you to weigh the pros and cons of each option before making decisions on how you want to manage your Meshery deployment. It's recommended you and your organizations have a well-defined upgrade strategy based on testing and validation procedures prior to applying new releases in production environments whether via subscriptions or manual upgrades to ensure that system availability is maintained and risks are minimized.

</p>
<p>
To subscribe to a specific release channel or version using mesheryctl you can use
<pre><code class="language-bash">mesheryctl system channel set [stable|stable-version|edge|edge-version] </code></pre>
This command will update your local Meshery configuration to use the selected channel for future updates. To set the channel to a specific version, replace Version with the desired version number. Example: <code class="language-bash">mesheryctl system channel set stable</code> or <code class="language-bash">mesheryctl system channel set stable-v0.5.56</code>
</p>
<h2> Switching between Release Channels</h2>
<p>There are two ways to switch between Meshery release channels: using mesheryctl or by editing your meshconfig file. In this blog post, we'll cover both methods.</p>

<h3>What is Meshconfig?</h3>
<p>
Meshconfig is a configuration file that is used to configure Meshery. It is typically located in the <code>~/.meshery/config.yaml</code> directory. It contains information about the current release channel, the version of Meshery that is installed, and other configuration options that are specific to your Meshery installation.
Meshconfig is automatically generated when you run Meshery for the first time. It is also automatically updated when you update Meshery
</p>

<ol>
<h3>Switching between Meshery release channels using meshconfig file.</h3>
<p>Open your terminal and confirm that you have mesheryctl installed by running <code>mesheryctl version</code>. If you don't have mesheryctl installed, you can install it by following the instructions in the <a href="https://docs.meshery.io/installation/mesheryctl">Meshery documentation</a>.</p>
<li>Create new Meshery config.yaml file <pre><code class="language=bash">mesheryctl system context create [context-name]</code></pre></li>
Example: <br/> <code class="language-bash">mesheryctl system context create new-context --components meshery-istio meshery-osm meshery-linkerd --platform docker --url http://localhost:9081 --set --yes </code>
<li> To view the newly created meshery context use <pre><code class="language-bash">mesheryctl system context view [context-name]</code></pre></li>
<li>After making these changes, you can switch between different context by using <pre><code class="language-bash">mesheryctl system context switch</code></pre></li>
</ol>

<h3>Switching between Meshery release channels using mesheryctl.</h3>
<p>mesheryctl is a command-line tool for managing Meshery. You can use it to switch between different release channels. Here's how:</p>

<ul><li>Run the following command to see the current configuration for Meshery:</li>
<pre><code class="language-bash">mesheryctl system context view</code></pre>
<img src={MesheryVersion} className="image-center" style="width:50%;"></img>
<p>This will show you the currently channels ,<b>stable</b> or <b>edge</b>, along with the version number and other information.</p>
<li>Run the following command to switch to a different release channel:</li>
<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> 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>

<h2>Conclusion </h2>

<p>
Switching between Meshery release channels is a simple and straightforward process. You can do it using mesheryctl or by switching between your meshconfig file. Whether you want stable updates or bleeding-edge features, Meshery has a release channel that suits your needs. Just remember to carefully consider your use case and needs before making any changes to ensure that you have the best Meshery experience.
</p>

</BlogWrapper>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 391b3fb

Please sign in to comment.