Skip to content

tls-simple sample not working inside kubernetes #20

@AjayShekar01

Description

@AjayShekar01

It is working with local dockerized setup of temporal application and temporal server.

#temporal-application(Seperate pod) is not able to make secure network communication to temporal-auto-setup(Seperate pod) inside kubernetes.
Error:
[TransportError: transport error]

To Reproduce:
I am using
1.Temporal-Application - https://github.com/temporalio/samples-typescript/blob/main/hello-world-mtls.
2.Temporal-Server(image - temporalio/auto-setup:1.13.1) - Generate test certificates with generate-test-certs.sh and Start Temporal with start-temporal.sh.

3.temporal-auto-setup container(image - temporalio/auto-setup:1.13.1) is deployed in separate pod and successful connection is made with Postgres db.

4.Environment Variables for temporal-auto-setup deployment:
containers:
- name: temporal-auto-setup
image: temporalio/auto-setup:1.13.1
env:
- name: AUTO_SETUP
value: "true"
- name: SKIP_DEFAULT_NAMESPACE_CREATION
value: "true"
- name: TEMPORAL_TLS_SERVER_CA_CERT
value: /path-to/ca.cert
- name: TEMPORAL_TLS_SERVER_CERT
value: /path-to/cluster.pem
- name: TEMPORAL_TLS_SERVER_KEY
value: /path-to/cluster.key
- name: TEMPORAL_TLS_REQUIRE_CLIENT_AUTH
value: "true"
- name: TEMPORAL_TLS_FRONTEND_CERT
value: /path-to/cluster.pem
- name: TEMPORAL_TLS_FRONTEND_KEY
value: /path-to/cluster.key
- name: TEMPORAL_TLS_CLIENT1_CA_CERT
value: /path-to/ca.cert
- name: TEMPORAL_TLS_CLIENT2_CA_CERT
value: /path-to/ca.cert
- name: TEMPORAL_TLS_INTERNODE_SERVER_NAME
value: tls-sample
- name: TEMPORAL_TLS_FRONTEND_SERVER_NAME
value: tls-sample
- name: TEMPORAL_TLS_FRONTEND_DISABLE_HOST_VERIFICATION
value: "false"
- name: TEMPORAL_TLS_INTERNODE_DISABLE_HOST_VERIFICATION
value: "false"
- name: TEMPORAL_CLI_ADDRESS
value: temporal-auto-setup.default.svc.cluster.local:7233
- name: TEMPORAL_GRPC_ENDPOINT
value: temporal-auto-setup.default.svc.cluster.local:7233
- name: TEMPORAL_CLI_TLS_CA
value: /path-to/ca.cert
- name: TEMPORAL_CLI_TLS_CERT
value: /path-to/cluster.pem
- name: TEMPORAL_CLI_TLS_KEY
value: /path-to/cluster.key
- name: TEMPORAL_CLI_TLS_ENABLE_HOST_VERIFICATION
value: "true"
- name: TEMPORAL_CLI_TLS_SERVER_NAME
value: tls-sample
- name: TEMPORAL_TLS_SERVER_NAME
value: tls-sample
- name: TEMPORAL_TLS_CERT_PATH
value: /path-to/cluster.pem
- name: TEMPORAL_TLS_KEY_PATH
value: /path-to/cluster.key
- name: TEMPORAL_TLS_CA_PATH
value: /path-to/ca.cert
- name: TEMPORAL_TLS_ENABLE_HOST_VERIFICATION
value: "true"
- name: SKIP_SCHEMA_SETUP
value: "false"
- name: DB
value: postgresql
- name: DB_PORT
value: "5432"
- name: POSTGRES_SEEDS
value: temporal.postgres.svc.cluster.local
- name: POSTGRES_USER
value: xxx
- name: POSTGRES_PWD
value: xxx
- name: TEMPORAL_STORE_PASSWORD
value: xxx
- name: TEMPORAL_VISIBILITY_STORE_PASSWORD
value: xxx
- name: DYNAMIC_CONFIG_FILE_PATH
value: "path-to/development.yaml"
- name: SQL_TLS
value: 'true'
- name: SQL_TLS_DISABLE_HOST_VERIFICATION
value: 'true'
- name: SQL_TLS_ENABLED
value: 'true'
- name: SQL_HOST_VERIFICATION
value: 'false'

5.Environment Variables for temporal-application deployment.
containers:
- name: temporal-application
image: localhost:5000/temporal-application:dev
imagePullPolicy: Always
env:
- name: TEMPORAL_SERVER_ROOT_CA_CERT_PATH
value: /path-to/ca.cert
- name: TEMPORAL_CLIENT_CERT_PATH
value: /path-to/client.pem
- name: TEMPORAL_CLIENT_KEY_PATH
value: /path-to/client.key
- name: TEMPORAL_NAMESPACE
value: default
- name: TEMPORAL_ADDRESS
value: temporal-auto-setup.default.svc.cluster.local
- name: TEMPORAL_SERVER_NAME_OVERRIDE
value: tls-sample
- name: TEMPORAL_GRPC_ENDPOINT
value: temporal-auto-setup.default.svc.cluster.local:7233

Kubernetes deployment made through kustomize method not helm charts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions