mirror of
https://github.com/siderolabs/omni.git
synced 2026-04-01 14:11:03 +02:00
The gotextdiff/myers library uses the naive Myers algorithm variant that stores the full edit trace, resulting in O((M+N)^2) space complexity. For machine configs with large inline K8s manifests (thousands of lines), this causes massive memory spikes — e.g., 80K lines allocates ~98 GB and gets OOM-killed. Replace it with neticdk/go-stdlib/diff/myers which implements the linear-space Myers variant (divide-and-conquer). Memory usage drops from ~25 GB to ~8 MB for 40K-line inputs. The diff output format is unchanged (unified diff with @@ hunks). Co-authored-by: Artem Chernyshev <artem.chernyshev@talos-systems.com> Co-authored-by: Oguz Kilcan <oguz.kilcan@siderolabs.com> Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
95 lines
11 KiB
Diff
95 lines
11 KiB
Diff
@@ -1,93 +0,0 @@
|
|
-version: v1alpha1
|
|
-debug: false
|
|
-persist: true
|
|
-machine:
|
|
- type: controlplane
|
|
- token: 4mt9sd.hr5cin96659m36mo
|
|
- ca:
|
|
- crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQakNCOGFBREFnRUNBaEJBc0RIVW0vUmd0OUVHcWpjK0g3UEhNQVVHQXl0bGNEQVFNUTR3REFZRFZRUUsKRXdWMFlXeHZjekFlRncweU5qQXlNVEV4TVRRMk1qbGFGdzB6TmpBeU1Ea3hNVFEyTWpsYU1CQXhEakFNQmdOVgpCQW9UQlhSaGJHOXpNQ293QlFZREsyVndBeUVBSjdqVTRZVWI4RGRIbXIwRzlycmNvTmdxQmNYZ1Q0RWRRZmJDCllMV3IyOEtqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDaERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVc3MwcVpWU1VLWHRwL0kzRQpFWTlDYk5manNwMHdCUVlESzJWd0EwRUFnalBqeUpFZlkwV2RSUWc1SW5NUk16M3kvMHNyVW5tRXRCdmtZbzRtCnpBakZvSTVDUHA4RjBvVXZUWGl6dUpvZ0lyTDFzU3ZlRTZ1NWRtd0tkY1ovQ0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
|
- key: LS0tLS1CRUdJTiBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0KTUM0Q0FRQXdCUVlESzJWd0JDSUVJRTA1Rys1M3daVnJWaG5yUkpVWnVUMjdxWks3NFVKOVdOaUdQcklkMHBxeQotLS0tLUVORCBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0K
|
|
- certSANs: []
|
|
- kubelet:
|
|
- image: ghcr.io/siderolabs/kubelet:v1.35.0
|
|
- defaultRuntimeSeccompProfileEnabled: true
|
|
- disableManifestsDirectory: true
|
|
- install:
|
|
- wipe: false
|
|
- grubUseUKICmdline: true
|
|
- features:
|
|
- diskQuotaSupport: true
|
|
- kubePrism:
|
|
- enabled: true
|
|
- port: 7445
|
|
- hostDNS:
|
|
- enabled: true
|
|
- forwardKubeDNSToHost: true
|
|
- nodeLabels:
|
|
- node.kubernetes.io/exclude-from-external-load-balancers: ""
|
|
-cluster:
|
|
- id: azUt9rGPGjaEIgUlURIz1pG20YRjuR-bgju_e_flrG0=
|
|
- secret: 1owH1iMEusQTzqq432Y4ew3B0WM7HmAiZ3/fXaOhTjk=
|
|
- controlPlane:
|
|
- endpoint: https://1.2.3.4:6443
|
|
- clusterName: benchmark-cluster
|
|
- network:
|
|
- dnsDomain: cluster.local
|
|
- podSubnets:
|
|
- - 10.244.0.0/16
|
|
- serviceSubnets:
|
|
- - 10.96.0.0/12
|
|
- token: 146zj4.kv8b0ajr2b218c3b
|
|
- secretboxEncryptionSecret: SCDXKJSC3znqdmYaJ8paPZyZXvWzBvf1vsbdsMIE2EM=
|
|
- ca:
|
|
- crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpakNDQVRDZ0F3SUJBZ0lSQU4wRXNjUkdCakptOFF5dWVXdyt3eTB3Q2dZSUtvWkl6ajBFQXdJd0ZURVQKTUJFR0ExVUVDaE1LYTNWaVpYSnVaWFJsY3pBZUZ3MHlOakF5TVRFeE1UUTJNamxhRncwek5qQXlNRGt4TVRRMgpNamxhTUJVeEV6QVJCZ05WQkFvVENtdDFZbVZ5Ym1WMFpYTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CCkJ3TkNBQVFhKzdKak5CVG91QkZhMmpDRkN5TlBPWWlEUlUwcFZuVzkxWE1qbDVteVV0VU81MjE5QmN3a2lCTE4KRDRUOUlpUnFsYU5BVHlhZzNna1FPNTlJK01DYm8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FvUXdIUVlEVlIwbApCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPCkJCWUVGR2tCNjJWcEphTW93ZW1LQXZlb2tVdkIzVHpTTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1ZmdEMKcnF2UDZCa2FwemFjQitDT2U0T1o3VDYyV0JycFgvQ1dVUE5pd1FJZ09ZcG55SHJYa0JuVm1HNXUzWXFTL2dmWQpuYzA0VFFQOVRVS0JGWDRrd2pRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
|
- key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUZxK1ZEVnVsVGY2MDNDTWQ2Qlc5dlFnc09wbHFWMjV0b3AySnQzQWM2blJvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFR3Z1eVl6UVU2TGdSV3Rvd2hRc2pUem1JZzBWTktWWjF2ZFZ6STVlWnNsTFZEdWR0ZlFYTQpKSWdTelErRS9TSWthcFdqUUU4bW9ONEpFRHVmU1BqQW13PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
|
|
- aggregatorCA:
|
|
- crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJYakNDQVFXZ0F3SUJBZ0lRVnZZaTVxazAvbm84cW04S3RUN3QvakFLQmdncWhrak9QUVFEQWpBQU1CNFgKRFRJMk1ESXhNVEV4TkRZeU9Wb1hEVE0yTURJd09URXhORFl5T1Zvd0FEQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxRwpTTTQ5QXdFSEEwSUFCREFhV2tlQmw1OTFLMlJyL3VVSWcyOFphWDlERDJsa3JRUzYvb1RlSFhwWGZIVEJZQjJmCjZrNVZsQjBTTTByaWVPWSt4a1NjZkhVNzhCSGJQWjFjbU51allUQmZNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWQKQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZApCZ05WSFE0RUZnUVVia3p4VnlYQTFFd1J6SmpjMXZmbGExY2VQSTh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnCkpqdzE3eUw0T010RHJzcEZVUHp5Y29yK2k4eFQzQVdxM09IN3RrM0t5K1lDSUgvRm8yY0lyb0IrdXFDQWQ2L28Ka3VEdXlrWjI3WnNNdGZRSzVSTnFFRkFtCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
|
- key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUlINm5YaXRTVFBsb0JwZGUrdXZ2NUtpb0JrelJpZ2R1RU1IWWVaeGFJWWJvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFTUJwYVI0R1huM1VyWkd2KzVRaURieGxwZjBNUGFXU3RCTHIraE40ZGVsZDhkTUZnSFovcQpUbFdVSFJJelN1SjQ1ajdHUkp4OGRUdndFZHM5blZ5WTJ3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
|
|
- serviceAccount:
|
|
- key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBb2x6eVdtcmZNY0NzTnRpeUtGNzNFQUEzZTJDd0tNb2FXamNIb3V6TkpYZEVISmU0CjFTVkwySTFPZk1kRjM1aXBVOWRRN0QvbmpUbmlnd1F1b0FveSt3UTNERkFFN3BBTjYxZGJMN2N1eEM0aXZKSzkKaTFNSEROSzNGb0RQeHg0WHVUeFJIRXRjQ3plcHRhM0xRMzloSFQxVzFZVWxvSjExM0RrbmZ0MGg1dkVaSU9aYQprWmR0Y3BkWFB6a0VmaWp4Z3RiQS9vNlRaSjUzR2laTWhZcHVTdHo1ZWE3cnB4Qzg1ZGYrNU1qUW1uWHVIRXRPCnU0amRweVcyRXJHRkhkSzYybjU3WVlCdm05cmpObVB1MUh0cUZXSjVPRW5LMEFpYTA0ZEUrUlp2bEhFWW1RM3QKRzRCZElIRDA4R1hWWDliQWJmVzA1L09CeEMxb2VLdkVjMlhhdmtmaVdXT0g5eWVheFlhNHU4TDF6OXlWZ1VtSApQV1ZxTVN0WjV2amwyYmhwZVN2dDBtSGFtTFdXVHVtZnRpNUQzTU01em1jOHhTZG1WU0dkS3FHbnlzdGd6OHMvClNSd1RrLzM0RDcveU43MXJPRXZJTGQzdWJ4WGJwYUtxdUJndUJNZCtWTklzazUzZmlNek1pNEFJVCtzWmRkSU0KMWhRU1d4M2FNdUJaQlhmUUR2akRzK3hSVGEzSUlkMXlYQnYycUYxeGFKTktMU2MwUGN2Q1I5Z1RIbzBtRzNXWQpjdDdFbEZCZ3Z2TWNPcEI5RG80TllJaVlDSE1BSmU5dFRCaWxTa2FGTmcrOHE0TktQUm9QL3V6enhLQmlsbGI4CjB5S1JMQm05d2Y1cXJKWllsdExvbFV6bXMrek92SFl2Z1RUb082ZUVEL1hsdkFJVFlITnZvQkhIYWFjQ0F3RUEKQVFLQ0FnQko0ZzdjcXo1R2x4MG0xaVA0TUFLd1V0RHNnVnFZTFNPaHd1SGtOMnJBN2sxZHo0THA1MDlreXlTWQpybHR5L0xhczh0R2R1QlRIMUx2cEQ3bWgxUkpPM0tPcUpDMmlXNFloL2ozOThCZEZhWk1nQ1l4Y1BwdDZMOWJsCjFCYjR6bzVRR2d6MDJhd1laS3VEQTRONEF4cHZvazZGMmxGOWpibW96WTlWOFEydzJDeXRwblUzUkZlbktnd24KTm14L2RtVTBPMEpXZEEzSlh6em1kdUFpY3BSdTE3Qmt1WDc5cHFXMjE3dmpZeWhkNldWQmxkbE5pR0lJNGlYQQp5dXcrM25wdDI5bU1URlE5Y1hVc2Rud2pUOGU5MUhKQjlYNW5mVXJyRCthSWpMZVlyb0JaZ1pkUWlQQ1h4eDhHCjErZ3BkUUZhNkZENnJmbnlpaEU4dkRrb3BBUk9FYTN6b01qRVBVYXFEZzJVTjRPaUJjU1R3aUlHenBxdmJ5Si8KS2p6bW5PSjRsMm1TN3ZTRXZCMUJBRFBVN1dONzNyeHQ5NEJaeVUxZXN6OEFrYXdPWXVFdUVrYStEY1ZySkd4RQpHVkxOWjZZWnhUZXZYVjE4dHd2VXQxcEtaRE80clpsMVBRYVExQkdhMmlMZ3A4a1hhdWg0bTFtRGRkVEZEZjk1CkR2cXgyQnJycUNlZ1h6ekRacGNBcjRONWNZS0k3c21hV1N1ckF1WitOU2xvQVVZenRuZUZhYktadk4vS0hmSXUKVGRWVTBZTzJEQkM2N010dmJiZlhEMDBDUUc1R09mODYxTmVKRFljeE0xSElUVTcxUEtlVEhWNlN6OGZ4emVDZQpTS3JEWEN1YjBmMHVLNmM5OS9IUG9oTEtDVjhFNDZua2J3QUxRMk5nN1VlbE9WQlNjUUtDQVFFQXhvMkVGb1BkCmd4cUIwaHhhQkVuSS9YQzNtblRydCszZ1dUN1N1UjJYdFJpSkNvVXdWVjhXOFdFTVBrR2tFZ212ZHBnR0ErOHkKaE9sOVV0Q1RIdEFkSkU4NXR6bnZDbU5wanBXbmEyanh2SWp4aDdvRm1EYU5uSjdiUG9Pekw3ajFudUtuQTE4bwpZSFh5N3dpd1BkalJFNmNEdVpLRzlqb2o0S3pBM3lOWEZjR201bVVtVXlmaklLZWptdG5JMmlvSE9ZQ1dZREsvCjN5RW10QzRXNWt5T1Arck5jd2lVS1R3N3FpWGp4b2dqVU9xTVh3aHQyYWdOT0I4Rjh4TWdNQzloNmx1dDZuS20KWDZUVDZiN3k5WGpvanNrQVR1YU91V3NCUjlSSHRJZEwvRk1tVjlXNFltaHBrNW1HZE02cmJTOGlZOVQvYVNYQwp0VSt5UVpJdTc1UDBrUUtDQVFFQTBWYnFvRVk2VGdlYWE2TFd6QTlwMnlTRVoyWjRQOUxSVFFPTERBN2RFZDZzCnlmL2RkOEkyY3IyVFIydHZZMEw2VGJDRkhFVmVRZU9pTUx6dGFrdU05TXdmdXJJMUhVU3pyZTNhSlhZMHhvbWQKc3VWaHpHUTluR2tYUzNmOXVTTGx0ak82QXFLUmRyMzQ2WDloK2ZLeFFIbUpPaUY3Y0ErMFc5MlM2WkVjdUlTQQpGdWh0UVNYSnlnR2dhbzNBUW1uTkNvYndab1RUWHphSms4VEkwM2pQRGZGMStjNWF0aFlHL2FnWmp5TEwxNmxICkFzelZhbUxGU0NHSGU3b21iNm9oMGQ0N3ZmZXRneEN0RnN2UHdLc0dWeDJrVXhzMjVGbTdPbGZEM29qbGE0akIKVEtld1ZmVnRyTUUxY0poR1VpaWhSUWlPdmRzR1FQNk1NMGJIRlIwMnR3S0NBUUFnL0pIZFM3c1pkT1hzaWxsSwpMUmYvUXlLOXZuOEs1N0pHSVhIUTMyRzg3SDZZQ05pbTFrMXhmTFlVQWNQSVcyT1RTRjUzZU4zanh3YlRJMlBOCjByV0V1c1RUOUFRS3JjbHpydGxKdHYyeVhPNERwcHdYVmJqaE5HTW9WNmtGWEsweDRHWHU0WGhMemt5MStiT08KRXQ5cGJHM3Avclg5WWx0amtFL2F3bnhOV1FicGNCU1Y3Q0tINGxJRC8vcW1oQ1QvSUtYYkJaTnE5bzcva0VpdApxanBYMUNLZDRlYjdrczQyem1TeEx4enU3SWkxb1NqZTZGU0o1bDJPckxiRVNwcngzSmxnUWZ2eUYrZzlCVVJJCkUvWlBBb1hTbGV0UVVyNjd1RURSZFVqaWVzMzcrYjNRVzVodXRTcnBiUXg5N3o2L1p6dW50R1pNeVJqTVhBVUEKT0l5QkFvSUJBQUM3UWdTZldqTE5tZitJU1NIYlorNUpHV0ZYSFZKenhTRjB3cmFmRXF5dVQ0SkJMNS9zZ000egoxV0RwZ2pFaG1jaE50cGxic0xHZ1B2L1dtU25HNjg0ckxHMDFsRFB1K29YQUVBUVRmcW0yNzJNaHBBN1h4dE5XCkZxdS8xcFlnQmhkMTVNOS9pK3lUUzF4ZGdwVWlBUGFOdGlvSzFlaVZWWGNBdGpPMHV4bjE5SkNmN1VuTi9QK0UKcysvTFlRR2Fad29EWUxHckF5WVJCYmdMZHZ3dUx1TUlsZlh5ZjZTbFBROEQyRnNFcnh1b3pzTzJ2WVFxcGkvVApWaXJiZ3FqZk9sRUdhc1VHS1lnTXRkNGZoakZSSjZ1RVFmKzhWNXZDcUlIU3JxK0hZTzNZUTN5bUZWcW5pZU9SCnBVTW9kUTV5YitYUzJ0VFZBQmVZREJ0ZHd2SlM4TThDZ2dFQUlKNjQ2OFR2Um00bHVmM09IQUQ1cG83SEY1blMKckt6ZTB1UVhmTW4zRm53NlRWQzlvY2FXQlQxVEFYM3UvVG9wY0ZFRHJ5TDdBZ1ZsVFBqUWNsdHBmTHJjQTNGbQo2Si9rRUg3OWptZ1RkTFVkL0VoNmFXRUMwMktONWd6Mkk5bmlYMGtSamErOUNacUdFM3NhVS8yUWZBc2pBMkxhCjV3c0x3SmU5alVhM0JpVjIxWlFTekh0K29ab2xVdUhPWCtZOFYzQ012d1pXcUp4VVZobURDTit4SnZoOVErSGcKRkl3TWdHcmlFUDVIbFhVd3VyeE1DRzZGREtHUlJPRi9pV1VJZE4xSXlBUzQxY0Rwa1h4TkR6d1NrNEZuaGlNbwpxSE50S01mTTRYeHQ3VXZESWJieE5LZ2RCci9UczJBb2tDWHpZMjhDaFhiK0toMXlMbGpHTUU4cG1RPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K
|
|
- apiServer:
|
|
- image: registry.k8s.io/kube-apiserver:v1.35.0
|
|
- admissionControl:
|
|
- - name: PodSecurity
|
|
- configuration:
|
|
- apiVersion: pod-security.admission.config.k8s.io/v1alpha1
|
|
- defaults:
|
|
- audit: restricted
|
|
- audit-version: latest
|
|
- enforce: baseline
|
|
- enforce-version: latest
|
|
- warn: restricted
|
|
- warn-version: latest
|
|
- exemptions:
|
|
- namespaces:
|
|
- - kube-system
|
|
- runtimeClasses: []
|
|
- usernames: []
|
|
- kind: PodSecurityConfiguration
|
|
- auditPolicy:
|
|
- apiVersion: audit.k8s.io/v1
|
|
- kind: Policy
|
|
- rules:
|
|
- - level: Metadata
|
|
- controllerManager:
|
|
- image: registry.k8s.io/kube-controller-manager:v1.35.0
|
|
- proxy:
|
|
- image: registry.k8s.io/kube-proxy:v1.35.0
|
|
- scheduler:
|
|
- image: registry.k8s.io/kube-scheduler:v1.35.0
|
|
- discovery:
|
|
- enabled: true
|
|
- registries:
|
|
- kubernetes:
|
|
- disabled: true
|
|
- service: {}
|
|
- etcd:
|
|
- ca:
|
|
- crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJmVENDQVNTZ0F3SUJBZ0lSQUo5NC8wNWpBSktZaUpZeHZnTWJoVVV3Q2dZSUtvWkl6ajBFQXdJd0R6RU4KTUFzR0ExVUVDaE1FWlhSalpEQWVGdzB5TmpBeU1URXhNVFEyTWpsYUZ3MHpOakF5TURreE1UUTJNamxhTUE4eApEVEFMQmdOVkJBb1RCR1YwWTJRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTb0twaFpQWlNoCnpyTzNNSnBlRk02UThJWm03OElHT2xNMzA2Nm1wZHQvRVFLNlJRUnYwZ3FodG10VFp6L0lUL0hlZk52V0Q1R2gKWkx0MmN3RDZ6ZHJrbzJFd1h6QU9CZ05WSFE4QkFmOEVCQU1DQW9Rd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSApBd0VHQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkc1bnloZmYxVk1sClZMZkN4VHpLdTFjYnRzY2lNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJSHBNaGZ6aTJVUVhyZkpjdXh4ZXVpdFoKY3hyc0pPS1JBaStSWkFFWDlBZEJBaUFyRXYzQ2N3OXAycTR5Rm1IelVNbGlPQjJsUXNSUVloQkxmcEltb2lIUApudz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
|
- key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUhsWldRYzJrVVhlb2NYMmE1aEFVaXlDUnFzQ0FwOXlpV2NhbnlpejVLNy9vQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFcUNxWVdUMlVvYzZ6dHpDYVhoVE9rUENHWnUvQ0JqcFROOU91cHFYYmZ4RUN1a1VFYjlJSwpvYlpyVTJjL3lFL3gzbnpiMWcrUm9XUzdkbk1BK3MzYTVBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
|
|
----
|
|
-apiVersion: v1alpha1
|
|
-kind: HostnameConfig
|
|
-auto: stable
|