Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor Readme improvements #3

Merged
merged 8 commits into from
Jan 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions README

This file was deleted.

48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Ivynet Client installation

The role installs ivynet client binary file in Linux and ensure it's in the global PATH.
Additionally, Ansible installs Docker CE (first adding matching package repository).

For more information about the Ivynet Client visit [here](https://docs.ivynet.dev/).

# Quick start

* Install [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible)
* Prepare an inventory file
* Prepare playbook e.g.
```
---
- name: Install IvyNet client
hosts: all
become: true
vars:
ivynet_client_version: 0.4.3
roles:
- ivynet-client-ansible
```

## Supported systems

Ivynet client should work with any Linux distribution which has the libssl3 and libcrypto libraries.

The role has a set of simple molecule tests confirming that it works with contemporary distributions:

- Debian (12),
- Ubuntu (22.04, 24.04),
- RedHat derivatives (Rocky Linux 9),
- Fedora (40).


## Testing

Molecule checks that:
- the binary file is installed
- the client starts and returns a sensible version string when called with the '-V' option


# Known issue

- Molecule does not work with Apple Silicon (at least with MacOS on it)

- Fedora 41 is an issue for Ansible dnf module (https://github.com/ansible/ansible/issues/84206).
That causes the role to fail on docker package installation.
2 changes: 1 addition & 1 deletion defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ivynet_client_bucket: "https://storage.googleapis.com/ivynet-share"
ivynet_client_install_path: "/opt/ivynet"

# Version of the file
ivynet_client_version: "0.3.0"
ivynet_client_version: "0.4.3"

# Name of the file
ivynet_client_file: "ivynet"
3 changes: 1 addition & 2 deletions molecule/default/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,13 @@
- ivynet_bin.stat.isreg is defined
- ivynet_bin.stat.isreg == True
- ivynet_bin.stat.size > 2**20
- name: Confirm right version
- name: Check if version printed out
ansible.builtin.shell:
cmd: |
set -o pipefail &&
{{ ivynet_client_path }} -V |
grep -qE "ivy\ [0-9]+(\.[0-9]+){2}"
executable: /bin/bash

register:
ivynet_version_check
changed_when: ivynet_version_check.rc != 0
Expand Down
Loading