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.
helm template -n perfectscale psc-autoscaler perfectscale/psc-autoscaler > psc-autoscaler.yaml
Get Ca Certs from the generated template.
cat psc-autoscaler.yaml | grep caBundle | head -n 1 | awk '{print $NF}'
exemple output: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJekNDQWd1Z0F3SUJBZ0lRTWllcDBjbVNuWk1GRjE0SXRuQ3E0ekFOQmdrcWhraUc5dzBCQVFzRkFEQWMKTVJvd0dBWURWUVFERXhGd2MyTXRZWFYwYjNOallXeGxjaTFqWVRBZUZ3MHlOREE1TWpZd016SXlNVEZhRncweQpPVEE1TWpVd016SXlNVEZhTUJ3eEdqQVlCZ05WQkFNVEVYQnpZeTFoZFhSdmMyTmhiR1Z5TFdOaE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTdlbTlSMFlmckRpVmtEdXR4RUpEeXllQ0lFQW4KdllZZVNYb2RKNU80Q1VQakRwZHNvdEc3WlRuL00wd0lqSVVMSUszSnhjYmJPUkFBU3haTHJFU1lTM010MlZKZQpSL3pEU2lRM0ROUEV4Z1k2NDArdjVmWmwrN2xnM2dUd2tPRms4U1A1VEpjN3ViTUxFZFJGWGtkOTlhS2F6VDJKCldia3N3bEx0YTUzbmZQSUNmLzFnd2xKZVlZYTRMZUxHY1dQclRKUWorcXpYME9CdWg0cjhQNzRCT3lrOEhGUUgKTlk4L05mczZJQ2c1d2lJcjRJV2pvd05SZS9NUW14SVhwaWtJV21IallQUUV1R1BMWElUYnc4cGNvVS8wajJrYQpZN1c3UDBsdWlRWDV6Yzd1TlRrN3NlTE85N2xLNWY5eWJ4QnJUcHRaeXM3azA2MllvYm9hamZCbkh3SURBUUFCCm8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FxUXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZDNXNQTVpQUDFYV2Y1cmZZM0dGVVhuTgpZSDRGTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFER0NvTDNhdTZRS2F3ZjZnYmRCdGprVFJLb1pPMzBzZkpVCnRJUUVpb1loZlBPaGdiZm1IbFVHS2NYS2NYdFF4dWJXY2dpYUNjeUpqMk9sb2MwWXpnbHVETGJONHVpVGlNcnEKcUkvMWU2N213YUJvQmtBdkU2UWVkRmxYNmlMeVhpM0wxNEFEUDQ1eHhIRm13RzRmRlRzQktvU09uMDF5YW10ZwpwR3lzeWN4QXpET0pYQTYvL0pmd1grT3p1c0lUREVEUXdDWWxZdEZGbnlvdjZtRlFKWjZtbFROMDdhVng1STEzClVXRUlSUTJDVEJkM08zOGc5dkJKYUYvUHQ4YzZqUGZFQW43ZjRsSVM3dVBoU0NJc0FYbS93Q1Fnc29OTStKRHEKOWIrUTZDUGRma1dPdXo5M0RBVmN0T3B6bmJFR0JHcW1oc29GMjRseUJ5dVUzQXVTa2QzOQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
Get Crt Certs from the generated template.
cat psc-autoscaler.yaml | grep "tls.crt:" | awk '{print $NF}'
exemple output: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhekNDQWxPZ0F3SUJBZ0lSQU1xRlFBVDRtcmJhcWNqR1lwWHVjcUV3RFFZSktvWklodmNOQVFFTEJRQXcKSERFYU1CZ0dBMVVFQXhNUmNITmpMV0YxZEc5elkyRnNaWEl0WTJFd0hoY05NalF3T1RJMk1ETXlNakV4V2hjTgpNamt3T1RJMU1ETXlNakV4V2pBWk1SY3dGUVlEVlFRREV3NXdjMk10WVhWMGIzTmpZV3hsY2pDQ0FTSXdEUVlKCktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxZeXFTSEVLRExHdmV3T0NBTmdLRUt4cm1uTXlSaEYKTzZuRUJHdFluOTNwMXovd0pJVHZ4cEpJNmRwamVWMzZyREREU0R5cnlYbndkYXBjcHU4WUdMWHhxd0xrUVpkSgpkRExlNVc0MVQrZXNOMGpyUWZqaFk1L2xRODdkemFlY1RleEFYNkFiUG9Uc1h5Q0N0OTU3aEdCdWN5STdoSGoyCmxiMm4yRlREVi93czRwbFRwVW56dmw0QWJvUS9HTTZWdmRBdUZUV3B4SDRmOXliYjYrL0pxSVFXWkJqL0ZIK3YKS3l3NVY5QWVWY3BkME9JMVhyd3lyampvLzJjRy9ONUNKUnN2T0l0WXhnZy9mek94cjZVWDlibmgweVdWSk1uTAoxUGdxU0tONzk1S3J0ckI0dzVPYlMvVmo3c0J3WllSRGk1VENiTUNtUm5JMHZzTWY0dXE2cms4Q0F3RUFBYU9CCnFqQ0JwekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SHdZRFZSMGpCQmd3Rm9BVUxtdzh4azgvVmRaL210OWpjWVZSZWMxZwpmZ1V3UndZRFZSMFJCRUF3UG9JYmNITmpMV0YxZEc5elkyRnNaWEl1Y0dWeVptVmpkSE5qWVd4bGdoOXdjMk10CllYVjBiM05qWVd4bGNpNXdaWEptWldOMGMyTmhiR1V1YzNaak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ2YKMnQvTVJucU1BMW1BTzkyZGtpQzFIQXh4N2RyWUxwUnE3amVCZVFHMGQrMURvYmRhakhiZzNTc3RFTG53L1hUZAo4V0hIcytPckNQL2lBbkpDaVlCOFVJK2F3NU9jY1lUeUR2eEZod3hrZzFndEdXcGQvczMreThQYU9EVHAyVS9hCkhjMXQ2U3FUSWF2WXE2UXhESzNVc2lYanVBa2orQk5PMGZ0NW9CY1lDZzJpZERtcXpKS1dzdjQwM0RHWmw0S3gKazNPRWNqVUY1YTZFaURRTTZ2VEQwQVFGVzRHeXprZS9ua29LdlJSZHJyUytibWFCSEwyeS9BQkxOdG9DOXZKVQpnU2N2K2hjL0VvdktZeFg4cDZ4dkd0RjMzeXhOb3RjdjV2WGJSeW1iYTFLQUg5cDZ4aFFDRGpyUVFEUHVSZElUCktETDI5d3FjdFJCc2pZUzdjN3R4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
Get Key Certs from the generated template.
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
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:
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
.
data:
resource.customizations.ignoreDifferences.all: |
managedFieldsManagers:
- PerfectScaleAutoscaler
Or by adding the following configuration to your ArgoCD App manifest:
spec:
ignoreDifferences:
- group: "*"
kind: "*"
managedFieldsManagers:
- PerfectScaleAutoscaler
How to enable cert-manager for Automation admission webhooks
With cert-manager
installed in your Kubernetes cluster, TLS certificates for Admission Webhooks can be automatically provisioned and managed.
Enabling cert-manager Support
There are two options for enabling cert-manager integration:
Setting the following value in your
values.yaml
file:
admission:
certManager:
enabled: true
Via Helm CLI using
--set
:
helm upgrade --set admission.certManager.enabled=true .....
When admission.certManager.enabled
is set to true
, the chart will:
Create a cert-manager
Issue
.Create a
Certificate
resource for the webhook service.Mount the generated TLS certificate in the webhook deployment.
Automatically configure
caBundle
for the webhook configuration using the cert-manager-generated CA.
Last updated