Skip to content
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

Mender helm v6.0.0 #343

Merged
merged 68 commits into from
Oct 29, 2024
Merged

Mender helm v6.0.0 #343

merged 68 commits into from
Oct 29, 2024

Conversation

alfrunes
Copy link
Contributor

I tried to limit the changes to preserve as much backward compatibility as possible. However, this change cannot be done without some breaking changes (especially for workflows-worker).

@alfrunes alfrunes mentioned this pull request Sep 18, 2024
15 tasks
Copy link
Contributor

@oldgiova oldgiova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general looks good to me, just few comments, feel free to ignore them 👍

@@ -88,9 +89,9 @@ spec:
- name: HAVE_MULTITENANT
value: {{ .Values.global.enterprise | quote }}
- name: MENDER_VERSION
value: {{ trimPrefix "mender-" .Values.global.image.tag | quote }}
value: {{ trimPrefix "v" .Chart.AppVersion | quote }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe using the mender.image.tag function? This way, when you override the image tag (using a different Mender Server version than the default appVersion) it is showed up correctly

Suggested change
value: {{ trimPrefix "v" .Chart.AppVersion | quote }}
value: {{ include "mender.image.tag" | quote }}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... I believe we need to think of something here. I believe this is used for resolving the client version, so maybe we should start using the actual client version here instead 🤔

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it looks like on hosted this is no longer required as we can rely on the versions.json for the downloads section and on prem will be pointed to the install script... I'll create a task to clean up the env vars in the gui image 👌

* workflows-worker and workflows-server uses the same image
- docker.io/mendersoftware/workflows-worker -> docker.io/mendersoftware/workflows
- registry.mender.io/mendersoftware/workflows-enterprise-worker -> registry.mender.io/mender-server-enterprise/workflows
* **DEPRECATION** `global.image` value is now deprecated and scheduled for removal
Copy link
Contributor

@oldgiova oldgiova Sep 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

  • TODO: update the docs.mender.io for the custom values override: sed 'e/global/default/'

* All default values for service level `image` values have been unset
* The image is resolved from `default.image`
* `tenantadm.certs.key` is no longer required.
* Autogenerate missing required secrets.
Copy link
Contributor

@oldgiova oldgiova Sep 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

  • TODO: in the installation docs, remove the openssl key creation commands.

@@ -1,3 +0,0 @@
{{- define "mender.enterprisePullSecret" }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the mender.enterprisePullSecret defined, you cannot populate the docker-registry and the docker-registry-prerelease secrets, which are used if if and .dot.Values.global.image .dot.Values.global.image.username

@@ -138,7 +134,7 @@ spec:
{{- end }}


{{- if .dot.Values.global.image.username }}
{{- if and .dot.Values.global.image .dot.Values.global.image.username }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So here you want to create the secret by hand by default, right? Since the global.image in the values.yaml file has been removed by default.. Maybe it worth mentioning about this change in the changelog

private.pem: {{ .Values.device_auth.certs.key | b64enc }}
{{- else }}
private.pem: {{ genPrivateKey "ed25519" | b64enc }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@alfrunes
Copy link
Contributor Author

After testing it for open-source, I was able to find several issues which I've for now kept in separate commit. I will git rebase --autosquash ... before I proceed merging.

With release-please and git cliff, the CHANGELOG.md and the releases are automated

Ticket: MC-7582

Signed-off-by: Roberto Giovanardi <[email protected]>
@alfrunes alfrunes marked this pull request as ready for review October 1, 2024 13:01
@alfrunes
Copy link
Contributor Author

alfrunes commented Oct 1, 2024

This one's now ready for another round of review. I fixed a few things here and there after testing it using open-source and enterprise configurations/image references.
NOTE: For the sake of making it easier to review, I kept the commit history linear. I will autosquash all the fixup! commits.

Copy link
Contributor

@oldgiova oldgiova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍
Of course, I cannot test it properly because the Mender v4.0.0 has not been published yet.

Out of scope, but since we're in a breaking release, could we also switch api_gateway.env.SSL=false ? Otherwise it won't work. See: https://northerntech.atlassian.net/browse/MEN-7260

mender/values.yaml Show resolved Hide resolved
alfrunes and others added 9 commits October 2, 2024 13:11
BREAKING CHANGE: See CHANGELOG.md
Signed-off-by: Alf-Rune Siqveland <[email protected]>
Starting with Mender server v4.0.0 the secret is no longer in used.
The secret is not created/mounted to the service unless explicitly
specified.

Signed-off-by: Alf-Rune Siqveland <[email protected]>
Signed-off-by: Roberto Giovanardi <[email protected]>
(cherry picked from commit 2bc8bf6)
Signed-off-by: Alf-Rune Siqveland <[email protected]>
Changelog: Title
Ticket: None
Signed-off-by: Alf-Rune Siqveland <[email protected]>
@mender-test-bot
Copy link
Contributor

Merging these commits will result in the following changelog entries:

Changelogs

mender-helm (v6.0.0-lesser)

New changes in mender-helm since master:

Bug Fixes
  • Changed default global.enterprise to false

@alfrunes alfrunes changed the title [DRAFT] Mender helm v6.0.0 with less breaking changes Mender helm v6.0.0 Oct 2, 2024
@alfrunes
Copy link
Contributor Author

alfrunes commented Oct 2, 2024

LGTM 👍 Of course, I cannot test it properly because the Mender v4.0.0 has not been published yet.

Out of scope, but since we're in a breaking release, could we also switch api_gateway.env.SSL=false ? Otherwise it won't work. See: https://northerntech.atlassian.net/browse/MEN-7260

Thanks for reminding me, I forgot about this one. I cherry-picked it from #170 and amended the changelogs.

@alfrunes alfrunes requested a review from oldgiova October 3, 2024 12:23
Copy link
Contributor

@oldgiova oldgiova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still LGTM

oldgiova and others added 2 commits October 4, 2024 17:38
…lease

Release please CHANGELOG automation
You can choose to not to set either httpPort or httpsPort in the
api_gateway, to prevent upload timeout with the Mender Cli, as reported
by customers.

Ticket: MEN-7595

Signed-off-by: Roberto Giovanardi <[email protected]>
oldgiova and others added 29 commits October 21, 2024 10:32
With release-please and git cliff, the CHANGELOG.md and the releases are automated

Ticket: MC-7582

Signed-off-by: Roberto Giovanardi <[email protected]>
Added Horizontal Pod Autoscaler resource to the gui container, to scale
it automatically when the service experiences more load.

Ticket: MC-7600

Signed-off-by: Roberto Giovanardi <[email protected]>
With the --unreleased flag, only the last release were added to the
CHANGELOG.md, so the old history would have been lost. With this change,
we'll just prepend the new git cliff release.

Signed-off-by: Roberto Giovanardi <[email protected]>
We tried the --prepend option, that seems not working well, so getting
back to the full changelog generation option from the entire git history

Signed-off-by: Roberto Giovanardi <[email protected]>
Signed-off-by: Roberto Giovanardi <[email protected]>
This could happen in pipeline with cached jobs

Signed-off-by: Roberto Giovanardi <[email protected]>
In some conditions the upstream pr branch could diverge from the local
branch. With this fix it should rebase the upstream changes locally

Signed-off-by: Roberto Giovanardi <[email protected]>
We don't care if the github remote is already existing, so we add a ||
true to carry on in case.

Signed-off-by: Roberto Giovanardi <[email protected]>
To avoid race condition, using an unique remote github repository name
and clean it up when everything is done.

Signed-off-by: Roberto Giovanardi <[email protected]>
Not using && and using dashes instead, to better debug script issues

Signed-off-by: Roberto Giovanardi <[email protected]>
Force the remote pr branch into the local one

Signed-off-by: Roberto Giovanardi <[email protected]>
You can choose to not to set either httpPort or httpsPort in the
api_gateway, to prevent upload timeout with the Mender Cli, as reported
by customers.

Ticket: MEN-7595

Signed-off-by: Roberto Giovanardi <[email protected]>
BREAKING CHANGE: See CHANGELOG.md
Signed-off-by: Alf-Rune Siqveland <[email protected]>
Starting with Mender server v4.0.0 the secret is no longer in used.
The secret is not created/mounted to the service unless explicitly
specified.

Signed-off-by: Alf-Rune Siqveland <[email protected]>
Git cliff rewrites the changelog with the new format starting from this
release, so let's start from a brand new files and move the old
changelogs pre-v6 to a dedicated file.

Signed-off-by: Roberto Giovanardi <[email protected]>
To ease the Mender Server onboarding for Open source users.
If you want to use an external provided MongoDB, make sure to disable
it.

Signed-off-by: Roberto Giovanardi <[email protected]>
To ease the Mender Server onboarding for Open source users.
If you want to use an external provided NATS, make sure to disable
it.

Signed-off-by: Roberto Giovanardi <[email protected]>
Redis is not used by default in the Open source version. Letting it
enabled generates confusion, so let's disable it.

Signed-off-by: Roberto Giovanardi <[email protected]>
The default install proposes the storage proxy feature enabled by
default to a simplify onboarding experience

Signed-off-by: Roberto Giovanardi <[email protected]>
With Seaweedfs, v6 breaking changes, and a dedicated upgrade document

Signed-off-by: Roberto Giovanardi <[email protected]>
Adapted scripts and snippets for testing the new helm chart v6

Signed-off-by: Roberto Giovanardi <[email protected]>
The playground option is needed to run an EKS cluster to manually play
with, and a Changelog job is useless here.

Signed-off-by: Roberto Giovanardi <[email protected]>
ci: adapt tests to the v6 chart
…e-fix

ci: not running changelog job during playground
Always get the full git history, to generate a full changelog without
missing commits.

Changelog: None
Ticket: None

Signed-off-by: Roberto Giovanardi <[email protected]>
ci: get full git history to generate changelog
@alfrunes alfrunes merged commit f88829e into mendersoftware:master Oct 29, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants