https://github.com/tomastomecek/patchwork-container
Containerized version of patchwork.
https://github.com/tomastomecek/patchwork-container
ansible containers fedora patchwork
Last synced: 21 days ago
JSON representation
Containerized version of patchwork.
- Host: GitHub
- URL: https://github.com/tomastomecek/patchwork-container
- Owner: TomasTomecek
- License: mit
- Created: 2018-01-19T09:38:03.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-09T19:39:31.000Z (about 7 years ago)
- Last Synced: 2025-02-13T15:15:14.563Z (2 months ago)
- Topics: ansible, containers, fedora, patchwork
- Language: Python
- Homepage:
- Size: 14.6 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Patchwork in a container as an Ansible role
This is a containerized version of [patchwork](https://github.com/getpatchwork/patchwork).
## State
We are working on it. Unsuitable for production yet. Suggestions are welcome.
## Requirements
* Docker engine is running.
* Ansible is installed.## Usage
Create a playbook which will utilize this Ansible role. It can be as simple as:
```yaml
---
- name: run Patchwork
hosts: localhost
roles:
- patchwork-container
```For more info, see [./example/](/example/).
## More info
The deployment utilizes Ansible playbook to deploy patchwork:
1. The container image is created from the supplied Dockerfile.
* This is done using Ansible module `docker_image`.
2. postgresql is used as a database, namely `centos/postgresql-96-centos7`### Loading custom data into postgres
There are multiple ways of doing this: ideally, the playbook would support this
(which it does not right now).In the meantime, you can create an interactive shell in the postgres container,
copy the file with sql commands in the data dir and execute from within the
container:```console
$ sudo printf "SELECT 1;\n" >./db_data/load.sql$ docker exec -ti patchwork-db bash
bash-4.2$ cat /var/lib/pgsql/data/load.sql | psql
?column?
----------
1
(1 row)
```You can also run `psql` interactively and check on the database:
```
bash-4.2$ psql
psql (9.6.5)
Type "help" for help.postgres=# \c patchwork
You are now connected to database "patchwork" as user "postgres".
patchwork=# \dt
List of relations
Schema | Name | Type | Owner
--------+-------------------------------------------+-------+-----------
public | auth_group | table | patchwork
public | auth_group_permissions | table | patchwork
public | auth_permission | table | patchwork
public | auth_user | table | patchwork
public | auth_user_groups | table | patchwork
public | auth_user_user_permissions | table | patchwork
public | authtoken_token | table | patchwork
public | django_admin_log | table | patchwork
public | django_content_type | table | patchwork
public | django_migrations | table | patchwork
public | django_session | table | patchwork
public | django_site | table | patchwork
public | patchwork_bundle | table | patchwork
public | patchwork_bundlepatch | table | patchwork
public | patchwork_check | table | patchwork
public | patchwork_comment | table | patchwork
public | patchwork_coverletter | table | patchwork
public | patchwork_delegationrule | table | patchwork
public | patchwork_emailconfirmation | table | patchwork
public | patchwork_emailoptout | table | patchwork
public | patchwork_event | table | patchwork
public | patchwork_patch | table | patchwork
public | patchwork_patchchangenotification | table | patchwork
public | patchwork_patchtag | table | patchwork
public | patchwork_person | table | patchwork
public | patchwork_project | table | patchwork
public | patchwork_series | table | patchwork
public | patchwork_seriespatch | table | patchwork
public | patchwork_seriesreference | table | patchwork
public | patchwork_state | table | patchwork
public | patchwork_submission | table | patchwork
public | patchwork_tag | table | patchwork
public | patchwork_userprofile | table | patchwork
public | patchwork_userprofile_maintainer_projects | table | patchwork
(34 rows)
```## Future plans
* Proper production deployment using gunicorn.
* OpenShift deployment.