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).
- Tail AWS CloudWatch logs directly within Neovim.
- Each live tail is spawned in a new
tmuxpane for easy management. - Interactive pickers for selecting log groups and streams.
- List and preview active log tails without leaving Neovim.
- aws-cli
- neovim >= 0.8.0
- folke/snacks.nvim (for the
AwsCloudWatchTailShowcommand) tmux
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' },
}
}:AwsSetRegion: Set the default AWS region for all commands.:AwsCloudWatchTailGroup [interactive]: Tail a CloudWatch Log Group. Opens a picker to select a log group. Ifinteractiveis 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. Ifinteractiveis 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.
- 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
terminalcomponent ofsnacks.nvimas an alternative totmux.
Contributions are welcome! Please open an issue or pull request.
MIT