one2nc / cloudlens Goto Github PK
View Code? Open in Web Editor NEWk9s like CLI for AWS and GCP
Home Page: https://one2n.gitbook.io/docs/
License: Apache License 2.0
k9s like CLI for AWS and GCP
Home Page: https://one2n.gitbook.io/docs/
License: Apache License 2.0
Hello, what is the project status? I see from this comment it is in readonly mode.
Would you accept PRs to introduce new services? I have something basic for ECS
To use cloudlens with localstack use the aws sub-command with --localstack or -l flag
go run main.go aws --localstack
I have a IAM user in account1
and to access resources in account2
I have set up access as described here - IAM tutorial: Delegate access across AWS accounts using IAM roles. I was unable to use cloudlens
to access resources in account2
, when the same shared configuration and credentials file(~/.aws/config
and ~/.aws/credentials
) works with AWS CLI.
cloudlens
should deal with shared configuration and credentials similar to AWS CLI/AWS API
cloudlens
is not able to work with profiles which assume roles.
~/.aws/config
# Credentials specified
[profile source]
region=us-east-1
# No credentials
[profile sandbox-dev]
region = us-east-1
role_arn = arn:aws:iam::123456789123:role/S3Admin
source_profile = source
~/.aws/credentials
[source]
aws_access_key_id=accessKeyID
aws_secret_access_key=secretAccessKey
cloudlens
doesn't even detect the sandbox-dev
profile.
Need ability to add Google Cloud functionality.
To begin with, we will support
I installed the tool and launched it,
$ brew install one2nc/cloudlens/cloudlens
$ cloudlens
I didn't have a default profile set in ~/.aws/credentials
so I got message
Profile 'default' not found, using profile 'personal'...
I used --profile
arg and I got this error
Credentials have expired
panic: aws session init failed -- AWS Credentials expired
goroutine 1 [running]:
github.com/one2nc/cloudlens/cmd.run(0x1020e1d00?, {0x10163a704?, 0x0?, 0x0?})
github.com/one2nc/cloudlens/cmd/root.go:73 +0x4c8
github.com/spf13/cobra.(*Command).execute(0x1020e1d00, {0x14000190200, 0x0, 0x0})
github.com/spf13/[email protected]/command.go:920 +0x5b0
github.com/spf13/cobra.(*Command).ExecuteC(0x1020e1d00)
github.com/spf13/[email protected]/command.go:1044 +0x35c
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:968
github.com/one2nc/cloudlens/cmd.Execute()
github.com/one2nc/cloudlens/cmd/root.go:42 +0x28
main.main()
github.com/one2nc/cloudlens/main.go:8 +0x1c
Same error when I copied my AWS credentials to default
in ~/.aws/credentials.
MaC OSX M1 Ventura 13.0
add a pr and issue template
invalid memory address or nil pointer dereference
when trying to enter the empty bucketWhen sorting ascending, I currently get
1.8 GB
3.2 MB
10 MB
19 GB
33 kB
...
For Minor or Patch version, if an user run any command, then the CLI should auto-update.
Hello, It would be a nice thing to have a filter/search functionality.
I'm using K9s on daily basis and one of the key-features a like is ability to filter resources by using "/" shortcut.
This really helps to navigate and find the right resource much faster.
Another thig, is some resources like ec2 instances, VPC and subnets don't have Name displayed. I know that in some cases this Tag is not mandatory, but adding Name helps to identify the resource better.
Installed with brew, version 0.1.4
First time run, select either provider from the text menu. Immediate go panic and crash. Running on Mac M1, Monterey.
A colleague has the same issue on an Ubuntu VM running on Windows.
14:36:19 ❯ cloudlens
panic: runtime error: index out of range [0] with length 0 [recovered]
panic: runtime error: index out of range [0] with length 0
goroutine 1 [running]:
github.com/derailed/tview.(*Application).Run.func1()
github.com/derailed/[email protected]/application.go:243 +0x50
panic({0x101dc8c20, 0x14000198390})
runtime/panic.go:884 +0x204
github.com/one2nc/cloudlens/internal/view.(*App).handleGCP(0x14000c099a0)
github.com/one2nc/cloudlens/internal/view/app.go:187 +0x648
github.com/one2nc/cloudlens/internal/view.(*App).handleCloudSelection(0x14000c099a0, {0x101518676?, 0x0?})
github.com/one2nc/cloudlens/internal/view/app.go:227 +0x9c
github.com/one2nc/cloudlens/internal/view.(*App).showCloudSelectionScreen.func2()
github.com/one2nc/cloudlens/internal/view/app.go:213 +0x2c
github.com/derailed/tview.(*List).InputHandler.func1(0x14000c7a400?, 0x14000794050?)
github.com/derailed/[email protected]/list.go:582 +0xa8
github.com/derailed/tview.(*Box).WrapInputHandler.func1(0x140005e8480?, 0xd4ee60?)
github.com/derailed/[email protected]/box.go:182 +0x54
github.com/derailed/tview.(*Flex).InputHandler.func1(0x14000c7a200?, 0x14000794040?)
github.com/derailed/[email protected]/flex.go:261 +0xd4
github.com/derailed/tview.(*Box).WrapInputHandler.func1(0x14000c2aae0?, 0x1008ca2ec?)
github.com/derailed/[email protected]/box.go:182 +0x54
github.com/derailed/tview.(*Flex).InputHandler.func1(0x140001c1f00?, 0x14000794030?)
github.com/derailed/[email protected]/flex.go:261 +0xd4
github.com/derailed/tview.(*Box).WrapInputHandler.func1(0x14000c2a990?, 0x10ac87cc8?)
github.com/derailed/[email protected]/box.go:182 +0x54
github.com/derailed/tview.(*Pages).InputHandler.func1(0x10?, 0x101c9a6c0?)
github.com/derailed/[email protected]/pages.go:332 +0xa8
github.com/derailed/tview.(*Box).WrapInputHandler.func1(0x14000c2a330?, 0x14000d7fb60?)
github.com/derailed/[email protected]/box.go:182 +0x54
github.com/derailed/tview.(*Application).Run(0x140000341c0)
github.com/derailed/[email protected]/application.go:334 +0x70c
github.com/one2nc/cloudlens/internal/view.(*App).Run(0x14000c099a0)
github.com/one2nc/cloudlens/internal/view/app.go:296 +0x80
github.com/one2nc/cloudlens/cmd.initView()
github.com/one2nc/cloudlens/cmd/root.go:57 +0xd0
github.com/one2nc/cloudlens/cmd.run(0x102d9bbe0?, {0x10151bcb2?, 0x0?, 0x0?})
github.com/one2nc/cloudlens/cmd/root.go:51 +0x1c
github.com/spf13/cobra.(*Command).execute(0x102d9bbe0, {0x140001901d0, 0x0, 0x0})
github.com/spf13/[email protected]/command.go:920 +0x5b0
github.com/spf13/cobra.(*Command).ExecuteC(0x102d9bbe0)
github.com/spf13/[email protected]/command.go:1044 +0x35c
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:968
github.com/one2nc/cloudlens/cmd.Execute()
github.com/one2nc/cloudlens/cmd/root.go:44 +0x58
main.main()
github.com/one2nc/cloudlens/main.go:8 +0x1c
add the listing of regions in the gcp cloud provider
I am not using IAM access key and secret for AWS, but AWS SSO. This means that there is no ~/.aws/credentials
file.
I see the following error
❯ cloudlens
panic: failed to read profiles -- open /Users/athiqur.rahman/.aws/credentials: no such file or directory
goroutine 1 [running]:
github.com/one2nc/cloudlens/cmd.readAndValidateProfile()
github.com/one2nc/cloudlens/cmd/root.go:90 +0x2c5
github.com/one2nc/cloudlens/cmd.run(0x22f4ce0?, {0x1a280ec?, 0x0?, 0x0?})
github.com/one2nc/cloudlens/cmd/root.go:63 +0x375
github.com/spf13/cobra.(*Command).execute(0x22f4ce0, {0xc000034240, 0x0, 0x0})
github.com/spf13/[email protected]/command.go:920 +0x847
github.com/spf13/cobra.(*Command).ExecuteC(0x22f4ce0)
github.com/spf13/[email protected]/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:968
github.com/one2nc/cloudlens/cmd.Execute()
github.com/one2nc/cloudlens/cmd/root.go:41 +0x25
main.main()
github.com/one2nc/cloudlens/main.go:8 +0x17
Let me know if you require further information
add devcontainer for easy deployment
improve test coverage in the gcp cloud provider
add support for different skin colour
As mentioned in title, add following flag
-u --update update cloudlens to the latest release version
ref:
I am using AWS SSO with profiles, but I am getting following errors:
cloudlens --profile master
panic: failed to read profiles -- NO PROFILES FOUND
goroutine 1 [running]:
github.com/one2nc/cloudlens/cmd.readAndValidateProfile()
github.com/one2nc/cloudlens/cmd/root.go:90 +0x228
github.com/one2nc/cloudlens/cmd.run(0x105ad1d00?, {0x10502a704?, 0x2?, 0x2?})
github.com/one2nc/cloudlens/cmd/root.go:62 +0x1f4
github.com/spf13/cobra.(*Command).execute(0x105ad1d00, {0x14000194190, 0x2, 0x2})
github.com/spf13/[email protected]/command.go:920 +0x5b0
github.com/spf13/cobra.(*Command).ExecuteC(0x105ad1d00)
github.com/spf13/[email protected]/command.go:1044 +0x35c
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:968
github.com/one2nc/cloudlens/cmd.Execute()
github.com/one2nc/cloudlens/cmd/root.go:42 +0x28
main.main()
github.com/one2nc/cloudlens/main.go:8 +0x1c
aws sts get-caller-identity
Output:
proposal to add listing of different databases that are running in the cloud
Hello,
I have in ~/.aws/config
[profile qqq]
region = eu-west-1
output = json
[profile env_prd]
source_profile = qqq
role_arn = ...
But cloudlens doesn't find profile env_prd
- any way to make it work? Or any suggestions?
aws-cli works.
can we add go install github.com/one2nc/cloudlens@latest
to improve the installation experience
Hey!
I noticed the self update works only until the most recent version tag - meaning it's back in time with code from April.
Is it intentional, and you plan a release or an oversight and just needs a bump ?
Thanks in advance! Amazing tool. :)
support fargate for aws cloud provider
It would be great if you could choose an EC2 instance and connect using SSM using cloudlens (the same logic as kubectl exec
in k9s)
I am looking forward to use cloudlens along with localstack.
I can see a PR #30 being merged that takes care of that feature.
I can pull the main branch and give this a run myself.
But I also need to introduce this tool to my team, they should be able to run a brew upgrade/install
command and latest release version should be available to use.
I request you to plan for a release ASAP.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.