Troubleshooting

How to handle unauthorized issue

If you get an error 401 Unauthorized or unauthorized: authentication required from docker, you may need to re-authenticate by calling eai login.

It is possible your environment has some remaining environment variables which can impact the authentication process.

Be sure the following variables are not defined: - EAI_TOKEN: A sepecific token is defined and can be invalid or expired - EAI_PROFILE: A profile is defined and you are trying to use another Toolkit when pushing a docker image

About docker, if you called docker login before, you can cancel it calling docker logout registry.console.elementai.com. You can validate it by looking at ~/.docker/config.json, the section auths should not contain any Toolkit registry.

To see if the docker credentials are properly set up, run the following command, it should return a JSON payload. If it doesn’t, the symlink created above is probably not in your PATH.

docker-credential-eai-<profile> get

How to handle forbidden issue

If you get an error 403 Forbidden, it means you are successfully logged on Toolkit, but you do not have the right permissions to perform the action you requested.

Be sure the following variables are not defined: - EAI_TOKEN: A sepecific token is defined and can have less permissions than expected

About docker, if you called docker login before, you can cancel it calling docker logout registry.console.elementai.com. You can validate it by looking at ~/.docker/config.json, the section auths should not contain any Toolkit registry.

How can I validate permission with a role? I get no basic auth credentials or Error: http: 401 Unauthorized with CLI or docker commands

  1. Check the environment var is correctly defined (don’t do that in Drone/CI to not log the secret in log):

  • echo $EAI_TOKEN

  1. Check you are correctly logged in with the good role ID:

  • eai login validate

  • curl -H "$(eai login token -H)" https://console.elementai.com/v1/me

  1. Validate your role has the right permissions.

  • eai role policy ls [roleID] will return the permission list of the role.

  • curl -H "$(eai login token -H)" https://console.elementai.com/v1/rule/[roleID]

Runs Fine on a Mac but Fails in docker on the Same Machine

If you get an error like +++ killed by SIGKILL +++, your program may be running out of memory. Check your docker configuration for a default memory limit. Here is a related thread on StackOverflow.