Commit graph

41 commits

Author SHA1 Message Date
20667709b2
ci: test environment docker image for CI pipelines
This commit includes a Dockerfile for building a test environment for
future CI pipelines. This commit also refactors the GitLab CI pipeline
files by splitting the jobs into different files:

- .gitlab-ci.yml: Global CI pipeline file.
- .gitlab/ci/test-env.gitlab-ci.yml: Jobs to test and publish the
docker image for the test environment.
- .gitlab/ci/playbook.gitlab-ci.yml: Jobs to test and publish the
docker image for the pleroma playbook
- .gitlab/ci/templates/docker.gitlab-ci.yml: Template jobs for
testing and publishing docker images.

Part of dananglin/pleroma-ansible-playbook#17
2020-07-10 07:22:39 +01:00
933911aef1
fix: upgrade ca-certificates 2020-07-08 03:01:20 +01:00
c1ffd82b1a
chore: update image name 2020-07-08 02:53:05 +01:00
d9c0ef5c87 install client for hashicorp vault 2020-05-29 20:35:24 +00:00
00bda402ab
fix: install sshpass for testing purposes.
- also added missing build arguments for labelling
2020-05-29 20:41:42 +01:00
e4d8a41556
fix: install bash 2020-05-28 23:09:40 +01:00
0af4dcac8c
fix: update defaults
- static value for notifyEmail
- set default healthCheck to "false"
2020-05-09 17:50:51 +01:00
984fee240b docs: update summary section
- Added table of contents.
- Updated summary section.
- Added 'Ansible Roles' and Additional features as subsections of summary.
2020-05-09 16:35:37 +00:00
4264900cc4
ci: [fix] add missing stages 2020-04-23 01:14:14 +01:00
ed709517c0
ci: push Docker image to container registry
Update the CI pipeline file and Makefile to
push the Docker image on tagged releases.

Part of dananglin/pleroma-ansible-playbook#14
2020-04-23 00:59:53 +01:00
0cedf15ad9
feat: add Dockerfile to Dockerise the playbook
- Add Dockerfile to install Ansible and the playbook.
- Add Makefile target to build the image.
- Add Makefile target to run the playbook.
- Add the playbook that ansible will run.
- Add .dockerignore to limit the files added to the context.
- Added a pipeline job to test the image build.
- Added a pipeline job to lint the Dockerfile.

This closes dananglin/pleroma-ansible-playbook#13
2020-04-22 19:21:59 +01:00
0a418028ab
feat: ensure playbook supports version 2.0.1
- Add proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- Remove proxy_ignore_headers Cache-Control; and proxy_hide_header Cache-Control;
- Replace :pleroma, :instance, dynamic_configuration with :pleroma, :instance, configurable_from_database
- Enhanced/fixed tasks retrieving the versions
- Updated theme configuration file
- Set proxy_pass to localhost IPv4 address

resolves dananglin/pleroma-ansible-playbook#11
2020-04-03 05:22:34 +01:00
274056bbed
fix: update ansible role names
- pleroma-postgres renamed to pleroma-database.
- pleroma-nginx renamed to pleroma-proxy.
- site.yml in examples is updated to reflect the change.

resolves dananglin/pleroma-ansible-playbook#12
2020-03-21 17:22:59 +00:00
309a569c00
feat: allow admins to disable the chat window
The commit adds the option to allow instance admins to
enable or disbale the chat window at the bottom right
of the page. By default the chat window is enabled.

This resolves dananglin/pleroma-ansible-playbook#10
2020-03-07 12:21:57 +00:00
c9aad82027
fix: implement an upgrade procedure for Pleroma.
This commit implements different installation paths when
running the pleroma-main role, depending on whether Pleroma
needs to be installed for the first time or upgraded.

For first time installations the playbook will run through
the normal download and installation process and also executes
the database migration. If Pleroma is already installed then,
by default, the playbook will not re-install Pleroma or re-run
the database migration. If the user wants to update Pleroma to
a newer version then they can re-run the playbook with the
command-line argument '--extra-vars enable_pleroma_upgrade=True'.

This commit also introduces a custom module used to compare the
installed and downloaded semantic versions of Pleroma.
The playbook uses this to see whether the version change is an upgrade,
a downgrade or no version change. If it's an upgrade the playbook
will proceed with the re-installation of Pleroma. If there is no
change then the playbook will skip installation. Finally if
it detects that the user is trying to downgrade Pleroma then it will
fail.

This commit resolves dananglin/pleroma-ansible-playbook#9 and also
resolves dananglin/pleroma-ansible-playbook#5
2020-03-06 12:04:48 +00:00
c28f0a199b
refactor: changed pleroma-backend to pleroma-main 2020-02-27 17:58:58 +00:00
2bc925dcda
chore: issue templates for tasks 2020-02-26 11:33:40 +00:00
4749bf323e
feat: add support for configuring MRF
This commit adds support for allowing instances
owners/admins to configure the simple
Message Rewrite Facility (MRF) policy with their
ansible-playbook configuration. With this they can
reject/restrict messages from a list of specified
instances.

