2021-07-24 03:12:35 +02:00
# Installing Client Tools
2023-10-05 03:11:27 +02:00
> **NOTE** Running different release versions will likely present incompatibilities. Ensure you're
> running matching release versions of client and server binaries. If you have any issues, check
> that you are running the latest version of Kanidm.
2021-07-24 03:12:35 +02:00
## From packages
2022-11-09 22:42:03 +01:00
Kanidm currently is packaged for the following systems:
2021-07-24 03:12:35 +02:00
2022-12-26 23:52:03 +01:00
- OpenSUSE Tumbleweed
2023-10-05 03:11:27 +02:00
- OpenSUSE Leap 15.4/15.5/15.6
2022-12-26 23:52:03 +01:00
- MacOS
- Arch Linux
- NixOS
2023-11-13 23:38:34 +01:00
- Fedora 38
2022-12-26 23:52:03 +01:00
- CentOS Stream 9
2021-07-24 03:12:35 +02:00
2022-05-31 06:13:21 +02:00
The `kanidm` client has been built and tested from Windows, but is not (yet) packaged routinely.
2023-10-05 03:11:27 +02:00
### OpenSUSE Tumbleweed / Leap 15.6
2021-07-24 03:12:35 +02:00
2023-10-05 03:11:27 +02:00
Kanidm is available in Tumbleweed and Leap 15.6. You can install the clients with:
2021-07-24 03:12:35 +02:00
2022-12-26 23:52:03 +01:00
```bash
zypper ref
zypper in kanidm-clients
```
2021-07-24 03:12:35 +02:00
2023-10-05 03:11:27 +02:00
### OpenSUSE Leap 15.4/15.5
2021-07-24 03:12:35 +02:00
2022-11-09 22:42:03 +01:00
Using zypper you can add the Kanidm leap repository with:
2021-07-24 03:12:35 +02:00
2022-12-26 23:52:03 +01:00
```bash
zypper ar -f obs://network:idm network_idm
```
2021-07-24 03:12:35 +02:00
Then you need to refresh your metadata and install the clients.
2022-12-26 23:52:03 +01:00
```bash
zypper ref
zypper in kanidm-clients
```
2021-07-24 03:12:35 +02:00
2022-11-09 22:42:03 +01:00
### MacOS - Brew
[Homebrew ](https://brew.sh/ ) allows addition of third party repositories for installing tools. On
MacOS you can use this to install the Kanidm tools.
2022-12-26 23:52:03 +01:00
```bash
brew tap kanidm/kanidm
brew install kanidm
```
2022-11-09 22:42:03 +01:00
### Arch Linux
[Kanidm on AUR ](https://aur.archlinux.org/packages?O=0&K=kanidm )
### NixOS
[Kanidm in NixOS ](https://search.nixos.org/packages?sort=relevance&type=packages&query=kanidm )
2022-03-14 08:29:04 +01:00
### Fedora / Centos Stream
2021-07-24 03:12:35 +02:00
2022-12-29 04:02:51 +01:00
<!-- deno - fmt - ignore - start -->
{{#template templates/kani-warning.md
imagepath=images
title=Take Note!
text=Kanidm frequently uses new Rust versions and features, however Fedora and Centos frequently are behind in Rust releases. As a result, they may not always have the latest Kanidm versions available.
}}
<!-- deno - fmt - ignore - end -->
2022-11-09 22:42:03 +01:00
Fedora has limited support through the development repository. You need to add the repository
2022-05-27 01:07:56 +02:00
metadata into the correct directory:
2021-07-24 03:12:35 +02:00
2022-12-26 23:52:03 +01:00
```bash
# Fedora
2023-11-13 23:38:34 +01:00
wget https://download.opensuse.org/repositories/network:/idm/Fedora_38/network:idm.repo
2022-12-26 23:52:03 +01:00
# Centos Stream 9
wget https://download.opensuse.org/repositories/network:/idm/CentOS_9_Stream/network:idm.repo
```
2021-07-24 03:12:35 +02:00
You can then install with:
2022-12-26 23:52:03 +01:00
```bash
dnf install kanidm-clients
```
2021-07-24 03:12:35 +02:00
2022-11-09 22:42:03 +01:00
## Tools Container
In some cases if your distribution does not have native kanidm-client support, and you can't access
cargo for the install for some reason, you can use the cli tools from a docker container instead.
2023-10-05 03:11:27 +02:00
This is a "last resort" and we don't really recommend this for day to day usage.
2023-03-02 03:47:23 +01:00
2022-12-26 23:52:03 +01:00
```bash
2023-03-02 03:47:23 +01:00
echo '{}' > ~/.cache/kanidm_tokens
chmod 666 ~/.cache/kanidm_tokens
2022-12-26 23:52:03 +01:00
docker pull kanidm/tools:latest
docker run --rm -i -t \
2023-03-02 03:47:23 +01:00
--network host \
2022-12-26 23:52:03 +01:00
-v /etc/kanidm/config:/etc/kanidm/config:ro \
-v ~/.config/kanidm:/home/kanidm/.config/kanidm:ro \
-v ~/.cache/kanidm_tokens:/home/kanidm/.cache/kanidm_tokens \
kanidm/tools:latest \
/sbin/kanidm --help
```
2022-11-09 22:42:03 +01:00
2023-03-02 03:47:23 +01:00
If you have a ca.pem you may need to bind mount this in as required as well.
2021-07-24 03:12:35 +02:00
2022-11-09 22:42:03 +01:00
> **TIP** You can alias the docker run command to make the tools easier to access such as:
2021-07-24 03:12:35 +02:00
2022-12-26 23:52:03 +01:00
```bash
alias kanidm="docker run ..."
```
2021-07-24 03:12:35 +02:00
2023-10-05 03:11:27 +02:00
## Cargo
The tools are available as a cargo download if you have a rust tool chain available. To install rust
you should follow the documentation for [rustup ](https://rustup.rs/ ). These will be installed into
2023-12-18 00:10:13 +01:00
your home directory. To update these, re-run the install command. You will likely need to install
2024-03-18 10:52:30 +01:00
additional development libraries, specified in the [Developer Guide ](developers/readme.md ).
2023-10-05 03:11:27 +02:00
```bash
cargo install kanidm_tools
```