Skip to content

Commit 731b34a

Browse files
committed
add memcached addon
1 parent b2b892f commit 731b34a

29 files changed

+3323
-10
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# To re-generate a bundle for another specific version without changing the standard setup, you can:
44
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
55
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
6-
VERSION ?= 0.2.1-rc.1
6+
VERSION ?= 0.2.1-rc.2
77

88
# CHANNELS define the bundle channels used in the bundle.
99
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")

PROJECT

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,4 +150,11 @@ resources:
150150
group: application
151151
kind: KuberoAddonMongodb
152152
version: v1alpha1
153+
- api:
154+
crdVersion: v1
155+
namespaced: true
156+
domain: kubero.dev
157+
group: application
158+
kind: KuberoAddonMemcached
159+
version: v1alpha1
153160
version: "3"

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.1-rc.1
1+
0.2.1-rc.2
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
creationTimestamp: null
5+
name: kuberoaddonmemcacheds.application.kubero.dev
6+
spec:
7+
group: application.kubero.dev
8+
names:
9+
kind: KuberoAddonMemcached
10+
listKind: KuberoAddonMemcachedList
11+
plural: kuberoaddonmemcacheds
12+
singular: kuberoaddonmemcached
13+
scope: Namespaced
14+
versions:
15+
- name: v1alpha1
16+
schema:
17+
openAPIV3Schema:
18+
description: KuberoAddonMemcached is the Schema for the kuberoaddonmemcacheds
19+
API
20+
properties:
21+
apiVersion:
22+
description: 'APIVersion defines the versioned schema of this representation
23+
of an object. Servers should convert recognized schemas to the latest
24+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
25+
type: string
26+
kind:
27+
description: 'Kind is a string value representing the REST resource this
28+
object represents. Servers may infer this from the endpoint the client
29+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
30+
type: string
31+
metadata:
32+
type: object
33+
spec:
34+
description: Spec defines the desired state of KuberoAddonMemcached
35+
type: object
36+
x-kubernetes-preserve-unknown-fields: true
37+
status:
38+
description: Status defines the observed state of KuberoAddonMemcached
39+
type: object
40+
x-kubernetes-preserve-unknown-fields: true
41+
type: object
42+
served: true
43+
storage: true
44+
subresources:
45+
status: {}
46+
status:
47+
acceptedNames:
48+
kind: ""
49+
plural: ""
50+
conditions: null
51+
storedVersions: null
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/managed-by: kustomize
7+
app.kubernetes.io/name: kubero-operator
8+
name: kubero-operator-kuberoaddonmemcached-admin-role
9+
rules:
10+
- apiGroups:
11+
- application.kubero.dev
12+
resources:
13+
- kuberoaddonmemcacheds
14+
verbs:
15+
- '*'
16+
- apiGroups:
17+
- application.kubero.dev
18+
resources:
19+
- kuberoaddonmemcacheds/status
20+
verbs:
21+
- get
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/managed-by: kustomize
7+
app.kubernetes.io/name: kubero-operator
8+
name: kubero-operator-kuberoaddonmemcached-editor-role
9+
rules:
10+
- apiGroups:
11+
- application.kubero.dev
12+
resources:
13+
- kuberoaddonmemcacheds
14+
verbs:
15+
- create
16+
- delete
17+
- get
18+
- list
19+
- patch
20+
- update
21+
- watch
22+
- apiGroups:
23+
- application.kubero.dev
24+
resources:
25+
- kuberoaddonmemcacheds/status
26+
verbs:
27+
- get
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/managed-by: kustomize
7+
app.kubernetes.io/name: kubero-operator
8+
name: kubero-operator-kuberoaddonmemcached-viewer-role
9+
rules:
10+
- apiGroups:
11+
- application.kubero.dev
12+
resources:
13+
- kuberoaddonmemcacheds
14+
verbs:
15+
- get
16+
- list
17+
- watch
18+
- apiGroups:
19+
- application.kubero.dev
20+
resources:
21+
- kuberoaddonmemcacheds/status
22+
verbs:
23+
- get

bundle/manifests/kubero-operator.clusterserviceversion.yaml

