Closed Teneroy closed 3 months ago
For later: reconciliation and validation
Related files and documents: https://github.com/the1bit/kyma-companion-manager/tree/59-Design-the-Companion-Manager-CR
A suggestion for CR:
apiVersion: operator.kyma-project.io/v1alpha1
kind: Companion
metadata:
labels:
app.kubernetes.io/name: default
app.kubernetes.io/component: kyma-companion-manager
app.kubernetes.io/part-of: kyma-companion-manager
name: default
namespace: kyma-system
spec:
hanadbSecret: name/namespace
redisSecret: name/namespace
aiCoreSecret: name/namespace
aiCoreConfigMap: name/namespace
companionConfig:
replicas:
min: 2
max: 3
resources:
limits:
cpu: 4
memory: 4Gi
requests:
cpu: 500m
memory: 256Mi
CR suggestion:
apiVersion: operator.kyma-project.io/v1alpha1
kind: Companion
metadata:
name: default
namespace: kyma-system
labels:
app.kubernetes.io/created-by: kyma-companion-manager
app.kubernetes.io/instance: default
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: companion
app.kubernetes.io/part-of: kyma-companion-manager
spec:
aiCore:
secret:
name: any
namespace: any
configMap:
name: any
namespace: any
hanaDB:
secret:
name: any
namespace: any
redis:
secret:
name: any
namespace: any
companion:
replicas:
min: 2
max: 3
resources:
limits:
cpu: 4
memory: 4Gi
requests:
cpu: 500m
memory: 256Mi
I have additional 2 suggestions according to your feedback.
Required secrets:
apiVersion: operator.kyma-project.io/v1alpha1
kind: Companion
metadata:
labels:
app.kubernetes.io/name: default
app.kubernetes.io/component: kyma-companion-manager
app.kubernetes.io/part-of: kyma-companion-manager
name: default
namespace: kyma-system
spec:
aicoreSecret: name/namespace
companionSecret: name/namespace
hanaCloudSecret: name/namespace
redisSecret: name/namespace
companion:
replicas:
min: 1
max: 3
resources:
limits:
cpu: "4"
memory: 4Gi
requests:
cpu: 500m
memory: 256Mi
In this scenario we can expand any component related configuration section easily.
apiVersion: operator.kyma-project.io/v1alpha1
kind: Companion
metadata:
labels:
app.kubernetes.io/name: default
app.kubernetes.io/component: kyma-companion-manager
app.kubernetes.io/part-of: kyma-companion-manager
name: default
namespace: kyma-system
spec:
aicore:
secret:
name: any
namespace: any
hanaCloud:
secret:
name: any
namespace: any
redis:
secret:
name: any
namespace: any
companion:
secret:
name: any
namespace: any
replicas:
min: 1
max: 3
resources:
limits:
cpu: "4"
memory: 4Gi
requests:
cpu: 500m
memory: 256Mi
TEAM DECISION: 2. Dedicated section for all
Final PRs:
Final solution:
Description: To define and implement Custom Resource Definitions (CRDs) and a Companion Custom Resource (CR) to efficiently manage configurations and secrets for HANA Vector SB, Redis, and AI-Core. Additionally, ensure that all updates are comprehensively documented.
The manager was implemented in this issue #58 Cluster creation information is described in this issue
Tasks: