Skip to content

Commit

Permalink
Merge pull request #12 from fluxcd/flux-2.4
Browse files Browse the repository at this point in the history
Update Flux to v2.4.0
  • Loading branch information
stefanprodan authored Sep 30, 2024
2 parents d23e14f + adeb352 commit 1c731a5
Show file tree
Hide file tree
Showing 28 changed files with 247 additions and 47 deletions.
23 changes: 23 additions & 0 deletions RESULTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,29 @@ registry at the same time.
- Helm repository (oci://ghcr.io/stefanprodan/charts/podinfo)
- App manifests (Deployment scaled to zero, Service Account, Service, Ingress)


## Flux v2.4.0

| Objects | Type | Flux component | Duration | Max Memory |
|---------|---------------|----------------------|----------|------------|
| 100 | OCIRepository | source-controller | 25s | 38Mi |
| 100 | Kustomization | kustomize-controller | 27s | 32Mi |
| 100 | HelmChart | source-controller | 25s | 40Mi |
| 100 | HelmRelease | helm-controller | 28s | 190Mi |
| 500 | OCIRepository | source-controller | 45s | 65Mi |
| 500 | Kustomization | kustomize-controller | 2m4s | 122Mi |
| 500 | HelmChart | source-controller | 45s | 68Mi |
| 500 | HelmRelease | helm-controller | 2m44s | 240Mi |
| 1000 | OCIRepository | source-controller | 1m30s | 67Mi |
| 1000 | Kustomization | kustomize-controller | 4m15s | 175Mi |
| 1000 | HelmChart | source-controller | 1m30s | 110Mi |
| 1000 | HelmRelease | helm-controller | 8m1s | 400Mi |

### Observations

Compared to Flux v2.3, the memory consumption of kustomize-controller
and helm-controller has slight improved when reconciling over 500 apps.

## Flux v2.3.0

| Objects | Type | Flux component | Duration | Max Memory |
Expand Down
4 changes: 2 additions & 2 deletions manifests/bases/helm-controller/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/fluxcd/helm-controller/releases/download/v1.0.1/helm-controller.crds.yaml
- https://github.com/fluxcd/helm-controller/releases/download/v1.0.1/helm-controller.deployment.yaml
- https://github.com/fluxcd/helm-controller/releases/download/v1.1.0/helm-controller.crds.yaml
- https://github.com/fluxcd/helm-controller/releases/download/v1.1.0/helm-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 1 addition & 0 deletions manifests/bases/helm-controller/labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ metadata:
name: labels
labels:
app.kubernetes.io/component: helm-controller
app.kubernetes.io/part-of: flux
fieldSpecs:
- path: metadata/labels
create: true
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/fluxcd/image-automation-controller/releases/download/v0.38.0/image-automation-controller.crds.yaml
- https://github.com/fluxcd/image-automation-controller/releases/download/v0.38.0/image-automation-controller.deployment.yaml
- https://github.com/fluxcd/image-automation-controller/releases/download/v0.39.0/image-automation-controller.crds.yaml
- https://github.com/fluxcd/image-automation-controller/releases/download/v0.39.0/image-automation-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 1 addition & 0 deletions manifests/bases/image-automation-controller/labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ metadata:
name: labels
labels:
app.kubernetes.io/component: image-automation-controller
app.kubernetes.io/part-of: flux
fieldSpecs:
- path: metadata/labels
create: true
4 changes: 2 additions & 2 deletions manifests/bases/image-reflector-controller/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/fluxcd/image-reflector-controller/releases/download/v0.32.0/image-reflector-controller.crds.yaml
- https://github.com/fluxcd/image-reflector-controller/releases/download/v0.32.0/image-reflector-controller.deployment.yaml
- https://github.com/fluxcd/image-reflector-controller/releases/download/v0.33.0/image-reflector-controller.crds.yaml
- https://github.com/fluxcd/image-reflector-controller/releases/download/v0.33.0/image-reflector-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 1 addition & 0 deletions manifests/bases/image-reflector-controller/labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ metadata:
name: labels
labels:
app.kubernetes.io/component: image-reflector-controller
app.kubernetes.io/part-of: flux
fieldSpecs:
- path: metadata/labels
create: true
4 changes: 2 additions & 2 deletions manifests/bases/kustomize-controller/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.3.0/kustomize-controller.crds.yaml
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.3.0/kustomize-controller.deployment.yaml
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.4.0/kustomize-controller.crds.yaml
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.4.0/kustomize-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 1 addition & 0 deletions manifests/bases/kustomize-controller/labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ metadata:
name: labels
labels:
app.kubernetes.io/component: kustomize-controller
app.kubernetes.io/part-of: flux
fieldSpecs:
- path: metadata/labels
create: true
4 changes: 2 additions & 2 deletions manifests/bases/notification-controller/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/fluxcd/notification-controller/releases/download/v1.3.0/notification-controller.crds.yaml
- https://github.com/fluxcd/notification-controller/releases/download/v1.3.0/notification-controller.deployment.yaml
- https://github.com/fluxcd/notification-controller/releases/download/v1.4.0/notification-controller.crds.yaml
- https://github.com/fluxcd/notification-controller/releases/download/v1.4.0/notification-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 1 addition & 0 deletions manifests/bases/notification-controller/labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ metadata:
name: labels
labels:
app.kubernetes.io/component: notification-controller
app.kubernetes.io/part-of: flux
fieldSpecs:
- path: metadata/labels
create: true
4 changes: 2 additions & 2 deletions manifests/bases/source-controller/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/fluxcd/source-controller/releases/download/v1.3.0/source-controller.crds.yaml
- https://github.com/fluxcd/source-controller/releases/download/v1.3.0/source-controller.deployment.yaml
- https://github.com/fluxcd/source-controller/releases/download/v1.4.1/source-controller.crds.yaml
- https://github.com/fluxcd/source-controller/releases/download/v1.4.1/source-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 1 addition & 0 deletions manifests/bases/source-controller/labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ metadata:
name: labels
labels:
app.kubernetes.io/component: source-controller
app.kubernetes.io/part-of: flux
fieldSpecs:
- path: metadata/labels
create: true
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Code generated by timoni. DO NOT EDIT.

//timoni:generate timoni vendor crd -f https://raw.githubusercontent.com/fluxcd/helm-controller/v1.0.0/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml
//timoni:generate timoni vendor crd -f https://raw.githubusercontent.com/fluxcd/helm-controller/v1.1.0/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml

package v2

Expand Down Expand Up @@ -47,8 +47,8 @@ import "strings"

// HelmReleaseSpec defines the desired state of a Helm release.
#HelmReleaseSpec: {
// Chart defines the template of the v1beta2.HelmChart that should
// be created
// Chart defines the template of the v1.HelmChart that should be
// created
// for this HelmRelease.
chart?: {
// ObjectMeta holds the template for metadata like labels and
Expand All @@ -75,7 +75,7 @@ import "strings"
}
}

