cd5c56f
# Turn off automatic python byte compilation because these are Ansible
cd5c56f
# roles and the files are transferred to the node and compiled there with
6932801
# the python version used in the node
cd5c56f
%define __brp_python_bytecompile %{nil}
cd5c56f
6932801
%global python %{__python3}
6932801
cd5c56f
Summary: Roles and playbooks to deploy FreeIPA servers, replicas and clients
cd5c56f
Name: ansible-freeipa
3fd1b52
Version: 0.4.0
3394789
Release: 1%{?dist}
cd5c56f
URL: https://github.com/freeipa/ansible-freeipa
cd5c56f
License: GPLv3+
cd5c56f
Source: https://github.com/freeipa/ansible-freeipa/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
cd5c56f
BuildArch: noarch
cd5c56f
cd5c56f
%description
9369114
Ansible roles and playbooks to install and uninstall FreeIPA servers, replicas and clients. Also modules for group, host, topology and user management.
cd5c56f
9369114
Note: The Ansible playbooks and roles require a configured Ansible environment where the Ansible nodes are reachable and are properly set up to have an IP address and a working package manager.
cd5c56f
Features
cd5c56f
cd5c56f
- Server, replica and client deployment
cd5c56f
- Cluster deployments: Server, replicas and clients in one playbook
cd5c56f
- One-time-password (OTP) support for client installation
cd5c56f
- Repair mode for clients
ff949f8
- Backup and restore, also to and from controller
9369114
- Modules for automembership rule management
6932801
- Modules for config management
6932801
- Modules for delegation management
6932801
- Modules for dns config management
6aa7191
- Modules for dns forwarder management
5231d76
- Modules for dns record management
6aa7191
- Modules for dns zone management
6aa7191
- Modules for group management
6aa7191
- Modules for hbacrule management
6aa7191
- Modules for hbacsvc management
6aa7191
- Modules for hbacsvcgroup management
6aa7191
- Modules for host management
6aa7191
- Modules for hostgroup management
6932801
- Modules for location management
ff949f8
- Modules for permission management
6932801
- Modules for privilege management
6aa7191
- Modules for pwpolicy management
6932801
- Modules for role management
6932801
- Modules for self service management
9369114
- Modules for server management
6aa7191
- Modules for service management
6aa7191
- Modules for sudocmd management
6aa7191
- Modules for sudocmdgroup management
6aa7191
- Modules for sudorule management
6aa7191
- Modules for topology management
9369114
- Modules for trust management
6aa7191
- Modules for user management
6aa7191
- Modules for vault management
cd5c56f
cd5c56f
Supported FreeIPA Versions
cd5c56f
cd5c56f
FreeIPA versions 4.6 and up are supported by all roles.
cd5c56f
9369114
The client role supports versions 4.4 and up, the server role is working with versions 4.5 and up, the replica role is currently only working with versions 4.6 and up.
cd5c56f
Supported Distributions
cd5c56f
cd5c56f
- RHEL/CentOS 7.4+
cd5c56f
- Fedora 26+
cd5c56f
- Ubuntu
6aa7191
- Debian 10+ (ipaclient only, no server or replica!)
cd5c56f
cd5c56f
Requirements
cd5c56f
cd5c56f
  Controller
6aa7191
6aa7191
  - Ansible version: 2.8+ (ansible-freeipa is an Ansible Collection)
6aa7191
    /usr/bin/kinit is required on the controller if a one time password (OTP)
6aa7191
    is used
cd5c56f
  - python3-gssapi is required on the controller if a one time password (OTP)
6aa7191
    is used with keytab to install the client.
cd5c56f
cd5c56f
  Node
6aa7191
cd5c56f
  - Supported FreeIPA version (see above)
cd5c56f
  - Supported distribution (needed for package installation only, see above)
cd5c56f
cd5c56f
Limitations
cd5c56f
6aa7191
External signed CA is now supported. But the currently needed two step process
6aa7191
is an issue for the processing in a simple playbook.
6aa7191
Work is planned to have a new method to handle CSR for external signed CAs in
6aa7191
a separate step before starting the server installation.
6aa7191
cd5c56f
6932801
%package tests
6932801
Summary: ansible-freeipa tests
6932801
Requires: %{name} = %{version}-%{release}
6932801
6932801
%description tests
6932801
ansible-freeipa tests.
6932801
6932801
Please have a look at %{_datadir}/ansible-freeipa/requirements-tests.txt
6932801
to get the needed requrements to run the tests.
6932801
6932801
cd5c56f
%prep
cd5c56f
%setup -q
1904aa2
# Do not create backup files with patches
3394789
cd5c56f
# Fix python modules and module utils:
cd5c56f
# - Remove shebang
cd5c56f
# - Remove execute flag
abce4d1
for i in roles/ipa*/library/*.py roles/ipa*/module_utils/*.py plugins/*/*.py; do
6932801
    sed -i '1{/\/usr\/bin\/python*/d;}' $i
cd5c56f
    chmod a-x $i
