Repository navigation
feat(#1949): Preparing for CHT 5.0, remove existing upgrades dir #1953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 7 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
b5a067c
feat(#1949): Preparing for CHT 5.0, remove existing upgrades dir
mrjones-plip b12ecb0
add all breaking changes, settle on final layout of page
mrjones-plip eed8d14
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 28c8a80
move links to relref and remove localhost per feedback
mrjones-plip 91e494c
4.20 is not 4.2.0 ;)
mrjones-plip 390decf
add related updates section per feedback
mrjones-plip 3e952b4
add two more breaking changes to the list
mrjones-plip 8da6b82
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip c03cd43
merge main to branch
mrjones-plip 1de6800
fix merge conflict from main merge on last commit
mrjones-plip 8290919
order by breaking changes vs non-breaking changes per feedback
mrjones-plip 7dfff48
add more explination to language setting
mrjones-plip dd553bb
move from tk to todo (but still keep tks)
mrjones-plip 359562f
remove repetive content per feedback
mrjones-plip dd08c0e
Merge branch 'main' into 1949-preparing-for-5x
mrjones-plip 9ffb120
Merge branch 'main' into 1949-preparing-for-5x
mrjones-plip 2372a63
add info about needs_signoff change
mrjones-plip bd5a22f
Merge branch 'main' into 1949-preparing-for-5x
mrjones-plip 81945fb
add info for checking chrome version for angular 20
mrjones-plip d36ed8d
fix angular link, ensure CLI tools are installed
mrjones-plip 3540494
tweak wording about angular, re-order steps
mrjones-plip 2211e43
tidy up big ol' command to find browser versions
mrjones-plip e5cf530
Merge branch 'main' into 1949-preparing-for-5x
mrjones-plip ece15a9
add work around for upgrade crashing
mrjones-plip 711bfbc
Merge branch 'main' into 1949-preparing-for-5x
mrjones-plip d957c70
add final links to helm chart info
mrjones-plip f04f644
Merge branch 'main' into 1949-preparing-for-5x
mrjones-plip 6920b11
add final info for Declarative Configuration
mrjones-plip c13de56
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 1e41198
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip ee0ca15
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip b4ed013
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 8caf2d3
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 9836d22
Update content/en/hosting/cht/upgrade-troubleshooting.md
mrjones-plip aef3265
Update content/en/hosting/cht/upgrade-troubleshooting.md
mrjones-plip 41df9ab
Update content/en/hosting/cht/upgrade-troubleshooting.md
mrjones-plip 4da46ca
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip a56c158
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip b2073fb
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 905c49f
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 406748a
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 10714c8
Update content/en/hosting/cht/migration/preparing-for-5.md
mrjones-plip 7d24f6c
remove upgrade warning per feedback
mrjones-plip fa2872c
add k8s staging screenshot, tidy up helm chart wording per feedback
mrjones-plip 54e1559
remove empty dir and files per feedback
mrjones-plip d6b1206
add front matter to helm charts migrate page, change weights for toc …
mrjones-plip ae895a6
remove note about self hosting in 4.x per feedback
mrjones-plip 6dcdf61
remove confusing line about language settings UI
mrjones-plip File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,4 +6,5 @@ description: > | |
| Focused CHT app development guides | ||
| aliases: | ||
| - /apps/guides/ | ||
| - /building/guides/updates/ | ||
| --- | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes
File renamed without changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 2 additions & 1 deletion
3
...uilding/guides/updates/preparing-for-4.md → .../hosting/cht/migration/preparing-for-4.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,107 @@ | ||
| --- | ||
| title: "Preparing to upgrade to CHT 5.0" | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
| linkTitle: "Preparing for 5.0" | ||
| weight: | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
| description: > | ||
| Steps to ensure your CHT App will run smoothly on CHT 5.0 and later | ||
|
|
||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
| --- | ||
|
|
||
| ## Introduction | ||
|
|
||
| CHT releases use [Semantic Versioning](https://en.wikipedia.org/wiki/Semver#Semantic_versioning) (also known as "SemVer"), which means that the CHT upgrade from the major 4.x version to the 5.x version denotes there are breaking changes. The key to a successful upgrade will be to understand and plan for these breaking changes. | ||
|
|
||
| While this releases breaking changes mainly apply to Kubernetes based deployments (e.g. Nouveau & Upgrade service), deployments using token login may be affected as well. | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| As with all upgrades, major or minor, you should always: | ||
| * Have [backups]({{< relref "/hosting/cht/docker/backups/" >}}) that have been tested to work | ||
| * Ensure your [CHT Conf]({{< relref "/community/contributing/code/cht-conf/" >}}) version is up to date | ||
| * Review the change log to understand how end users might be affected | ||
|
|
||
| ## CouchDB Nouveau | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| {{< callout type="info" >}} Applies to: [Kubernetes]({{< relref "/hosting/cht/kubernetes/" >}}) hosted CHT instances {{< /callout >}} | ||
|
|
||
| A major feature of CHT 5.0 is replacing the old freetext search in 4.x with CouchDB Nouveau. The addition of Nouveau [decreases the amount of disk space](https://github.com/medic/cht-core/issues/9898#issuecomment-2864545914) used by the CHT. Disk space has been shown to be a major contributor to hosting costs, hence Nouveau is the first feature to [reduce Hosting Total Cost of Ownership (TCO)](https://github.com/medic/cht-roadmap/issues/171). | ||
|
|
||
| Kubernetes based deployments will need to follow the migration steps from the deprecated [CHT 4.x Helm Charts repository](https://github.com/medic/helm-charts/) to the new [CHT 5.x Helm Charts](https://github.com/medic/cht-core/tree/master/scripts/build/helm) in the main CHT repository. | ||
|
|
||
| Please see the technical guide on how to migrate Kubernetes based deployments to 5.0. | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| Background information: | ||
| * [Reduce disk space with CouchDB Nouveau (TCO)](https://github.com/medic/cht-core/issues/9542) | ||
|
|
||
| ### Related Updates | ||
|
|
||
| While the 5.0 upgrade for Docker based deployments will be transparent, there's some more Nouveau related changes that deployments should know about which can affect both Docker and Kubernetes: | ||
|
|
||
| * Offline users' devices will have their search indexes rebuilt after the upgrade. During the rebuild, search functionality will be initially unavailable. However, once the indexing is complete, the search behavior will be unchanged from before for all users: the search experience is the same in both CHT 4.x and CHT 5.x. | ||
| * The Nouveau index data on the server will be stored in `${COUCHDB_DATA}/nouveau` for single-node CouchDBs and in `${DB1_DATA}/nouveau` for clustered CouchDBs. | ||
| * The following `medic-client` views no longer exist. Be sure to update any custom scripts which use them: `contacts_by_freetext`, `contacts_by_type_freetext` and `reports_by_freetext` . | ||
|
|
||
| ## Upgrade service removed from Kubernetes | ||
|
|
||
| {{< callout type="info" >}} Applies to: [Kubernetes]({{< relref "/hosting/cht/kubernetes/" >}}) hosted CHT instances {{< /callout >}} | ||
|
|
||
| In CHT 4.x there are two ways to upgrade a Kubernetes hosted CHT instance: | ||
|
|
||
| 1. Click "Stage" and then "Upgrade" in the CHT administration interface. | ||
| 2. Push a new helm chart to Kubernetes that specified different versions. | ||
|
|
||
| A recurring problem seen on production deployments was that, over time, CHT administrators would use the CHT administration interface to upgrade. Then, during a migration or a restore from backup, Kubernetes administrators would inadvertently downgrade a CHT instance by using an out of date Helm chart. | ||
|
|
||
| To avoid this situation, the upgrade service has been removed from Kubernetes based deployments. | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| Kubernetes based deployments will need to follow the migration steps from the deprecated [CHT 4.x Helm Charts repository](https://github.com/medic/helm-charts/) to the new [CHT 5.x Helm Charts](https://github.com/medic/cht-core/tree/master/scripts/build/helm) in the main CHT repository. Please see the TK technical guide on how to migrate Kubernetes based deployments to 5.0. | ||
|
|
||
| Background information: | ||
| * [Hide upgrade button in admin app for k8s deployments, while still allowing staging upgrades](https://github.com/medic/cht-core/issues/9954) | ||
| * [Remove upgrade service from Helm charts](https://github.com/medic/cht-core/issues/10186) | ||
|
|
||
| ## Token login requires `app_url` | ||
|
|
||
| {{< callout type="info" >}} Applies to: Instances that use [token login]({{< relref "/building/login/#magic-links-for-logging-in-token-login" >}}) {{< /callout >}} | ||
|
|
||
| For instances that use token login, be sure declare `app_url` in your [settings file]({{< relref "/building/reference/app-settings/token_login/#app_settingsjson-token_login" >}}). This is backwards compatible and safe to do while still on CHT 4.x. | ||
|
|
||
| Be sure to use [the new declarative config](#declarative-configuration) as well. | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| Background information: | ||
| * [Require `app_url` to be set when enabling `token_login`](https://github.com/medic/cht-core/issues/9983) | ||
|
|
||
| ## Enabling languages via generated docs | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| {{< callout type="info" >}} Applies to: Instances that enable languages via web interface {{< /callout >}} | ||
|
|
||
| As of [CHT 4.2.0]({{< relref "/releases/4_2_0/#technical-improvements" >}}), deployment administrators can enable or disable supported languages [via the settings file]({{< relref "/building/reference/app-settings/#app_settingsjson" >}}). CHT 5.0 removes this web interface to enable or disable languages and requires this to be done via App Settings. | ||
|
mrjones-plip marked this conversation as resolved.
Resolved
|
||
|
|
||
| Before upgrading, ensure [your app settings]({{< relref "/building/reference/app-settings/#app_settingsjson" >}}) has the correct languages enabled. This is backwards compatible and safe to do while still on CHT 4.x. | ||
|
|
||
| Background information: | ||
| * [Deprecate enabling languages through generated docs](https://github.com/medic/cht-core/issues/8157) | ||
| * [Allow app builders to specify disabled languages in config](https://github.com/medic/cht-core/issues/6281) | ||
|
|
||
|
|
||
| ## Declarative Configuration | ||
|
|
||
| {{< callout type="info" >}} Applies to: All Instances {{< /callout >}} | ||
|
|
||
| tk - all the content ;) - but upgrade your app settings to be declarative. | ||
|
|
||
| Be sure to [update](#token-login-requires-app_url) your `app_url` in settings if you're using token login.. | ||
|
|
||
| Background information: | ||
| * [Make declarative config mandatory](https://github.com/medic/cht-core/issues/5906) | ||
|
|
||
| ## Increase ecmaVersion ES linting to version 6 | ||
|
|
||
| {{< callout type="info" >}} Applies to: CHT versions between 4.0 and 4.4 {{< /callout >}} | ||
|
|
||
| Deployments running CHT Version 4.0 and 4.4 must upgrade to version 4.5 or later before upgrading to version 5.x. | ||
|
|
||
| Background information: | ||
| * [Increase ecmaversion linting for ddocs](https://github.com/medic/cht-core/issues/9202) | ||
|
|
||
| <!-- | ||
| todo: replace all "TK" with correct link/text | ||
| --> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.