From 5a7671d254ef67a21a06096cc6a9511202a7e056 Mon Sep 17 00:00:00 2001
From: Varac <varac@varac.net>
Date: Thu, 19 Aug 2021 11:25:06 +0200
Subject: [PATCH] Polish 0.7 upgrade notes

---
 docs/upgrading.rst | 66 +++++++++++++++++++++++++---------------------
 1 file changed, 36 insertions(+), 30 deletions(-)

diff --git a/docs/upgrading.rst b/docs/upgrading.rst
index efe906978..a9c50bc90 100644
--- a/docs/upgrading.rst
+++ b/docs/upgrading.rst
@@ -6,22 +6,25 @@ Upgrading to 0.7.0
 
 Because of `problems with Helm and secret management
 <https://open.greenhost.net/openappstack/openappstack/-/issues/891>`__
-we had to move away from using a helm chart for secrets, and now use scripts
-that run during installation to manage secrets. Because we have removed the
-``oas-secrets`` helm chart, Flux will remove the secrets that it has
+we had to move away from using a helm chart for application secrets, and now use
+scripts that run during installation to manage secrets. Because we have removed
+the ``oas-secrets`` helm chart, Flux will remove the secrets that it has
 generated. **It is important that you back up these secrets before switching
-from ``v0.6`` to ``v0.7``!**
+from v0.6 to v0.7!**
 
-Before you start, please ensure that you have the right ``yq`` tool installed,
-because you will need it later.  There are two very different versions of
-``yq``. The one you need is the go based [yq from Mike
-Farah](http://mikefarah.github.io/yq/), which installs the same binary name ``yq``
-as the [python-yq](https://github.com/kislyuk/yq), while both have different
-command sets.
+.. note::
+  Before you start, please ensure that you have the right ``yq`` tool installed,
+  because you will need it later.  There are two very different versions of
+  ``yq``. The one you need is the go based `yq from Mike Farah
+  <http://mikefarah.github.io/yq>`_, which installs the same binary name ``yq``
+  as the `python-yq <https://github.com/kislyuk/yq>`_, while both have different
+  command sets.
+  The yq needed here can be installed by running ``sudo snap install yq``,
+  ``brew install yq`` or with other methods from the `yq installation
+  instructions <http://mikefarah.github.io/yq/#install>`_.
 
-The yq needed here can be installed by running ``sudo snap install yq``,
-``brew install yq`` or with other methods from the [``yq`` installation
-instructions](http://mikefarah.github.io/yq/#install).
+  If you're unsure which ``yq`` you have installed, look at the output of
+  ``yq --help`` and make sure ``eval`` shows up under ``Available Commands:``.
 
 
 To back-up your secrets, run the following script:
@@ -57,15 +60,17 @@ lines under "data:", rename the field to ``wekan_oauth_client_secret`` and enter
 a different random password. Make sure to base64 encode it (``echo "<your random
 password>" | base64``).
 
-If you get the error several times, that means ther
-
 This script creates a directory called ``secrets-backup`` and places the secrets
 that have been generated by Helm in it as ``yaml`` files.
 
-Now you can upgrade your cluster by running ``kubectl edit gitrepository -n
-flux-system openappstack`` and setting ``spec.ref.branch`` to ``v0.7``
+Now you can upgrade your cluster by running
+``kubectl -n flux-system patch gitrepository openappstack --type merge
+-p '{"spec":{"ref":{"branch":"v0.7"}}}'``
+or by editing the ``gitrepository`` object manually with
+``kubectl -n flux-system edit gitrepository openappstack`` and setting
+``spec.ref.branch`` to ``v0.7``.
 
-Flux will now start updating your cluster to version 0.7. This process will fail,
+Flux will now start updating your cluster to version ``0.7``. This process will fail,
 because it will remove the secrets that you just backed up. Make
 sure that the ``oas-secrets`` helmrelease has been removed by running ``flux get
 hr -A``. You might also see that some helmreleases start failing to be installed
@@ -79,16 +84,15 @@ the following code:
    #!/usr/bin/env bash
 
    # Again: make sure you use https://github.com/mikefarah/yq -- install with `snap install yq`
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-cluster-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-wordpress-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-wekan-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-single-sign-on-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-rocketchat-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-kube-prometheus-stack-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-prometheus-basic-auth.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-alertmanager-basic-auth.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-oauth-variables.yaml | kubectl apply -f - -n flux-system
-   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-nextcloud-variables.yaml | kubectl apply -f - -n flux-system
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-wordpress-variables.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-wekan-variables.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-single-sign-on-variables.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-rocketchat-variables.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-kube-prometheus-stack-variables.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-prometheus-basic-auth.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-alertmanager-basic-auth.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-oauth-variables.yaml | kubectl apply -f -
+   yq eval 'del(.metadata.annotations,.metadata.labels,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid)' secrets-backup/oas-nextcloud-variables.yaml | kubectl apply -f -
 
 Again this script assumes you have all applications installed. If you get the
 following error, you can ignore it:
@@ -104,8 +108,10 @@ failed, you can retrigger reconciliation of a kustomization using the commands
 can take quite a while (over an hour some times), because Flux waits for some
 long timeouts before giving up and re-starting a reconciliation.
 
-Some errors we've seen during our own upgrade process, and how to solve them
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Potential upgrade issues
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Some errors we've seen during our own upgrade process, and how to solve them:
 
 SSO helm upgrade failed
 '''''''''''''''''''''''
-- 
GitLab