【发布时间】:2019-05-16 10:41:41
【问题描述】:
我在 Windows 2016 服务器上安装了 Keycloak 并通过 Ansible 创建了一个管理员用户,到目前为止一切顺利。
现在我想通过 Ansible 安装 Admin API,以便也通过 Ansible 配置 Keycloak。
当我在 Windows 机器的命令行中本地运行接下来的 3 个命令时,一切正常:
1. 安装API:从bin文件夹运行kcadm.bat
连接到 api:
\bin>kcadm config credentials --server http://localhost:8080/auth --realm master --user keycloak然后我被要求进行身份验证: 登录http://localhost:8080/auth 作为域主的用户keycloak 输入密码:xxxxx创建客户端:
c:\> kcadm create clients -r master -s clientId=my-client-s "redirectUris=[\"http://localhost:8980/myapp/*\"]" -i > clientid.txt
谁能建议如何在 Ansible 中执行此操作?
我用 win 命令运行第一个命令:
- name: install admin cli for keycloak
win_command: 'C:\Install\Keycloak\keycloak-6.0.1\keycloak- 6.0.1\bin\kcadm.bat'
我得到:
fatal: [keykloak-ansible]: FAILED! => {"changed": true, "cmd": "C:\\Install\\Keycloak\\keycloak-6.0.1\\keycloak-6.0.1\\bin\\kcadm.bat", "delta": "0:00:01.190629", "end": "2019-05-16 06:42:36.617885", "msg": "non-zero return code", "rc": 1, "start": "2019-05-16 06:42:35.427256", "stderr": "", "stderr
_lines"
不确定 kcadm.bat 需要什么,因为从细节上看它没有安装任何东西。 因此,我尝试立即运行以下身份验证命令:
- name: keycloak cli authentication
win_command: kcadm config credentials --server http://10.128.32.220:8080/auth --realm master --user keycloak --password xxx
args:
chdir: 'C:\Install\Keycloak\keycloak-6.0.1\keycloak-6.0.1\bin'
但这失败了:
fatal: [keykloak-ansible]: FAILED! => {"changed": false, "cmd": "C:\\Install\\Keycloak\\keycloak-6.0.1\\keycloak-6.0.1\\bin\\kcadm config credentials --server http://10.128.32.220:8080/auth --realm master --user keycloak", "msg": "Exception calling \"SearchPath\" with \"1\" argument(s): \"Could not
locate the following executable C:\\Install\\Keycloak\\keycloak-6.0.1\\keycloak-6.0.1\\bin\\kcadm.exe
有人有建议吗?有人曾经在 Windows 上将 Admin CLI 与 Ansible 一起使用吗?
谢谢 莉娜
【问题讨论】: