Skip to content

Commit

Permalink
Allow otlp grpc and http to be enabled with TLS
Browse files Browse the repository at this point in the history
Signed-off-by: Ruben Vargas <[email protected]>
  • Loading branch information
rubenvp8510 committed Jul 10, 2024
1 parent 75de22c commit ec7b1cb
Show file tree
Hide file tree
Showing 13 changed files with 460 additions and 17 deletions.
16 changes: 16 additions & 0 deletions .chloggen/fix_tls_monolithic_both_enabled.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: bug_fix

# The name of the component, or a single word describing the area of concern, (e.g. tempostack, tempomonolithic, github action)
component: tempomonolithic

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Allow create a monolithic with tls enabled on both grpc/http

# One or more tracking issues related to the change
issues: [976]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
10 changes: 10 additions & 0 deletions internal/manifests/manifestutils/paths.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,16 @@ const (
// ReceiverTLSCertDir returns the mount path of the receivers certificates (for ingesting traces).
ReceiverTLSCertDir = TLSDir + "/receiver"

// ReceiverGRPCTLSCADir is the path that is mounted from the configmap for TLS for receiver.
ReceiverGRPCTLSCADir = "/var/run/ca-receiver/grpc"
// ReceiverGRPCTLSCertDir returns the mount path of the receivers certificates (for ingesting traces).
ReceiverGRPCTLSCertDir = TLSDir + "/receiver/grpc"

// ReceiverHTTPTLSCADir is the path that is mounted from the configmap for TLS for receiver.
ReceiverHTTPTLSCADir = "/var/run/ca-receiver/http"
// ReceiverHTTPTLSCertDir returns the mount path of the receivers certificates (for ingesting traces).
ReceiverHTTPTLSCertDir = TLSDir + "/receiver/http"

// StorageTLSCADir contains the CA file for accessing object storage.
StorageTLSCADir = TLSDir + "/storage/ca"
// StorageTLSCertDir contains the certificate and key file for accessing object storage.
Expand Down
48 changes: 33 additions & 15 deletions internal/manifests/manifestutils/tls.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,20 @@ func MountCAConfigMap(
MountPath: caDir,
ReadOnly: true,
})
pod.Volumes = append(pod.Volumes, corev1.Volume{
Name: caConfigMap,
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: caConfigMap,

volumeIndex, _ := findVolumeIndex(pod, caConfigMap)
if volumeIndex < 0 {
pod.Volumes = append(pod.Volumes, corev1.Volume{
Name: caConfigMap,
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: caConfigMap,
},
},
},
},
})
})
}

return nil
}
Expand All @@ -58,14 +62,18 @@ func MountCertSecret(
MountPath: certDir,
ReadOnly: true,
})
pod.Volumes = append(pod.Volumes, corev1.Volume{
Name: certSecret,
VolumeSource: corev1.VolumeSource{
Secret: &corev1.SecretVolumeSource{
SecretName: certSecret,

volumeIndex, _ := findVolumeIndex(pod, certSecret)
if volumeIndex < 0 {
pod.Volumes = append(pod.Volumes, corev1.Volume{
Name: certSecret,
VolumeSource: corev1.VolumeSource{
Secret: &corev1.SecretVolumeSource{
SecretName: certSecret,
},
},
},
})
})
}

return nil
}
Expand Down Expand Up @@ -117,3 +125,13 @@ func findContainerIndex(pod *corev1.PodSpec, containerName string) (int, error)

return -1, fmt.Errorf("cannot find container %s", containerName)
}

