Add support for custom CA in actions.Client (#2199)

This commit is contained in:
Francesco Renzi
2023-01-23 22:36:57 +00:00
committed by GitHub
parent 6e69c75637
commit d57d17f161
10 changed files with 455 additions and 3 deletions

View File

@@ -2,6 +2,7 @@ package actions
import (
"context"
"crypto/x509"
"fmt"
"net/url"
"strconv"
@@ -168,3 +169,19 @@ func (m *multiClient) GetClientFromSecret(ctx context.Context, githubConfigURL,
auth.AppCreds = &GitHubAppAuth{AppID: parsedAppID, AppInstallationID: parsedAppInstallationID, AppPrivateKey: appPrivateKey}
return m.GetClientFor(ctx, githubConfigURL, auth, namespace)
}
func RootCAsFromConfigMap(configMapData map[string][]byte) (*x509.CertPool, error) {
caCertPool, err := x509.SystemCertPool()
if err != nil {
caCertPool = x509.NewCertPool()
}
for key, certData := range configMapData {
ok := caCertPool.AppendCertsFromPEM(certData)
if !ok {
return nil, fmt.Errorf("no certificates successfully parsed from key %s", key)
}
}
return caCertPool, nil
}