Je joue avec le compte API et service REST openshift dans le but de configurer quelque chose pour automatiser partiellement l'administration de openshift via des appels REST. Actuellement encore sur Openshift 3.1.Openshift 3.1: Liste des projets d'un compte service en utilisant REST - retourne la liste vide
Où j'en suis arrivé: J'ai réussi à créer un compte de service, lui donner accès et l'utiliser pour les appels REST. Je ne peux pas, cependant, lui faire avoir une liste de projets.
# account exists with name robot in namespace default
$ oc describe serviceaccount robot
Name: robot
Namespace: default
Labels: <none>
...
# tried a couple of approaches for granting access:
$ oc policy add-role-to-user admin system:serviceaccounts:robot -n default
$ oc policy add-role-to-user admin robot -n default
$ oc policy add-role-to-user admin system:serviceaccounts:default:robot -n default
# get token en do REST call
$ SECRET=`oc describe serviceaccount robot | grep -i tokens | awk '{print $2}'`
$ TOKEN=`oc describe secret $SECRET | grep -i ^token | awk '{print $2}'`
$ curl -X GET -H "Authorization: Bearer $TOKEN" https://$OPENSHIFT_HOSTNAME/oapi/v1/projects --insecure
{
"kind": "ProjectList",
"apiVersion": "v1",
"metadata": {
"selfLink": "/oapi/v1/projects"
},
"items": []
}
Je ne comprends pas wy ma liste de projets est encore vide. J'ai essayé d'ajouter le serviceaccount à plusieurs autres projets, mais la liste reste vide.
Alors que je pensais que je l'avais fait essayé (j'avais parlé avec un collègue dans l'intervalle, qui a souligné la même chose), j'avais encore un s après serviceaccounts supplémentaire. Correction qui l'a réparé. Merci! – HSquirrel