feat(github-release): update flux group (minor) #253
Merged
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.
This PR contains the following updates:
v2.1.2
->v2.3.0
v2.1.2
->v2.3.0
2.0.48
->2.1.3
Release Notes
fluxcd/flux2 (fluxcd/flux2)
v2.3.0
Compare Source
v2.2.3
Compare Source
Highlights
Flux v2.2.3 is a patch release which comes with various fixes and improvements. Users are encouraged to upgrade for the best experience.
💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.
This release updates the Kubernetes dependencies to v1.28.6 and various other dependencies to their latest version to patch upstream CVEs.
All controllers are built with Go 1.21.6 using Alpine Linux 3.19.1 base image.
Fixes:
Roles
andClusterRoles
with aggregated roles were continuous reconciled by kustomize-controller has been fixed.See the components changelog for a full list of bug fixes.
Components changelog
CLI Changelog
flux check
should error on unrecognised argsflux stats
should error on unrecognised argsv2.2.2
Compare Source
Highlights
Flux v2.2.2 is a patch release that addresses an issue with the label selector sharding functionality in the helm-controller. Users are encouraged to upgrade for the best experience.
💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.
Components changelog
CLI Changelog
v2.2.1
Compare Source
Highlights
Flux v2.2.1 is a patch release that comes with fixes to API backwards compatibility.
Users are encouraged to upgrade for the best experience.
💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.
This version was tested with the latest Kubernetes release, and extends Flux support to Kubernetes v1.29.
The Helm SDK was updated to the latest version, v3.13.3.
Logging in kustomize-controller and helm-controller has been improved to provide faster feedback on any HTTP errors encountered while fetching artifacts from source-controller.
Components changelog
CLI Changelog
v2.2.0
Compare Source
Highlights
Flux v2.2.0 is a feature release. Users are encouraged to upgrade for the best experience.
The Flux CLI and controllers have been updated to Kustomize v5.3.0 and Kubernetes v1.28.4.
Flux helm-controller's reconciliation model underwent a significant overhaul, addressing persistent issues such as the automatic recovery of releases stuck in a pending state. In addition, it improves the observability of the release status, and it introduces the ability to enable drift detection on a per-object basis. For more details on the helm-controller improvements, please see the Announcing Flux 2.2 GA blog post.
The Flux CLI can now be used to force or reset the reconciliation state of a
HelmRelease
v2beta2 object usingflux reconcile hr --force
andflux reconcile hr --reset
.Flux CLI comes with support for bootstrapping Gitea repositories and adds guardrails to
flux install
andflux bootstrap
to protect users from destructive operations. Theflux version
andflux check
commands now print the Flux distribution version deployed on the cluster.The Flux alerting capabilities have been extended with NATS and Bitbucket Server & Data Center support.
Starting with this release, Flux minor versions are benchmark to measure the Mean Time To Production (MTTP). The results for this version can be found at
github.com/fluxcd/flux-benchmark.
❤️ Big thanks to all the Flux contributors that helped us with this release!
Kubernetes compatibility
This release is compatible with the following Kubernetes versions:
v1.26
>= 1.26.0
v1.27
>= 1.27.1
v1.28
>= 1.28.0
Note that Flux may work on older versions of Kubernetes e.g. 1.25, but we don't recommend running end-of-life versions in production nor do we offer support for these versions.
API changes
HelmRelease v2beta2
The HelmRelease kind was promoted from v2beta1 to v2beta2.
The v2beta2 API is backwards compatible with v2beta1, the v2beta1 API is deprecated and will be removed in a future release.
Deprecated fields:
.patchesStrategicMerge
and.patchesJson6902
Kustomize post-rendering fields have been deprecated in favor of.patches
..status.lastAppliedRevision
and.status.lastReleaseRevision
fields have been deprecated in favor of.status.history
..status.lastAttemptedValuesChecksum
has been deprecated in favor of.status.lastAttemptedConfigDigest
.New fields:
.spec.driftDetection.mode
field..spec.driftDetection.ignore
.spec.test.filters
field..status.history
field. This includes any Helm test results when enabled..status.lastHandledForceAt
and.status.lastHandledResetAt
fields have been introduced to track the last time a force upgrade or reset was handled.Alert and Provider v1beta3
The Alert and Provider kinds were promoted from v1beta2 to v1beta3.
The v1beta3 API is backwards compatible with v1beta2, the
.status
field was removed making the resources static objects. Any errors encountered while sending notifications are now recorded as Kubernetes Events associated with the Alert objects.Bucket v1beta2
A new field,
.spec.prefix
, has been added to the Bucket API, which enables server-side filtering of files if the object's.spec.provider
is set togeneric
,aws
orgcp
.OCIRepository and HelmChart v1beta2
Two new fields,
.spec.verify.matchOIDCIdentity.issuer
and.spec.verify.matchOIDCIdentity.subject
have been added to the HelmChart and OCIRepository APIs. If the image has been keylessly signed via Cosign, these fields can be used to verify the OIDC issuer of the Fulcio certificate and theOIDC identity's subject respectively.
HelmRepository and ImageRepository v1beta2
A new boolean field,
.spec.insecure
, has been introduced to theHelmRepository and ImageRepository APIs, which allows connecting to a non-TLS HTTP container registry. For HelmRepositories it is only considered if the object's
.spec.type
is set tooci
.From this release onwards, HelmRepository objects of type OCI are treated as static objects, i.e. they have an empty status.
Upgrade procedure
Upgrade Flux from
v2.x
tov2.2.0
either by rerunning bootstrap or by using the Flux GitHub Action.To upgrade the APIs, make sure the new CRDs and controllers are deployed, and then change the manifests in Git:
apiVersion: helm.toolkit.fluxcd.io/v2beta2
in the YAML files that containHelmRelease
definitions.apiVersion: notification.toolkit.fluxcd.io/v1beta3
in the YAML files that containAlert
andProvider
definitions.Bumping the APIs version in manifests can be done gradually. It is advised to not delay this procedure as the deprecated versions will be removed after 6 months.
New Documentation
Components changelog
CLI Changelog
flux reconcile hr
context deadline exceeded
errorflux install
from overriding bootrapped clusterflux pull
work for OCI artifacts produced by other toolsminiflux/v2 (ghcr.io/miniflux/miniflux)
v2.1.3
Compare Source
api
:rand.Intn(math.MaxInt64)
causes tests to fail on 32-bit architectures (userand.Int()
instead)ci
: usedocker/metadata-action
instead of deprecated shell-scriptsdatabase
: removeentries_feed_url_idx
index because entry URLs can exceeds btree index size limitfinder
: find feeds from YouTube playlisthttp/response
: add brotli compression supportintegration/matrix
: fix function name in commentpackaging
: specify container registry explicitly (e.g., Podman does not usedocker.io
by default)packaging
: usemake miniflux
instead of duplicatinggo build
arguments (this leverages Go's PIE build mode)reader/fetcher
: add brotli content encoding supportreader/processor
: minimize feed entries HTML contentreader/rewrite
: add a rule foroglaf.com
storage
: changeGetReadTime()
function to useentries_feed_id_hash_key
indexui
: add seek and speed controls to media playerui
: add tag entries pageui
: fix JavaScript error when clicking on unread counterui
: useFORCE_REFRESH_INTERVAL
config for category refreshgithub.jparrowsec.cn/tdewolff/minify/v2
from2.20.19
to2.20.20
golang.org/x/net
from0.22.0
to0.24.0
golang.org/x/term
from0.18.0
to0.19.0
golang.org/x/oauth2
from0.18.0
to0.19.0
github.com/yuin/goldmark
from1.7.0
to1.7.1
v2.1.2
Compare Source
api
: rewrite API integration tests without build tagsci
: add basic ESLinter checksci
: enable go-critic linter and fix various issues detectedci
: fix JavaScript linter path in GitHub Actionscli
: avoid misleading error message when creating an admin user automaticallyconfig
: addFILTER_ENTRY_MAX_AGE_DAYS
optionconfig
: bump the number of simultaneous workersconfig
: renamePROXY_*
options toMEDIA_PROXY_*
config
: usecrypto.GenerateRandomBytes
instead of doing it by handhttp/request
: refactor conditions to be more idiomatichttp/response
: remove legacyX-XSS-Protection
headerintegration/rssbrige
: fix rssbrige importintegration/shaarli
: factorize the header+payload concatenation as dataintegration/shaarli
: no need to base64-encode then remove the padding when we can simply encode without paddingintegration/shaarli
: the JWT token was declared as using HS256 as algorithm, but was using HS512integration/webhook
: add category title to request bodylocale
: update Turkish translationsman page
: sort config options in alphabetical ordermediaproxy
: reduce the internal indentation ofProxifiedUrl
by inverting some conditionsmediaproxy
: simplify and refactor the packagemodel
: replaceOptional{Int,Int64,Float64}
with a generic functionOptionalNumber()
model
: use struct embedding forFeedCreationRequestFromSubscriptionDiscovery
to reduce code duplicationreader/atom
: avoid debug message when the date is emptyreader/atom
: changeif !a { a = } if !a {a = }
constructs intoif !a { a = ; if !a {a = }}
to reduce the number of comparisons and improve readabilityreader/atom
: Move the population of the feed's entries into a new function, to make BuildFeed easier to understand/separate concerns/implementation detailsreader/atom
: refactor Atom parser to use an adapterreader/atom
: usesort+compact
instead ofcompact+sort
to remove duplicatesreader/atom
: when detecting the format, detect its version as wellreader/encoding
: inline a one-liner functionreader/handler
: fix force refresh featurereader/json
: refactor JSON Feed parser to use an adapterreader/media
: remove a superfluous error-check:strconv.ParseInt
returns0
when passed an empty stringreader/media
: simplify switch-case by moving a common condition above itreader/processor
: compile block/keep regex only once per feedreader/rdf
: refactor RDF parser to use an adapterreader/rewrite
: inline some one-line functionsreader/rewrite
: simplifyremoveClickbait
reader/rewrite
: transform a free-standing function into a methodreader/rewrite
: use a proper constant instead of a magic number inapplyFuncOnTextContent
reader/rss
: add support for<media:category>
elementreader/rss
: don't add empty tags to RSS itemsreader/rss
: refactor RSS parser to use a default namespace to avoid some limitations of the Go XML parserreader/rss
: refactor RSS Parser to use an adapterreader/rss
: remove some duplicated code in RSS parserreader
: ensure that enclosure URLs are always absolutereader
: move iTunes and GooglePlay XML definitions to their own packagesreader
: parse podcast categoriesreader
: remove trailing space inSiteURL
andFeedURL
storage
: do not store empty tagsstorage
: simplifyremoveDuplicates()
to use asort
+compact
construct instead of doing it by hand with a hashmapstorage
: Use plain strings concatenation instead of building an array and then joining ittimezone
: make sure the tests pass when the timezone database is not installed on the hostui/css
: alignmin-width
with the othermin-width
valuesui/css
: fix regression: "Add to Home Screen" button is unreadableui/js
: don't use lambdas to return a function, use directly the function insteadui/js
: enable trusted-typesui/js
: fix download button loading labelui/js
: fix JavaScript error on the login page when the user not authenticatedui/js
: inline one-line functionsui/js
: inline somequerySelectorAll
callsui/js
: reduce the scope of some variablesui/js
: remove a hack for "Chrome 67 and earlier" since it was released in 2018ui/js
: replaceDomHelper.findParent
with.closest
ui/js
: replacelet
withconst
ui/js
: simplifyDomHelper.getVisibleElements
by using afilter
instead of a loop with an indexui/js
: use aSet
instead of an array in aKeyboardHandler
's memberui/js
: use some ternaries where it makes senseui/static
: make use ofHashFromBytes
everywhereui/static
: set minifier ECMAScript versionui
: add keyboard shortcuts for scrolling to top/bottom of the item listui
: add media player control playback speedui
: remove unused variables and improve JSON decoding insaveEnclosureProgression()
validator
: display an error message on edit feed page when the feed URL is not uniquegithub.jparrowsec.cn/coreos/go-oidc/v3
from3.9.0
to3.10.0
github.com/go-webauthn/webauthn
from0.10.1
to0.10.2
github.com/tdewolff/minify/v2
from2.20.18
to2.20.19
google.golang.org/protobuf
from1.32.0
to1.33.0
v2.1.1
Compare Source
Enter
key as a hotkey to open selected itemvideo
elementposter
attributeindex.xml
feed.atom
andfeed.rss
are used by enterprise-scale/old-school gigantic CMS<title>
elementsgit describe
andrev-parse
stderr: When building from a tarball instead of a cloned git repo, there would be twofatal: not a git repository
errors emitted even though the build succeeds. This is because of howVERSION
andCOMMIT
are set in the Makefile. This PR suppresses the stderr for these variable assignments.CGO_ENABLED=0
forminiflux
targetstaticcheck
andgolangci-lint
insteadgo.mod
and add.exe
suffix to Windows binaryio.ReadSeeker
instead of anio.Reader
to parse feedswww
strings.Builder
instead of abytes.Buffer
strings.NewReader
instead of abytes.NewBufferString
continue
to make the code-flow more obviousinList
, and put their parameters in the right orderisPixelTracker
isValidIframeSource
, by extracting the hostname and comparing it directly, instead of using the full url and checking if it starts with multiple variations of the same one (//
,http:
,https://
multiplied by/www.
)slices
instead of hand-rolled loopscollector/allocator involvements.
Reader
instead of copying to a buffer when parsing an Atom feedview.New
after logging the user in: There is no need to do extra work like creating a session and its associated view until the user has been properly identified and as many possibly-failing sql request have been successfully rungenericProxyRewriter
shouldProxy
function to reduce the copy-pasta.removeUnlikelyCandidates
:.Not
returns a brand newSelection
, copied element by elementEstimateReadingTime
's speed by a factor 7whatlanggo.Detect
is abysmally slow.username
generation for the integration tests: No need to generate random numbers 10 times, generate a single big-enough one. A single int64 should be more than enoughArchiveEntries
andupdateEnclosures
line
is positive since we're checking afterwards that it contains the=
signdefer()
in a loopstrings.ReplaceAll
instead ofstrings.Replace(…, -1)
strings.EqualFold
instead ofstrings.ToLower(…) ==
.WriteString(
instead of.Write([]byte(…
%q
instead of"%s"
internal/worker/worker.go
read-onlyinternal/locale/plural.go
instead of an avalanche ofif
formatFileSize
andduration
implementationprinter.Print
when possibleprinter.Print
tointernal/locale/printer.go
: No need to use variadic functions with string format interpolation to generate static stringsinternal/ui/view/view.go
: No need to create the map item by item when we can create it in one goCountAllFeeds()
: No need to build an empty map to then add more fields in it one by oneinternal/reader/subscription/finder.go
:localizedError
inFindSubscriptionsFromWellKnownURLs
viaslog
file, if only for consistency's sake
subscriptions
slice when using an RSS-bridge,MarkCategoryAsRead
instead of a subqueryCleanOldUserSessions
' query: No need for a subquery, filtering oncreated_at
directly is enoughcleanupEntries
' queryNOT (hash=ANY(%4))
can be expressed ashash NOT IN $4
ArchiveEntries
's query for consistency's sake and replace the=ANY
with anIN
GetEntryIDs
andGetReadTime
's query for consistency's sakeWeeklyFeedEntryCount
: No need for aBETWEEN
: we want to filter on entries published in the last week, no need to express is as "entries published between now and last week", "entries published after last week" is enoughadd_image_title
github.com/google/uuid
dependencies: Replace it with a hand-rolled implementation. Heck, an UUID isn't even a requirement according to Omnivore API docsinternal/reader/icon/finder.go
:apple-touch-icon-precomposed.png
as a fallbackfavicon
icon
first, since it seems to be the most popular one. It used to be last, meaning that pages had to be parsed completely 4 times, instead of one now.findIconURLsFromHTMLDocument
internal/reader/date/parser.go
:Entry
struct to save some memorygolang.org/x/oauth2
from0.17.0
to0.18.0
github.com/prometheus/client_golang
from1.18.0
to1.19.0
github.com/tdewolff/minify/v2
from2.20.16
to2.20.18
github.com/PuerkitoBio/goquery
from1.8.1
to1.9.1
golang.org/x/crypto
from0.19.0
to0.20.0
github.com/go-jose/go-jose/v3
from3.0.1
to3.0.3
v2.1.0
Compare Source
FORCE_REFRESH_INTERVAL
config optionitem-meta-info-reading-time
CSS classadd_dynamic_iframe
rewrite functiondata-original-mos
toadd_dynamic_image
rewrite candidatesAccept
header when fetching feedssecurityContext
error in Kubernetes)type
attribute in OPML export as per OPML 2.0 specserror.unable_to_parse_feed
armhf
architecturefor
attributedetails
andsummary
when expandedalert
role to alert message elementh2
heading to the article element so that the screen reader users can navigate the article through the heading levelaria-label
attribute for the article element for screen readersalt
attribute in feeds list to prevent screen reader to announce it before entry titlesr-only
CSS class for screen reader users (provides more context)nav
landmark to page header linksgolang.org/x/term
from0.16.0
to0.17.0
github.com/google/uuid
from1.5.0
to1.6.0
github.com/yuin/goldmark
from1.6.0
to1.7.0
golang.org/x/oauth2
from0.15.0
to0.17.0
github.com/tdewolff/minify/v2
from2.20.10
to2.20.12
golang.org/x/term
from0.15.0
to0.16.0
github.com/prometheus/client_golang
from1.17.0
to1.18.0
github.com/tdewolff/minify/v2
from2.20.9
to2.20.16
golang.org/x/crypto
from0.16.0
to0.19.0
github.com/go-webauthn/webauthn
from0.9.4
to0.10.1
golang.org/x/net
from0.20.0
to0.21.0
v2.0.51
Compare Source
iframe
(avoidERR_BLOCKED_BY_RESPONSE
error)nb_jobs
only when number of jobs is larger than 0 in background schedulerPOLLING_SCHEDULER=entry_frequency
)SCHEDULER_ROUND_ROBIN_MIN_INTERVAL
config optiongithub.jparrowsec.cn/google/uuid
from1.4.0
to1.5.0
github.com/coreos/go-oidc/v3
from3.7.0
to3.9.0
github.com/tdewolff/minify/v2
from2.20.6
to2.20.9
github.com/go-webauthn/webauthn
from0.8.6
to0.9.4
golang.org/x/oauth2
from0.14.0
to0.15.0
v2.0.50
Compare Source
user/{userID}/state/com.google/read
is missing in categories section for read entriesExcludeTargets
into consideration in feed stream handlerhide_globally
property defined for categories in/v1/entries
API endpointLocalizedError
packagesnext_check_at
in the web ui and APIgithub-cli
anddocker-outside-of-docker
features to devcontainergolang.org/x/*
dependenciesgithub.jparrowsec.cn/gorilla/mux
from1.8.0
to1.8.1
github.com/tdewolff/minify/v2
from2.19.9
to2.20.6
github.com/yuin/goldmark
from1.5.6
to1.6.0
github.com/coreos/go-oidc/v3
from3.6.0
to3.7.0
v2.0.49
Compare Source
log/slog
package. New config options available:LOG_FORMAT
:json
ortext
LOG_LEVEL
:debug
,info
,warning
, orerror
LOG_FILE
:sdterr
,stdout
, or a file pathDEBUG
option is now deprecated in favor ofLOG_LEVEL
/v1/version
PUT /v1/entries
to update entry title and content/v1/icons/{iconID}
/v1/flush-history
to flush historyGET /v1/entries
endpointpublished_after
,published_before
,changed_after
andchanged_before
options to/v1/entries
endpointcontrib
folder (Bruno is an open source alternative to Postman/Insomnia)add_hn_links_using_hack
andadd_hn_links_using_opener
to open HN comments with iOS appsExpires
response headerPreferServerCipherSuites
TLS optiongithub.jparrowsec.cn/rylans/getlang
withgithub.jparrowsec.cn/abadojack/whatlanggo
becausegetlang
doesn't seems to be updated anymoregithub.jparrowsec.cn/mccutchen/go-httpbin/v2
from2.11.0
to2.11.1
golang.org/x/*
dependenciesConfiguration
📅 Schedule: Branch creation - "before 6am" in timezone America/Detroit, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.