DevOps Tools for Neovim is a toolbox plugin designed to streamline your DevOps workflow directly from your Neovim editor. This plugin provides integrations for essential DevOps tools such as Docker, Helm, Terraform, and Kubectl, making it easier to manage your infrastructure as code without leaving your editor.
- Docker Integration: Manage your Docker containers.
- Helm Support: Execute Helm commands, manage releases, and work with Helm charts.
- Terraform Integration: Format, validate, and deploy your Terraform scripts effortlessly.
- Kubectl Integration: Interact with your Kubernetes clusters, manage pods, deployments, and services directly from Neovim.
Before using this plugin, ensure you have the following installed:
- Docker
- Helm
- Terraform
- Kubectl
- FZF
Make sure these tools are accessible in your system's PATH.
You can install the plugin using your preferred Neovim plugin manager. Here’s how you can do it with some popular options:
-
Add the following line to your
init.vim
orinit.lua
:Plug 'azratul/devops-tools.nvim'
-
Install the plugin with the command:
:PlugInstall
-
Add the plugin to your packer setup:
use 'azratul/devops-tools.nvim'
-
Run
:PackerSync
to install it.
Once installed, you can access the features of the plugin through various Neovim commands:
-
Docker Commands:
:DockerPs
- List all running containers.:DockerImages
- List all Docker images.:DockerRun <image>
- Run a Docker container from an image.
-
Helm Commands:
:HelmInstall <chart>
- Install a Helm chart.:HelmTemplate <release> <chart>
- Render chart templates locally and display the output.:HelmUpgrade <release> <chart>
- Upgrade a Helm release.
-
Terraform Commands:
:TerraformInit
- Initialize a Terraform project.:TerraformPlan
- Generate and display an execution plan.:TerraformApply
- Apply the changes required to reach the desired state.
-
Kubectl Commands:
:KubectlGet <resource> <name>
- List the resource in the current namespace.:KubectlDescribe <resource> <name>
- Describe a specific resource.:KubectlLogs
- Displays a list of all available pods using FZF, allowing you to select a pod to view its logs.
Kubectl: 🛠️ WIP. Some commands were added, but it's unfinished