Add annotation ssl-prefer-server-ciphers.
This commit is contained in:
parent
0e785a0bf2
commit
41d82005ec
8 changed files with 54 additions and 9 deletions
|
|
@ -27,13 +27,35 @@ type sslCipher struct {
|
|||
r resolver.Resolver
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
SSLCiphers string
|
||||
SSLPreferServerCiphers string
|
||||
}
|
||||
|
||||
// NewParser creates a new sslCipher annotation parser
|
||||
func NewParser(r resolver.Resolver) parser.IngressAnnotation {
|
||||
return sslCipher{r}
|
||||
}
|
||||
|
||||
// Parse parses the annotations contained in the ingress rule
|
||||
// used to add ssl-ciphers to the server name
|
||||
// used to add ssl-ciphers & ssl-prefer-server-ciphers to the server name
|
||||
func (sc sslCipher) Parse(ing *networking.Ingress) (interface{}, error) {
|
||||
return parser.GetStringAnnotation("ssl-ciphers", ing)
|
||||
config := &Config{}
|
||||
var err error
|
||||
var sslPreferServerCiphers bool
|
||||
|
||||
sslPreferServerCiphers, err = parser.GetBoolAnnotation("ssl-prefer-server-ciphers", ing)
|
||||
if err != nil {
|
||||
config.SSLPreferServerCiphers = ""
|
||||
} else {
|
||||
if sslPreferServerCiphers {
|
||||
config.SSLPreferServerCiphers = "on"
|
||||
} else {
|
||||
config.SSLPreferServerCiphers = "off"
|
||||
}
|
||||
}
|
||||
|
||||
config.SSLCiphers, _ = parser.GetStringAnnotation("ssl-ciphers", ing)
|
||||
|
||||
return config, nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ func TestParse(t *testing.T) {
|
|||
for _, testCase := range testCases {
|
||||
ing.SetAnnotations(testCase.annotations)
|
||||
result, _ := ap.Parse(ing)
|
||||
if result != testCase.expected {
|
||||
if result.SSLCiphers != testCase.expected {
|
||||
t.Errorf("expected %v but returned %v, annotations: %s", testCase.expected, result, testCase.annotations)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue