debops


Namedebops JSON
Version 3.1.0 PyPI version JSON
download
home_pagehttps://debops.org/
SummaryYour Debian-based data center in a box
upload_time2023-11-29 21:50:41
maintainer
docs_urlNone
authorDebOps Developers
requires_python>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
licenseGPL-3.0-or-later
keywords ansible debian sysadmin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # [![DebOps logo][debops-logo]](https://debops.org/) DebOps

*Your Debian-based data center in a box*

[![GitHub CI][github-ci]](https://github.com/debops/debops/actions?query=workflow%3A%22Continuous+Integration%22)
[![GitLab CI][gitlab-ci]](https://gitlab.com/debops/debops/pipelines)
[![CII Best Practices][cii-best-practices]](https://bestpractices.coreinfrastructure.org/en/projects/237)
[![REUSE status][reuse-status]](https://api.reuse.software/info/github.com/debops/debops)
[![RSS commits][rss-commits]](https://github.com/debops/debops/commits/master.atom)

[debops-logo]: https://raw.githubusercontent.com/debops/debops/master/lib/images/debops-small.png
[github-ci]: https://github.com/debops/debops/workflows/Continuous%20Integration/badge.svg
[gitlab-ci]: https://gitlab.com/debops/debops/badges/master/pipeline.svg
[cii-best-practices]: https://bestpractices.coreinfrastructure.org/projects/237/badge
[reuse-status]: https://api.reuse.software/badge/github.com/debops/debops
[rss-commits]: https://img.shields.io/badge/RSS-commits-orange.svg


The DebOps project provides a set of general-purpose [Ansible][ansible] roles
that can be used to manage [Debian][debian] or [Ubuntu][ubuntu] hosts. In
addition, a default set of Ansible playbooks can be used to apply the provided
roles in a controlled way, using Ansible inventory groups.

[ansible]: https://github.com/ansible/ansible/
[debian]: https://www.debian.org/
[ubuntu]: https://www.ubuntu.com/

The roles are written with a high customization in mind, which can be done
using Ansible inventory. This way the role and playbook code can be shared
between multiple environments, with different configuration in to each one.

Services can be managed on a single host, or spread between multiple hosts.
DebOps provides support for different SQL and NoSQL databases, web servers,
programming languages and specialized applications useful in a data center
environment or in a cluster. The project can also be used to deploy
virtualization environments using KVM/libvirt, Docker or LXC technologies to
manage virtual machines and/or containers.

You can find out more about DebOps features on the [project's documentation
page][debops-docs].

[debops-docs]: https://docs.debops.org/


## Quick start

Start a Docker container which acts as an Ansible Controller host with DebOps
support, based on Debian Buster:

    docker run -it --rm debops/debops
    cd src/controller ; debops run common --diff

Or, create a Vagrant VM which acts as an Ansible Controller host:

    git clone https://github.com/debops/debops
    cd debops && vagrant up && vagrant ssh
    cd src/controller ; debops run common --diff

You can use configuration in the `src/controller` subdirectory to try out
DebOps against the container/VM, or create your own DebOps project directory
using `debops project init` command.

More quick start tips can be found [in the DebOps quick start guide][quick-start].

[quick-start]: https://docs.debops.org/en/master/introduction/quick-start.html


Installation
------------

You can install the [DebOps Python package][debops-pypi], which includes the
DebOps roles and playbooks, as well as additional scripts which can be used to
setup separate project directories and run Ansible in a convenient way. To
install the Python package with Ansible and other required dependencies, run
the command:

    pip install --user debops[ansible]

[debops-pypi]: https://pypi.org/project/debops/

Alternatively, DebOps roles are available on [Ansible Galaxy][debops-galaxy]
as an Ansible Collection which can be installed using the `ansible-galaxy`
command:

    ansible-galaxy collection install debops.debops

[debops-galaxy]: https://galaxy.ansible.com/debops/debops/

Read the [installation instructions][install] in the DebOps documentation for
more details about required software and dependencies.

[install]: https://docs.debops.org/en/master/introduction/install.html


## Getting started

Ansible uses SSH to connect to and manage the hosts. DebOps enforces the SSH
security by disabling password authentication, therefore using SSH keys to
connect to the hosts is strongly recommended. This can be changed using the
inventory variables.

During initial deployments you might find that the firewall created by DebOps
blocked you from accessing the hosts. Because of that it's advisable to have an
out-of-band console access to the host which can be used to login and
troubleshoot the connection.

Create a new environment within a DebOps "project directory", add some hosts in
the Ansible inventory and run the default DebOps playbook against them to
configure them:

    # Create a new environment
    debops project init ~/src/projects/my-environment
    cd ~/src/projects/my-environment

    # Modify the 'ansible/inventory/hosts' file to suit your needs, for example
    # uncomment the local host to configure it with DebOps

    # Run the full playbook against all hosts in the inventory
    debops run site

    # Run the common playbook against specific host in the inventory
    debops run common -l <hostname>

You should read the [Getting Started with DebOps][getting-started] guide for
a more in-depth explanation of how the project can be used to manage multiple
hosts via Ansible.

[getting-started]: https://docs.debops.org/en/master/introduction/getting-started.html


Development
-----------

Create [a fork of this repository][debops-fork] and clone it to your
workstation. Create a development DebOps environment and symlink the forked
repository in it. Now you can create new playbooks/roles in the forked
repository and see their results in the development environment.

    git clone git@github.com:<username>/debops ~/src/github.com/<username>/debops
    cd ~/src/github.com/<username>/debops
    git remote add upstream https://github.com/debops/debops.git

    debops project init ~/src/projects/debops-devel
    cd ~/src/projects/debops-devel
    ln -s ~/src/github.com/<username>/debops debops

You can pull latest changes to the project from the upstream repository:

    cd ~/src/github.com/<username>/debops
    git checkout master
    git fetch upstream
    git rebase upstream/master

Read the [development guide][devel-guide] file for more details about the
DebOps development process.

[devel-guide]: https://docs.debops.org/en/master/developer-guide/contribution-workflow.html


## Contributing

DebOps development is done via a distributed development model. New features
and changes are prepared in a [fork of the official repository][debops-fork]
and are published to the original repository via GitHub pull requests. PRs are
reviewed by the DebOps developer team and if accepted, are merged in the main
repository.

[debops-fork]: https://github.com/debops/debops/fork

GPG-signed `git` commits are preferred to ensure authenticity.

Read the [contributing guide][contrib-guide] file for more details about how to
contribute to DebOps.

[contrib-guide]: https://docs.debops.org/en/master/developer-guide/contributing.html


## Licensing

The DebOps project is licensed under the [GNU General Public License 3.0 or later][GPL-3.0-or-later].
You can find full text of the license in the [LICENSES/GPL-3.0-or-later.txt] file.

Some files included with the DebOps project use a different license.
The licenses are marked in these files using the [SPDX license identifiers][spdx-ids]
and can be found in the `LICENSES/` subdirectory. They are also included in the
project tarballs, Ansible Collections and Python packages. The project uses the
[REUSE Specification][reuse-specification] and its associated tool to check and
verify copyright and license information in all files.

[GPL-3.0-or-later]: https://www.gnu.org/licenses/gpl-3.0
[LICENSES/GPL-3.0-or-later.txt]: https://github.com/debops/debops/blob/master/LICENSES/GPL-3.0-or-later.txt
[spdx-ids]: https://spdx.org/ids
[reuse-specification]: https://reuse.software/spec/

            

Raw data

            {
    "_id": null,
    "home_page": "https://debops.org/",
    "name": "debops",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4",
    "maintainer_email": "",
    "keywords": "ansible debian sysadmin",
    "author": "DebOps Developers",
    "author_email": "debops-devel@lists.debops.org",
    "download_url": "https://files.pythonhosted.org/packages/4b/45/bb7a4b6178d35c30296efa5aa33a4d6d2494ede57c7dbba363caf7272637/debops-3.1.0.tar.gz",
    "platform": null,
    "description": "# [![DebOps logo][debops-logo]](https://debops.org/) DebOps\n\n*Your Debian-based data center in a box*\n\n[![GitHub CI][github-ci]](https://github.com/debops/debops/actions?query=workflow%3A%22Continuous+Integration%22)\n[![GitLab CI][gitlab-ci]](https://gitlab.com/debops/debops/pipelines)\n[![CII Best Practices][cii-best-practices]](https://bestpractices.coreinfrastructure.org/en/projects/237)\n[![REUSE status][reuse-status]](https://api.reuse.software/info/github.com/debops/debops)\n[![RSS commits][rss-commits]](https://github.com/debops/debops/commits/master.atom)\n\n[debops-logo]: https://raw.githubusercontent.com/debops/debops/master/lib/images/debops-small.png\n[github-ci]: https://github.com/debops/debops/workflows/Continuous%20Integration/badge.svg\n[gitlab-ci]: https://gitlab.com/debops/debops/badges/master/pipeline.svg\n[cii-best-practices]: https://bestpractices.coreinfrastructure.org/projects/237/badge\n[reuse-status]: https://api.reuse.software/badge/github.com/debops/debops\n[rss-commits]: https://img.shields.io/badge/RSS-commits-orange.svg\n\n\nThe DebOps project provides a set of general-purpose [Ansible][ansible] roles\nthat can be used to manage [Debian][debian] or [Ubuntu][ubuntu] hosts. In\naddition, a default set of Ansible playbooks can be used to apply the provided\nroles in a controlled way, using Ansible inventory groups.\n\n[ansible]: https://github.com/ansible/ansible/\n[debian]: https://www.debian.org/\n[ubuntu]: https://www.ubuntu.com/\n\nThe roles are written with a high customization in mind, which can be done\nusing Ansible inventory. This way the role and playbook code can be shared\nbetween multiple environments, with different configuration in to each one.\n\nServices can be managed on a single host, or spread between multiple hosts.\nDebOps provides support for different SQL and NoSQL databases, web servers,\nprogramming languages and specialized applications useful in a data center\nenvironment or in a cluster. The project can also be used to deploy\nvirtualization environments using KVM/libvirt, Docker or LXC technologies to\nmanage virtual machines and/or containers.\n\nYou can find out more about DebOps features on the [project's documentation\npage][debops-docs].\n\n[debops-docs]: https://docs.debops.org/\n\n\n## Quick start\n\nStart a Docker container which acts as an Ansible Controller host with DebOps\nsupport, based on Debian Buster:\n\n    docker run -it --rm debops/debops\n    cd src/controller ; debops run common --diff\n\nOr, create a Vagrant VM which acts as an Ansible Controller host:\n\n    git clone https://github.com/debops/debops\n    cd debops && vagrant up && vagrant ssh\n    cd src/controller ; debops run common --diff\n\nYou can use configuration in the `src/controller` subdirectory to try out\nDebOps against the container/VM, or create your own DebOps project directory\nusing `debops project init` command.\n\nMore quick start tips can be found [in the DebOps quick start guide][quick-start].\n\n[quick-start]: https://docs.debops.org/en/master/introduction/quick-start.html\n\n\nInstallation\n------------\n\nYou can install the [DebOps Python package][debops-pypi], which includes the\nDebOps roles and playbooks, as well as additional scripts which can be used to\nsetup separate project directories and run Ansible in a convenient way. To\ninstall the Python package with Ansible and other required dependencies, run\nthe command:\n\n    pip install --user debops[ansible]\n\n[debops-pypi]: https://pypi.org/project/debops/\n\nAlternatively, DebOps roles are available on [Ansible Galaxy][debops-galaxy]\nas an Ansible Collection which can be installed using the `ansible-galaxy`\ncommand:\n\n    ansible-galaxy collection install debops.debops\n\n[debops-galaxy]: https://galaxy.ansible.com/debops/debops/\n\nRead the [installation instructions][install] in the DebOps documentation for\nmore details about required software and dependencies.\n\n[install]: https://docs.debops.org/en/master/introduction/install.html\n\n\n## Getting started\n\nAnsible uses SSH to connect to and manage the hosts. DebOps enforces the SSH\nsecurity by disabling password authentication, therefore using SSH keys to\nconnect to the hosts is strongly recommended. This can be changed using the\ninventory variables.\n\nDuring initial deployments you might find that the firewall created by DebOps\nblocked you from accessing the hosts. Because of that it's advisable to have an\nout-of-band console access to the host which can be used to login and\ntroubleshoot the connection.\n\nCreate a new environment within a DebOps \"project directory\", add some hosts in\nthe Ansible inventory and run the default DebOps playbook against them to\nconfigure them:\n\n    # Create a new environment\n    debops project init ~/src/projects/my-environment\n    cd ~/src/projects/my-environment\n\n    # Modify the 'ansible/inventory/hosts' file to suit your needs, for example\n    # uncomment the local host to configure it with DebOps\n\n    # Run the full playbook against all hosts in the inventory\n    debops run site\n\n    # Run the common playbook against specific host in the inventory\n    debops run common -l <hostname>\n\nYou should read the [Getting Started with DebOps][getting-started] guide for\na more in-depth explanation of how the project can be used to manage multiple\nhosts via Ansible.\n\n[getting-started]: https://docs.debops.org/en/master/introduction/getting-started.html\n\n\nDevelopment\n-----------\n\nCreate [a fork of this repository][debops-fork] and clone it to your\nworkstation. Create a development DebOps environment and symlink the forked\nrepository in it. Now you can create new playbooks/roles in the forked\nrepository and see their results in the development environment.\n\n    git clone git@github.com:<username>/debops ~/src/github.com/<username>/debops\n    cd ~/src/github.com/<username>/debops\n    git remote add upstream https://github.com/debops/debops.git\n\n    debops project init ~/src/projects/debops-devel\n    cd ~/src/projects/debops-devel\n    ln -s ~/src/github.com/<username>/debops debops\n\nYou can pull latest changes to the project from the upstream repository:\n\n    cd ~/src/github.com/<username>/debops\n    git checkout master\n    git fetch upstream\n    git rebase upstream/master\n\nRead the [development guide][devel-guide] file for more details about the\nDebOps development process.\n\n[devel-guide]: https://docs.debops.org/en/master/developer-guide/contribution-workflow.html\n\n\n## Contributing\n\nDebOps development is done via a distributed development model. New features\nand changes are prepared in a [fork of the official repository][debops-fork]\nand are published to the original repository via GitHub pull requests. PRs are\nreviewed by the DebOps developer team and if accepted, are merged in the main\nrepository.\n\n[debops-fork]: https://github.com/debops/debops/fork\n\nGPG-signed `git` commits are preferred to ensure authenticity.\n\nRead the [contributing guide][contrib-guide] file for more details about how to\ncontribute to DebOps.\n\n[contrib-guide]: https://docs.debops.org/en/master/developer-guide/contributing.html\n\n\n## Licensing\n\nThe DebOps project is licensed under the [GNU General Public License 3.0 or later][GPL-3.0-or-later].\nYou can find full text of the license in the [LICENSES/GPL-3.0-or-later.txt] file.\n\nSome files included with the DebOps project use a different license.\nThe licenses are marked in these files using the [SPDX license identifiers][spdx-ids]\nand can be found in the `LICENSES/` subdirectory. They are also included in the\nproject tarballs, Ansible Collections and Python packages. The project uses the\n[REUSE Specification][reuse-specification] and its associated tool to check and\nverify copyright and license information in all files.\n\n[GPL-3.0-or-later]: https://www.gnu.org/licenses/gpl-3.0\n[LICENSES/GPL-3.0-or-later.txt]: https://github.com/debops/debops/blob/master/LICENSES/GPL-3.0-or-later.txt\n[spdx-ids]: https://spdx.org/ids\n[reuse-specification]: https://reuse.software/spec/\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-or-later",
    "summary": "Your Debian-based data center in a box",
    "version": "3.1.0",
    "project_urls": {
        "Download": "https://github.com/debops/debops/archive/v3.1.0.tar.gz",
        "Homepage": "https://debops.org/"
    },
    "split_keywords": [
        "ansible",
        "debian",
        "sysadmin"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "018cdfc60f7427ab2102f92477b54add2e967985097cb26f77d2ae342a745aba",
                "md5": "1388791a0366e0ce7fca5ef76c0662d1",
                "sha256": "e0a7939601a30a9b22d29725d4961303da7c1cd753ac9671db285bdc238149b3"
            },
            "downloads": -1,
            "filename": "debops-3.1.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1388791a0366e0ce7fca5ef76c0662d1",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4",
            "size": 4156390,
            "upload_time": "2023-11-29T21:50:37",
            "upload_time_iso_8601": "2023-11-29T21:50:37.756305Z",
            "url": "https://files.pythonhosted.org/packages/01/8c/dfc60f7427ab2102f92477b54add2e967985097cb26f77d2ae342a745aba/debops-3.1.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b45bb7a4b6178d35c30296efa5aa33a4d6d2494ede57c7dbba363caf7272637",
                "md5": "19b4b94656d41a37c966fec6c1a7ee88",
                "sha256": "c88b3b3e254fe9de75bd118697f50195ecbd07d362829e0d05465dec84deb236"
            },
            "downloads": -1,
            "filename": "debops-3.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "19b4b94656d41a37c966fec6c1a7ee88",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4",
            "size": 2752311,
            "upload_time": "2023-11-29T21:50:41",
            "upload_time_iso_8601": "2023-11-29T21:50:41.838109Z",
            "url": "https://files.pythonhosted.org/packages/4b/45/bb7a4b6178d35c30296efa5aa33a4d6d2494ede57c7dbba363caf7272637/debops-3.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-29 21:50:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "debops",
    "github_project": "debops",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "debops"
}
        
Elapsed time: 0.21082s