Add development docker-compose environment#196
Conversation
| healthcheck: # TODO: Replace with healthcheck endpoint. | ||
| test: | ||
| - CMD-SHELL | ||
| - "wget -q -O /dev/null -T 3 http://localhost:6060/debug/pprof/ || exit 1" |
There was a problem hiding this comment.
As a followup - I'll add a more robust /healthcheck endpoint to proxy - this is a placeholder, and admittedly, not very useful
| - ./..:/etc/develop:ro | ||
|
|
||
| services: | ||
| temporal-left: |
There was a problem hiding this comment.
I followed existing semantics of some examples calling these "proxyLeft" and "proxyRight" - I'm not sure if this is our preferred semantic, especially when we introduce more than 2 proxy nodes.
| start_period: 5s | ||
|
|
||
| temporal-right: | ||
| image: temporalio/temporal:1.5.0 |
There was a problem hiding this comment.
For proper testing, will need to use a full temporal server setup - I don't believe cli development tool is sufficient, because I believe the server version is pinned.
liam-lowe
left a comment
There was a problem hiding this comment.
Added some initial thoughts.
| - ./..:/etc/develop:ro | ||
|
|
||
| services: | ||
| temporal-left: |
There was a problem hiding this comment.
can we use temporal-a and temporal-b instead of left/right? a, b is normally we used to name clusters. same for proxy naming.
There was a problem hiding this comment.
I agree, A/B is a better naming than right/left, and will scale out better. There's nothing special about the existing right/left naming.
There was a problem hiding this comment.
Agreed. There's a mismatch in the package between a/b and left/right - I saw left/right was used most-recently, so copied that.
I'll add consolidation of naming semantics as a follow-up PR.
develop/docker-compose/smoke-test.sh
Outdated
| temporal operator cluster health --address temporal-right:7233 | ||
|
|
||
| # cross-server proxy-left routes to temporal-right | ||
| NS_L="proxy-left-$$" |
There was a problem hiding this comment.
maybe just name it as smoketest-a and smoketest-b
develop/docker-compose/smoke-test.sh
Outdated
| # cross-server proxy-left routes to temporal-right | ||
| NS_L="proxy-left-$$" | ||
| temporal operator namespace create "$NS_L" --retention 24h --address temporal-right:7233 | ||
| temporal operator namespace describe "$NS_L" --address proxy-left:6233 |
There was a problem hiding this comment.
we probably also test outbound route something like
temporal operator cluster describe --address proxy-left:{outbound_port}
which will show cluster-right (or a)
vice versa for proxy-right (or b)
There was a problem hiding this comment.
Added. Wanted to do cluster name validation, but the temporal server start-dev has the cluster name pinned as active. Added a todo.
0e9f9a5 to
939f234
Compare
What was changed
Adds a more-streamlined local development environment using Docker Compose.
Adds a minimal bi-directional S2S proxy setup.
Why?
Checklist
How was this tested?
smoke-testservice, which validates correct initialization.Any docs updates needed?
Updated
developmentREADMEfile.