In this commit, we fix flaky test in `store_test.go` by using
`GetCert` to retrieve secrets instead of unreliable `CertList`
indexing due to non-guarnteed map order.
Signed-off-by: Mohamed Awnallah <mohamedmohey2352@gmail.com>
In this commit, we introduce unit tests for operator `certs` package.
The test cases include but not limited to:
- Test private key generation.
- Test self-signed certificate authority (CA) generation.
- Verify creation of self-signed certificate and key files within the CA.
- Include tests for utility functions, such as appending to Subject Alternative Names in SSL/TLS certificates.
- Add tests for Karmada Store operations related to certificates stored in Kubernetes Secrets:
- Create
- Read
- Update
- Load
Signed-off-by: Mohamed Awnallah <mohamedmohey2352@gmail.com>
In this commit, we enhance the `GeneratePrivateKey` and `ParsePrivateKeyPEM` functions:
- Added validation for unsupported key types and provided a more descriptive error message.
This function supports ECDSA (using P-256) and RSA (with a key size of 3072 bits) algorithms.
It returns an error for unsupported key types.
- Improved error handling to include the type of the unsupported key format in the error message.
This function now provides more informative feedback when the private key format is neither RSA nor ECDSA.
Signed-off-by: Mohamed Awnallah <mohamedmohey2352@gmail.com>
In this commit, we fix th null pointer dereference issue
that happens in altnames mutators for both Karmada APIServer
and EtcdServer when accessing the `Components` field on
`AltNamesMutatorConfig` struct.
Signed-off-by: Mohamed Awnallah <mohamedmohey2352@gmail.com>