func findVolumeIndex(pod *corev1.PodSpec, volumeName string) (int, error) {
for i, volume := range pod.Volumes {
if volume.Name == volumeName {
return i, nil
}
}

return -1, fmt.Errorf("cannot find volume %s", volumeName)
}
4 changes: 2 additions & 2 deletions internal/manifests/monolithic/statefulset.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ func BuildTempoStatefulset(opts Options, extraAnnotations map[string]string) (*a
tempo.Spec.Ingestion.OTLP.GRPC.TLS != nil && tempo.Spec.Ingestion.OTLP.GRPC.TLS.Enabled {
err := manifestutils.MountTLSSpecVolumes(
&sts.Spec.Template.Spec, "tempo", *tempo.Spec.Ingestion.OTLP.GRPC.TLS,
manifestutils.ReceiverTLSCADir, manifestutils.ReceiverTLSCertDir,
manifestutils.ReceiverGRPCTLSCADir, manifestutils.ReceiverGRPCTLSCertDir,
)
if err != nil {
return nil, err
Expand All @@ -132,7 +132,7 @@ func BuildTempoStatefulset(opts Options, extraAnnotations map[string]string) (*a
tempo.Spec.Ingestion.OTLP.HTTP.TLS != nil && tempo.Spec.Ingestion.OTLP.HTTP.TLS.Enabled {
err := manifestutils.MountTLSSpecVolumes(
&sts.Spec.Template.Spec, "tempo", *tempo.Spec.Ingestion.OTLP.HTTP.TLS,
manifestutils.ReceiverTLSCADir, manifestutils.ReceiverTLSCertDir,
manifestutils.ReceiverHTTPTLSCADir, manifestutils.ReceiverHTTPTLSCertDir,
)
if err != nil {
return nil, err
Expand Down
75 changes: 75 additions & 0 deletions tests/e2e/monolithic-receivers-tls/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoMonolithic
metadata:
name: simplest
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: tempo-simplest
labels:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
spec:
selector:
matchLabels:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
status:
readyReplicas: 1
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
name: tempo-simplest
spec:
ports:
- name: http
port: 3200
protocol: TCP
targetPort: http
- name: otlp-grpc
port: 4317
protocol: TCP
targetPort: otlp-grpc
- name: otlp-http
port: 4318
protocol: TCP
targetPort: otlp-http
selector:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
name: tempo-simplest-jaegerui
spec:
ports:
- name: jaeger-grpc
port: 16685
protocol: TCP
targetPort: jaeger-grpc
- name: jaeger-ui
port: 16686
protocol: TCP
targetPort: jaeger-ui
- name: jaeger-metrics
port: 16687
protocol: TCP
targetPort: jaeger-metrics
selector:
app.kubernetes.io/instance: simplest
app.kubernetes.io/managed-by: tempo-operator
app.kubernetes.io/name: tempo-monolithic
57 changes: 57 additions & 0 deletions tests/e2e/monolithic-receivers-tls/01-install-tempo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoMonolithic
metadata:
name: simplest
spec:
jaegerui:
enabled: true
ingestion:
otlp:
grpc:
enabled: true
tls:
enabled: true
caName: custom-ca
certName: custom-cert
http:
enabled: true
tls:
enabled: true
caName: custom-ca
certName: custom-cert
---
apiVersion: v1
kind: ConfigMap
metadata:
name: custom-ca
data:
service-ca.crt: |
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIUJ714jTtYBKKKYtVCysJY+DqMNgowDQYJKoZIhvcNAQEL
BQAwPDELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEWMBQGA1UE
CgwNb2JzZXJ2YWJpbGl0eTAgFw0yMzExMDIwMzE1MzdaGA8yMDUxMDMxOTAzMTUz
N1owPDELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEWMBQGA1UE
CgwNb2JzZXJ2YWJpbGl0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKqdrAkgclDaho+NwCrdr4wuR1zgDZ71Gzmdjokkn0dBa8sUR69or25PfB3oAzs0
J8i23lQB9Ny4jsDud8XoNkPpECTh1ddvqLj33Z3tacdZ82ESZ16HYdtDVEc2JnUZ
GzmrR9WKWFJ/JFS3/Kp1CSiLVy8fmT6Xq3RShgv+cGJ7tTI+Y4g6It5gDCmT5sSA
ZfubqGcbo9LLYeQuovEiSTUW4K+w0/3psBf5SmGH4srzICHejX4pSV3lMaB8rwOC
zWex/vdCyinf3TfLlUb6euqRMFxiGZgaskgqG0xVshFqv3FoRZ3yAOM1YeIgDNyz
gKObWefMzWmXLL8E+MLJMdUCAwEAAaNTMFEwHQYDVR0OBBYEFLFDtqWNRN2a32iX
7Ralg/PfX32JMB8GA1UdIwQYMBaAFLFDtqWNRN2a32iX7Ralg/PfX32JMA8GA1Ud
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHgbypkfsfucJMuyIG2xHnNr
yJr14vbVETq7Rl4MlpWkrTMJieJb2egSkSxsFq25H8da6Rqkj+3me57zxYZTnrgG
4xcdoVuX2Lm+pytX+SIMJkhY6J44uq43CBgJ0RPIwPAN1za2+VRnaIhc48m2cyxP
xv0wyCCc0SRthqNLhUd9vSgp3NWIBT9Dl2d6RVORl87dV1sd5GG4BQMmvmBmM36/
A1CVtDwDngOy1C9rjnWWHxQ/NzVYRKCzNUqiC+E5xtDpSfCCzNrWRvjwIdNveri9
ga1x9xINK/3uKa5ZEcTg+PAVKI6dNsPvpolaH3zBNs4YaqXcQ21Ix29JuKIsNH8=
-----END CERTIFICATE-----
---
apiVersion: v1
kind: Secret
metadata:
name: custom-cert
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVXakNDQTBLZ0F3SUJBZ0lVUE9WcllCNWlKdnhNaVRMQnk0ckd6T1AxZ2o0d0RRWUpLb1pJaHZjTkFRRUwKQlFBd1BERUxNQWtHQTFVRUJoTUNXRmd4RlRBVEJnTlZCQWNNREVSbFptRjFiSFFnUTJsMGVURVdNQlFHQTFVRQpDZ3dOYjJKelpYSjJZV0pwYkdsMGVUQWdGdzB5TXpFeE1ESXdNelEzTXpsYUdBOHlNRFV4TURNeE9UQXpORGN6Ck9Wb3dKVEVqTUNFR0ExVUVBd3dhZEdWdGNHOHRjMmx0Y0d4bGMzUXRaR2x6ZEhKcFluVjBiM0l3Z2dJaU1BMEcKQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUNINWZFdnpCWE16MUVVa3h2bDdXMVVZUnZxb2FsTApSZDU1VWlLc051RTNMYkZiOEFUZ1dsWXQxRFVKVWFSVUNXbDJRbXBnbGRTVVBaMmxGaTRxMmhkM1ZMWDd1YjVpCmVGRXhTV25iZ1JMOU9HWG5sS2pjeFFCN21PL0MyT2pQakJxaGg5UnJlVUNsd1FmN0Y3Tll0Si9qT1YxVU5abUsKTmYvRXpIQmVMN3psZTFiS2lkUDBaYkVKdFJ3T3crb2xwcFhQaXdTWk8xR1dGZkRGY3R0ajkzQzRaQUdnRjNMYgozVzJoRzFSS0tFaUdtTlVESEtyakFnMTdCR2Vwb1MzeHVUZ0pUbjc3cTgzRGdwcmVtSmNka2hBcTVwVHMva2tHCklyL0E1aWMyRXNnN2NJQWRPOTlsKzVNMWdqTHJMQnJSL2x1c1pTdVEycnJEK0dwNnpYR2I0czBCSVF1aGhOV1MKOEJ0cWtKNVFTRDZSaTA5d3dMaWhkTXVrWkJ1amFtY3lMZmszM1dMQ05xajdMRHNidE1VS0RFeGh4SHUrRGhiSwo1VFFKamZBYUdSWXRzcm93VWlqWWpBVnZRckJIdTQ0cWFFOWVQN1J2OC8xTk1VTE1MeFhPWkpwMzMyVlAzWG9MClhJTDhXQXNmZktpQ3NrSXhZMEU2UlVTbUhvbjlpYVdtM0F4Ti9DNWZ5NGlmRmRHNmlWTlkyUElHdlpCci9BK0kKUDBaRjNoNlQ1SkkvTGZobmFiS0tmUDRYYjcwenFFNzFtUTdTcjErM25weDFCS0djbEtMemhTa3BqaCtSQVpxOQptczBaZkw0eGJkSmJSalN3Um9Sbi9SSmxiQ2VNMlpCSzBLaFhUb2hqVjFSSWNrZTFBYlR0Zk9INnNwakMwanppCkMwYmFsaXFEblVjdVJ3SURBUUFCbzJrd1p6QWxCZ05WSFJFRUhqQWNnaHAwWlcxd2J5MXphVzF3YkdWemRDMWsKYVhOMGNtbGlkWFJ2Y2pBZEJnTlZIUTRFRmdRVUxOVEkzOUFUZW04QkxXSWQzcWRCNXlPbG9VQXdId1lEVlIwagpCQmd3Rm9BVXNVTzJwWTFFM1pyZmFKZnRGcVdEODk5ZmZZa3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQ3RDCmtWNjgzQ1N1NkZyZ3NBekZGMjBuYkViRnFIV0tkYjhpNldKMXNiK1FiWld4K0dMc2xiTS9taHp2dlFucDV2OEIKUUZpWHgvNG1pTmQ0R2owSGhZNTJ4UTBTRllFL1RyU25tZ2I3bzFYc0t6K1FyQ1N3L0lLYStTNDdSNEgxbkFyZgo5OEsybWo1SmJ0U2grY04wWlI5amxvVi9KWDZVb0RvaE51ZlFpc09BVThLdTdwUTRtc2hObUN2aGlMRmRkc21tCk4wbVZxeG1jdVRlaW5GbkR5ZUZ1V0luU1JoUWtNeFFQdzBndm9WRFN5RWltcFBTb0xaTCtEYkJYdUJXb2gvRTYKL3Qwc05TcmhPa1c5TVZ6N0ZYNEQ1YldsTkIwaE1hVURJVHFvSEdrRnNBVWpHYXpLVzljRGNTQ3Z2SGJzenozNAo3VUZSZG42dTRWaWNQR3BEQkNjPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1Mwd2dna3BBZ0VBQW9JQ0FRQ0g1ZkV2ekJYTXoxRVUKa3h2bDdXMVVZUnZxb2FsTFJkNTVVaUtzTnVFM0xiRmI4QVRnV2xZdDFEVUpVYVJVQ1dsMlFtcGdsZFNVUFoybApGaTRxMmhkM1ZMWDd1YjVpZUZFeFNXbmJnUkw5T0dYbmxLamN4UUI3bU8vQzJPalBqQnFoaDlScmVVQ2x3UWY3CkY3Tll0Si9qT1YxVU5abUtOZi9FekhCZUw3emxlMWJLaWRQMFpiRUp0UndPdytvbHBwWFBpd1NaTzFHV0ZmREYKY3R0ajkzQzRaQUdnRjNMYjNXMmhHMVJLS0VpR21OVURIS3JqQWcxN0JHZXBvUzN4dVRnSlRuNzdxODNEZ3ByZQptSmNka2hBcTVwVHMva2tHSXIvQTVpYzJFc2c3Y0lBZE85OWwrNU0xZ2pMckxCclIvbHVzWlN1UTJyckQrR3A2CnpYR2I0czBCSVF1aGhOV1M4QnRxa0o1UVNENlJpMDl3d0xpaGRNdWtaQnVqYW1jeUxmazMzV0xDTnFqN0xEc2IKdE1VS0RFeGh4SHUrRGhiSzVUUUpqZkFhR1JZdHNyb3dVaWpZakFWdlFyQkh1NDRxYUU5ZVA3UnY4LzFOTVVMTQpMeFhPWkpwMzMyVlAzWG9MWElMOFdBc2ZmS2lDc2tJeFkwRTZSVVNtSG9uOWlhV20zQXhOL0M1Znk0aWZGZEc2CmlWTlkyUElHdlpCci9BK0lQMFpGM2g2VDVKSS9MZmhuYWJLS2ZQNFhiNzB6cUU3MW1RN1NyMSszbnB4MUJLR2MKbEtMemhTa3BqaCtSQVpxOW1zMFpmTDR4YmRKYlJqU3dSb1JuL1JKbGJDZU0yWkJLMEtoWFRvaGpWMVJJY2tlMQpBYlR0Zk9INnNwakMwanppQzBiYWxpcURuVWN1UndJREFRQUJBb0lDQUFaUFcvS1BORmZ0TEdPYkxRbHhDOG1HCk5NaWhOdjRpd1dDNnVwZHFlT3laOTRsQVRNbXFDQ1JhblJmUXJhT2xTRHRRZkNYOTd2L3ZHSG5JM04zcWdIcHUKK1lBMXNLeGJ6OUZOQ2xoQjF3TGc4b0pkT2JYK2c3WTVkTENFWjlMek8yMVNwRDlWUXZZdlQxS09XQ3AvUUlsSgphWmIyWWltenRpdUtIcEdRLytGYjU3ekJ4NUNxaEJ6aVJ1bzhtSXVrLzRIQ2Y3VXB0dkVVRmJqbFMyQ0o1YmI2CkZjVThNWDRaK3ZRbkU3UFp5UHhPN2wwVm9LMm5zNzZKaHRLdWhEYWNGZ2tBbHc3U2ZGeGVuUmhHMTRWcytjazAKS2FnVGFvcVpaSFB0ZTlhYjZxWXY1QkwzYTdrTmhGbFFzVktRR3JLemI4aENibEpzaFkyQjVGZk5ZRUFQdU5zSwpQb1hUenMyT1N0M3NjOVJIY2k4VW5XblJWSjNnUnBGTnRMMEYrL0JjdDcvaHR3Vm9vYjZvZm1OWEJGUS9rdkhzCnR5VjNiN0Y4R3AxV1ZVUkZxWmFnVkJGTi9XZ3lJdk5ZdnNHUTRnMk5JaFZDU3dudFFIRUQ5VDFRYVNWeW1SeEIKTnk4cUQrU2VsTE9LcGNaUHVtTEVZTG94NDE3cm9DbWFqaSsvMzluanMwTVJQeThKeWFuTENxZnltR0NFYzI0Mgo3cEFqYVRISXZNaHR1TkpGVFE5K1J6eXc4TDJ4QzIwNndPSFpPWHc1aHJtQy9pdHorUXU2VzY3S1VWTTdMMnBhCmkybVlrZFpuTlFnV2pCekNkL0owUmQwQ29GSVo2UW9aSThmZ1VPd0M4LzdIa05nVXdkSkRyTlpJa2hlRnFOQmoKSE0vQWQxOGtoODRQVXo2cFZoa1pBb0lCQVFDNnVaL1pvbkltL0ZtRjZUTzgxeFB5YTJNMEM4bVNSdExjS0J3aQpncUZ2ZnNJWEkxdTliOHVDbE5CbVlxNkczc3MrV0FGbGx6S1htdEdZWHZ2TFFaejJYbHpkYkMzbG1teGVRS3NaCm5rVDFkVjA1RzRzRFRmWS9waDVWK0tHaG5kalR1ZFp0SW1ZdUtVVWtnN0dSL0lXMXViK2ZBd3RlWmdtTWpNYUcKMGFQdTBWdU9qSG5oS2tENE9MUytMTDJXaGlURjFZRkw2ajQycmxCaFkwK3BxQmRVVXJoNUFtRVdlaUhvWVVKWApuZHJSVDlYRk9ONnBiamxreHVqVjZvNmZpOUhIbFdHalBKenpjZkRRMlFuVWlsakFUYU0xVG5HcHBQUWpaM3lFCk1wT05ocFd4UjlGMWdxNVI4b1Q2bzFNcUNFcVJWOHNFeXltZFFvVHVPVWhaUUJvMUFvSUJBUUM2VVAydjI1clkKdThjbXFKbGQyakk4WktYQitiZnM2YzZRUnNEWTdvd2xXMTNYMXFheEo3OVZHUGxVK1ZnVWcwQTgyOHJwTGRSagpJSFZnY1M3aUV5SEhVaTZsTi90ZDQwWGlKK2kyMVRENnY0NFRjWmFYMExjOGRzeC8rL1RXb0MxeUx5K2paeWJJCkc4bVlpaC80NmpOdjFJZ1h1K0xFU1VRWGhHSFRxbzV5cE15SEw2RUVlU2ZMU0lOMWUxQTdjWGFYSzZSR2lhTUwKMDZ6dFJlakY4eGNxR0lVZEo3emszWEtjZHp2Q1Vlc3B3a1FHc3FGQTJuZVN4NjFFWTZHdG5ZekhmQis0NzhFcQpUbGkrWXVaRVZsRnFpTTN1TDVkcEh0M2dzZGhMNEd3bG1qL1hxeHJnRDI4WWFvODV4QjBVSmFhMnUwMEFGQjZSCm0zWkpXM3hVMzVZTEFvSUJBUUNPdEtVbGFKQ0RtU00yUThkRjBMNnU3RUd5R2p3Z3JqNGpBZ2lXbTIyVHo3VzQKaDA1cTFsRWI2RzNwZ2d2T2llR2RNUmRJTkNqM1V0eFM3bXpUcDc2MVQrTDdXdDBzK0R0UVFXNUNzd0lTOG5LZgozWnY5bDR6V2tqZm5EcEZBK21rblQ0VkFmU1RJck1QcUp6Z0QwWkhERkVZTjJmN0xVNEtDeDJoR3kxdlZmbTNSCjRTeVkySGswKyttdTJuUys0S0NrRGd1MklEMFIvMkR4UFR3NTlueDE5bzZEOVR5TU9DVkgrMlQvbjJZSHlGTWgKV3RoWmR5TW9FUmtMdkNycVpxcWFOV0djcHd0d3h5ajhCSlFOdXZvZlpuYVFtL1lrYUN3cURzSk1LbmM0bDU0NgpFaUJVQmQ4Q1JDNDdlNjFvbDFPZUJ4SGpCUDQxOFF1MUlWUlkyYlB0QW9JQkFHZlg0ajBVeWU1SVlvd3laaUNBCkQ0WEhsdmRSSm1qK08yb0FkVld6UnhzL0hFUERXRzdldDI1SG1CZjdUVk5KZ0JFcmM2R1pNSW43T2xDQlpOOE8KU01KZUZLOXpUeitaLzRZNE5pVkpGNTU2QzBiZEJWRWlQQzZRREJTOUtrNUJRbk1reDRsc1lab2dtckRSTTFhNQp1ZWQzYms3RUluVENYUmc2YVlmZXhMd3pDK2ZBN1I2Z0pFVFI2cXNkQ3EvRzRwRUkrdXR4cFJWZmFqOW91bjh4CnFOU0dqQktlNWxJczlzY3NVWHRSeXg4Z0xtZ0pRWVR5L3JncFlISUFrY2xCU1lpWnJ0aVZrSFR5NjlWWksvd2sKbkFZanI1czBuVkF5cXZta1JlaXNjYnBYaVlPNzB5UFVsbGZtZEdOKzRiSXI5Z3BjeEdMcDA4dlYrUXlUMSswNgpITmNDZ2dFQkFLdGdqU01GOWc0UGFtTEloQjN1czlrOU9Rdlc0Zk9JZ1NOSHpLem9VKzMwejQ4aXdJNUhidXhFCkU4aE9wK3hKZEMvWUx5aW5Ga3ZCc3FVL2RLT3FRa0tLekNhdmhWbm9XN0R0c2lNL2haLysvUlpDanRCNXFQU1YKbFk0NFVWQ3BaY2NjMGZOQlVCcWlESlZkankwOTNnRnhMeWtLU05VQkYvd0sxeFlKdDB3RlRQOEtZNHBmcEc2WgpoSGQ4UXp5ajNiak56ME1rb2NHeWk5OU0yOVFrMjVSUy93dk5nNXJrRzkvUVdhVkJsbkRkTEhaQjZCSFI4UHp0CnAwV2FKQUFpTkdBMDFITFhTWDdZVytLcWJ0VUNYczB5RFZPcHFpaHU3ZW11KzB5T0h0SFVmNmFLREpTSTVHUHEKYTAvMlNXdzlKU2pkMGJ1cmxSY3FZV2E2cGVpby90QT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=
34 changes: 34 additions & 0 deletions tests/e2e/monolithic-receivers-tls/02-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: opentelemetry-collector
labels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
spec:
selector:
matchLabels:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
status:
readyReplicas: 1

---
apiVersion: v1
kind: Service
metadata:
name: opentelemetry-collector
spec:
type: ClusterIP
ports:
- name: otlp
port: 4317
targetPort: 4317
protocol: TCP
appProtocol: grpc
selector:
app.kubernetes.io/name: otelcol
app.kubernetes.io/instance: opentelemetry
component: standalone-collector
Loading

0 comments on commit ec7b1cb

Please sign in to comment.