mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-24 04:57:00 +01:00
167 lines
4.4 KiB
Markdown
167 lines
4.4 KiB
Markdown
# Installing Client Tools
|
||
|
||
> [!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.
|
||
|
||
## From packages
|
||
|
||
Kanidm currently is packaged for the following systems:
|
||
|
||
- OpenSUSE Tumbleweed
|
||
- OpenSUSE Leap 15.4/15.5/15.6
|
||
- macOS
|
||
- Arch Linux
|
||
- CentOS Stream 9
|
||
- Debian
|
||
- Fedora 38
|
||
- NixOS
|
||
- Ubuntu
|
||
- Alpine Linux
|
||
|
||
The `kanidm` client has been built and tested from Windows, but is not (yet) packaged routinely.
|
||
|
||
### OpenSUSE Tumbleweed / Leap 15.6
|
||
|
||
Kanidm is available in Tumbleweed and Leap 15.6. You can install the clients with:
|
||
|
||
```bash
|
||
zypper ref
|
||
zypper in kanidm-clients
|
||
```
|
||
|
||
### OpenSUSE Leap 15.4/15.5
|
||
|
||
Using zypper you can add the Kanidm leap repository with:
|
||
|
||
```bash
|
||
zypper ar -f obs://network:idm network_idm
|
||
```
|
||
|
||
Then you need to refresh your metadata and install the clients.
|
||
|
||
```bash
|
||
zypper ref
|
||
zypper in kanidm-clients
|
||
```
|
||
|
||
### macOS - Homebrew
|
||
|
||
[Kanidm provides a Homebrew cask](https://github.com/kanidm/homebrew-kanidm),
|
||
which lets [Homebrew](https://brew.sh/) build and install the CLI client tools
|
||
from source:
|
||
|
||
```bash
|
||
brew tap kanidm/kanidm
|
||
brew install kanidm
|
||
```
|
||
|
||
> [!TIP]
|
||
>
|
||
> **Rust developers:** this formula will install a Rust toolchain with Homebrew,
|
||
> and add it to your `PATH`. *This may interfere with any Rust toolchain
|
||
> you've installed with [`rustup`](https://rustup.rs/).*
|
||
>
|
||
> You can unlink Homebrew's Rust toolchain (removing it from your `PATH`) with:
|
||
>
|
||
> ```sh
|
||
> brew unlink rust
|
||
> ```
|
||
>
|
||
> Homebrew will always use its version of Rust when building Rust packages, even
|
||
> when it is unlinked.
|
||
>
|
||
> Alternatively, you may wish to [install the Kanidm CLI with `cargo`](#cargo)
|
||
> instead – this will use whatever Rust toochain you've already installed.
|
||
|
||
### Arch Linux
|
||
|
||
[Kanidm on AUR](https://aur.archlinux.org/packages?O=0&K=kanidm)
|
||
|
||
### Fedora / Centos Stream
|
||
|
||
> [!NOTE]
|
||
>
|
||
> 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.
|
||
|
||
Fedora has limited support through the development repository. You need to add the repository
|
||
metadata into the correct directory:
|
||
|
||
```bash
|
||
# Fedora
|
||
wget https://download.opensuse.org/repositories/network:/idm/Fedora_38/network:idm.repo
|
||
# Centos Stream 9
|
||
wget https://download.opensuse.org/repositories/network:/idm/CentOS_9_Stream/network:idm.repo
|
||
```
|
||
|
||
You can then install with:
|
||
|
||
```bash
|
||
dnf install kanidm-clients
|
||
```
|
||
|
||
### NixOS
|
||
|
||
[Kanidm in NixOS](https://search.nixos.org/packages?sort=relevance&type=packages&query=kanidm)
|
||
|
||
### Ubuntu and Debian
|
||
|
||
See <https://kanidm.github.io/kanidm_ppa/> for nightly-built packages of the current development
|
||
builds, and how to install them.
|
||
|
||
## Alpine Linux
|
||
|
||
Kanidm is available in the
|
||
[Alpine Linux testing repository](https://pkgs.alpinelinux.org/packages?name=kanidm%2A).
|
||
|
||
To install the Kanidm client use:
|
||
|
||
```bash
|
||
apk add kanidm-clients
|
||
```
|
||
|
||
## 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.
|
||
|
||
This is a "last resort" and we don't really recommend this for day to day usage.
|
||
|
||
```bash
|
||
echo '{}' > ~/.cache/kanidm_tokens
|
||
chmod 666 ~/.cache/kanidm_tokens
|
||
docker pull kanidm/tools:latest
|
||
docker run --rm -i -t \
|
||
--network host \
|
||
--mount "type=bind,src=/etc/kanidm/config,target=/etc/kanidm/config" \
|
||
--mount "type=bind,src=$HOME/.config/kanidm,target=/home/kanidm/.config/kanidm" \
|
||
--mount "type=bind,src=$HOME/.cache/kanidm_tokens,target=/home/kanidm/.cache/kanidm_tokens" \
|
||
kanidm/tools:latest \
|
||
/sbin/kanidm --help
|
||
```
|
||
|
||
If you have a ca.pem you may need to bind mount this in as required as well.
|
||
|
||
> [!TIP]
|
||
>
|
||
> You can alias the docker run command to make the tools easier to access such as:
|
||
|
||
```bash
|
||
alias kanidm="docker run ..."
|
||
```
|
||
|
||
## 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
|
||
your home directory. To update these, re-run the install command. You will likely need to install
|
||
additional development libraries, specified in the [Developer Guide](developers/).
|
||
|
||
```bash
|
||
cargo install kanidm_tools
|
||
```
|