mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
puppet: Split out a zulip::profile::standalone_nodb class.
This commit is contained in:
committed by
Tim Abbott
parent
263212decf
commit
a69e690122
@@ -183,18 +183,17 @@ If you are deploying Zulip from Git, you will also need to:
|
||||
|
||||
## Running Zulip's service dependencies on different machines
|
||||
|
||||
Zulip has full support for each top-level service living on its own
|
||||
machine.
|
||||
Zulip has full support for each top-level service living on its own machine.
|
||||
|
||||
You can configure remote servers for PostgreSQL, RabbitMQ, Redis,
|
||||
in `/etc/zulip/settings.py`; just search for the service name in that
|
||||
file and you'll find inline documentation in comments for how to
|
||||
configure it.
|
||||
You can configure remote servers for Memcached, PostgreSQL, RabbitMQ, Redis, and
|
||||
Smokescreen in `/etc/zulip/settings.py`; just search for the service name in
|
||||
that file and you'll find inline documentation in comments for how to configure
|
||||
it.
|
||||
|
||||
Since some of these services require some configuration on the node
|
||||
itself (e.g. installing our PostgreSQL extensions), we have designed
|
||||
the Puppet configuration that Zulip uses for installing and upgrading
|
||||
configuration to be completely modular.
|
||||
Since some of these services require some configuration on the node itself
|
||||
(e.g. installing our PostgreSQL extensions), we have designed the Puppet
|
||||
configuration that Zulip uses for installing and upgrading configuration to be
|
||||
completely modular.
|
||||
|
||||
For example, to install a Zulip Redis server on a machine, you can run
|
||||
the following after unpacking a Zulip production release tarball:
|
||||
@@ -231,28 +230,16 @@ below.
|
||||
|
||||
#### Step 1: Set up Zulip
|
||||
|
||||
Follow the [standard instructions](install.md), with one
|
||||
change. When running the installer, pass the `--no-init-db`
|
||||
flag, e.g.:
|
||||
Follow the [standard instructions](install.md), with modified `install`
|
||||
arguments:
|
||||
|
||||
```bash
|
||||
sudo -s # If not already root
|
||||
export PUPPET_CLASSES=zulip::profile::standalone_nodb
|
||||
./zulip-server-*/scripts/setup/install --certbot \
|
||||
--email=YOUR_EMAIL --hostname=YOUR_HOSTNAME \
|
||||
--no-init-db --postgresql-missing-dictionaries
|
||||
```
|
||||
|
||||
The script also installs and starts PostgreSQL on the server by
|
||||
default. We don't need it, so run the following command to
|
||||
stop and disable the local PostgreSQL server.
|
||||
|
||||
```bash
|
||||
sudo service postgresql stop
|
||||
sudo update-rc.d postgresql disable
|
||||
```
|
||||
|
||||
This complication will be removed in a future version.
|
||||
|
||||
#### Step 2: Create the PostgreSQL database
|
||||
|
||||
Access an administrative `psql` shell on your PostgreSQL database, and
|
||||
|
@@ -45,8 +45,9 @@ that include:
|
||||
- **`zulip::profile::app_frontend`**
|
||||
- **`zulip::profile::memcached`**
|
||||
- **`zulip::profile::postgresql`**
|
||||
- **`zulip::profile::redis`**
|
||||
- **`zulip::profile::rabbitmq`**
|
||||
- **`zulip::profile::redis`**
|
||||
- **`zulip::profile::smokescreen`**
|
||||
|
||||
If you are using a [Apache as a single-sign-on
|
||||
authenticator](authentication-methods.md#apache-based-sso-with-remote_user),
|
||||
|
@@ -1,17 +1,21 @@
|
||||
# @summary Complete Zulip server on one server
|
||||
#
|
||||
# This class includes all the modules you need to run an entire Zulip
|
||||
# installation on a single server. If desired, you can split up the
|
||||
# different `zulip::profile::*` components of a Zulip installation on
|
||||
# different servers by using the modules below on different machines
|
||||
# (the module list is stored in `puppet_classes` in
|
||||
# /etc/zulip/zulip.conf). See the corresponding configuration in
|
||||
# /etc/zulip/settings.py for how to find the various services is also
|
||||
# required to make this work.
|
||||
# different `zulip::profile::*` components of a Zulip installation
|
||||
# onto different servers:
|
||||
#
|
||||
# - zulip::profile::app_frontend
|
||||
# - zulip::profile::memcached
|
||||
# - zulip::profile::postgresql
|
||||
# - zulip::profile::rabbitmq
|
||||
# - zulip::profile::redis
|
||||
# - zulip::profile::smokescreen
|
||||
#
|
||||
# See the corresponding configuration in /etc/zulip/settings.py for
|
||||
# how to find the various services is also required to make this work.
|
||||
|
||||
class zulip::profile::standalone {
|
||||
include zulip::profile::base
|
||||
include zulip::profile::app_frontend
|
||||
include zulip::profile::standalone_nodb
|
||||
include zulip::profile::postgresql
|
||||
include zulip::profile::redis
|
||||
include zulip::profile::memcached
|
||||
include zulip::profile::rabbitmq
|
||||
include zulip::localhost_camo
|
||||
}
|
||||
|
16
puppet/zulip/manifests/profile/standalone_nodb.pp
Normal file
16
puppet/zulip/manifests/profile/standalone_nodb.pp
Normal file
@@ -0,0 +1,16 @@
|
||||
# @summary Complete Zulip server, except the database server.
|
||||
#
|
||||
# This includes all of the parts necessary to run an entire Zulip
|
||||
# installation on a single server, except the database. It is assumed
|
||||
# that the PostgreSQL database is either hosted on another server with
|
||||
# the `zulip::profile::postgresql` class applied, or a cloud-managed
|
||||
# database is used (e.g. AWS RDS).
|
||||
#
|
||||
# @see https://zulip.readthedocs.io/en/latest/production/deployment.html#using-zulip-with-amazon-rds-as-the-database
|
||||
class zulip::profile::standalone_nodb {
|
||||
include zulip::profile::app_frontend
|
||||
include zulip::profile::memcached
|
||||
include zulip::profile::rabbitmq
|
||||
include zulip::profile::redis
|
||||
include zulip::localhost_camo
|
||||
}
|
Reference in New Issue
Block a user