akamai / cli-eaa

CLI for Enterprise Application Access (EAA)
https://www.akamai.com/us/en/products/security/enterprise-application-access.jsp
Apache License 2.0
24 stars 7 forks source link

Error installing EAA - Unable to execute package manager (pip) #2

Closed adamatti closed 3 years ago

adamatti commented 3 years ago

I had this issue in my local box, then tried on docker and had the same error. Steps to reproduce:

Have pip v20.3.3, pip3, python 3.8.5 installed. Thanks in advance.

MikeSchiessl commented 3 years ago

Hi @adamatti , thanks for bringing this to our attention.

I just did a test and I can confirm the issue you see with the docker image you used (akamai/akamai-docker) as well as on the offical recommended image akamaiopen/cli

Could you please provide me the AKAMAI CLI binary version you are trying this with ?

I gonna have a deeper look into the topic.

MikeSchiessl commented 3 years ago

Hi @adamatti, i've now tried the same with my ubuntu vm and it worked like a charm (using latest akamai-cli binary release 1.1.5 from here.

Can i kindly ask you to run the following commands, just to double check and provide me the output

/opt/akamai/akamai upgrade
python3 --version
pip3 --version
AKAMAI_LOG=trace  /opt/akamai/akamai install eaa

Here's my output image

Best regards Mike

javiergarza commented 3 years ago

@adamatti

1) The goal of the akamai/akamai-docker image was to have an all in one image that contains most of the CLI packages and popular tools like HTTPie and jq developers may need to explore Akamai APIs within the lowest footprint possible. The akamai/akamai-docker was superseded with the akamai/shell image, which includes everything on the akamai-docker image and other newer packages like eaa with a much smaller footprint (403MB instead of 1.1GB). The smaller size was achieved by removing many dev dependencies (see below an usage example listing the pre-installed CLI packages including eaa)

docker run --rm -ti -v $HOME/.edgerc:/root/.edgerc akamai/shell
                ___    __                         _
               /   |  / /______ _____ ___  ____ _(_)
              / /| | / //_/ __ `/ __ `__ \/ __ `/ /
             / ___ |/ ,< / /_/ / / / / / / /_/ / /
            /_/  |_/_/|_|\__,_/_/ /_/ /_/\__,_/_/
===============================================================
=  Welcome to the Akamai Docker Image                         =
===============================================================
=  Project page:                                              =
=  https://github.com/akamai/akamai-docker                    =
===============================================================
Akamai DevOps [~] >> akamai
Usage:
  akamai [global flags] command [command flags] [arguments...]

Built-In Commands:
  config
  help
  install (alias: get)
  list
  search
  uninstall
  update
  upgrade

Installed Commands:
  adaptive-acceleration (alias: a2)
  api-gateway
  api-keys
  api-security
  appsec
  cloudlets (alias: cloudlets)
  cps (alias: certs)
  dns
  eaa
  edgeworkers (aliases: ew, edgeworkers)
  firewall (alias: fw)
  image-manager (alias: im)
  jsonnet (alias: jsonnet)
  onboard (alias: onboard)
  pipeline (aliases: pl, pd, proddeploy)
  property
  property-manager (aliases: pm, snippets)
  purge
  sandbox
  site-shield (alias: ss)
  terraform
  visitor-prioritization (alias: vp)

Global Flags:
   --bash     Output bash auto-complete
   --zsh          Output zsh auto-complete
   --proxy value  Set a proxy to use

2) If you plan to use the docker image for automation purposes you may want to consider using the EAA variant which is just 45MB (see below)

$ docker run --rm -ti -v $HOME/.edgerc:/root/.edgerc akamai/eaa
Unable to find image 'akamai/eaa:latest' locally
latest: Pulling from akamai/eaa
cbdbe7a5bc2a: Already exists
27c9d89c0d05: Already exists
dbdb384d2a87: Already exists
1d557ad0ab38: Already exists
3b7bd96fe9e6: Already exists
e11de9c0c12c: Pull complete
Digest: sha256:2b04ee225cc6a1a85852a476c5ac153381294fbe30950551b8744ddc7a024c31
Status: Downloaded newer image for akamai/eaa:latest

~ # akamai
Usage:
  akamai [global flags] command [command flags] [arguments...]

Built-In Commands:
  config
  help
  install (alias: get)
  list
  search
  uninstall
  update
  upgrade

Installed Commands:
  eaa

Global Flags:
   --bash     Output bash auto-complete
   --zsh          Output zsh auto-complete
   --proxy value  Set a proxy to use

3) Another option is to use docker compose to create your own image with the components you need. You can find the Dockerfiles on https://github.com/akamai/akamai-docker/tree/master/dockerfiles

4) Akamai Docker images do not disallow package installs, it’s completely possible to e.g. install pip (or any other build dependencies) in the container python3 -m easy_install pip; akamai install eaa

5) Please avoid using any images under the organization "akamaiopen" (or any other organization that is not "akamai") as those are legacy images and have not been updated in a while and should be archived.

Hope this helps! Feel free to use https://github.com/akamai/akamai-docker/issues if you have any issues with the Docker images

bitonio commented 3 years ago

@adamatti I hope the detailled instructions helped you, feel free to re-open a ticket if you need further assistance.