|
1 | 1 | package linode |
2 | 2 |
|
3 | | -import ( |
4 | | - "encoding/json" |
5 | | - |
6 | | - v1 "k8s.io/api/core/v1" |
7 | | -) |
8 | | - |
9 | 3 | const ( |
10 | | - annLinodeProtocolDeprecated = "service.beta.kubernetes.io/linode-loadbalancer-protocol" |
11 | | - annLinodeLoadBalancerTLSDeprecated = "service.beta.kubernetes.io/linode-loadbalancer-tls" |
12 | | - annLinodeProxyProtocol = "service.beta.kubernetes.io/linode-loadbalancer-proxy-protocol" |
| 4 | + annLinodeProxyProtocolDeprecated = "service.beta.kubernetes.io/linode-loadbalancer-proxy-protocol" |
13 | 5 | ) |
14 | | - |
15 | | -type tlsAnnotationDeprecated struct { |
16 | | - TLSSecretName string `json:"tls-secret-name"` |
17 | | - Port int `json:"port"` |
18 | | -} |
19 | | - |
20 | | -func tryDeprecatedTLSAnnotation(service *v1.Service, port int) (portConfigAnnotation, error) { |
21 | | - annotation := portConfigAnnotation{} |
22 | | - tlsAnnotation, err := getTLSAnnotationDeprecated(service, port) |
23 | | - if err != nil { |
24 | | - return annotation, err |
25 | | - } |
26 | | - |
27 | | - if tlsAnnotation != nil { |
28 | | - annotation.Protocol = "https" |
29 | | - annotation.TLSSecretName = tlsAnnotation.TLSSecretName |
30 | | - } else if protocol, ok := service.Annotations[annLinodeProtocolDeprecated]; ok { |
31 | | - annotation.Protocol = protocol |
32 | | - } |
33 | | - return annotation, nil |
34 | | -} |
35 | | - |
36 | | -func getTLSAnnotationDeprecated(service *v1.Service, port int) (*tlsAnnotationDeprecated, error) { |
37 | | - annotationJSON, ok := service.Annotations[annLinodeLoadBalancerTLSDeprecated] |
38 | | - if !ok { |
39 | | - return nil, nil |
40 | | - } |
41 | | - tlsAnnotations := make([]*tlsAnnotationDeprecated, 0) |
42 | | - err := json.Unmarshal([]byte(annotationJSON), &tlsAnnotations) |
43 | | - if err != nil { |
44 | | - return nil, err |
45 | | - } |
46 | | - for _, tlsAnnotation := range tlsAnnotations { |
47 | | - if tlsAnnotation.Port == port { |
48 | | - return tlsAnnotation, nil |
49 | | - } |
50 | | - } |
51 | | - return nil, nil |
52 | | -} |
0 commit comments