GithubHelp home page GithubHelp logo

isabella232 / vscode-gitops-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weaveworks/vscode-gitops-tools

0.0 0.0 0.0 3.59 MB

GitOps Visual Studio Code Extension

License: Mozilla Public License 2.0

JavaScript 5.33% TypeScript 89.53% CSS 1.09% HTML 4.04%

vscode-gitops-tools's Introduction

vscode-gitops-tools


GitOps
GitOps Tools for Visual Studio Code

Weaveworks GitOps Extension provides an intuitive way to manage, troubleshoot and operate your Kubernetes environment following the GitOps operating model, accelerating your development lifecycle and simplifying your continuous delivery pipelines.

Your feedback is very important to us, please help us by submitting issues for bugs, enhancements and share with us how you are using the extension.

Weaveworks GitOps Extension integrates with Kubernetes Tools, kubectl and flux for a consolidated and tightly integrated user experience.

This extension is under active development and currently available as an alpha product.

Getting started

In order to use the extension, you must satisfy a few requirements:

  • Make sure you have the various tools listed under Dependencies installed in your system and available in your PATH.
  • You must have at least one cluster configured in your kubectl config. We rely on the Kubernetes extension to discover and connect to clusters. If you are having issues accessing or viewing your cluster, follow the documentation provided by the Kubernetes extension.

Once you have satisfied these requirements, you are ready to install the GitOps Extension:

  • Download the latest vsix artifact version from our Releases page.
  • Install it on your local Visual Studio Code following these instructions.

Dependencies

The GitOps Extension depends on the Kubernetes Tools extension, which will be automatically installed on your system if you don't already have it.

You will need kubectl, and flux CLI at the minimum to use this GitOps extension and its Kubernetes cluster management operations.

For users running clusters in Azure including AKS and Arc clusters, the az command line tool is also required.

Tool Description Installation
kubectl The kubectl command line tool lets you control Kubernetes clusters. Install Kubectl
flux Flux is a set of continuous and progressive delivery solutions for Kubernetes. Install Flux CLI
git Git is a free and open source distributed version control system. Install git

Optional tools:

Tool Description Installation
az Azure CLI. (only if using the extension to create or register Azure clusters) Install az
docker Docker is an open platform for developing, shipping, and running applications. Install Docker

We recommend you install these CLI tools on your system PATH before using GitOps extension. If these tools aren't on your system PATH, then some commands may not work. If the extension needs one of the core Kubernetes tools and they are missing, it will prompt you to install them.

Azure specific recommendations

  • Make sure you have successfully authenticated on your az CLI and have access to the correct subscription for your AKS or ARC cluster.
  • The easiest way to get your AKS or ARC cluster visible by the GitOps and Kubernetes Extensions, is by using the az CLI to merge the config for accessing your cluster onto the default kubectl config. Use get-credentials as shown in the official CLI documentation. In order to enable GitOps in a cluster you will likely need the --admin credentials.

Common issues

GUI

VSCode GitOps Tools

Features

  • Access to custom GitOps sidebar
  • View GitOps Output panel with CLI command traces for diagnostics
  • View configured Kubernetes Clusters from kubectl
  • Enable/Disable GitOps Cluster operations support
  • View GitOps Toolkit components, version info, and deployment status for the GitOps enabled clusters and Flux controllers
  • View Git/Helm Repositories and Bucket Sources info for the selected cluster
  • View Kustomizations and Helm Releases for the selected cluster
  • View Flux controller logs in the webview editor
  • Reconcile Sources and Workloads demand
  • Pull Git Repository Source to user machine and open it in VSCode
  • Create Git Repository from opened in vscode folder
  • Create Kustomization from opened in vscode folder
  • Preview short Kubernetes Object info in rich markdown table tooltips on hover for the loaded Clusters, Sources, and Workloads
  • Load Kubernetes Object manifest .yaml configs in vscode editor via Kubernetes Tools API and virtual Kubernetes file system provider
  • Open GitOps Documentation links to Flux and Weave GitOps CLI top level topics in your default web browser

GitOps Commands

You can access GitOps tools check, CLI dependendency versions, Clusters, Sources and Workloads views Focus and Refresh commands by typing GitOps in View -> Command Palette... menu prompt:

VSCode GitOps Commands

GitOps Feature Contributions

GitOps extension contributes the following Commands, View Containers, Views, and Activation Events to VSCode IDE for working with GitOps Kubernetes clusters:

VSCode GitOps Features

Dev Build

Use the following commands to build GitOps vscode extension locally for testing, debugging, and submitting pull requests (PRs):

$ git clone https://github.com/weaveworks/vscode-gitops-tools
$ cd vscode-gitops-tools
$ npm install
$ npm run compile
$ code .

Watch for changes:

$ npm run-script watch

Press F5 in VSCode to start GitOps extension debug session.

Packaging and Installation

VSCode extensions are packaged and published with vsce commnand line tool. Use the following steps to create GitOps extension .vsix package for local testing or publishing to VSCode Marketplace:

  1. Install Node.js
  2. Install vsce: $ npm install -g vsce
  3. Package GitOps extension: $ vsce package
  4. Follow Install from VSIX instructions to install the resulting vscode-gitops-tools-0.x.0.vsix extension package in vscode for local testing.

Install from .vsix file step is only required for testing the latest version of GitOps extension. Devs and DevOps will be able to download and install it from VSCode Marketplace when this vscode extension MVP is released and published.

Data and telemetry

The GitOps Tools Extension for Visual Studio Code collects usage data and sends it to Weaveworks to help improve our products and services. Read our privacy statement to learn more. This extension respects the telemetry.enableTelemetry setting.

vscode-gitops-tools's People

Contributors

juozasg avatar morancj avatar murillodigital avatar randomfractals avatar sympatheticmoose avatar usernamehw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.