cd5c56f
done
6932801
ff949f8
for i in utils/*.py utils/ansible-ipa-*-install utils/new_module \
ff949f8
         utils/changelog utils/ansible-doc-test;
ff949f8
do
6932801
    sed -i '{s@/usr/bin/python*@%{python}@}' $i
6932801
done
cd5c56f
3394789
cd5c56f
%build
cd5c56f
cd5c56f
%install
cd5c56f
install -m 755 -d %{buildroot}%{_datadir}/ansible/roles/
cd5c56f
cp -rp roles/ipaserver %{buildroot}%{_datadir}/ansible/roles/
abce4d1
cp -rp roles/ipaserver/README.md README-server.md
cd5c56f
cp -rp roles/ipareplica %{buildroot}%{_datadir}/ansible/roles/
abce4d1
cp -rp roles/ipareplica/README.md README-replica.md
cd5c56f
cp -rp roles/ipaclient %{buildroot}%{_datadir}/ansible/roles/
abce4d1
cp -rp roles/ipaclient/README.md README-client.md
bd80b23
cp -rp roles/ipabackup %{buildroot}%{_datadir}/ansible/roles/
bd80b23
cp -rp roles/ipabackup/README.md README-backup.md
abce4d1
install -m 755 -d %{buildroot}%{_datadir}/ansible/plugins/
abce4d1
cp -rp plugins/* %{buildroot}%{_datadir}/ansible/plugins/
cd5c56f
6932801
install -m 755 -d %{buildroot}%{_datadir}/ansible-freeipa
6932801
cp requirements*.txt %{buildroot}%{_datadir}/ansible-freeipa/
6932801
cp -rp utils %{buildroot}%{_datadir}/ansible-freeipa/
6932801
install -m 755 -d %{buildroot}%{_datadir}/ansible-freeipa/tests
6932801
cp -rp tests %{buildroot}%{_datadir}/ansible-freeipa/
6932801
cd5c56f
%files
cd5c56f
%license COPYING
cd5c56f
%{_datadir}/ansible/roles/ipaserver
cd5c56f
%{_datadir}/ansible/roles/ipareplica
cd5c56f
%{_datadir}/ansible/roles/ipaclient
bd80b23
%{_datadir}/ansible/roles/ipabackup
3fd1b52
%{_datadir}/ansible/plugins/doc_fragments
abce4d1
%{_datadir}/ansible/plugins/module_utils
abce4d1
%{_datadir}/ansible/plugins/modules
abce4d1
%doc README*.md
abce4d1
%doc playbooks
6932801
%{_datadir}/ansible-freeipa/requirements.txt
6932801
%{_datadir}/ansible-freeipa/requirements-dev.txt
6932801
%{_datadir}/ansible-freeipa/utils
6932801
6932801
%files tests
6932801
%{_datadir}/ansible-freeipa/tests
6932801
%{_datadir}/ansible-freeipa/requirements-tests.txt
cd5c56f
cd5c56f
%changelog
3fd1b52
* Wed Oct  6 2021 Thomas Woerner <twoerner@redhat.com> - 0.4.0-1
3fd1b52
- Update to version 0.4.0
3fd1b52
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.4.0
3fd1b52
6b182c0
* Wed Jul 14 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.8-1
6b182c0
- Update to version 0.3.8
6b182c0
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.8
6b182c0
- Update to version 0.3.7
6b182c0
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.7
6b182c0
9369114
* Tue Jun  1 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.6-1
9369114
- Update to version 0.3.6
9369114
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.6
9369114
261b0f1
* Wed Mar  3 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.5-1
261b0f1
- Update to version 0.3.5
261b0f1
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.5
261b0f1
e7dfd32
* Mon Jan 18 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.4-1
e7dfd32
- Update to version 0.3.4
e7dfd32
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.4
e7dfd32
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.3
e7dfd32
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.2
e7dfd32
3394789
* Wed Dec  2 2020 Thomas Woerner <twoerner@redhat.com> - 0.3.1-1
3394789
- Update to version 0.3.1
3394789
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.1
3394789
- ipabackup: Fix undefined vars for conditions in shell tasks without else
3394789
bd80b23
* Tue Dec  1 2020 Thomas Woerner <twoerner@redhat.com> - 0.3.0-2
bd80b23
- Ship ipabackup role for backup and restore
bd80b23
ff949f8
* Thu Nov 26 2020 Thomas Woerner <twoerner@redhat.com> - 0.3.0-1
ff949f8
- Update to version 0.3.0
ff949f8
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.0
ff949f8
6932801
* Fri Oct 09 2020 Thomas Woerner <twoerner@redhat.com> - 0.2.1-1
6932801
- Update to version 0.2.1
6932801
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.2.1
6932801
- Update to version 0.2.0
6932801
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.2.0
6932801
- New tests sub package providing upstream tests
6932801
- Utils in /usr/share/ansible-freeipa/utils
6932801
7cebb5e
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.12-2
7cebb5e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
7cebb5e
3063f6f
* Mon Jun 15 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.12-1
3063f6f
- Update to version 0.1.12 bug fix only release
3063f6f
5231d76
* Thu Jun 11 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.11-1
5231d76
- Update to version 0.1.11
5231d76
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.11
5231d76
6aa7191
* Mon Apr 27 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.10-1
6aa7191
- Update to version 0.1.10 with fixes and additional modules
6aa7191
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.10
6aa7191
29119f6
* Mon Mar 16 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.9-1
29119f6
- Update to version 0.1.8 with lots of fixes and additional modules
29119f6
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.9
29119f6
d016874
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-2
d016874
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
d016874
93e5d7e
* Fri Dec 20 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.8-1
93e5d7e
- Update to version 0.1.8 with lots of fixes and additional modules
93e5d7e
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.8
93e5d7e
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.7
93e5d7e
bb9dd4b
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.6-2
bb9dd4b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
bb9dd4b
13bf858
* Tue Jul 23 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.6-1
13bf858
- Update to version 0.1.6
13bf858
  - Lots of documentation updates in READMEs and modules
13bf858
  - library/ipaclient_get_otp: Enable force mode for host_add call (fixes #74)
13bf858
  - Flake8 and pylint reated fixes
13bf858
  - Fixed wrong path to CheckedIPAddress class in ipareplica_test
13bf858
  - Remove unused ipaserver/library/ipaserver.py
13bf858
  - No not use wildcard imports for modules
13bf858
  - ipareplica: Add support for pki_config_override
13bf858
  - ipareplica: Initialize dns.ip_addresses and dns.reverse_zones for dns setup
13bf858
  - ipareplica_prepare: Properly initialize pin and cert_name variables
13bf858
  - ipareplica: Fail with proper error messages
13bf858
  - ipaserver: Properly set settings related to pkcs12 files
13bf858
  - ipaclient: RawConfigParser is not always provided by six.moves.configparser
13bf858
  - ipaclient_setup_nss: paths.GETENT is not available before
13bf858
    freeipa-4.6.90.pre1
13bf858
  - ipaserver_test: Initialize value from options.zonemgr
13bf858
  - ipareplica_setup_custodia: create_replica only available in newer releases
13bf858
  - ipaclient: Fix typo in dnsok assignment for ipaclient_setup_nss
13bf858
  - ipa[server,replica]: Set _packages_adtrust for Ubuntu
13bf858
  - New build script for galaxy release
13bf858
  - New utils script to update module docs
13bf858
1904aa2
* Tue Jul  9 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.5-2
1904aa2
- Update README-user.md: Fixed examples, new example
1904aa2
- ipauser example playbooks: Fixed actions, new example
1904aa2
abce4d1
* Tue Jul  9 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.5-1
abce4d1
- Update to version 0.1.5
abce4d1
  - Support for IPA 4.8.0
abce4d1
  - New user management module
abce4d1
  - New group management module
abce4d1
  - ipaserver: Support external signed CA
abce4d1
  - RHEL-8 specific vars files to be able to install needed modules
abce4d1
    automatically
abce4d1
  - ipareplica: Fixes for certmonger and kra setup
abce4d1
  - New tests folder
abce4d1
  - OTP related updates to README files
abce4d1
- Updates of version 0.1.4
abce4d1
  - ipatopologysegment: Use commands, not command
abce4d1
- Updates of version 0.1.3
abce4d1
  - ipaclient_test: Fix Python2 decode use with Python3
abce4d1
  - Fixed: #86 (AttributeError: 'str' object has no attribute 'decode')
abce4d1
  - ipaclient_get_otp: Remove ansible_python_interpreter handling
abce4d1
  - ipaclient: Use omit (None) for password, keytab, no string length checks
abce4d1
  - ipaclient_join: Support to use ipaadmin_keytab without ipaclient_use_otp
abce4d1
  - ipaclient: Report error message if ipaclient_get_otp failed
abce4d1
  - Fixes #17 Improve how tasks manage package installation
abce4d1
  - ipareplica: The dm password is not needed for ipareplica_master_password
abce4d1
  - ipareplica: Use ipareplica_server if set
abce4d1
  - ipatopologysegment: Allow domain+ca suffix, new state: checked
abce4d1
  - Documentation updates
abce4d1
  - Cleanups
abce4d1
- Update of version 0.1.2
abce4d1
  - Now a new Ansible Collection
abce4d1
  - Fix gssapi requirement for OTP: It is only needed if keytab is used with
abce4d1
    OTP now.
abce4d1
  - Fix wrong ansible argument types
abce4d1
  - Do not fail on textwrap for replica deployments with CA
abce4d1
  - Ansible lint and galaxy fixes
abce4d1
  - Disable automatic removal of replication agreements in uninstall
abce4d1
  - Enable freeipa-trust service if adtrust is enabled
abce4d1
  - Add support for hidden replica
abce4d1
  - New topology managament modules
abce4d1
  - Add support for pki_config_override
abce4d1
  - Fix host name setup in server deployment
abce4d1
  - Fix errors when ipaservers variable is not set
abce4d1
  - Fix ipaclient install role length typo
abce4d1
  - Cleanups
abce4d1
cd5c56f
* Mon May  6 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.1-1
cd5c56f
- Initial package