// Spec holds the template for the v1beta2.HelmChartSpec for this
// Spec holds the template for the v1.HelmChartSpec for this
// HelmRelease.
spec: {
// The name or path the Helm chart is available at in the
Expand Down Expand Up @@ -106,7 +106,7 @@ import "strings"
apiVersion?: string

// Kind of the referent.
kind?: "HelmRepository" | "GitRepository" | "Bucket"
kind: "HelmRepository" | "GitRepository" | "Bucket"

// Name of the referent.
name: strings.MaxRunes(253) & strings.MinRunes(1)
Expand Down Expand Up @@ -144,7 +144,7 @@ import "strings"
}

// Version semver expression, ignored for charts from
// v1beta2.GitRepository and
// v1.GitRepository and
// v1beta2.Bucket sources. Defaults to latest when omitted.
version?: string | *"*"
}
Expand Down Expand Up @@ -260,19 +260,15 @@ import "strings"
// `Create` or `CreateReplace`. Default is `Create` and if omitted
// CRDs are installed but not updated.
//
//
// Skip: do neither install nor replace (update) any CRDs.
//
//
// Create: new CRDs are created, existing CRDs are neither updated
// nor deleted.
//
//
// CreateReplace: new CRDs are created, existing CRDs are updated
// (replaced)
// but not deleted.
//
//
// By default, CRDs are applied (installed) during Helm install
// action.
// With this option users can opt in to CRD replace existing CRDs
Expand All @@ -295,6 +291,11 @@ import "strings"
// rendered templates against the Kubernetes OpenAPI Schema.
disableOpenAPIValidation?: bool

// DisableSchemaValidation prevents the Helm install action from
// validating
// the values against the JSON Schema.
disableSchemaValidation?: bool

// DisableWait disables the waiting for resources to be ready
// after a Helm
// install has been performed.
Expand Down Expand Up @@ -339,7 +340,6 @@ import "strings"
// By default,
// CRDs are installed if not already present.
//
//
// Deprecated use CRD policy (`crds`) attribute with value `Skip`
// instead.
skipCRDs?: bool
Expand Down Expand Up @@ -391,7 +391,6 @@ import "strings"
// destroyed
// for each (step of a) Helm action.
//
//
// This can improve performance, but may cause issues with some
// Helm charts
// that for example do create Custom Resource Definitions during
Expand All @@ -400,7 +399,6 @@ import "strings"
// to be
// available by e.g. post-install hooks.
//
//
// If not set, it defaults to true.
persistentClient?: bool

Expand Down Expand Up @@ -625,19 +623,15 @@ import "strings"
// `Create` or `CreateReplace`. Default is `Skip` and if omitted
// CRDs are neither installed nor upgraded.
//
//
// Skip: do neither install nor replace (update) any CRDs.
//
//
// Create: new CRDs are created, existing CRDs are neither updated
// nor deleted.
//
//
// CreateReplace: new CRDs are created, existing CRDs are updated
// (replaced)
// but not deleted.
//
//
// By default, CRDs are not applied during Helm upgrade action.
// With this
// option users can opt-in to CRD upgrade, which is not (yet)
Expand All @@ -654,6 +648,11 @@ import "strings"
// rendered templates against the Kubernetes OpenAPI Schema.
disableOpenAPIValidation?: bool

// DisableSchemaValidation prevents the Helm upgrade action from
// validating
// the values against the JSON Schema.
disableSchemaValidation?: bool

// DisableWait disables the waiting for resources to be ready
// after a Helm
// upgrade has been performed.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Code generated by timoni. DO NOT EDIT.

//timoni:generate timoni vendor crd -f https://github.com/fluxcd/kustomize-controller/releases/download/v1.3.0/kustomize-controller.crds.yaml
//timoni:generate timoni vendor crd -f https://github.com/fluxcd/kustomize-controller/releases/download/v1.4.0/kustomize-controller.crds.yaml

package v1

Expand Down
Loading

0 comments on commit 1c731a5

Please sign in to comment.