Lines changed: 108 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,79 @@ metadata:
353353
"tolerations": []
354354
}
355355
},
356+
{
357+
"apiVersion": "application.kubero.dev/v1alpha1",
358+
"kind": "KuberoAddonMemcached",
359+
"metadata": {
360+
"name": "kuberoaddonmemcached-sample"
361+
},
362+
"spec": {
363+
"affinity": {},
364+
"autoscaling": {
365+
"enabled": false,
366+
"maxReplicas": 100,
367+
"minReplicas": 1,
368+
"targetCPUUtilizationPercentage": 80
369+
},
370+
"fullnameOverride": "",
371+
"image": {
372+
"pullPolicy": "IfNotPresent",
373+
"repository": "nginx",
374+
"tag": ""
375+
},
376+
"imagePullSecrets": [],
377+
"ingress": {
378+
"annotations": {},
379+
"className": "",
380+
"enabled": false,
381+
"hosts": [
382+
{
383+
"host": "chart-example.local",
384+
"paths": [
385+
{
386+
"path": "/",
387+
"pathType": "ImplementationSpecific"
388+
}
389+
]
390+
}
391+
],
392+
"tls": []
393+
},
394+
"livenessProbe": {
395+
"httpGet": {
396+
"path": "/",
397+
"port": "http"
398+
}
399+
},
400+
"nameOverride": "",
401+
"nodeSelector": {},
402+
"podAnnotations": {},
403+
"podLabels": {},
404+
"podSecurityContext": {},
405+
"readinessProbe": {
406+
"httpGet": {
407+
"path": "/",
408+
"port": "http"
409+
}
410+
},
411+
"replicaCount": 1,
412+
"resources": {},
413+
"securityContext": {},
414+
"service": {
415+
"port": 80,
416+
"type": "ClusterIP"
417+
},
418+
"serviceAccount": {
419+
"annotations": {},
420+
"automount": true,
421+
"create": true,
422+
"name": ""
423+
},
424+
"tolerations": [],
425+
"volumeMounts": [],
426+
"volumes": []
427+
}
428+
},
356429
{
357430
"apiVersion": "application.kubero.dev/v1alpha1",
358431
"kind": "KuberoAddonMongodb",
@@ -1359,19 +1432,22 @@ metadata:
13591432
capabilities: Basic Install
13601433
categories: Integration & Delivery
13611434
certified: "false"
1362-
containerImage: ghcr.io/kubero-dev/kubero-operator/kuberoapp:v0.2.1-rc.1
1363-
createdAt: "2025-08-30T07:48:34Z"
1435+
containerImage: ghcr.io/kubero-dev/kubero-operator/kuberoapp:v0.2.1-rc.2
1436+
createdAt: "2025-08-30T11:07:43Z"
13641437
description: Kubero is a GitOps continuous delivery tool for Kubernetes.
13651438
operators.operatorframework.io/builder: operator-sdk-v1.41.1
13661439
operators.operatorframework.io/project_layout: helm.sdk.operatorframework.io/v1
13671440
repository: https://github.com/kubero-dev/kubero
13681441
support: Kubero Community
1369-
name: kubero-operator.v0.2.1-rc.1
1442+
name: kubero-operator.v0.2.1-rc.2
13701443
namespace: placeholder
13711444
spec:
13721445
apiservicedefinitions: {}
13731446
customresourcedefinitions:
13741447
owned:
1448+
- kind: KuberoAddonMemcached
1449+
name: kuberoaddonmemcacheds.application.kubero.dev
1450+
version: v1alpha1
13751451
- kind: KuberoAddonMongodb
13761452
name: kuberoaddonmongodbs.application.kubero.dev
13771453
version: v1alpha1
@@ -2376,6 +2452,33 @@ spec:
23762452
- deployments
23772453
verbs:
23782454
- '*'
2455+
- apiGroups:
2456+
- application.kubero.dev
2457+
resources:
2458+
- kuberoaddonmemcacheds
2459+
- kuberoaddonmemcacheds/status
2460+
- kuberoaddonmemcacheds/finalizers
2461+
verbs:
2462+
- create
2463+
- delete
2464+
- get
2465+
- list
2466+
- patch
2467+
- update
2468+
- watch
2469+
- apiGroups:
2470+
- ""
2471+
resources:
2472+
- serviceaccounts
2473+
- services
2474+
verbs:
2475+
- '*'
2476+
- apiGroups:
2477+
- apps
2478+
resources:
2479+
- deployments
2480+
verbs:
2481+
- '*'
23792482
- apiGroups:
23802483
- authentication.k8s.io
23812484
resources:
@@ -2431,7 +2534,7 @@ spec:
24312534
- --leader-elect
24322535
- --leader-election-id=kubero-operator
24332536
- --zap-log-level=info
2434-
image: ghcr.io/kubero-dev/kubero-operator/kuberoapp:v0.2.1-rc.1
2537+
image: ghcr.io/kubero-dev/kubero-operator/kuberoapp:v0.2.1-rc.2
24352538
livenessProbe:
24362539
httpGet:
24372540
path: /healthz
@@ -2518,4 +2621,4 @@ spec:
25182621
provider:
25192622
name: kubero
25202623
url: https://github.com/kubero-dev/
2521-
version: 0.2.1-rc.1
2624+
version: 0.2.1-rc.2
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
name: kuberoaddonmemcacheds.application.kubero.dev
6+
spec:
7+
group: application.kubero.dev
8+
names:
9+
kind: KuberoAddonMemcached
10+
listKind: KuberoAddonMemcachedList
11+
plural: kuberoaddonmemcacheds
12+
singular: kuberoaddonmemcached
13+
scope: Namespaced
14+
versions:
15+
- name: v1alpha1
16+
schema:
17+
openAPIV3Schema:
18+
description: KuberoAddonMemcached is the Schema for the kuberoaddonmemcacheds API
19+
properties:
20+
apiVersion:
21+
description: 'APIVersion defines the versioned schema of this representation
22+
of an object. Servers should convert recognized schemas to the latest
23+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
24+
type: string
25+
kind:
26+
description: 'Kind is a string value representing the REST resource this
27+
object represents. Servers may infer this from the endpoint the client
28+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
29+
type: string
30+
metadata:
31+
type: object
32+
spec:
33+
description: Spec defines the desired state of KuberoAddonMemcached
34+
type: object
35+
x-kubernetes-preserve-unknown-fields: true
36+
status:
37+
description: Status defines the observed state of KuberoAddonMemcached
38+
type: object
39+
x-kubernetes-preserve-unknown-fields: true
40+
type: object
41+
served: true
42+
storage: true
43+
subresources:
44+
status: {}

config/crd/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ resources:
2222
- bases/application.kubero.dev_kuberoaddonredis.yaml
2323
- bases/application.kubero.dev_kuberoaddonrabbitmqs.yaml
2424
- bases/application.kubero.dev_kuberoaddonmongodbs.yaml
25+
- bases/application.kubero.dev_kuberoaddonmemcacheds.yaml
2526
#+kubebuilder:scaffold:crdkustomizeresource

0 commit comments

Comments
 (0)