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
cd5c56f
# the python verison used in the node
cd5c56f
%define __brp_python_bytecompile %{nil}
cd5c56f
cd5c56f
Summary: Roles and playbooks to deploy FreeIPA servers, replicas and clients
cd5c56f
Name: ansible-freeipa
cd5c56f
Version: 0.1.1
cd5c56f
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
#Requires: ansible
cd5c56f
cd5c56f
%description
cd5c56f
ansible-freeipa provides Ansible roles and playbooks to install and uninstall
cd5c56f
FreeIPA servers, replicas and clients.
cd5c56f
cd5c56f
Note: The ansible playbooks and roles require a configured ansible environment
cd5c56f
where the ansible nodes are reachable and are properly set up to have an IP
cd5c56f
address and a working package manager.
cd5c56f
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
cd5c56f
cd5c56f
Supported FreeIPA Versions
cd5c56f
cd5c56f
FreeIPA versions 4.6 and up are supported by all roles.
cd5c56f
cd5c56f
The client role supports versions 4.4 and up, the server role is working with
cd5c56f
versions 4.5 and up, the replica role is currently only working with versions
cd5c56f
4.6 and up.
cd5c56f
cd5c56f
Supported Distributions
cd5c56f
cd5c56f
- RHEL/CentOS 7.4+
cd5c56f
- Fedora 26+
cd5c56f
- Ubuntu
cd5c56f
cd5c56f
Requirements
cd5c56f
cd5c56f
  Controller
cd5c56f
  - Ansible version: 2.5+
cd5c56f
  - python3-gssapi is required on the controller if a one time password (OTP)
cd5c56f
    is used to install the client.
cd5c56f
cd5c56f
  Node
cd5c56f
  - Supported FreeIPA version (see above)
cd5c56f
  - Supported distribution (needed for package installation only, see above)
cd5c56f
cd5c56f
Limitations
cd5c56f
cd5c56f
External CA support is not supported or working. The currently needed two step
cd5c56f
process is an issue for the processing in the role. The configuration of the
cd5c56f
server is partly done already and needs to be continued after the CSR has been
cd5c56f
handled. This is for example breaking the deployment of a server with replicas
cd5c56f
or clients in one playbook.
cd5c56f
cd5c56f
%prep
cd5c56f
%setup -q
cd5c56f
# Fix python modules and module utils:
cd5c56f
# - Remove shebang
cd5c56f
# - Remove execute flag
cd5c56f
for i in roles/ipa*/library/*.py roles/ipa*/module_utils/*.py; do
cd5c56f
    sed -i '/\/usr\/bin\/python*/d' $i
cd5c56f
    chmod a-x $i
cd5c56f
done
cd5c56f
# Add execute flag to py3test.py scripts
cd5c56f
chmod a+x roles/ipa*/files/py3test.py
cd5c56f
cd5c56f
%build
cd5c56f
cd5c56f
%install
cd5c56f
install -m 755 -d %{buildroot}%{_datadir}/ansible/roles/
cd5c56f
cp -rp roles/ipaserver %{buildroot}%{_datadir}/ansible/roles/
cd5c56f
cp -rp roles/ipareplica %{buildroot}%{_datadir}/ansible/roles/
cd5c56f
cp -rp roles/ipaclient %{buildroot}%{_datadir}/ansible/roles/
cd5c56f
cd5c56f
%files
cd5c56f
%license COPYING
cd5c56f
%{_datadir}/ansible/roles/ipaserver
cd5c56f
%{_datadir}/ansible/roles/ipareplica
cd5c56f
%{_datadir}/ansible/roles/ipaclient
cd5c56f
%doc README.md
cd5c56f
%doc SERVER.md
cd5c56f
%doc REPLICA.md
cd5c56f
%doc CLIENT.md
cd5c56f
%doc *install-*.yml
cd5c56f
cd5c56f
%changelog
cd5c56f
* Mon May  6 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.1-1
cd5c56f
- Initial package