... | @@ -90,6 +90,32 @@ By default, entities should provide only admin UI components. But, being built o |
... | @@ -90,6 +90,32 @@ By default, entities should provide only admin UI components. But, being built o |
|
* Operations combine Tasks into user-facing actions (e.g., InstallCmsSiteOperation).
|
|
* Operations combine Tasks into user-facing actions (e.g., InstallCmsSiteOperation).
|
|
* Tasks are re-usable within other Operations.
|
|
* Tasks are re-usable within other Operations.
|
|
|
|
|
|
|
|
* Distribution
|
|
|
|
* Platform
|
|
|
|
* Site
|
|
|
|
* CmsSite (fieldable entity, that embedding of task entities)
|
|
|
|
- Drupal7Site
|
|
|
|
- CiviCrmDrupal7Site
|
|
|
|
- Drupal8Site
|
|
|
|
- WorpPress4Site
|
|
|
|
- CiviCrmWordPress4Site
|
|
|
|
* Task
|
|
|
|
* AnsibleTask
|
|
|
|
* AnsiblePlatformTask
|
|
|
|
* AnsibleSiteTask
|
|
|
|
* AnsibleWriteNginxVhostTask
|
|
|
|
* AnsibleGenerateDrupalSiteBackupTask (implements AcceptsFeedbackTrait, contains a `backup_path` field)
|
|
|
|
* AnsibleRestoreDrupalSiteBackupTask (provides select widget populated by a View of this site's backup tasks' `backup_path` fields. This, in turn, is passed to the task queue, and onto the Ansible role to execute the restore).
|
|
|
|
* AnsibleDisableDrupalSiteTask
|
|
|
|
* AnsibleInstallDrupalSiteTask
|
|
|
|
* ...
|
|
|
|
|
|
|
|
### Traits
|
|
|
|
|
|
|
|
* AcceptsFeedbackTrait
|
|
|
|
* hook_menu(): (or equivalent listener) to register the feedback URL.
|
|
|
|
* handleFeedback(): write feedback to appropriate field.
|
|
|
|
|
|
## Backend implementation (examples)
|
|
## Backend implementation (examples)
|
|
|
|
|
|
### Ansible-playbook queue worker
|
|
### Ansible-playbook queue worker
|
... | @@ -114,7 +140,7 @@ By default, entities should provide only admin UI components. But, being built o |
... | @@ -114,7 +140,7 @@ By default, entities should provide only admin UI components. But, being built o |
|
"Task" roles are small re-usable pieces of config.
|
|
"Task" roles are small re-usable pieces of config.
|
|
|
|
|
|
```
|
|
```
|
|
aegir.generate-drupal7-site-backup/
|
|
aegir.GenerateDrupalSiteBackup/
|
|
├── meta/main.yml (equiv. to .info)
|
|
├── meta/main.yml (equiv. to .info)
|
|
├── defaults/main.yml (variable defaults)
|
|
├── defaults/main.yml (variable defaults)
|
|
└── tasks/main.yml (steps to execute)
|
|
└── tasks/main.yml (steps to execute)
|
... | @@ -124,7 +150,7 @@ aegir.generate-drupal7-site-backup/ |
... | @@ -124,7 +150,7 @@ aegir.generate-drupal7-site-backup/ |
|
```
|
|
```
|
|
|
|
|
|
```
|
|
```
|
|
aegir.write-nginx-vhost/
|
|
aegir.WriteNginxVhost/
|
|
├── meta/main.yml
|
|
├── meta/main.yml
|
|
├── files/default-nginx-vhost.conf.j2
|
|
├── files/default-nginx-vhost.conf.j2
|
|
├── defaults/main.yml
|
|
├── defaults/main.yml
|
... | | ... | |