Skip to content

Zenhub Enterprise 4.3.1

Latest
Compare
Choose a tag to compare
@m62534 m62534 released this 11 Oct 21:08
0190155

These release notes are for Zenhub Enterprise for Virtual Machine and Zenhub Enterprise for Kubernetes.

  • For all users using Zenhub on github.com, please check out our new feature announcements on our product changelog.
  • For administrators planning upgrades, please refer to the "Important Upgrade Instructions for Administrators" section.

GitHub Enterprise Server compatibility

Zenhub Enterprise 4.3.1 supports GitHub Enterprise versions: 3.13, 3.14, and 3.15

What's new in Zenhub Enterprise 4.3.1

Contains a range of bug fixes

Features

No new features in this release

Security Fixes

No new security fixes in this release

Known Issues

  • Mozilla recently raised the minimum Firefox version required to run published Firefox extensions from 52.0 to 58.0. This results in failed validation during upload of the Zenhub Firefox extension. Until a fix is released, the workaround is to extract the firefox.zip, update strict_min_version at the bottom of the manifest.json file from 52.0 to 58.0, and re-zip the bundle before upload. If you have any questions, please reach out to [email protected].

VM Embedded Component Versions

Component Version
Ubuntu 22.04.4
K3s v1.28.13+k3s1
Kubernetes v1.28.13
Kustomize v4.5.7
Fluentd v1.16.6-debian-1.0
Postgresql 15.4
MongoDB 6.0.13
RabbitMQ 3.8.35
Redis 7.0.12
PgBouncer 1.20.1
Grafana 10.4.2
Prometheus 2.45.0
kube-state-metrics/kube-state-metrics v2.10.0

Important Upgrade Instructions for Administrators

Zenhub Enterprise for Virtual Machine

  • You must be running 4.1.x, 4.2.x, or 4.3.0 to perform the upgrade to ZHE 4.3.1
  • For users currently running Zenhub Enterprise, contact our team for a download link for the 4.1.3 upgrade package. The upgrade process is detailed in our documentation.
  • 4.3.1 includes a monitoring stack (experimental) that the administrator can deploy via zhe-config --monitoring-stack deploy
    • Deploys Grafana, Kube-state-metrics, and Prometheus
    • Grafana will come with pre-configured Datasources and sample Dashboards
    • Grafana can be accessed via <zenhub.domain>:8443/admin/grafana
    • Prometheus can be accessed via <zenhub.domain>:8443/admin/prometheus
      image
      image

Zenhub Enterprise for Kubernetes

⚠️ NOTE: The minimum version of Kubernetes required to run ZHE 4.3 is now v1.28.

1. Prepare

  • Get the kustomization.yaml you configured to setup Zenhub
  • Perform a diff to make sure no outstanding changes are waiting to be applied
kustomize build . | kubectl diff -f-

It should exit 0 and only display a warning of unused variables. If changes are pending, apply them before starting the upgrade process.

  • Make a copy of your existing kustomization.yaml and keep it handy for the next step

2. Update kustomization.yaml

  • Check out the zenhub-enterprise repository at the tag of this release
  • Populate the new kustomization.yaml with your existing configuration values

Be sure to replace any additional customized configuration (such as ingress, TLS configuration) with your original configuration from before as well.

  • In ZHE 4.0 and onwards, secret_key_base is required to be a 42 byte string, any existing 38 byte string should be updated as described in kustomization.yaml
  • If you are using your own registry and not Zenhub's registry, upload the new images tagged with this release to your registry.

3. Run configmap-generator.sh

Once you have setup all the configurations in your copy of kustomization.yaml and are ready to deploy to your cluster, you must run the configmap-generator.sh script that will fill placeholders in our Kubernetes manifests with your configuration values.

To run the script, navigate to the root of the directory containing your kustomization.yaml file, which also contains the configmap-generator.sh script. Then, run the script with these two commands:

chmod 700 configmap-generator.sh
./configmap-generator.sh

4. Application updates

In your new kustomization.yaml, confirm that the cluster image tags are set to the new images for this release:

If you are using your own registry, ensure that the newName fields are configured for that instead of Zenhub's

images:
  - name: kraken-webapp
    newName: us.gcr.io/zenhub-public/kraken-webapp
    newTag: zhe-4.3.1
  - name: kraken-extension
    newName: us.gcr.io/zenhub-public/kraken-extension
    newTag: zhe-4.3.1
  - name: kraken-zhe-admin
    newName: us.gcr.io/zenhub-public/kraken-zhe-admin
    newTag: zhe-4.3.1
  - name: raptor-backend
    newName: us.gcr.io/zenhub-public/raptor-backend
    newTag: zhe-4.3.1
  - name: toad-backend
    newName: us.gcr.io/zenhub-public/toad-backend
    newTag: zhe-4.3.1
  - name: sanitycheck
    newName: us.gcr.io/zenhub-public/sanitycheck
    newTag: zhe-4.3.1
  - name: devsite
    newName: us.gcr.io/zenhub-public/devsite
    newTag: zhe-4.3.1
  - name: busybox
    newName: docker.io/library/busybox
    newTag: latest
  - name: nginx
    newName: docker.io/library/nginx
    newTag: latest
  • First, delete any raptor-db-migrate and sanitycheck jobs so they may be recreated without errors:

Make sure the status of the jobs are Complete and not Running

kubectl -n <your_dedicated_namespace> delete job/raptor-db-migrate job/sanitycheck
  • Then perform a diff to check what the upgrade will do (this command must be run from the directory that contains your kustomization.yaml
kustomize build . | kubectl diff -f-
  • If everything looks correct and there are no errors, you can deploy to the cluster via:
kustomize build . | kubectl apply -f-

7. Finalize

  • Securely store the updated kustomization.yaml