Further documentation:
https://docs.pleroma.social/mrf.html#content

This resolves dananglin/pleroma-ansible-playbook#4
2020-02-25 19:32:42 +00:00
e7ec293e75
fix: move default download url to defaults 2020-02-23 22:38:54 +00:00
aa66391f83
feat: add support for uploading custom themes
This commit now allows instance admins to:

- upload custom themes from their Ansible controller
to the themes directory of their Pleoma instance.
- set the default theme for their Pleroma instance.

This commit also contains the following changes:

- explicitly set the background image if not set by the user.
- explicitly set the default theme if not set by the user.
2020-02-22 19:39:18 +00:00
f33b58bc14
feat: add configuration for remote post retention 2020-02-20 22:32:46 +00:00
4be8d5ea2e
docs: mention personal Pleroma site 2019-11-25 17:50:33 +00:00
3a7e2cfe3d
docs: add documentation
closes dananglin/pleroma-ansible-playbook#2
2019-11-25 17:46:44 +00:00
cb22739b38
feat: allow owners to set the background image.
This commit allows instance owners to set a background
image for their Pleroma instances. It copies the image from
the ansible controller onto the target host and updates the
Pleroma configuration.

Owners can set the value for pleroma.config.frontend.background
to set the background image. The default image is used if
this value is not set.
2019-11-12 23:09:21 +00:00
7a93d7680d
chore: remove common role from project 2019-11-08 09:04:36 +00:00
8db0186fec
feat: support for proving your site with Keybase.
This commit adds support for uploading the site
owner's keybase.txt file onto their Pleroma server
so that Keybase can prove that they are the owner
of their site. This is diabled by default but can
be enabled by the user.

Resolves dananglin/pleroma-ansible-playbook#1
2019-11-08 05:55:25 +00:00
42904fbaa4
refactor: Let's Encrypt location block
Removed the 'blockinfile' task and added the
location block for Let's Encrypt in the Nginx
config template. This bloc will be rendered if
Let's encrypt support is enabled.

Part of dananglin/pleroma-ansible-playbook#1
2019-11-06 22:52:46 +00:00
6f5dbdbbe4
fix: add common play to site playbook
- Added missing play for the common role
- Updated common role. Verbose logging for SSHd.
- Updated Makefile. Added a rule for generating
the Vapid keypair together.
2019-11-03 05:24:12 +00:00
76aa2030fb
final cleanup before production deployment
Removed host_vars folder and added inventories folder.
This is to support the suggested 'Alternative Directory Layout'
in the upstream Ansible documentation.

Removed hosts.yml. This may be added in the upcoming
examples directory.
2019-11-02 19:34:30 +00:00
02b1dead38
chore: updated common role 2019-11-02 19:00:54 +00:00
48e9a3d76c
feat: integrating the common role project 2019-11-01 18:19:44 +00:00
317adf3931
fix: inconsistencies while setting the SSL cert.
When running the pleybook more than once the
ssl_certificate_key line was being overwritten
by the 'lineinfile' tasks because the regular
expression was too greedy. This merge request
uses a stricter regular expression to indentify
and update the ssl_certificate line in the Nginx
configuration.
2019-10-26 23:56:35 +01:00
b03c997960
change: add a site playbook to the project.
This merge request changes the project from a single role project to a
single playbook project with multiple plays and roles. The single
playbook has multiple plays with each having its own role to
install and configure the different components to run Pleroma.
(postgres database, pleroma backend and nginx).

Certain playbooks can be executed by specifying the
relevant tags.

This change is the first of many changes to start supporting
installations on both single and multiple hosts.

This change includes also includes:

- inventory file.
- host_vars directory for users to add their variables.
- an init playbook to merge the default and the user defined config for Pleroma.
- users can now specify whether to validate certs when performing acme
challenges (default: true).
- more task templating.
2019-10-24 22:51:53 +01:00
ebba1a1248
added: support for generating SSL certs from Let's Encrypt. 2019-10-24 00:22:13 +01:00
2cb1891456
changed: reduced default connection limit to 15
Reduced default connection limit to the pleroma database to 15.
This parameter is now configurable.
2019-10-15 09:26:13 +01:00
b0ddbc30ad
added: configuration for Pleroma
This merge request adds the template file and default variables for
configuring Pleroma.
Also included in this merge request are:

- added: Makefile to produce the secret key base, signing salt and the
public and private keys for web encryption.
- fixed: Pleroma OTP builds are now downloaded from the stable branch.
- changed: removed data from the pleroma task and added them in the
variable directory.
2019-10-15 09:16:24 +01:00
f293d06c78
added: overriding postgresql configuration 2019-10-08 18:25:24 +01:00
53648b4a22
change: define pleroma variable as a dictionary 2019-10-07 21:28:53 +01:00
dde9b88088
feat: set up pg_hba.conf 2019-10-04 00:49:12 +01:00
a25aecbd72 chore: added MIT License. 2019-10-02 00:39:57 +00:00
684191060c
initial commit 2019-10-02 01:31:38 +01:00