Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# To re-generate a bundle for another specific version without changing the standard setup, you can:
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
VERSION ?= 1.0.0
VERSION ?= 1.0.1
# Image URL to use all building/pushing image targets
IMG ?= ghcr.io/inditextech/k8s-overcommit-operator:$(VERSION)
# IMAGE_TAG_BASE defines the docker.io namespace and part of the image name for remote images.
Expand Down Expand Up @@ -56,7 +56,7 @@ endif

# Set the Operator SDK version to use. By default, what is installed on the system is used.
# This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.
OPERATOR_SDK_VERSION ?= v1.39.2
OPERATOR_SDK_VERSION ?= v1.40.0

# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.31.0
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ kubectl apply -f https://github.com/InditexTech/k8s-overcommit-operator/deploy/o

#### 3️⃣ Create the Subscription (Alternative)

You can create yot own or use the one in the route *https://github.com/InditexTech/k8s-overcommit-operator/deploy/subsciption.yaml*
You can create your own or use the one in the route *https://github.com/InditexTech/k8s-overcommit-operator/deploy/subscription.yaml*

```yaml
apiVersion: operators.coreos.com/v1alpha1
Expand All @@ -129,7 +129,7 @@ spec:
### 🎯 Overcommit Resource

> [!IMPORTANT]
> **Its a singleton CRD**: only can exists one, and it has to be called **cluster**
> **It's a singleton CRD**: only can exist one, and it has to be called **cluster**

First, deploy the main `Overcommit` resource named **"cluster"**:

Expand Down
2 changes: 1 addition & 1 deletion bundle.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL operators.operatorframework.io.bundle.package.v1=k8s-overcommit
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.39.2
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.40.0
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4

Expand Down
10 changes: 5 additions & 5 deletions bundle/manifests/k8s-overcommit.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ metadata:
}
]
capabilities: Basic Install
createdAt: "2025-06-30T14:24:32Z"
operators.operatorframework.io/builder: operator-sdk-v1.39.2
createdAt: "2025-07-01T08:25:39Z"
operators.operatorframework.io/builder: operator-sdk-v1.40.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
name: k8s-overcommit.v1.0.0
name: k8s-overcommit.v1.0.1
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -221,7 +221,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: ghcr.io/inditextech/k8s-overcommit-operator:1.0.0
image: ghcr.io/inditextech/k8s-overcommit-operator:1.0.1
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -313,4 +313,4 @@ spec:
minKubeVersion: 1.22.0
provider:
name: inditexTech
version: 1.0.0
version: 1.0.1
2 changes: 1 addition & 1 deletion bundle/metadata/annotations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ annotations:
operators.operatorframework.io.bundle.metadata.v1: metadata/
operators.operatorframework.io.bundle.package.v1: k8s-overcommit
operators.operatorframework.io.bundle.channels.v1: alpha
operators.operatorframework.io.metrics.builder: operator-sdk-v1.39.2
operators.operatorframework.io.metrics.builder: operator-sdk-v1.40.0
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4

Expand Down
2 changes: 1 addition & 1 deletion chart/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ name: k8s-overcommit-operator
description: K8s overcommit operator Helm chart for deploying the overcommit operator
type: application
version: "1.0.0"
appVersion: "1.0.0"
appVersion: "1.0.1"
maintainers:
- name: Enrique Andrés Villar
email: enriqueavi@inditex.dev
Expand Down
2 changes: 1 addition & 1 deletion chart/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ deployment:
# -- Image name
image: inditextech/k8s-overcommit-operator
# -- Image tag
tag: 1.0.0
tag: 1.0.1
resources:
requests:
# -- CPU request for the container
Expand Down
2 changes: 1 addition & 1 deletion config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ kind: Kustomization
images:
- name: controller
newName: ghcr.io/inditextech/k8s-overcommit-operator
newTag: 1.0.0
newTag: 1.0.1
29 changes: 29 additions & 0 deletions deploy/chart/1.0.1/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2025 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
# SPDX-FileContributor: enriqueavi@inditex.com
#
# SPDX-License-Identifier: Apache-2.0

---
apiVersion: v2
name: k8s-overcommit-operator
description: K8s overcommit operator Helm chart for deploying the overcommit operator
type: application
version: "1.0.0"
appVersion: "1.0.1"
maintainers:
- name: Enrique Andrés Villar
email: enriqueavi@inditex.dev
- name: Javier Terceiro López
email: javiertl@inditex.dev
keywords:
- kubernetes
- openshift
- operator
- overcommit
- resource-management
- cluster-optimization
- scheduling
- performance
- inditex
sources:
- https://github.com/InditexTech/k8s-overcommit-operator
62 changes: 62 additions & 0 deletions deploy/chart/1.0.1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<!--
SPDX-FileCopyrightText: 2025 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
SPDX-FileContributor: enriqueavi@inditex.com

SPDX-License-Identifier: Apache-2.0
-->

# k8s-overcommit

![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)

Overcommitx Helm chart for deploying the Overcommitx Webhook

## Maintainers

| Name | Email | Url |
| ---- | ------ | --- |
| Enrique Andrés Villar | <enriqueavi@inditex.dev> | |

## Source Code

* <https://github.com/InditexTech/k8s-overcommit-operator>

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| clusterRole.name | string | `"k8s-overcommit-clusterrole"` | Name of the cluster role |
| createnamespace | bool | `false` | Whether to create the namespace if it does not exist |
| deployment.image | object | `{"image":"operator","registry":"quay.io","repository":"k8s-overcommit","tag":"1.0.0"}` | Image configuration for the deployment |
| deployment.image.image | string | `"operator"` | Image name |
| deployment.image.registry | string | `"quay.io"` | Docker registry for the image |
| deployment.image.repository | string | `"k8s-overcommit"` | Repository for the image |
| deployment.image.tag | string | `"1.0.0"` | Image tag |
| deployment.name | string | `"k8s-overcommit"` | Name of the deployment |
| deployment.replicas | int | `3` | Number of replicas for the deployment |
| deployment.resources.limits.cpu | string | `"500m"` | CPU limit for the container |
| deployment.resources.limits.memory | string | `"128Mi"` | Memory limit for the container |
| deployment.resources.requests.cpu | string | `"250m"` | CPU request for the container |
| deployment.resources.requests.memory | string | `"64Mi"` | Memory request for the container |
| hpa.cpuAverageUtilization | int | `70` | |
| hpa.enabled | bool | `false` | |
| hpa.maxReplicas | int | `10` | |
| hpa.memoryAverageUtilization | int | `75` | |
| hpa.minReplicas | int | `1` | |
| namespace | string | `"infra-k8s-overcommit"` | The namespace to deploy the resources |
| secret.name | string | `"tls-secret"` | Name of the secret |
| service.name | string | `"k8s-overcommit-webhook-service"` | Name of the service |
| service.port | int | `443` | Port for the service |
| serviceAccount.name | string | `"k8s-overcommit-sa"` | Name of the service account |
| webhook.certsPath | string | `"/etc/webhook/config"` | Path to the certificates |
| webhook.cpuGlobal | float | `0.2` | Default cpu overcommit |
| webhook.cpuLabel | string | `"inditex.dev/overcommit-cpu"` | Labels for make the cpu overcommit |
| webhook.memoryGlobal | float | `0.8` | Default memory overcommit |
| webhook.memoryLabel | string | `"inditex.dev/overcommit-memory"` | Labels for make the memory overcommit |
| webhook.metricsPort | int | `8080` | Port for the metrics |
| webhook.overcommitClassLabel | string | `"inditex.dev/overcommit-class"` | Label of the overcommit class |
| webhook.port | int | `9443` | Port for the webhook |
| webhookConfig.excludedNamespaces | string | `"(^(infra-|openshift|k8s-overcommit|kube).*)"` | Namespaces to exclude from the webhook |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
144 changes: 144 additions & 0 deletions deploy/chart/1.0.1/crds/overcommit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# SPDX-FileCopyrightText: 2025 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
# SPDX-FileContributor: enriqueavi@inditex.com
#
# SPDX-License-Identifier: Apache-2.0

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
name: overcommits.overcommit.inditex.dev
spec:
group: overcommit.inditex.dev
names:
kind: Overcommit
listKind: OvercommitList
plural: overcommits
singular: overcommit
scope: Cluster
versions:
- additionalPrinterColumns:
- description: Label to apply to the pods to make overcommit
jsonPath: .spec.overcommitLabel
name: Target Label
type: string
name: v1alphav1
schema:
openAPIV3Schema:
description: Overcommit is the Schema for the overcommits API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: OvercommitSpec defines the desired state of Overcommit
properties:
annotations:
additionalProperties:
type: string
type: object
labels:
additionalProperties:
type: string
type: object
overcommitLabel:
minLength: 1
type: string
required:
- overcommitLabel
type: object
status:
description: OvercommitStatus defines the observed state of Overcommit
properties:
conditions:
items:
description: Condition contains details for one aspect of the current
state of this API Resource.
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
resources:
items:
properties:
name:
type: string
ready:
type: boolean
required:
- ready
type: object
type: array
type: object
type: object
x-kubernetes-validations:
- message: overcommit is a singleton, .metadata.name must be 'cluster'
rule: self.metadata.name == 'cluster'
served: true
storage: true
subresources:
status: {}
Loading