devshop / platform
Ansible collection for hosting websites.
Installs: 605
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 1
Open Issues: 0
Language:Python
This package is auto-updated.
Last update: 2024-11-11 21:19:39 UTC
README
The DevShop.Platform Ansible collection extends Ansible's reach to track applications and services, in addition to hosts and roles.
Components
- App Hosts.
- Ansible Hosts that refer to a single website, containing variables needed to deploy the site to one or many servers.
- Multiple App Hosts can be assigned to a single Server Host, similar to Apache Vhosts.
- App hosts store the Ansible facts/vars that are needed to install the site, such as Git repository, git reference, and web and database servers.
- App Hosts can run App Roles, such as
geerlingguy.drupal
to finish set up of individual apps.
- Server Hosts.
- Ansible Hosts that refer to real servers.
- Server Hosts are assigned roles based on what "Service Groups" they are in.
- Server Host list variables (such as
apache_vhosts
andmysql_databases
) are aggregated from all App Hosts that are using each service to allow multiple App Hosts per Server.
- Service Groups.
- A Service Group is an Ansible Host Group that provides a list of roles that get assigned to all members of the group. The groups are used to organize your Server Hosts by purpose, such as Web or DB.
- See ./services/http.yml for an example.
- App Groups.
- An App Group contains default variables for App Hosts that are built from pre-defined apps such as Drupal.
- Each App Group can set different "build" or "install" commands, such as
composer install
vs.npm build
ordrush site-install
vsapp install
- See ./services/drupal.yml for an example.
Using this collection
See examples folder for samples implementations.
Code of Conduct
We follow the Ansible Code of Conduct in all our interactions within this project.
If you encounter abusive behavior, please refer to the policy violations section of the Code for information on how to raise a complaint.
Contributing to this collection
The content of this collection is made by people like you, a community of individuals collaborating on making the world better through developing automation software.
We are actively accepting new contributors.
Any kind of contribution is very welcome.
You don't know how to start? Refer to our contribution guide!
We use the following guidelines:
- CONTRIBUTING.md
- REVIEW_CHECKLIST.md
- Ansible Community Guide
- Ansible Development Guide
- Ansible Collection Development Guide
Collection maintenance
The current maintainers are listed in the MAINTAINERS file. If you have questions or need help, feel free to mention them in the proposals.
To learn how to maintain / become a maintainer of this collection, refer to the Maintainer guidelines.
Governance
The process of decision making in this collection is based on discussing and finding consensus among participants.
Every voice is important. If you have something on your mind, create an issue or dedicated discussion and let's discuss it!
Installing the Collection from Ansible Galaxy
Before using this collection, you need to install it with the Ansible Galaxy command-line tool:
ansible-galaxy collection install NAMESPACE.COLLECTION_NAME
You can also include it in a requirements.yml
file and install it with ansible-galaxy collection install -r requirements.yml
, using the format:
--- collections: - name: devshop.platform
Note that if you install the collection from Ansible Galaxy, it will not be upgraded automatically when you upgrade the ansible
package. To upgrade the collection to the latest available version, run the following command:
ansible-galaxy collection install NAMESPACE.COLLECTION_NAME --upgrade
You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version 0.1.0
:
ansible-galaxy collection install devshop.platform:==0.1.0
See Ansible Using collections for more details.
Release notes
See the changelog.
Roadmap
More information
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Collections Checklist
- Ansible Community code of conduct
- The Bullhorn (the Ansible Contributor newsletter)
- Changes impacting Contributors
Licensing
GNU General Public License v3.0 or later.
See LICENSE to see the full text.