Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/SAHU-01/docs
Browse files Browse the repository at this point in the history
  • Loading branch information
SAHU-01 committed Aug 12, 2024
2 parents ad038ca + 42f419b commit 8f4e47a
Show file tree
Hide file tree
Showing 47 changed files with 732 additions and 144 deletions.
189 changes: 189 additions & 0 deletions content/en/cloud/getting-started/github-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
---
title: Integrating GitHub with Meshery
description: Discover how to seamlessly connect your GitHub repository with Meshery, enabling easy import and management of your configuration files.
weight: 2
---

## Introduction

Meshery's GitHub Integration is a powerful feature that lets you authorize your GitHub account and import infrastructure files into Meshery. These files are then readily available in the Meshery catalog and can be easily opened in the Meshery Playground for viewing and configuration.

The GitHub integration offers an alternative to [importing designs from the canvas or through mesheryctl](https://docs.meshery.io/guides/configuration-management/importing-designs). It simplifies configuration management and enhances deployment workflow efficiency. By leveraging this integration, you ensure your infrastructure designs are easily accessible and always up-to-date.

This integration offers the following benefits:

1. **Easy Design Imports**: Quickly import existing configuration files directly from GitHub.

1. **Designs Available in Meshery Catalog**: The files imported from GitHub will be available in your Meshery catalog, allowing you to easily open the designs in the Meshery Playground to view and work with them.

1. **Collaboration**: Integrating Meshery with GitHub fosters collaboration by providing a streamlined process for teams to quickly access and collaborate on their designs.

## How to Integrate GitHub with Meshery

You can commence the integration process from the "**Extensions Page in Meshery**", or alternatively from the “**Layer5 Cloud Dashboard**”.

### Access Integrations Page from the Meshery Extensions Page

1. Go to [Extensions](https://playground.meshery.io/extensions).
1. Click on **Enable** for **GitHub Action: MeshMap Snapshot**.
1. You will be redirected to the Integrations page.

![Extensions](/cloud/getting-started/images/github/extensions.png)

### Navigate to the Integrations Page via the Layer5 Cloud Dashboard

1. On [Layer5 Cloud](https://meshery.layer5.io/dashboard), click on the **menu icon** on the navigation bar to open the global navigation menu.

![Dashboard](/cloud/getting-started/images/github/dashboard.png)

1. From the **Spaces** drop down, select **Integrations**.

![Spaces](/cloud/getting-started/images/github/spaces.png)

1. You will be redirected to the Integrations page. Click **Connect** to begin the integration process.

![Integrations](/cloud/getting-started/images/github/integrations.png)

### Connect GitHub and Import Designs

Let’s go through the steps required to connect your GitHub account and import files from your repository.

1. **Connect GitHub App**: This initiates the authorization process where you'll link your GitHub account with Meshery.
- Click **Connect**.

![Connect GitHub](/cloud/getting-started/images/github/github.png)

- You will be asked to sign in to your GitHub account if you are not already signed in.
- Once signed in, GitHub will prompt you to select the GitHub account where you want to install the Meshery GitHub App. This account could be your personal account or an organization account you can access.

![Install Meshery](/cloud/getting-started/images/github/install_meshery.png)

- After selecting the account, GitHub will prompt you to authorize the Meshery GitHub App so it can access your account.
- You can choose to allow access to all repositories or select specific ones.
- After making your selection, click **Install and Authorize** to complete the authorization process.

![Install and Authorize](/cloud/getting-started/images/github/authorize.png)

> Note: When you install a GitHub App on your account or organization, you grant the app permission to access the organization and repository resources that it requested. You also specify which repositories the app can access.
2. **Select Repositories**: After authorization, you will be redirected back to this page to select the GitHub repository you want to import files from.

- Select the repository or repositories you want, then click **Next**.

![Select repository](/cloud/getting-started/images/github/select-repo.png)

**Reconfigure Repository Selection**

If you are reconfiguring your existing GitHub integration, you will see the **Add Repository** button. This takes you to the “Install Meshery” page where you can either:

1. Select a new repository you want to import files from.
1. Reconfigure repository access for GitHub accounts that already have the Meshery GitHub App installed or
1. Install the Meshery GitHub App on a new GitHub account to gain access to the repositories there.

![Add Repository](/cloud/getting-started/images/github/add_repo.png)

1. **Import Design Files**: The files in the repository are displayed for you to select the ones you want to import as designs.

- There is a checkbox that allows you to choose between displaying all file types or only the file types that are typically supported by Meshery for import.

![Show all File Types](/cloud/getting-started/images/github/show_all_files.png)

- The file types supported for import are:
1. Helm charts
2. Docker Compose files
3. Kubernetes manifests
4. Meshery Designs

- Select the checkbox beside the directory name to import all the files in the directory, or individually select the files you want to import and click **Import**.
- If you want to go back and change your selection or choose a different repository, click **Back**.

![Select Files](/cloud/getting-started/images/github/select_file.png)
- After the import, the files that were imported successfully and those that weren't will be indicated on the screen.

<!-- ![After Import](/cloud/getting-started/images/github/png) -->

### [Optional] Enabling Snapshots

These next steps are optional. By enabling snapshots, you can choose a design from each repository to configure [Meshery snapshots](https://docs.meshery.io/extensions/snapshot). This feature allows you to capture snapshots of design infrastructure changes with each pull request made using a GitHub workflow that Meshery will add to your repository.

1. **Select Designs**: Select the design from the repository you want to enable snapshots for, then click **Next**.

![Select Designs](/cloud/getting-started/images/github/select_design.png)

**Warning: Workflow Already Exists**

If you attempt to add a workflow to a repository that already contains an existing workflow from this process, you will see a warning message. Proceeding to the next step after receiving this warning will overwrite the existing snapshot workflow in that repository.

![Workflow Exists](/cloud/getting-started/images/github/workflow_exists.png)

1. **Configure Secrets**:
- Copy the **API TOKEN** and add it to the secrets page of your selected repository. To learn more about configuring secrets check out [Using secrets in GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
- Tick the check box to confirm that you have added the token.

![Configure Secrets](/cloud/getting-started/images/github/configure_secrets.png)

1. **Add workflows**: Allowing Meshery to add this workflow ensures the smooth integration of Meshery Snapshot with your GitHub repository. The workflow:

- **Triggers on Pull Requests**: Automatically runs when a pull request is opened, synchronized, or reopened.

- **Assigns Permissions**: Provides necessary permissions for reading actions, writing content, handling security events, statuses, and pull requests.

- **Captures Snapshots**: Uses the MeshMap-Snapshot action to capture snapshots of your infrastructure based on the specified application_type (e.g. Kubernetes Manifest, Docker Compose, Helm Chart).

With the workflow active in your repository, you can now visualize changes to your infrastructure directly in your pull requests, making it easier to track and review updates on designs.

![Add workflow](/cloud/getting-started/images/github/add_workflows.png)

Click **Next** to finish setting up!

### Finish Setup

You have successfully Integrated GitHub with Meshery! This page provides an overview of the steps you completed.

1. Click on the commit hash link (e.g. `#7f2d9`) to see where the workflow was added in your repository.
1. Click on the **View** icon to open the Meshery Catalog and see the design.
1. If everything looks good, click **Finish**. If you need to make any updates, you can go **Back** to the previous steps.

![Finish Set up](/cloud/getting-started/images/github/finish.png)

## View Imported Designs

To view imported designs:

1. Go to [Meshery Catalog](https://meshery.layer5.io/catalog).
1. Click on **My Designs** on the navigation bar.

![Catalog](/cloud/getting-started/images/github/catalog.png)

## View GitHub Integration Connection on Meshery Playground

To view and manage the GitHub connection, on the left sidebar of the playground, click on **Lifecycle** > **Connections**.

![View GitHub Connection](/cloud/getting-started/images/github/connections.png)

## Delete GitHub Integration

You can delete the GitHub Integration Connection from the “**Connections page in Meshery**" shown in the preceding section or “**Integrations page in Layer5 cloud**".

On the Connections page in Meshery:

1. Identify the connection and click on its checkbox.
1. Click **Delete**.

On the [Integrations Page in Layer5 Cloud](https://meshery.layer5.io/spaces/integrations) page:

1. Click on the GitHub Connection.
![Select Connection](/cloud/getting-started/images/github/select_connection.png)

1. Tick the checkbox then **delete**.
![Delete Connection](/cloud/getting-started/images/github/delete_connection.png)

## Conclusion

In this guide, you walked through the steps to integrate your GitHub account with Meshery.

You authorized Meshery to access your GitHub account, imported designs from repositories, and viewed them in the Meshery Catalog. You also learned how to enable Meshery Snapshots for your GitHub repositories, allowing you to version and track changes to your infrastructure configurations.

Additionally, you saw how to view, manage, and delete your GitHub connection within Meshery and Layer5 Cloud.

By connecting your GitHub account, you gain seamless access to your resources, streamline your deployment workflow, and ensure your design infrastructure configurations are always up-to-date.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
91 changes: 48 additions & 43 deletions content/en/cloud/security/roles/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Roles map permissions to users. Roles contain any number of keychains, which con
## Provider Admin Role

{{< cardpane >}}
{{% card header="### Provider Admin Role" %}}
{{% card header="<a href='https://docs.layer5.io/cloud/reference/default-permissions/#Provider+Admin' target='_blank'>Provider Admin Role</a>" %}}
![role-provider](/cloud/security/images/role-provider-admin.svg)
{{% /card %}}
{{% card %}}
Expand Down Expand Up @@ -52,12 +52,12 @@ Roles map permissions to users. Roles contain any number of keychains, which con

{{< cardpane >}}
{{% card %}}
![organization-administrator](/cloud/security/images/organization-roles.svg)
![organization-administrator and manager](/cloud/identity/images/organization-administrator-and-organization-billing-manager.svg)
{{% /card %}}
{{< /cardpane >}}

{{< cardpane >}}
{{% card header="### Organization Administrator" %}}
{{% card header="### <a href='https://docs.layer5.io/cloud/reference/default-permissions/#Org+Admin' target='_blank'>Organization Administrator</a>" %}}

**What is the purpose of this role?**

Expand All @@ -81,7 +81,7 @@ Roles map permissions to users. Roles contain any number of keychains, which con
- Organization Owner

{{% /card %}}
{{% card header="### Organization Billing Manager" %}}
{{% card header="### <a href='https://docs.layer5.io/cloud/reference/default-permissions/#Org+Billing+Manager' target='_blank'>Organization Billing Manager</a>" %}}

**What is the purpose of this role?**

Expand Down Expand Up @@ -120,12 +120,12 @@ For more information, see [Organization](/cloud/identity/organizations).

{{< cardpane >}}
{{% card %}}
![workspace-administrator](/cloud/security/images/workspace-roles.svg)
![workspacea-administrator-and-workspace-manager](/cloud/identity/images/workspace-administrator-and-workspace-manager.svg)
{{% /card %}}
{{< /cardpane >}}

{{< cardpane >}}
{{% card header="### Workspace Administrator" %}}
{{% card header="### <a href='https://docs.layer5.io/cloud/reference/default-permissions/#Workspace+Admin' target='_blank'>Workspace Administrator</a>" %}}

**What is the purpose of this role?**

Expand All @@ -148,6 +148,29 @@ For more information, see [Organization](/cloud/identity/organizations).

- Organization Administrators or Workspace Owner

{{% /card %}}
{{% card header="### Workspace Manager" %}}

**What is the purpose of this role?**

- Management and administration of the various workspace resources

**Who can assign this role?**

- Organization Administrators or Workspace Administrators

**When this role is first assigned?**

- Manually by Organization Administrators or Workspace Administrators

**How many instances of these roles?**

- Min: 0, Max: many

**Who can remove assignment of this role?**

- Organization Administrators or Workspace Administrators

{{% /card %}}
{{< /cardpane >}}

Expand All @@ -163,12 +186,12 @@ The entitlement of "workspace owner" is automatically bestowed to the creator of

{{< cardpane >}}
{{% card %}}
![team-administrators](/cloud/security/images/team-roles.svg)
![team-admins-and-manager](/cloud/identity/images/team-admins-and-team-managers.svg)
{{% /card %}}
{{< /cardpane >}}

{{< cardpane >}}
{{% card header="### Team Administrator" %}}
{{% card header="<a href='https://docs.layer5.io/cloud/reference/default-permissions/#Team+Admin' target='_blank'>Team Administrator</a>" %}}
**What is the purpose of this role?**

- Administration of teams
Expand All @@ -183,52 +206,34 @@ The entitlement of "workspace owner" is automatically bestowed to the creator of
- By default, the first Team Admin is owner (the team creator)

**How many instances of these roles?**
Min: 1, Max: many

- Min: 1, Max: many

{{% /card %}}
{{< /cardpane >}}

{{< alert title="Owners as entitlements, not roles" >}}
It's essential to understand that owners are not roles, but entitlements.

Team owners carry the team administrator role, and may be joined in their team administration duties by any number of other users carrying the team administrator role. However, the team owner also has the administrative privilege to delete the team.

The entitlement of "team owner" is automatically bestowed to the creator of a team. The individual user who created a given team initially is therefore granted certain administrative privileges beyond that of other team administrators. Specifically, team owners retain the sole permission to delete the team.

For more information, see [Teams](/cloud/identity/teams).
{{< /alert >}}

## User Role

{{< cardpane >}}
{{% card %}}
![user](/cloud/security/images/user-role.svg)
{{% /card %}}
{{< /cardpane >}}

{{< cardpane >}}
{{% card header="## User" %}}

{{% card header="### Team Manager" %}}
**What is the purpose of this role?**

- To grant Organization members access to basic features and resources within the context of that Organization.
- Administration of teams (without delete access)

**Who can assign this role?**
**Who can assign and unassign this role?**

- Organization Administrators, Workspace Administrators and Team Administrators
- Organization Administrators or Team Owner

**When this role first assigned?**
**When is this role first assigned?**

- Automatically assigned to members on joining an Organization.
- Manually by Organization Administrator or Team Owner

**How many instances of these roles?**

- Min: 1, Max: many
- Min: 0, Max: many
{{% /card %}}
{{< /cardpane >}}

**Who can remove assignment of this role?**
{{< alert title="Owners as entitlements, not roles" >}}
It's essential to understand that owners are not roles, but entitlements.

- Organization Administrators, Workspace Administrators and Team Administrators
Team owners carry the team administrator role, and may be joined in their team administration duties by any number of other users carrying the team administrator role. However, the team owner also has the administrative privilege to delete the team.

{{% /card %}}
{{< /cardpane >}}
The entitlement of "team owner" is automatically bestowed to the creator of a team. The individual user who created a given team initially is therefore granted certain administrative privileges beyond that of other team administrators. Specifically, team owners retain the sole permission to delete the team.

For more information, see [Teams](/cloud/identity/teams).
{{< /alert >}}
6 changes: 3 additions & 3 deletions content/en/cloud/tutorials/gitops-snapshots.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ View the Meshery GitHub App in the [GitHub Marketplace](https://github.com/marke

1. Sign into [Layer5 Cloud](https://meshery.layer5.io)
1. Visit Connections and click [Create on the GitHub connection](https://meshery.layer5.io/connect/github/new).
1. Use the mult-step connection wizard to authorize Meshery to access your GitHub repositories (you may need to sign into GitHub).
1. Use the multi-step connection wizard to authorize Meshery to access your GitHub repositories (you may need to sign into GitHub).
1. Once you have authorized Meshery to access your GitHub repositories, you will be redirected back to Layer5 Cloud. You should see a success message.
1. Identify the path to either one or more Meshery Designs, Helm Charts, Kubernetes Manifests, or Docker Compose files.
1. You will establish a secrte for the Meshery GitHub app and aa new workflow to be invoked when a new snapshot is needed.
1. Customize the workflow `on` event trigger to match your needs.
1. You will establish a secret for the Meshery GitHub app and a new workflow to be invoked when a new snapshot is needed.
1. Customize the workflow on event trigger to match your needs.

You can always return to the [GitHub connection](https://meshery.layer5.io/connect/github) to update the connection or to add additional repositories.

Expand Down
8 changes: 3 additions & 5 deletions content/en/meshmap/designer/export-designs/_index.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
---
title: Export Designs
title: Exporting Designs
description: >
How to export your designs for backup , sharing or offline use .
How to export your designs for backup, sharing or offline use.
weight: 6
categories: [Designer]
tags: [designs]
# Should this page every be relocated, please create a redirect link from the old location to the new location or backlinks like the one below will break.
# https://github.com/layer5labs/meshery-extensions/tree/master/meshmap/src/components/designer/drawer/ComponentDrawerTabContent/exportModal.js
---

# Exporting Your MeshMap Designs

This documentation guides you on how to export your MeshMap designs for various purposes, including backup, offline sharing, or integration with other infrastructure tools. MeshMap Designer offers multiple export options, allowing you to choose the format that suits your needs.
This documentation guides you on how to export your Meshery designs for various purposes, including backup, offline sharing, pushing to an OCI registry, publishing on Artifact Hub, or integration with other infrastructure tools. MeshMap Designer offers multiple export options, allowing you to choose the format that suits your needs.

## Exporting Your Design

Expand Down
1 change: 1 addition & 0 deletions content/en/meshmap/designer/whiteboarding/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ Manage layers, group elements, for better organization. These advanced tools ens

Lines and edges are easily manipulated. Adjust thickness, style, and endpoints effortlessly. Drag line segments to create bends or curves, adding detail to visual representations.

Tip:To enable this animation for an edge, set the animation property of relationship metadata to "marching-ants".
#### Consistent Functionality

The customization tools apply uniformly to all annotation types. Changes made within the tooltip reflect instantly on the canvas, facilitating real-time collaboration.
Expand Down
Loading

0 comments on commit 8f4e47a

Please sign in to comment.