Coder Social home page Coder Social logo

radix-flux's Issues

Make 3'rd party and Radix components to be run on ARM nodes

Strategy to decide:

  • Nodeselector (simple)
  • affinity / antiaffinity

Components

  • azure-service-operator
  • blob-csi-driver
  • cert-manager
  • external-secrets-operator
  • grafana
  • ingress-nginx
  • keda
  • kube-prometheus-stack
  • kubernetes-replicator
  • kured
  • (radix)prometheus-guard DEV #2169
  • (radix)prometheus-guard All envs
  • equinor/radix-acr-cleanup#83
  • equinor/radix-cicd-canary#205
  • radix-cluster-cleanup
  • radix-cost-allocation
  • radix-operator
  • radix-pipeline-runner
  • radix-tekton
  • radix-image-builder (ACR tasks)
  • radix-builder with buildah (build-kit)
  • radix-vulnerability-scanner
  • tekton-pipeline-runs
  • velero, radix-velero-plugin
  • workload-identity-webhook

Running containers as root user should be avoided [Security]

Containers shouldn't run as root users in your Kubernetes cluster. Running a process as the root user inside a container runs it as root on the host. If there's a compromise, an attacker has root in the container, and any misconfigurations become easier to exploit.

  • Fix the security context for Tekton init container
  • Fix or make exception for Velero

Manual remediation:

  1. From the Unhealthy resources tab, select the cluster. Defender for Cloud lists the relevant pods.
  2. For these pods, ensure the runAsUser property is set to a non-zero value or set property runAsNonRoot=true.
  3. After making your changes, redeploy the pod with the updated rule.

Upgrade Flux to newer version (From 0.32 to v0.40.2)

Note that v0.40.0 contained breaking changes
https://github.com/fluxcd/flux2/releases/tag/v0.40.0

The autologin flags (--aws-autologin-for-ecr, --gcp-autologin-for-gcr and --azure-autologin-for-acr) have been deprecated to bring the Image API closer to the Source API, where cloud provider contextual login is configured at object level with .spec.provider. Usage of these flags will result in a logged error. Please update all the ImageRepository manifests that require contextual login with the new field .spec.provider and the appropriate cloud provider value; aws, gcp, or azure. Refer the docs for more details and examples.

Change Velero to run containers as non-root user

Running containers as root user should be avoided
Containers shouldn't run as root users in your Kubernetes cluster. Running a process as the root user inside a container runs it as root on the host. If there's a compromise, an attacker has root in the container, and any misconfigurations become easier to exploit.
#velero

Configure Immutable (read-only) root filesystem for 3rd party components

Containers should run with a read only root file system in your Kubernetes cluster. Immutable filesystem protects containers from changes at run-time with malicious binaries being added to PATH.

Components with issues

Improve move custom ingress action performance

example on slow action run: move custom ingress run 23
example on unreachable cluster: move custom ingress run 20

  • Check if monitor addon is enabled before enabling
  • Exit action if cluster is unreachable
  • Exit action if kubelogin failed
  • fix Waiting for AAD role to propagate

Perm:

  • 2023-05-11T12:32:09.0652279Z Message: The client 'dd4dd75c-6e56-4c2b-9404-e76d2c29c67f' with object id 'dd4dd75c-6e56-4c2b-9404-e76d2c29c67f' does not have authorization or an ABAC condition not fulfilled to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/**_/resourceGroups/clusters/providers/Microsoft.ContainerService/managedClusters/weekly-19/providers/Microsoft.Authorization/roleAssignments/c25cdbcc-5afc-4a57-899f-01b1de71f50e' or the scope is invalid. If access was recently granted, please refresh your credentials.

Upgrade flux to v2.3.0 in all enviroments

API changes
https://github.com/fluxcd/flux2/releases/tag/v2.3.0

Features and improvements:
https://fluxcd.io/blog/2024/05/flux-v2.3.0/

Cool feature:
flux reconcile helmrelease <release> --reset
flux reconcile helmrelease <release> --force

Installing or upgrading Flux
To upgrade the APIs, make sure the new Custom Resource Definitions and controllers are deployed, and then change the manifests in Git:

  1. Set apiVersion: helm.toolkit.fluxcd.io/v2beta2 in the YAML files that contain HelmRelease definitions.
  2. Set apiVersion: notification.toolkit.fluxcd.io/v1beta3 in the YAML files that contain Alert and Provider definitions.
  3. Set apiVersion: image.toolkit.fluxcd.io/v1beta2 in the TAML files that contain ImageRepository, ImagePolicy and ImageUpdateAutomation
  4. Commit, push and reconcile the API version changes.

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 month

Set wildcard records in prod and C2

  • Add wildcard records. Cluster-specific, active-cluster and app alias
  • Delete existing custom CNAMES, e.g. console.radix.equinor.com
  • Patch radix-flux and remove external-dns
  • Remove external-dns HelmRelease
  • Remove existing external-dns managed records
  • Remove unused external-dns manifests in radix-flux

Waiting for Blob-CSI Driver Update to Fix Truncated Data Issue with Blobfuse v2.1.1 or Higher

A fix for this issue is released in Blobfuse v2.1.1 or higher. However, this version of Blobfuse will only be available with a newer version of the Blob-CSI driver. We are currently waiting for this new release.

We are currently running:
blob-csi: 1.23.2
blobfuse2: 2.1.0

links:
blob-csi-driver blobfuse2 version: https://github.com/kubernetes-sigs/blob-csi-driver/blob/c53028ea6b024c4d1c1fea435edbbee3a83e9af3/deploy/csi-blob-node.yaml#L61
fix for truncated files: Azure/azure-storage-fuse#1142

Update velero helm 3.2.0 -> 4.0.1

#################################################################################

BREAKING: The config values passed contained no longer accepted
options. See the messages below for more details.
To verify your updated config is accepted, you can use
the helm template command.

#################################################################################

ERROR: Please make .configuration.backupStorageLocation from map to slice

ERROR: Please make .configuration.volumeSnapshotLocation from map to slice

REMOVED: .configuration.provider has been removed, instead each backupStorageLocation and volumeSnapshotLocation has a provider configured

warning: Upgrade "velero" failed: post-upgrade hooks failed: unable to build kubernetes object for post-upgrade hook velero/templates/backupstoragelocation.yaml: error validating "": error validating data: [ValidationError(BackupStorageLocation.spec.objectStorage): missing required field "bucket" in io.velero.v1.BackupStorageLocation.spec.objectStorage, ValidationError(BackupStorageLocation.spec): missing required field "provider" in io.velero.v1.BackupStorageLocation.spec]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.