mirror of
https://github.com/open-cluster-management-io/ocm.git
synced 2026-02-14 10:00:11 +00:00
Some checks failed
Post / images (amd64, addon-manager) (push) Failing after 46s
Post / images (amd64, placement) (push) Failing after 41s
Post / images (amd64, registration-operator) (push) Failing after 39s
Post / images (amd64, work) (push) Failing after 42s
Post / images (arm64, addon-manager) (push) Failing after 39s
Post / images (arm64, placement) (push) Failing after 39s
Post / images (arm64, registration) (push) Failing after 40s
Post / images (arm64, registration-operator) (push) Failing after 42s
Post / images (arm64, work) (push) Failing after 39s
Post / images (amd64, registration) (push) Failing after 7m46s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Post / coverage (push) Failing after 14m33s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m25s
Close stale issues and PRs / stale (push) Successful in 46s
* Add addon conversion webhook for v1alpha1/v1beta1 API migration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Qing Hao <qhao@redhat.com> * Fix GroupVersion compatibility issues after API dependency update This commit fixes compilation and test errors introduced by updating the API dependency to use native conversion functions from PR #411. Changes include: 1. Fix GroupVersion type mismatches across the codebase: - Updated OwnerReference creation to use schema.GroupVersion - Fixed webhook scheme registration to use proper GroupVersion type - Applied fixes to addon, placement, migration, work, and registration controllers 2. Enhance addon conversion webhook: - Use native API conversion functions from addon/v1beta1/conversion.go - Fix InstallNamespace annotation key to match expected format - Add custom logic to populate deprecated ConfigReferent field in ConfigReferences - Properly preserve annotations during v1alpha1 <-> v1beta1 conversion 3. Remove duplicate conversion code: - Deleted pkg/addon/webhook/conversion/ directory (~500 lines) - Now using native conversion functions from the API repository 4. Patch vendored addon-framework: - Fixed GroupVersion errors in agentdeploy utils All unit tests pass successfully (97 packages, 0 failures). Signed-off-by: Qing Hao <qhao@redhat.com> --------- Signed-off-by: Qing Hao <qhao@redhat.com> Co-authored-by: Claude <noreply@anthropic.com>
107 lines
3.1 KiB
YAML
107 lines
3.1 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ .ClusterManagerName }}-addon-webhook
|
|
namespace: {{ .ClusterManagerNamespace }}
|
|
labels:
|
|
app: {{ .ClusterManagerName }}-addon-webhook
|
|
{{ if gt (len .Labels) 0 }}
|
|
{{ range $key, $value := .Labels }}
|
|
"{{ $key }}": "{{ $value }}"
|
|
{{ end }}
|
|
{{ end }}
|
|
spec:
|
|
replicas: {{ .Replica }}
|
|
selector:
|
|
matchLabels:
|
|
app: {{ .ClusterManagerName }}-addon-webhook
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ .ClusterManagerName }}-addon-webhook
|
|
{{ if gt (len .Labels) 0 }}
|
|
{{ range $key, $value := .Labels }}
|
|
"{{ $key }}": "{{ $value }}"
|
|
{{ end }}
|
|
{{ end }}
|
|
spec:
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 70
|
|
podAffinityTerm:
|
|
topologyKey: failure-domain.beta.kubernetes.io/zone
|
|
labelSelector:
|
|
matchExpressions:
|
|
- key: app
|
|
operator: In
|
|
values:
|
|
- {{ .ClusterManagerName }}-addon-webhook
|
|
- weight: 30
|
|
podAffinityTerm:
|
|
topologyKey: kubernetes.io/hostname
|
|
labelSelector:
|
|
matchExpressions:
|
|
- key: app
|
|
operator: In
|
|
values:
|
|
- {{ .ClusterManagerName }}-addon-webhook
|
|
{{- if .ImagePullSecret }}
|
|
imagePullSecrets:
|
|
- name: {{ .ImagePullSecret }}
|
|
{{- end }}
|
|
{{ if not .HostedMode }}
|
|
serviceAccountName: addon-webhook-sa
|
|
{{ end }}
|
|
containers:
|
|
- name: {{ .ClusterManagerName }}-addon-webhook
|
|
image: {{ .AddOnManagerImage }}
|
|
args:
|
|
- /addon
|
|
- "webhook-server"
|
|
- "--port=9443"
|
|
{{- if or (eq .ResourceRequirementResourceType "Default") (eq .ResourceRequirementResourceType "") }}
|
|
resources:
|
|
requests:
|
|
cpu: 2m
|
|
memory: 16Mi
|
|
{{- end }}
|
|
{{- if eq .ResourceRequirementResourceType "BestEffort" }}
|
|
resources: {}
|
|
{{- end }}
|
|
{{- if eq .ResourceRequirementResourceType "ResourceRequirement" }}
|
|
resources:
|
|
{{ .ResourceRequirements | indent 10 }}
|
|
{{- end }}
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
readOnlyRootFilesystem: true
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
scheme: HTTP
|
|
port: 8000
|
|
initialDelaySeconds: 2
|
|
periodSeconds: 10
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readyz
|
|
scheme: HTTP
|
|
port: 8000
|
|
initialDelaySeconds: 2
|
|
ports:
|
|
- containerPort: 9443
|
|
protocol: TCP
|
|
volumeMounts:
|
|
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
|
name: webhook-secret
|
|
readOnly: true
|
|
volumes:
|
|
- name: webhook-secret
|
|
secret:
|
|
secretName: addon-webhook-serving-cert |