SUSE / Portus

Authorization service and frontend for Docker registry (v2)
http://port.us.org/
Apache License 2.0
3k stars 471 forks source link

Remove popup confirmation doesn't work #2293

Closed kuviman closed 4 years ago

kuviman commented 4 years ago

Description

Can't remove anything (token, user, namespace) with remove buttons. The popup shows up but pressing yes is same as pressing no.

Steps to reproduce

  1. Go to profile and create token.
  2. Try to remove token from web ui

Deployment information

Deployment method: Used insecure example.

Jean-Baptiste-Lasselle commented 4 years ago

hi @kuviman I don't have a solution for you out of the box, but :

those are the main points you have to be very careful with, check / test everything :

#!/bin/bash

export WEBHK_CALL_BCK_URL=https://registry.mycompany.io/u/svendowideit/testhook/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/
# ---
# [jblasselle] is the username of the portus user I created using Portus WebUI.
# Still using Portus Web UI, I could :
#   => create a token I will use to docker 'login docker.mycompany.io' (and docker push)
#   => but I did not do that, because I want to make portus believe I docker pushed an image to 'docker.mycompany.io', though I never did.
#  The portus user just needs to exist, to deceive portus.
# --- so replace with your own existing portus user username
export PUSHER_PORTUS_AUTHENTICATED_USER_ID=jblasselle

sed -i "s#PUSHER_PORTUS_AUTHENTICATED_USER_ID_JINJA2_VAR#${PUSHER_PORTUS_AUTHENTICATED_USER_ID}#g" path/to/webhook-payload.json
sed -i "s#WEBHK_CALL_BCK_URL_JINJA2_VAR#${WEBHK_CALL_BCK_URL}#g" path/to/webhook-payload.json

# very, very, very verbose simulated call of the portus webhook
curl -vvv -X --data-binary "@path/to/webhook-payload.json" POST https://portus.pegasusio.io:3000/v2/webhooks/events

content of path/to/webhook-payload.json :

{
  "callback_url": "WEBHK_CALL_BCK_URL_JINJA2_VAR",
  "push_data": {
    "images": [
        "27d47432a69bca5f2700e4dff7de0388ed65f9d3fb1ec645e2bc24c223dc1cc3",
        "51a9c7c1f8bb2fa19bcd09789a34e63f35abb80044bc10196e304f6634cc582c"
    ],
    "pushed_at": 1.417566161e+09,
    "pusher": "PUSHER_PORTUS_AUTHENTICATED_USER_ID_JINJA2_VAR",
    "tag": "latest"
  },
  "repository": {
    "comment_count": 0,
    "date_created": 1.417494799e+09,
    "description": "",
    "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\n\n\nVOLUME\u0009\u0009[/var/cache/apt-cacher-ng]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n",
    "full_description": "Docker Hub based automated build from a GitHub repo",
    "is_official": false,
    "is_private": true,
    "is_trusted": true,
    "name": "testhook",
    "namespace": "svendowideit",
    "owner": "svendowideit",
    "repo_name": "svendowideit/testhook",
    "repo_url": "https://registry.mycompany.io/u/svendowideit/testhook/",
    "star_count": 0,
    "status": "Active"
  }
}
Jean-Baptiste-Lasselle commented 4 years ago

@kuviman also, You did not provide which version of Portus you are using : tha tis very important.

There is a reason why I am asking you the version number, because of this : make sure you are in 2.5 first, and run your tests again

In your case, after you upgraded to 2.5, do as I suggested, to have a proper docker-compose.yml

Here is an example docker-compose that should work, from @ashtonian :

https://github.com/Ashtonian/server-setup/blob/master/portus/docker-compose.yml

all you have to do is use the 2.5 version instead of 2.4.3 which ash uses in his compose

stale[bot] commented 4 years ago

Thanks for all your contributions! This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.