Skip to content
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
263 changes: 135 additions & 128 deletions oci/temporal-server/documentation.yaml
Original file line number Diff line number Diff line change
@@ -1,136 +1,143 @@
version: 1

version: 2
application: temporal server
description: >
Temporal is a durable execution platform that enables developers to build scalable applications without sacrificing productivity or reliability. The Temporal server executes units of application logic called Workflows in a resilient manner that automatically handles intermittent failures, and retries failed operations.

docker:
parameters:
- -p 7233:7233
- -e SQL_HOST=1.2.3.4
- -v /path/to/temporal/config.yaml:/etc/temporal/config/config.yaml
access: |
### New entrypoint `pebble`
description: |
Temporal is a durable execution platform that enables developers to build scalable
applications without sacrificing productivity or reliability. The Temporal server
executes units of application logic called Workflows in a resilient manner that
automatically handles intermittent failures, and retries failed operations.

Please note that the entrypoint of the images in this repository is [Pebble](https://documentation.ubuntu.com/pebble/), a lightweight service manager. The pebble process launches and supervises the temporal-server process.
## Temporal Server Configuration

#### Temporal Server Configuration
Temporal server must be provided with a configuration file to start up sucessfully.
We do not include any default configurations in the image. Instead, we expect the
user to either add a configuration file in the deployed container or mount a volume
with the config file in the container.

Temporal server must be provided with a configuration file to start up sucessfully. We do not include any default configurations in the image. Instead, we expect the user to either add a configuration file in the deployed container or mount a volume with the config file in the container.
Some development configuration files can be
found in [the Temporal repository](https://github.com/temporalio/temporal/tree/main/config).

Some development configuration files can be found in [the temporal repository](https://github.com/temporalio/temporal/tree/main/config).
website: https://github.com/temporalio/temporal
issues: https://github.com/canonical/temporal-rocks/issues
source-code: https://github.com/canonical/temporal-rocks

The following outlines steps to mount the development configuration files while launching a container:

```sh
$ git clone https://github.com/temporalio/temporal
docker:
parameters: >-
-p 7233:7233
-e SQL_HOST=1.2.3.4
-v /path/to/temporal/config.yaml:/etc/temporal/config/config.yaml
run_cmd: >-
-d
Comment thread
asanvaq marked this conversation as resolved.
Outdated
run_conclusion: |
Temporal server starts and listens on its configured ports.

$ docker run -d --name temporal-server-container -e TZ=UTC -p 7233:7233 -v ./temporal/config:/etc/temporal/config -e TEMPORAL_ENVIRONMENT=development-sqlite ubuntu/temporal-server:1.23.1-24.04_edge
```
To obtain a runnable configuration, refer to the [official repository](https://github.com/temporalio/temporal).

parameters:
- type: -e
value: 'TEMPORAL_ROOT=/etc/temporal'
description: Root directory of Temporal execution environment
- type: -e
value: 'TEMPORAL_CONFIG_DIR=config'
description: Config directory path relative to the Temporal root
- type: -e
value: 'TEMPORAL_ENVIRONMENT=development'
description: Run time Temporal environment
- type: -e
value: 'TEMPORAL_AVAILABILITY_ZONE=some-zone'
description: Temporal's availability zone
- type: -e
value: 'TEMPORAL_ALLOW_NO_AUTH=false'
description: Boolean to allow no authorizer
- type: -p
value: '6933:6933'
description: Expose Temporal's fronted service membership endpoint
- type: -p
value: '6934:6934'
description: Expose Temporal's history service membership endpoint
- type: -p
value: '6935:6935'
description: Expose Temporal's matching service membership endpoint
- type: -p
value: '6939:6939'
description: Expose Temporal's worker service membership endpoint
- type: -p
value: '7233:7233'
description: Expose Temporal's frontend service GRPC endpoint
- type: -p
value: '7243:7243'
description: Expose Temporal's frontend service HTTP endpoint
- type: -p
value: '7234:7234'
description: Expose Temporal's history service GRPC endpoint
- type: -p
value: '7235:7235'
description: Expose Temporal's matching service GRPC endpoint
- type: -p
value: '7239:7239'
description: Expose Temporal's worker service GRPC endpoint
- type: -v
value: "/path/to/temporal/config.yaml:/etc/temporal/config/config.yaml"
description: Local configuration file for Temporal server
- type: -e
value: 'SQL_HOST=1.2.3.4'
description: Hostname or IP address of SQL host to connect to with temporal-sql-tool
- type: -e
value: 'SQL_PORT=3306'
description: Port of SQL host to connect to with temporal-sql-tool
- type: -e
value: 'SQL_USER=mysql'
description: User name used for authentication when connecting to SQL host with temporal-sql-tool
- type: -e
value: 'SQL_PASSWORD=supersecretpassword'
description: Password used for authentication when connecting to SQL host with temporal-sql-tool
- type: -e
value: 'SQL_DATABASE=temporal'
description: Name of SQL database used with temporal-sql-tool
- type: -e
value: 'SQL_PLUGIN=mysql'
description: Name of the SQL plugin for temporal-sql-tool
- type: -e
value: 'SQL_CONNECT_ATTRIBUTES'
description: SQL connect attributes for temporal-sql-tool
- type: -e
value: 'SQL_TLS=true'
description: Enable TLS over SQL connection with temporal-sql-tool
- type: -e
value: 'SQL_TLS_CERT_FILE=/path/to/client.crt'
description: SQL TLS client certificate path for temporal-sql-tool
- type: -e
value: 'SQL_TLS_KEY_FILE=/path/to/client.key'
description: SQL TLS client key path for temporal-sql-tool
- type: -e
value: 'SQL_TLS_CA_FILE=/path/to/client-ca.crt'
description: SQL TLS client CA file for temporal-sql-tool
- type: -e
value: 'SQL_TLS_SERVER_NAME=test-server-name'
description: Override for target server name with temporal-sql-tool
- type: -e
value: 'SQL_TLS_DISABLE_HOST_VERIFICATION=true'
description: Disable TLS host name verifaction with temporal-sql-tool (tls must be enabled)
- type: -e
value: 'TEMPORAL_CLI_ADDRESS=1.2.3.4:5555'
description: host:port for Temporal frontend service used by tdbg
- type: -e
value: 'TEMPORAL_CLI_NAMESPACE=testnamespace'
description: Temporal workflow namespace used by tdbg
- type: -e
value: 'TEMPORAL_CONTEXT_TIMEOUT=10'
description: Optional timeout for context of RPC calls in seconds for tdbg
- type: -e
value: 'TEMPORAL_CLI_TLS_CERT=/path/to/tls.cert'
description: Path to x509 certificate used by tdbg
- type: -e
value: 'TEMPORAL_CLI_TLS_KEY=/path/to/tls.key'
description: Path to private key used by tdbg
- type: -e
value: 'TEMPORAL_CLI_TLS_CA=/path/to/server-ca.crt'
description: Path to server CA certificate used by tdbg
- type: -e
value: 'TEMPORAL_CLI_TLS_DISABLE_HOST_VERFICATION=true'
description: Disable TLS host name verification for tdbg (tls must be enabled)
config:
TEMPORAL_ROOT:
type: env
description: Root directory of Temporal execution environment.
default: .
TEMPORAL_CONFIG_DIR:
type: env
description: Config directory path relative to the Temporal root.
default: config
TEMPORAL_ENVIRONMENT:
type: env
description: Run time Temporal environment.
default: development
Comment thread
asanvaq marked this conversation as resolved.
Outdated
TEMPORAL_AVAILABILITY_ZONE:
type: env
description: Temporal's availability zone.
TEMPORAL_ALLOW_NO_AUTH:
type: env
description: Boolean to allow no authorizer.
SQL_HOST:
type: env
description: Hostname or IP address of SQL host to connect to with temporal-sql-tool.
SQL_PORT:
type: env
description: Port of SQL host to connect to with temporal-sql-tool.
SQL_USER:
type: env
description: User name used for authentication when connecting to SQL host with temporal-sql-tool.
SQL_PASSWORD:
type: env
description: Password used for authentication when connecting to SQL host with temporal-sql-tool.
SQL_DATABASE:
type: env
description: Name of SQL database used with temporal-sql-tool.
SQL_PLUGIN:
type: env
description: Name of the SQL plugin for temporal-sql-tool.
SQL_CONNECT_ATTRIBUTES:
type: env
description: SQL connect attributes for temporal-sql-tool.
SQL_TLS:
type: env
description: Enable TLS over SQL connection with temporal-sql-tool.
SQL_TLS_CERT_FILE:
type: env
description: SQL TLS client certificate path for temporal-sql-tool.
SQL_TLS_KEY_FILE:
type: env
description: SQL TLS client key path for temporal-sql-tool.
SQL_TLS_CA_FILE:
type: env
description: SQL TLS client CA file for temporal-sql-tool.
SQL_TLS_SERVER_NAME:
type: env
description: Override for target server name with temporal-sql-tool.
SQL_TLS_DISABLE_HOST_VERIFICATION:
type: env
description: Disable TLS host name verifaction with temporal-sql-tool (tls must be enabled).
TEMPORAL_CLI_ADDRESS:
type: env
description: host:port for Temporal frontend service used by tdbg.
TEMPORAL_CLI_NAMESPACE:
type: env
description: Temporal workflow namespace used by tdbg.
TEMPORAL_CONTEXT_TIMEOUT:
type: env
description: Optional timeout for context of RPC calls in seconds for tdbg.
TEMPORAL_CLI_TLS_CERT:
type: env
description: Path to x509 certificate used by tdbg.
TEMPORAL_CLI_TLS_KEY:
type: env
description: Path to private key used by tdbg.
TEMPORAL_CLI_TLS_CA:
type: env
description: Path to server CA certificate used by tdbg.
TEMPORAL_CLI_TLS_DISABLE_HOST_VERFICATION:
type: env
description: Disable TLS host name verification for tdbg (tls must be enabled).
'`-v <path>:/etc/temporal/config/config.yaml`':
type: mount
description: Local configuration file for Temporal server.
'`-p <port>:6933`':
type: port
description: Expose Temporal's fronted service membership endpoint.
'`-p <port>:6934`':
type: port
description: Expose Temporal's history service membership endpoint.
'`-p <port>:6935`':
type: port
description: Expose Temporal's matching service membership endpoint.
'`-p <port>:6939`':
type: port
description: Expose Temporal's worker service membership endpoint.
'`-p <port>:7233`':
type: port
description: Expose Temporal's frontend service GRPC endpoint.
'`-p <port>:7243`':
type: port
description: Expose Temporal's frontend service HTTP endpoint.
'`-p <port>:7234`':
type: port
description: Expose Temporal's history service GRPC endpoint.
'`-p <port>:7235`':
type: port
description: Expose Temporal's matching service GRPC endpoint.
'`-p <port>:7239`':
type: port
description: Expose Temporal's worker service GRPC endpoint.
Loading