Skip to content

thevinchi/aws.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aws.nvim

A Neovim plugin for interacting with AWS services.

NOTE: The main branch is stable, but the project is in early development. Therefore this plugin is currently only targetted at tmux users like me. Though I absolutely plan to add support for regular nvim termial buffers (but likely this will come after support for the folke/snacks.nvim terminal because it's way easier and pretty and I already require it as a dependency).

Features

  • Tail AWS CloudWatch logs directly within Neovim.
  • Each live tail is spawned in a new tmux pane for easy management.
  • Interactive pickers for selecting log groups and streams.
  • List and preview active log tails without leaving Neovim.

Requirements

📦 Installation

Using lazy.nvim:

return {
    'thevinchi/aws.nvim',
    lazy = false,
    dependencies = {
        'folke/snacks.nvim'
    },
    keys = {
        { '<leader>A',   '',                                             desc = 'AWS' },
        { '<leader>Ar', '<cmd>AwSetRegion<CR>',                          desc = 'Set default Region' },
        { '<leader>Ac',  '',                                             desc = 'CloudWatch' },
        { '<leader>Acg', '<cmd>AwsCloudWatchTailGroup<CR>',              desc = 'Tail a Log Group' },
        { '<leader>AcG', '<cmd>AwsCloudWatchTailGroup interactive<CR>',  desc = 'Tail a Log Group interactively' },
        { '<leader>Acs', '<cmd>AwsCloudWatchTailStream<CR>',             desc = 'Tail a Log Stream' },
        { '<leader>AcS', '<cmd>AwsCloudWatchTailStream interactive<CR>', desc = 'Tail a Log Stream interactively' },
        { '<leader>Acl', '<cmd>AwsCloudWatchTailShow<CR>',               desc = 'List live tails' },
    }
}

🚀 Usage

Commands

  • :AwsSetRegion: Set the default AWS region for all commands.
  • :AwsCloudWatchTailGroup [interactive]: Tail a CloudWatch Log Group. Opens a picker to select a log group. If interactive is passed, the tail will start in interactive mode.
  • :AwsCloudWatchTailStream [interactive]: Tail a CloudWatch Log Stream. Opens pickers to select a log group and then a log stream. If interactive is passed, the tail will start in interactive mode.
  • :AwsCloudWatchTailShow: Show active CloudWatch log tails in a picker with previews. This allows you to quickly view the current contents of each live tail feed without leaving Neovim.

Roadmap

  • EC2 Instance Management: Fetch a list of EC2 instances and connect to them using aws ssm start-session.
  • ECS Integration: Execute commands and tail logs from containers running in ECS tasks.
  • Terminal Support: Add support for the terminal component of snacks.nvim as an alternative to tmux.

Contributing

Contributions are welcome! Please open an issue or pull request.

📄 License

MIT

About

Neovim plugin for tailing AWS CloudWatch log groups and streams, with interactive pickers for selection, live previews of active tails, and each feed spawned in its own tmux pane.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages