Coder Social home page Coder Social logo

keidarcy / e1s Goto Github PK

View Code? Open in Web Editor NEW
133.0 3.0 7.0 30.68 MB

E1S - Easily Manage AWS ECS Resources in Terminal(~k9s for ECS) ๐Ÿฑ

Home Page: https://github.com/keidarcy/e1s

License: MIT License

Makefile 0.45% Go 91.10% HCL 8.44%
aws aws-ecs cli golang terminal ecs k9s kubernets aws-fargate ecs-exec

e1s's Introduction

e1s's People

Contributors

dependabot[bot] avatar keidarcy avatar mdb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

e1s's Issues

credential_process doesn't work for authentication

I've been getting bit on credential_process multiple places on products using the aws go sdk v2 (terraform,pulumi and now e1s ๐Ÿ˜„ etc) due to this bug I think you just might need to bump the sdk to the fixed version

 ~ โฏ e1s
sh: /Users/ryan.odonnell/go/bin/redacted: No such file or directory
e1s failed to start, please check your aws cli credential or permission.
operation error ECS: ListClusters, get identity: get credentials: failed to refresh cached credentials, process provider error: error in credential_process: exit status 127

AWS Credentials chain not working

The tool fails to initialize when ~/.aws/config file is empty and ~/.aws/credentials file only contains profiles that work with other tooling, the example of one profile being:

...
[ProfileName_Prod_ReadOnly]
aws_access_key_id = <REDACTED>
aws_secret_access_key = <REDACTED>
aws_session_token = <REDACTED>
aws_security_token = <REDACTED>
token_expiration = 2024-01-31T02:14:57Z

...

Alongside this profile, the following env vars are initialized in same shell where e1s run is attempted:

export AWS_PROFILE=ProfileName_Prod_ReadOnly
export AWS_DEFAULT_PROFILE=ProfileName_Prod_ReadOnly

The attempt to run e1s fails with following error message:

e1s -readonly

e1s failed to start, please check your aws cli credential or permission.
operation error ECS: ListClusters, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , request send failed, Post "https://ecs..amazonaws.com/": Bad Request

Rendering issues after reload

Thank you for a such helpful tool! Since I started to use it, I've picked up few issues that happen after Ctrl-r is hit:

  • List selection is being reset to position 0. Let's say I have 10 services and I've highlighted 4th, I'd like selection to stay on it after list is refreshed
  • It seems like list is not being re-drawn until navigation keys are pressed. (press Ctrl-r, pop-up is shown that resources were reloaded but list stays exactly the same, then you press Up or Down and list is re-drawn)
  • Service event view (w) being closed after Ctrl-r is pressed few times (you go back to the Services view). There is no exact number of times you need to refresh view for this to happen - sometimes it happens on a second Ctrl-r, sometimes on third...

P.S.: also +1 for the auto refresh mode (maybe at least while service is being updated)

Seems to be a limit of 10 services

Hi, when I browse a ecs cluster with more than 10 services, it seems to be able to view only 10? Or maybe I'm just doing it wrong? (TM)

Add options to reload and/or auto-refresh

In k9s the UI gets automatically refreshed and you can force a reload with <ctrl>+r. In e1s this is not the case and forcing a reload is also not supported. I'd like at least to have the ability to force a reload, with a further enhancement being the auto refresh.

e1s fails to render a cluster's "services" view when the number of services is divisible by 10

Currently, e1s silently fails to render a cluster's "services" view when the number of services fetched via the AWS API is divisible by 10. While no error is surfaced in the e1s UI, the /tmp/debug-e1s.log reveals the following clue:

2024/01/30 06:54:31 e1s - aws failed to describe services, err: operation error ECS: DescribeServices, https response error StatusCode: 400, RequestID: REDACTED, InvalidParameterException: Services cannot be empty
2024/01/30 06:54:31 e1s - show services page failed, error: operation error ECS: DescribeServices, https response error StatusCode: 400, RequestID: REDACTED InvalidParameterException: Services cannot be empty

e1s displays a maximum of 100 services associated with a cluster

๐Ÿ‘‹ Hi - thanks for your work on es1! Here's a lil' bug users may want to be aware of:

In addition to issue #116 , which prevents the rendering of services when the service count is divisible by 10 (including when there are >= 100 services on a cluster), I believe there's another problem hiding in the details: in current implementation, es1 will not display more than 100 services, as it only fetches first 100 services associated with a cluster.

Lacking details when using ECS over EC2 ?

Hi there

Gave a quick shot at e1s. It look likes what I've been looking for, except that I've few details. Maybe because we're running tasks over an EC2 ASG ? Skimming through the README I saw a focus on Fargate, might explain why and are grayed out ?

Thanks !

Unable to update task definition on services with CODE_DEPLOY deployment controller

This is a really great tool, thank you for working on this ๐Ÿ™‡๐Ÿป

I only have this one issue with it where I couldn't update desired tasks on services with CODE_DEPLOY as deployment controller, I haven't look that much deeper into this but changing it from console works, so I'm guessing maybe they use AWS CodeDeploy API behind the scene to upgrade instead of normal ECS Service update, I'm wondering if e1s could do the same?

Screenshot_20240220_164240

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.