Files @ 09e9aaa170b3
Branch filter:

Location: majic-ansible-roles/docs/about.rst - annotation

09e9aaa170b3 5.4 KiB text/prs.fallenstein.rst Show Source Show as Raw Download as Raw
branko
MAR-239: Dropped support for Debian 11 Bullseye from the wsgi_website role.
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
ce24831d92f8
ce24831d92f8
6b87dd13b24c
5272f991ac65
282617c92589
5272f991ac65
441a70c073b9
441a70c073b9
441a70c073b9
6b87dd13b24c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
c377c1d24d7c
424710fc61e1
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
9b1a9fdc99e5
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
5fb056e2b576
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
424710fc61e1
About Majic Ansible Roles
=========================

Majic Ansible Roles is a collection of Ansible roles that are used on regular
basis for deployment and maintenance of Majic infrastructure.

The roles are kept as a separate project in hope of making them potentially
useful to wider audience, and for reference purposes.

Roles cover different aspects of infrastructure, such as mail servers, web
servers, web applications etc. The roles are mainly well-suited for smaller
installations.

Roles are written for use with *Debian GNU/Linux*. For more details on
supported releases, see :ref:`rolereference`.

At the moment, the roles have been written for and tested against **Ansible
2.9.x**.

The roles also utilise the ``ipv4/ipv6`` lookup plugins which require
``netaddr`` package to be installed. Make sure you have the packages
available on controller machine.


Why were these roles created?
-----------------------------

For a long time I have had a couple of Internet-facing servers where I hosted
all the IT infrastructure I needed for my day-to-day life.

This started off with some basic services, like mail and XMPP server, and in
time extended to include a web server, code repository etc.

As the number of services I used grew, I found it more difficult to track
updates and upgrades, let alone test them in reliable way. The biggest problem
in particular was lack of time to properly document all the different things
I've set-up.

Being familiar with some Puppet-based deployments, I've started looking into the
possibility of using a configuration management system. Ansible emerged as
something that I thought would be easy to use, due to its agent-less nature.

Once I passed some basic tutorials and got to know the system a bit, I decided
to start my journey on implementing the different roles, in the way I want them,
that would let me easily set-up my servers (and reinstall them, amongst other
things).

The roles you see within this repository are the fruit of this labour. I hope
you find them useful.


Features
--------

*Majic Ansible Roles* have the following features:

.. warning::

   Of course, you may want to take some statements with a pinch of salt, and
   possibly attribute them to either delusions of grandeur, or bragging :)

* Emphasis on small, self-hosted deployments.
* Modular role design where possible and where necessary.
* A number of roles covering common set-up of servers, databases, web server,
  XMPP server, mail server, and LDAP server.
* Streamlined integration with LDAP server for most of the services.
* Well-documented, with role reference documentation, examples, and test/sample
  site.
* Balanced implementation allowing both configurability and ease of deployment.
* Free Software, released under liberal BSD license.

Available roles:

* ``bootstrap`` (for setting-up servers for Ansible use)
* ``common`` (for setting-up basic security, accounts, and configuration on
  servers)
* ``database`` (for creating databases to be used for applications)
* ``database_server`` (for deploying a database server, MariaDB)
* ``ldap_client`` (for setting-up LDAP client configuration)
* ``ldap_server`` (for deploying an LDAP server, OpenLDAP)
* ``mail_forwarder`` (for setting-up forwarding of local mails to smart host,
  Postfix)
* ``mail_server`` (for deploying Postfix, Dovecot, ClamAV)
* ``php_website`` (for deploying PHP websites)
* ``preseed`` (for preparing Debian preseed files)
* ``prosody`` (for deploying XMPP server, Prosody)
* ``web_server`` (for deploying web server, Nginx)
* ``wsgi_website`` (for deploying WSGI/Python applications)


Support
-------

In case of problems with the roles or provided code, please do not hestitate to
contact the author at **majic-ansible-roles (at) majic.rs**. The project can be
found at:

* https://code.majic.rs/majic-ansible-roles
* https://projects.majic.rs/majic-ansible-roles


License
-------

Majic Ansible Roles is released under terms of *BSD (3-Clause) License*::

  Copyright (c) 2018, Branko Majic
  All rights reserved.

  Redistribution and use in source and binary forms, with or without modification,
  are permitted provided that the following conditions are met:

    Redistributions of source code must retain the above copyright notice, this
    list of conditions and the following disclaimer.

    Redistributions in binary form must reproduce the above copyright notice, this
    list of conditions and the following disclaimer in the documentation and/or
    other materials provided with the distribution.

    Neither the name of Branko Majic nor the names of any other
    contributors may be used to endorse or promote products derived from
    this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.