File size: 3,703 Bytes
c40c75a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
suite: test deployment
templates:
  - deployment.yaml
  - configmap-litellm.yaml
tests:
  - it: should work
    template: deployment.yaml
    set:
      image.tag: test
    asserts:
      - isKind:
          of: Deployment
      - matchRegex:
          path: metadata.name
          pattern: -litellm$
      - equal:
          path: spec.template.spec.containers[0].image
          value: ghcr.io/berriai/litellm-database:test
  - it: should work with tolerations
    template: deployment.yaml
    set:
      tolerations:
        - key: node-role.kubernetes.io/master
          operator: Exists
          effect: NoSchedule
    asserts:
      - equal:
          path: spec.template.spec.tolerations[0].key
          value: node-role.kubernetes.io/master
      - equal:
          path: spec.template.spec.tolerations[0].operator
          value: Exists
  - it: should work with affinity
    template: deployment.yaml
    set:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: topology.kubernetes.io/zone
                operator: In
                values:
                - antarctica-east1
    asserts:
      - equal:
          path: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key
          value: topology.kubernetes.io/zone
      - equal:
          path: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].operator
          value: In
      - equal:
          path: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].values[0]
          value: antarctica-east1
  - it: should work without masterkeySecretName or masterkeySecretKey
    template: deployment.yaml
    set:
      masterkeySecretName: ""
      masterkeySecretKey: ""
    asserts:
      - contains:
          path: spec.template.spec.containers[0].env
          content:
            name: PROXY_MASTER_KEY
            valueFrom:
              secretKeyRef:
                name: RELEASE-NAME-litellm-masterkey
                key: masterkey
  - it: should work with masterkeySecretName and masterkeySecretKey
    template: deployment.yaml
    set:
      masterkeySecretName: my-secret
      masterkeySecretKey: my-key
    asserts:
      - contains:
          path: spec.template.spec.containers[0].env
          content:
            name: PROXY_MASTER_KEY
            valueFrom:
              secretKeyRef:
                name: my-secret
                key: my-key
  - it: should work with extraEnvVars
    template: deployment.yaml
    set:
      extraEnvVars:
        - name: EXTRA_ENV_VAR
          valueFrom:
            fieldRef:
              fieldPath: metadata.labels['env']
    asserts:
      - contains:
          path: spec.template.spec.containers[0].env
          content:
            name: EXTRA_ENV_VAR
            valueFrom:
              fieldRef:
                fieldPath: metadata.labels['env']
  - it: should work with both extraEnvVars and envVars
    template: deployment.yaml
    set:
      envVars:
        ENV_VAR: ENV_VAR_VALUE
      extraEnvVars:
        - name: EXTRA_ENV_VAR
          value: EXTRA_ENV_VAR_VALUE
    asserts:
      - contains:
          path: spec.template.spec.containers[0].env
          content:
            name: ENV_VAR
            value: ENV_VAR_VALUE
      - contains:
          path: spec.template.spec.containers[0].env
          content:
            name: EXTRA_ENV_VAR
            value: EXTRA_ENV_VAR_VALUE