I like that the spreadsheet gives a good overview, but I also wonder how we can avoid too much manual effort to maintain it...
Wed, Nov 23
My assumption was correct, the problematic chart was the local-only used chart for adminer. This PR updates the chart version which fixes it https://github.com/wmde/wbaas-deploy/pull/601
We may have missed a chart that still uses the old beta ingress api, since I get the following error now locally if I want to create a cluster from scratch:
Error: Failed to render chart: exit status 1: Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "extensions/v1beta1"
The upgrade on wbaas-3 was concluded today as well, pretty much the same experience as with staging yesterday.
I think I found the reason this doesn't work while looking at the Recaptcha Admin console by Google.
Tue, Nov 22
Today we upgraded the staging clusters wbaas-2 control plane and node-pools to 1.22.15-gke.1000. This was a 3-step process (control plane, oldest node-pool medium-pool, the other node-pool) and was done via the Google Cloud Console UI (docs).
Note: In the future, if we activate auto-upgrade for the node pools, upgrading just the control plane will be enough.
nginx-ingress is now uninstalled on staging and production. This PR cleans up the helmfile, but engineers should apply the changes to their local cluster first (or just keep in mind to apply helmfile with the target marked as installed: false): https://github.com/wmde/wbaas-deploy/pull/599
Mon, Nov 21
Deployed it to staging in order to be able to inspect the cloud logs and adjust our monitoring code
Deployed it to staging and created a test wiki with a custom domain - ingress got created and it is reachable https://221121-dev-test-wbaas-custom-deer.duckdns.org/wiki/Main_Page
As stated in the PR I'm not super sure how to verify this but it seems to work on my local cluster so that is good :D
deployed to staging & production
Fri, Nov 18
Thu, Nov 17
Fixed the test! Earlier the mocked API response was just an empty 200, now it's a 201 with an empty json array: https://github.com/wbstack/api/pull/479/files#diff-466c67cf20c031afb88ea3afcffa5486a32b1e10c430b42adbc9441f74228273R37
Wed, Nov 16
Today we found that the k8s manifest metadata part in our code still used the format from the old beta ingress and adapting it makes it work again: https://github.com/wbstack/api/pull/479/commits/55779725840cbb831e7f989eebb6a30bd3589e96
Mon, Nov 14
Adjusted the existing test case to the format of v0.26, but it still fails https://github.com/wbstack/api/pull/479/commits/7b3aa4022111af706a958fb97fcb2952bc578fea
Fri, Nov 11
Apparently the code to call the k8s client lib has changed a bit, so after I changed it according to the current documentation it seems to work? I still don't see the ingress locally, but maybe thats just a local issue.
api-queue-65dbcf79bf-hsbtn api-queue [2022-11-11 12:02:05][DjlrFyXhlWQrWHDLfncM4ChFGXxZCJf7] Processing: App\Jobs\KubernetesIngressCreate api-queue-65dbcf79bf-hsbtn api-queue [2022-11-11 12:02:05] production.INFO: Creating k8s client api-queue-65dbcf79bf-hsbtn api-queue [2022-11-11 12:02:05] production.INFO: Getting ingress resources api-queue-65dbcf79bf-hsbtn api-queue [2022-11-11 12:02:05] production.INFO: Checking if resource exists: mediawiki-site-17 api-queue-65dbcf79bf-hsbtn api-queue [2022-11-11 12:02:05] production.INFO: Creating ingress resource api-queue-65dbcf79bf-hsbtn api-queue [2022-11-11 12:02:05][DjlrFyXhlWQrWHDLfncM4ChFGXxZCJf7] Processed: App\Jobs\KubernetesIngressCreate
Thu, Nov 10
Today I tried using php-http/guzzle7-adapter to fill a dependency requirement which I thought might work and wouldn't force us to downgrade to guzzle v6 - but that didn't work out. Used xdebug to gain some insights on what the actual problem is but I don't really know more than before just yet.
I tried to do the update on a new branch and got a different error, not sure what to make out of it yet:
$ make test FILTER=tests/Jobs/KubernetesIngressCreateTest.php docker-compose exec api vendor/bin/phpunit tests/Jobs/KubernetesIngressCreateTest.php Xdebug: [Step Debug] Could not connect to debugging client. Tried: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port) :-( PHPUnit 9.5.26 by Sebastian Bergmann and contributors.
Wed, Nov 9
Tue, Nov 8
1) Tests\Jobs\KubernetesIngressCreateTest::testCreateIngressJobDoesNotFail TypeError: Argument 3 passed to Maclof\Kubernetes\Client::__construct() must be an instance of Psr\Http\Client\ClientInterface or null, instance of GuzzleHttp\Client given, called in /var/www/html/tests/Jobs/KubernetesIngressCreateTest.php on line 44
From the release notes it looks like the package moved from the beta APIs from v0.25.0 on
Mon, Nov 7
Fri, Oct 28
I refactored the UI chart in this PR to use the new stable ingress API. more details here: https://github.com/wbstack/charts/pull/104
note that v1.22 reached EOL as of today https://kubernetes.io/releases/#release-v1-22
Oct 21 2022
I contacted Alan and changed the ownership of the wiki accordingly.
Oct 20 2022
I would consider this done but a verification that decryption works from another engineer would be great
Oct 19 2022
Deployed to production.