Enable automation Automation with GitOps A quick guide on how to seamlessly integrate PerfectScale with your GitOps solutions
PerfectScale Automation can be seamlessly integrated with GitOps solutions such as ArgoCD and Flux. However, to avoid any potential issues due to different configurations, we recommend reviewing the documentation below.
Certificates regeneration loop
In the Autoscaler Helm chart, certificate generation occurs whenever ArgoCD executes the helm template
. This process may lead to temporary outages of the Autoscaler due to the caBundle and the certificates/keys being out of sync. To prevent this issue, we recommend generating a static caBundle and certs using the following instructions.
How to generate static Certs for Autoscaler
To create a static certificate, follow a few simple steps:
Generate Certs using the usual helm template command.
Copy helm template -n perfectscale psc-autoscaler perfectscale/psc-autoscaler > psc-autoscaler.yaml
Get Ca Certs from the generated template.
Copy cat psc-autoscaler.yaml | grep caBundle | head -n 1 | awk '{print $NF}'
exemple output: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJekNDQWd1Z0F3SUJBZ0lRTWllcDBjbVNuWk1GRjE0SXRuQ3E0ekFOQmdrcWhraUc5dzBCQVFzRkFEQWMKTVJvd0dBWURWUVFERXhGd2MyTXRZWFYwYjNOallXeGxjaTFqWVRBZUZ3MHlOREE1TWpZd016SXlNVEZhRncweQpPVEE1TWpVd016SXlNVEZhTUJ3eEdqQVlCZ05WQkFNVEVYQnpZeTFoZFhSdmMyTmhiR1Z5TFdOaE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTdlbTlSMFlmckRpVmtEdXR4RUpEeXllQ0lFQW4KdllZZVNYb2RKNU80Q1VQakRwZHNvdEc3WlRuL00wd0lqSVVMSUszSnhjYmJPUkFBU3haTHJFU1lTM010MlZKZQpSL3pEU2lRM0ROUEV4Z1k2NDArdjVmWmwrN2xnM2dUd2tPRms4U1A1VEpjN3ViTUxFZFJGWGtkOTlhS2F6VDJKCldia3N3bEx0YTUzbmZQSUNmLzFnd2xKZVlZYTRMZUxHY1dQclRKUWorcXpYME9CdWg0cjhQNzRCT3lrOEhGUUgKTlk4L05mczZJQ2c1d2lJcjRJV2pvd05SZS9NUW14SVhwaWtJV21IallQUUV1R1BMWElUYnc4cGNvVS8wajJrYQpZN1c3UDBsdWlRWDV6Yzd1TlRrN3NlTE85N2xLNWY5eWJ4QnJUcHRaeXM3azA2MllvYm9hamZCbkh3SURBUUFCCm8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FxUXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZDNXNQTVpQUDFYV2Y1cmZZM0dGVVhuTgpZSDRGTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFER0NvTDNhdTZRS2F3ZjZnYmRCdGprVFJLb1pPMzBzZkpVCnRJUUVpb1loZlBPaGdiZm1IbFVHS2NYS2NYdFF4dWJXY2dpYUNjeUpqMk9sb2MwWXpnbHVETGJONHVpVGlNcnEKcUkvMWU2N213YUJvQmtBdkU2UWVkRmxYNmlMeVhpM0wxNEFEUDQ1eHhIRm13RzRmRlRzQktvU09uMDF5YW10ZwpwR3lzeWN4QXpET0pYQTYvL0pmd1grT3p1c0lUREVEUXdDWWxZdEZGbnlvdjZtRlFKWjZtbFROMDdhVng1STEzClVXRUlSUTJDVEJkM08zOGc5dkJKYUYvUHQ4YzZqUGZFQW43ZjRsSVM3dVBoU0NJc0FYbS93Q1Fnc29OTStKRHEKOWIrUTZDUGRma1dPdXo5M0RBVmN0T3B6bmJFR0JHcW1oc29GMjRseUJ5dVUzQXVTa2QzOQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
Get Crt Certs from the generated template.
Copy cat psc-autoscaler.yaml | grep "tls.crt:" | awk '{print $NF}'
exemple output: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhekNDQWxPZ0F3SUJBZ0lSQU1xRlFBVDRtcmJhcWNqR1lwWHVjcUV3RFFZSktvWklodmNOQVFFTEJRQXcKSERFYU1CZ0dBMVVFQXhNUmNITmpMV0YxZEc5elkyRnNaWEl0WTJFd0hoY05NalF3T1RJMk1ETXlNakV4V2hjTgpNamt3T1RJMU1ETXlNakV4V2pBWk1SY3dGUVlEVlFRREV3NXdjMk10WVhWMGIzTmpZV3hsY2pDQ0FTSXdEUVlKCktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxZeXFTSEVLRExHdmV3T0NBTmdLRUt4cm1uTXlSaEYKTzZuRUJHdFluOTNwMXovd0pJVHZ4cEpJNmRwamVWMzZyREREU0R5cnlYbndkYXBjcHU4WUdMWHhxd0xrUVpkSgpkRExlNVc0MVQrZXNOMGpyUWZqaFk1L2xRODdkemFlY1RleEFYNkFiUG9Uc1h5Q0N0OTU3aEdCdWN5STdoSGoyCmxiMm4yRlREVi93czRwbFRwVW56dmw0QWJvUS9HTTZWdmRBdUZUV3B4SDRmOXliYjYrL0pxSVFXWkJqL0ZIK3YKS3l3NVY5QWVWY3BkME9JMVhyd3lyampvLzJjRy9ONUNKUnN2T0l0WXhnZy9mek94cjZVWDlibmgweVdWSk1uTAoxUGdxU0tONzk1S3J0ckI0dzVPYlMvVmo3c0J3WllSRGk1VENiTUNtUm5JMHZzTWY0dXE2cms4Q0F3RUFBYU9CCnFqQ0JwekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SHdZRFZSMGpCQmd3Rm9BVUxtdzh4azgvVmRaL210OWpjWVZSZWMxZwpmZ1V3UndZRFZSMFJCRUF3UG9JYmNITmpMV0YxZEc5elkyRnNaWEl1Y0dWeVptVmpkSE5qWVd4bGdoOXdjMk10CllYVjBiM05qWVd4bGNpNXdaWEptWldOMGMyTmhiR1V1YzNaak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ2YKMnQvTVJucU1BMW1BTzkyZGtpQzFIQXh4N2RyWUxwUnE3amVCZVFHMGQrMURvYmRhakhiZzNTc3RFTG53L1hUZAo4V0hIcytPckNQL2lBbkpDaVlCOFVJK2F3NU9jY1lUeUR2eEZod3hrZzFndEdXcGQvczMreThQYU9EVHAyVS9hCkhjMXQ2U3FUSWF2WXE2UXhESzNVc2lYanVBa2orQk5PMGZ0NW9CY1lDZzJpZERtcXpKS1dzdjQwM0RHWmw0S3gKazNPRWNqVUY1YTZFaURRTTZ2VEQwQVFGVzRHeXprZS9ua29LdlJSZHJyUytibWFCSEwyeS9BQkxOdG9DOXZKVQpnU2N2K2hjL0VvdktZeFg4cDZ4dkd0RjMzeXhOb3RjdjV2WGJSeW1iYTFLQUg5cDZ4aFFDRGpyUVFEUHVSZElUCktETDI5d3FjdFJCc2pZUzdjN3R4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
Get Key Certs from the generated template.
Copy cat psc-autoscaler.yaml | grep "tls.key:" | awk '{print $NF}'
exemple output: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdGpLcEljUW9Nc2E5N0E0SUEyQW9Rckd1YWN6SkdFVTdxY1FFYTFpZjNlblhQL0FrCmhPL0dra2pwMm1ONVhmcXNNTU5JUEt2SmVmQjFxbHltN3hnWXRmR3JBdVJCbDBsME10N2xialZQNTZ3M1NPdEIKK09Gam4rVkR6dDNOcDV4TjdFQmZvQnMraE94ZklJSzMzbnVFWUc1eklqdUVlUGFWdmFmWVZNTlgvQ3ppbVZPbApTZk8rWGdCdWhEOFl6cFc5MEM0Vk5hbkVmaC8zSnR2cjc4bW9oQlprR1A4VWY2OHJMRGxYMEI1VnlsM1E0alZlCnZES3VPT2ovWndiODNrSWxHeTg0aTFqR0NEOS9NN0d2cFJmMXVlSFRKWlVreWN2VStDcElvM3Yza3F1MnNIakQKazV0TDlXUHV3SEJsaEVPTGxNSnN3S1pHY2pTK3d4L2k2cnF1VHdJREFRQUJBb0lCQUZ6SVE3VDhUWFErSFMxKwpuN29JVjdoTy80REZWb3JUaHVTVys2RW15cEtacUpIWTJ1QVBzdEYvN0FiWXJVK2NmZDkvTXVRaW4wRkhvTVFXCjFyUGZVNFlrQVhCQmlOMWYvSnFEUTlieHN6VkpVQVlFTjk1aitQWE9MTS9GeUJyWTBCM0ZVbTBZTXFoQ0x0ZEIKZWgwRVRZOUY3Nys1QzJjR080OFBVRzBwNVQ1M1NMNXdBNWN3UFNkakRVdGxlNVpCZ2kvNU1UMVNmU1owV1g0SAozOVIrdm1LTElsZHpkS0ZYWnRTOFNlbS9qTHcwU2s5dTl4VXdsRDZ5OUJXb0QwSm5DOUtYdDJTS1Jpekk4SUNoCkIvU3ZaMkhXblVVTUVxSkhxYXYvaGs2amJRR1p1eUJTWmNkSFV4WXJtTUl2L3VhdmcyRHNrekVYNDI2R016aTMKRmNUUkhURUNnWUVBNVFIVHdacjBtSUo4bmdJQVVqUjduOW80aUtPRmVCZmN0YmFFLythTnF4ZkN1bHdRT2RJTgoxQW03SFl6M1JGWGtwQkJSc09ERkd5OHlOaCtYS2lRTnJ5TzUvNGNmdHNtVENLTXBRMUhVTjV5UXg2VDZMemtJCkNrQWJrOHhLWVk5OXpPZnFKYThueFlrWFRoWXJ6eWR2ODJxT1JrZ1FqSFdHeE1vVlJmaEZxdFVDZ1lFQXk2eGoKZWlSRVNkWHQyU1I1TENuTG9Ld29NbHcwTkNjcStJVFBSb1FoQTJHTHF0S2dqVHExWEFNZ2ZNUTVFenlIK2JoZAo5ZVlMK2pxYzRsZVBORk0zYjI4YnJQNmdPV1VBeE5xK0JXY2JGblNYMmc5Y2FrOVk2TllsMnFQbzZzUGdKSVpaCkIyV1o0Q0NkazVDNENabmh0VGZIOW5DbEorT0p2Z2NEMkFieVBwTUNnWUVBNGMySGFtTEx3b1VITXhWdUU2QkUKTlQ0S2VGQWtEbUlZOGVOaUNLRGdGMDk2Wmg3WXNPcDVVQlc0Tms4RWtKRFF2U1NLS0FtNDBERWRKVmpJeUhoOApOYkRZZVNoWEVQaDR6Zzl6WkRtUE1yWmgyempFcDBOb3RoSzRIbWRWQUJWb1NWNXk5VzFibmQ2cTZBZmNjb25FClRSTkg3ZXlveEpZdHFHUkp6WkFid1hFQ2dZRUFzZ1djOFk2dmphWUtma2l1RFJiL0lCSTZGRUtaY3BobHE5RlIKNXYzb2FTOGl5QTNRUFlGNk1kR2QzTkFhWHlFQ2JSaGtNR0dDU0paZ3VFbjJKck14K2htd3BCWHZjQnREZjh6KwpXSFNWclp2OWVxRUFrditGNUFZQ0VraEFkcXI4eUpBUlV6RFFQYUhrZWEzOTNvNTlSVXRiWWFGMkNoYU5OK2FqCnluZlAxemNDZ1lBM3hrYWlvNkhpMmVjUkp6RGNWd1dvQ1VycWF0bHhCSVJjQmNtZ1h6WTZKNVVvSG9nWVZNcjkKRGs0Y3B1YXZnNklmRXM5Y0NPTnNEOC9YUDNZRmM4Mm4vUy9IdW10N0ZUdmJQcmc5eHdWWEFxcEExOVUxUXVkVApkSkZ1cWZWWjVzTXdCRXUyUjFjckJYNWNVQzJzVUE1eVhmaUpZb3FwTkFIOTZwQTJna010Vmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
In values.yaml set admission.staticCerts.enabled to true and copy/past certs
Copy admission:
failurePolicy: "Ignore"
staticCerts:
enabled: true
caCert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJekNDQWd1Z0F3SUJBZ0lRTWllcDBjbVNuWk1GRjE0SXRuQ3E0ekFOQmdrcWhraUc5dzBCQVFzRkFEQWMKTVJvd0dBWURWUVFERXhGd2MyTXRZWFYwYjNOallXeGxjaTFqWVRBZUZ3MHlOREE1TWpZd016SXlNVEZhRncweQpPVEE1TWpVd016SXlNVEZhTUJ3eEdqQVlCZ05WQkFNVEVYQnpZeTFoZFhSdmMyTmhiR1Z5TFdOaE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTdlbTlSMFlmckRpVmtEdXR4RUpEeXllQ0lFQW4KdllZZVNYb2RKNU80Q1VQakRwZHNvdEc3WlRuL00wd0lqSVVMSUszSnhjYmJPUkFBU3haTHJFU1lTM010MlZKZQpSL3pEU2lRM0ROUEV4Z1k2NDArdjVmWmwrN2xnM2dUd2tPRms4U1A1VEpjN3ViTUxFZFJGWGtkOTlhS2F6VDJKCldia3N3bEx0YTUzbmZQSUNmLzFnd2xKZVlZYTRMZUxHY1dQclRKUWorcXpYME9CdWg0cjhQNzRCT3lrOEhGUUgKTlk4L05mczZJQ2c1d2lJcjRJV2pvd05SZS9NUW14SVhwaWtJV21IallQUUV1R1BMWElUYnc4cGNvVS8wajJrYQpZN1c3UDBsdWlRWDV6Yzd1TlRrN3NlTE85N2xLNWY5eWJ4QnJUcHRaeXM3azA2MllvYm9hamZCbkh3SURBUUFCCm8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FxUXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZDNXNQTVpQUDFYV2Y1cmZZM0dGVVhuTgpZSDRGTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFER0NvTDNhdTZRS2F3ZjZnYmRCdGprVFJLb1pPMzBzZkpVCnRJUUVpb1loZlBPaGdiZm1IbFVHS2NYS2NYdFF4dWJXY2dpYUNjeUpqMk9sb2MwWXpnbHVETGJONHVpVGlNcnEKcUkvMWU2N213YUJvQmtBdkU2UWVkRmxYNmlMeVhpM0wxNEFEUDQ1eHhIRm13RzRmRlRzQktvU09uMDF5YW10ZwpwR3lzeWN4QXpET0pYQTYvL0pmd1grT3p1c0lUREVEUXdDWWxZdEZGbnlvdjZtRlFKWjZtbFROMDdhVng1STEzClVXRUlSUTJDVEJkM08zOGc5dkJKYUYvUHQ4YzZqUGZFQW43ZjRsSVM3dVBoU0NJc0FYbS93Q1Fnc29OTStKRHEKOWIrUTZDUGRma1dPdXo5M0RBVmN0T3B6bmJFR0JHcW1oc29GMjRseUJ5dVUzQXVTa2QzOQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==aaaaaaaaaaaaaaaaaa"
tlsCert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhekNDQWxPZ0F3SUJBZ0lSQU1xRlFBVDRtcmJhcWNqR1lwWHVjcUV3RFFZSktvWklodmNOQVFFTEJRQXcKSERFYU1CZ0dBMVVFQXhNUmNITmpMV0YxZEc5elkyRnNaWEl0WTJFd0hoY05NalF3T1RJMk1ETXlNakV4V2hjTgpNamt3T1RJMU1ETXlNakV4V2pBWk1SY3dGUVlEVlFRREV3NXdjMk10WVhWMGIzTmpZV3hsY2pDQ0FTSXdEUVlKCktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxZeXFTSEVLRExHdmV3T0NBTmdLRUt4cm1uTXlSaEYKTzZuRUJHdFluOTNwMXovd0pJVHZ4cEpJNmRwamVWMzZyREREU0R5cnlYbndkYXBjcHU4WUdMWHhxd0xrUVpkSgpkRExlNVc0MVQrZXNOMGpyUWZqaFk1L2xRODdkemFlY1RleEFYNkFiUG9Uc1h5Q0N0OTU3aEdCdWN5STdoSGoyCmxiMm4yRlREVi93czRwbFRwVW56dmw0QWJvUS9HTTZWdmRBdUZUV3B4SDRmOXliYjYrL0pxSVFXWkJqL0ZIK3YKS3l3NVY5QWVWY3BkME9JMVhyd3lyampvLzJjRy9ONUNKUnN2T0l0WXhnZy9mek94cjZVWDlibmgweVdWSk1uTAoxUGdxU0tONzk1S3J0ckI0dzVPYlMvVmo3c0J3WllSRGk1VENiTUNtUm5JMHZzTWY0dXE2cms4Q0F3RUFBYU9CCnFqQ0JwekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SHdZRFZSMGpCQmd3Rm9BVUxtdzh4azgvVmRaL210OWpjWVZSZWMxZwpmZ1V3UndZRFZSMFJCRUF3UG9JYmNITmpMV0YxZEc5elkyRnNaWEl1Y0dWeVptVmpkSE5qWVd4bGdoOXdjMk10CllYVjBiM05qWVd4bGNpNXdaWEptWldOMGMyTmhiR1V1YzNaak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ2YKMnQvTVJucU1BMW1BTzkyZGtpQzFIQXh4N2RyWUxwUnE3amVCZVFHMGQrMURvYmRhakhiZzNTc3RFTG53L1hUZAo4V0hIcytPckNQL2lBbkpDaVlCOFVJK2F3NU9jY1lUeUR2eEZod3hrZzFndEdXcGQvczMreThQYU9EVHAyVS9hCkhjMXQ2U3FUSWF2WXE2UXhESzNVc2lYanVBa2orQk5PMGZ0NW9CY1lDZzJpZERtcXpKS1dzdjQwM0RHWmw0S3gKazNPRWNqVUY1YTZFaURRTTZ2VEQwQVFGVzRHeXprZS9ua29LdlJSZHJyUytibWFCSEwyeS9BQkxOdG9DOXZKVQpnU2N2K2hjL0VvdktZeFg4cDZ4dkd0RjMzeXhOb3RjdjV2WGJSeW1iYTFLQUg5cDZ4aFFDRGpyUVFEUHVSZElUCktETDI5d3FjdFJCc2pZUzdjN3R4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
tlsKey: "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdGpLcEljUW9Nc2E5N0E0SUEyQW9Rckd1YWN6SkdFVTdxY1FFYTFpZjNlblhQL0FrCmhPL0dra2pwMm1ONVhmcXNNTU5JUEt2SmVmQjFxbHltN3hnWXRmR3JBdVJCbDBsME10N2xialZQNTZ3M1NPdEIKK09Gam4rVkR6dDNOcDV4TjdFQmZvQnMraE94ZklJSzMzbnVFWUc1eklqdUVlUGFWdmFmWVZNTlgvQ3ppbVZPbApTZk8rWGdCdWhEOFl6cFc5MEM0Vk5hbkVmaC8zSnR2cjc4bW9oQlprR1A4VWY2OHJMRGxYMEI1VnlsM1E0alZlCnZES3VPT2ovWndiODNrSWxHeTg0aTFqR0NEOS9NN0d2cFJmMXVlSFRKWlVreWN2VStDcElvM3Yza3F1MnNIakQKazV0TDlXUHV3SEJsaEVPTGxNSnN3S1pHY2pTK3d4L2k2cnF1VHdJREFRQUJBb0lCQUZ6SVE3VDhUWFErSFMxKwpuN29JVjdoTy80REZWb3JUaHVTVys2RW15cEtacUpIWTJ1QVBzdEYvN0FiWXJVK2NmZDkvTXVRaW4wRkhvTVFXCjFyUGZVNFlrQVhCQmlOMWYvSnFEUTlieHN6VkpVQVlFTjk1aitQWE9MTS9GeUJyWTBCM0ZVbTBZTXFoQ0x0ZEIKZWgwRVRZOUY3Nys1QzJjR080OFBVRzBwNVQ1M1NMNXdBNWN3UFNkakRVdGxlNVpCZ2kvNU1UMVNmU1owV1g0SAozOVIrdm1LTElsZHpkS0ZYWnRTOFNlbS9qTHcwU2s5dTl4VXdsRDZ5OUJXb0QwSm5DOUtYdDJTS1Jpekk4SUNoCkIvU3ZaMkhXblVVTUVxSkhxYXYvaGs2amJRR1p1eUJTWmNkSFV4WXJtTUl2L3VhdmcyRHNrekVYNDI2R016aTMKRmNUUkhURUNnWUVBNVFIVHdacjBtSUo4bmdJQVVqUjduOW80aUtPRmVCZmN0YmFFLythTnF4ZkN1bHdRT2RJTgoxQW03SFl6M1JGWGtwQkJSc09ERkd5OHlOaCtYS2lRTnJ5TzUvNGNmdHNtVENLTXBRMUhVTjV5UXg2VDZMemtJCkNrQWJrOHhLWVk5OXpPZnFKYThueFlrWFRoWXJ6eWR2ODJxT1JrZ1FqSFdHeE1vVlJmaEZxdFVDZ1lFQXk2eGoKZWlSRVNkWHQyU1I1TENuTG9Ld29NbHcwTkNjcStJVFBSb1FoQTJHTHF0S2dqVHExWEFNZ2ZNUTVFenlIK2JoZAo5ZVlMK2pxYzRsZVBORk0zYjI4YnJQNmdPV1VBeE5xK0JXY2JGblNYMmc5Y2FrOVk2TllsMnFQbzZzUGdKSVpaCkIyV1o0Q0NkazVDNENabmh0VGZIOW5DbEorT0p2Z2NEMkFieVBwTUNnWUVBNGMySGFtTEx3b1VITXhWdUU2QkUKTlQ0S2VGQWtEbUlZOGVOaUNLRGdGMDk2Wmg3WXNPcDVVQlc0Tms4RWtKRFF2U1NLS0FtNDBERWRKVmpJeUhoOApOYkRZZVNoWEVQaDR6Zzl6WkRtUE1yWmgyempFcDBOb3RoSzRIbWRWQUJWb1NWNXk5VzFibmQ2cTZBZmNjb25FClRSTkg3ZXlveEpZdHFHUkp6WkFid1hFQ2dZRUFzZ1djOFk2dmphWUtma2l1RFJiL0lCSTZGRUtaY3BobHE5RlIKNXYzb2FTOGl5QTNRUFlGNk1kR2QzTkFhWHlFQ2JSaGtNR0dDU0paZ3VFbjJKck14K2htd3BCWHZjQnREZjh6KwpXSFNWclp2OWVxRUFrditGNUFZQ0VraEFkcXI4eUpBUlV6RFFQYUhrZWEzOTNvNTlSVXRiWWFGMkNoYU5OK2FqCnluZlAxemNDZ1lBM3hrYWlvNkhpMmVjUkp6RGNWd1dvQ1VycWF0bHhCSVJjQmNtZ1h6WTZKNVVvSG9nWVZNcjkKRGs0Y3B1YXZnNklmRXM5Y0NPTnNEOC9YUDNZRmM4Mm4vUy9IdW10N0ZUdmJQcmc5eHdWWEFxcEExOVUxUXVkVApkSkZ1cWZWWjVzTXdCRXUyUjFjckJYNWNVQzJzVUE1eVhmaUpZb3FwTkFIOTZwQTJna010Vmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
ArgoCD ignore diffs
If you use ArgoCD with Autosync enabled, you may encounter issues with the Autoscaler. Automation changes resources at the pod level without affecting the parent resources spec (Deployment, StatefulSet, etc.), so ArgoCD doesn't detect any changes and will not attempt to revert them. For a better understanding of the situation, Autoscaler makes minor patches to the parent resources by adding two annotations:
Copy annotations:
automation.perfectscale.io/originatingRevision: ...
automation.perfectscale.io/restartedAt: ...
This might lead to pod restarts. If Autoscaler is not in a healthy state at this time, the applied recommendations might be missed.
To ignore these annotations in ArgoCD, configure the ignoreDifferences key at the installation level by adding it to the argocd-cm
ConfigMap. In our patches, we utilize the Manager field, so you can seamlessly exclude it by specifying our manager name, PerfectScaleAutoscaler
.
Copy data:
resource.customizations.ignoreDifferences.all: |
managedFieldsManagers:
- PerfectScaleAutoscaler
Or by adding the following configuration to your ArgoCD App manifest:
Copy spec:
ignoreDifferences:
- group: "*"
kind: "*"
managedFieldsManagers:
- PerfectScaleAutoscaler