Go to file
Alex Vandiver faf71eea41 upgrade-postgresql: Do not remove other supervisor configs.
We previously used `zulip-puppet-apply` with a custom config file,
with an updated PostgreSQL version but more limited set of
`puppet_classes`, to pre-create the basic settings for the new cluster
before running `pg_upgradecluster`.

Unfortunately, the supervisor config uses `purge => true` to remove
all SUPERVISOR configuration files that are not included in the puppet
configuration; this leads to it removing all other supervisor
processes during the upgrade, only to add them back and start them
during the second `zulip-puppet-apply`.

It also leads to `process-fts-updates` not being started after the
upgrade completes; this is the one supervisor config file which was
not removed and re-added, and thus the one that is not re-started due
to having been re-added.  This was not detected in CI because CI added
a `start-server` command which was not in the upgrade documentation.

Set a custom facter fact that prevents the `purge` behaviour of the
supervisor configuration.  We want to preserve that behaviour in
general, and using `zulip-puppet-apply` continues to be the best way
to pre-set-up the PostgreSQL configuration -- but we wish to avoid
that behaviour when we know we are applying a subset of the puppet
classes.

Since supervisor configs are no longer removed and re-added, this
requires an explicit start-server step in the instructions after the
upgrades complete.  This brings the documentation into alignment with
what CI is testing.
2021-08-24 19:00:58 -07:00
.github ci: Do not run CodeQL on Dependabot push events. 2021-08-04 02:34:21 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics typing: Use accurate type hints for dictionaries. 2021-08-20 06:02:28 -07:00
confirmation confirmation: Use the correct type hints for create_confirmation_link. 2021-07-26 14:46:45 -07:00
corporate typing: Use accurate type hints for dictionaries. 2021-08-20 06:02:28 -07:00
docs upgrade-postgresql: Do not remove other supervisor configs. 2021-08-24 19:00:58 -07:00
frontend_tests settings: Rename class of notification settings elements. 2021-08-20 07:51:23 -07:00
locale i18n: Update translation data from Transifex. 2021-07-15 09:15:35 -07:00
pgroonga pgroonga: Remove unnecessary code from first migration. 2021-05-28 09:42:33 -07:00
puppet upgrade-postgresql: Do not remove other supervisor configs. 2021-08-24 19:00:58 -07:00
requirements requirements: Upgrade Python requirements. 2021-08-24 07:51:48 -07:00
scripts upgrade-postgresql: Do not remove other supervisor configs. 2021-08-24 19:00:58 -07:00
static icons: Set font-display: block for icon font. 2021-08-23 15:59:54 -07:00
stubs thumbnail: Remove unused is_camo_url parameter. 2021-08-19 01:51:37 -07:00
templates notification: Rename notification-sound audio and child elements. 2021-08-20 07:50:51 -07:00
tools requirements: Upgrade Python requirements. 2021-08-24 07:51:48 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver sync_ldap_user_data: Log all exceptions. 2021-08-24 07:51:48 -07:00
zilencer profile_request: Replace MockRequest with HostRequestMock. 2021-08-20 05:54:19 -07:00
zproject typing: Fix function signatures with django-stubs. 2021-08-20 06:02:55 -07:00
.browserslistrc browserslist: Drop 0.2% usage threshold to 0.15%. 2020-09-28 10:57:49 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig editorconfig: Restore indent_size = 2 for Markdown. 2021-08-20 23:14:37 -07:00
.eslintignore requirements: Remove Thumbor. 2021-05-06 20:07:32 -07:00
.eslintrc.json ts: Convert blueslip module to TypeScript. 2021-06-22 09:09:36 -07:00
.gitattributes
.gitignore ci: Update outdated comments, documentation and gitignore. 2021-07-22 14:09:01 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Add mailmap entry for Sahil Batra. 2021-07-21 10:46:34 -07:00
.npmignore
.prettierignore prettier: Exclude backend-processed Markdown files. 2021-08-20 23:14:37 -07:00
.pyre_configuration pysa: Update .pyre_configuration to point to typeshed. 2020-09-22 15:44:47 -07:00
.sonarcloud.properties tools: Configure Zulip to be scannable by SonarCloud. 2020-06-24 12:41:17 -07:00
.yarnrc .yarnrc: Set ignore-scripts true. 2019-08-28 16:15:54 -07:00
CODE_OF_CONDUCT.md docs: Remove dead link to citizencodeofconduct.org. 2021-04-09 12:10:42 -07:00
CONTRIBUTING.md docs: Replace chat-zulip-org page with /developer-community/. 2021-07-25 22:17:57 -07:00
Dockerfile-postgresql docs: Standardize on PostgreSQL, not Postgres. 2020-10-28 11:55:16 -07:00
LICENSE license: Move copyright notice from LICENSE to NOTICE. 2021-02-05 09:28:12 -08:00
NOTICE docs: Bump copyright year. 2021-02-05 09:28:15 -08:00
README.md docs: Replace chat-zulip-org page with /developer-community/. 2021-07-25 22:17:57 -07:00
SECURITY.md docs: Replace legacy roadmap.md with release lifecycle page. 2021-05-05 09:08:43 -07:00
Vagrantfile shell: Replace ‘which’ utility with ‘command -v’ shell builtin. 2021-05-07 08:54:41 -07:00
babel.config.js i18n: Initialize FormatJS. 2021-04-13 17:41:10 -07:00
manage.py manage: Restore `changepassword` back to documented_commands. 2021-06-18 09:11:01 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2021-08-23 14:30:02 -07:00
postcss.config.js eslint: Fix import/extensions. 2021-06-08 10:15:52 -07:00
prettier.config.js prettier: Disable embedded language formatting for Markdown. 2021-08-20 23:14:37 -07:00
pyproject.toml docs: Migrate from recommonmark to MyST-Parser. 2021-08-19 00:53:32 -07:00
setup.cfg pycodestyle: Improve comments documenting excludes. 2021-02-12 13:11:25 -08:00
stylelint.config.js portico: Add /for/education, /for/events, /for/research pages. 2021-07-20 22:37:52 -07:00
tsconfig.json ts: Convert i18n module to TypeScript. 2021-06-22 09:09:36 -07:00
version.py requirements: Upgrade Python requirements. 2021-08-24 07:51:48 -07:00
webpack.config.ts webpack: Fix run-dev.py --minify. 2021-06-10 17:26:55 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2021-08-23 14:30:02 -07:00

README.md

Zulip overview

Zulip is a powerful, open source group chat application that combines the immediacy of real-time chat with the productivity benefits of threaded conversations. Zulip is used by open source projects, Fortune 500 companies, large standards bodies, and others who need a real-time chat system that allows users to easily process hundreds or thousands of messages a day. With over 700 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

GitHub Actions build status coverage status Mypy coverage code style: black code style: prettier GitHub release docs Zulip chat Twitter GitHub Sponsors

Getting started

Click on the appropriate link below. If nothing seems to apply, join us on the Zulip community server and tell us what's up!

You might be interested in:

You may also be interested in reading our blog or following us on Twitter. Zulip is distributed under the Apache 2.0 license.