Skip to content

Commit ec65cd4

Browse files
committed
Update helloworld demo
1 parent b1585a8 commit ec65cd4

File tree

16 files changed

+514
-809
lines changed

16 files changed

+514
-809
lines changed

go.work.sum

Lines changed: 160 additions & 5 deletions
Large diffs are not rendered by default.

internal/demo/README.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ This guide will help you set up and run the Temporal Worker Controller locally u
3232

3333
3. Build and deploy the Controller image to the local k8s cluster:
3434
```bash
35-
skaffold dev --profile worker-controller
35+
skaffold run --profile worker-controller
3636
```
3737

3838
### Testing Progressive Deployments
3939

4040
4. **Deploy the v1 worker**:
4141
```bash
42-
skaffold dev --profile helloworld-worker
42+
skaffold run --profile helloworld-worker
4343
```
4444
This deploys a TemporalWorkerDeployment and TemporalConnection Custom Resource using the **Progressive strategy**. Note that when there is no current version (as in an initial versioned worker deployment), the progressive steps are skipped and v1 becomes the current version immediately. All new workflow executions will now start on v1.
4545

@@ -58,9 +58,9 @@ This guide will help you set up and run the Temporal Worker Controller locally u
5858
7. **Deploy a non-replay-safe workflow change**:
5959
```bash
6060
git apply internal/demo/helloworld/changes/no-version-gate.patch
61+
skaffold run --profile helloworld-worker
6162
```
62-
This applies a **non-replay-safe change** (switching from custom Sleep activity to built-in `workflow.Sleep`).
63-
Skaffold automatically detects the change and deploys worker v2.
63+
This applies a **non-replay-safe change** (switching an activity response type from string to a struct).
6464

6565
8. **Observe the progressive rollout managing incompatible versions**:
6666
- New workflow executions gradually shift from v1 to v2 following the configured rollout steps (1% → 5% → 10% → 50% → 100%)
@@ -73,14 +73,8 @@ This guide will help you set up and run the Temporal Worker Controller locally u
7373

7474
You can monitor the controller's logs and the worker's status using:
7575
```bash
76-
# Fetch the controller pod name
77-
minikube kubectl -- get pods -n temporal-worker-controller -w
78-
79-
# Describe the controller pod's status
80-
minikube kubectl -- describe pod <pod-name> -n temporal-worker-controller
81-
8276
# Output the controller pod's logs
83-
minikube kubectl -- logs -n temporal-system -f pod/<pod-name>
77+
kubectl logs -n temporal-system deployments/temporal-worker-controller-manager -f
8478
8579
# View TemporalWorkerDeployment status
8680
kubectl get twd
@@ -109,4 +103,3 @@ minikube delete --all --purge
109103
- `--purge`: Completely removes all minikube data, cached images, and configuration files from your machine
110104
111105
This gives you a completely fresh start and frees up disk space used by minikube.
112-

internal/demo/go.mod

Lines changed: 36 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,57 @@
11
module github.com/temporalio/temporal-worker-controller/internal/demo
22

3-
go 1.24
3+
go 1.24.0
4+
5+
toolchain go1.24.6
46

57
require (
6-
github.com/prometheus/client_golang v1.20.3
7-
github.com/uber-go/tally/v4 v4.1.16
8-
go.temporal.io/api v1.44.1
9-
go.temporal.io/sdk v1.33.0
10-
go.temporal.io/sdk/contrib/datadog v0.4.0
8+
github.com/prometheus/client_golang v1.23.2
9+
go.opentelemetry.io/otel v1.38.0
10+
go.opentelemetry.io/otel/exporters/prometheus v0.60.0
11+
go.opentelemetry.io/otel/sdk/metric v1.38.0
12+
go.temporal.io/api v1.53.0
13+
go.temporal.io/sdk v1.36.0
1114
go.temporal.io/sdk/contrib/envconfig v0.1.0
12-
go.temporal.io/sdk/contrib/tally v0.2.0
15+
go.temporal.io/sdk/contrib/opentelemetry v0.6.0
1316
)
1417

1518
require (
16-
github.com/BurntSushi/toml v1.4.0 // indirect
17-
github.com/DataDog/appsec-internal-go v1.9.0 // indirect
18-
github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0 // indirect
19-
github.com/DataDog/datadog-agent/pkg/proto v0.58.0 // indirect
20-
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.0 // indirect
21-
github.com/DataDog/datadog-agent/pkg/trace v0.58.0 // indirect
22-
github.com/DataDog/datadog-agent/pkg/util/log v0.58.0 // indirect
23-
github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.0 // indirect
24-
github.com/DataDog/datadog-go/v5 v5.5.0 // indirect
25-
github.com/DataDog/go-libddwaf/v3 v3.5.1 // indirect
26-
github.com/DataDog/go-runtime-metrics-internal v0.0.4-0.20241206090539-a14610dc22b6 // indirect
27-
github.com/DataDog/go-sqllexer v0.0.14 // indirect
28-
github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect
29-
github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 // indirect
30-
github.com/DataDog/sketches-go v1.4.5 // indirect
31-
github.com/Microsoft/go-winio v0.6.1 // indirect
19+
github.com/BurntSushi/toml v1.5.0 // indirect
3220
github.com/beorn7/perks v1.0.1 // indirect
3321
github.com/cespare/xxhash/v2 v2.3.0 // indirect
34-
github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect
3522
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
36-
github.com/dustin/go-humanize v1.0.1 // indirect
37-
github.com/eapache/queue/v2 v2.0.0-20230407133247-75960ed334e4 // indirect
38-
github.com/ebitengine/purego v0.6.0-alpha.5 // indirect
3923
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a // indirect
40-
github.com/go-ole/go-ole v1.2.6 // indirect
24+
github.com/go-logr/logr v1.4.3 // indirect
25+
github.com/go-logr/stdr v1.2.2 // indirect
4126
github.com/gogo/protobuf v1.3.2 // indirect
4227
github.com/golang/mock v1.6.0 // indirect
43-
github.com/golang/protobuf v1.5.4 // indirect
4428
github.com/google/uuid v1.6.0 // indirect
45-
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
46-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
47-
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 // indirect
48-
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
49-
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
50-
github.com/json-iterator/go v1.1.12 // indirect
51-
github.com/klauspost/compress v1.17.9 // indirect
52-
github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect
53-
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
54-
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
55-
github.com/modern-go/reflect2 v1.0.2 // indirect
29+
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
30+
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 // indirect
31+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect
5632
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
57-
github.com/nexus-rpc/sdk-go v0.3.0 // indirect
58-
github.com/outcaste-io/ristretto v0.2.3 // indirect
59-
github.com/pborman/uuid v1.2.1 // indirect
60-
github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect
61-
github.com/pkg/errors v0.9.1 // indirect
33+
github.com/nexus-rpc/sdk-go v0.4.0 // indirect
6234
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
63-
github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect
64-
github.com/prometheus/client_model v0.6.1 // indirect
65-
github.com/prometheus/common v0.59.1 // indirect
66-
github.com/prometheus/procfs v0.15.1 // indirect
35+
github.com/prometheus/client_model v0.6.2 // indirect
36+
github.com/prometheus/common v0.66.1 // indirect
37+
github.com/prometheus/otlptranslator v0.0.2 // indirect
38+
github.com/prometheus/procfs v0.17.0 // indirect
6739
github.com/robfig/cron v1.2.0 // indirect
68-
github.com/ryanuber/go-glob v1.0.0 // indirect
69-
github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect
70-
github.com/shirou/gopsutil/v3 v3.24.4 // indirect
71-
github.com/shoenig/go-m1cpu v0.1.6 // indirect
7240
github.com/stretchr/objx v0.5.2 // indirect
73-
github.com/stretchr/testify v1.10.0 // indirect
74-
github.com/tinylib/msgp v1.2.1 // indirect
75-
github.com/tklauser/go-sysconf v0.3.12 // indirect
76-
github.com/tklauser/numcpus v0.6.1 // indirect
77-
github.com/twmb/murmur3 v1.1.5 // indirect
78-
github.com/yusufpapurcu/wmi v1.2.4 // indirect
79-
go.opentelemetry.io/collector/component v0.104.0 // indirect
80-
go.opentelemetry.io/collector/config/configtelemetry v0.104.0 // indirect
81-
go.opentelemetry.io/collector/pdata v1.11.0 // indirect
82-
go.opentelemetry.io/collector/pdata/pprofile v0.104.0 // indirect
83-
go.opentelemetry.io/collector/semconv v0.104.0 // indirect
84-
go.opentelemetry.io/otel v1.27.0 // indirect
85-
go.opentelemetry.io/otel/metric v1.27.0 // indirect
86-
go.opentelemetry.io/otel/trace v1.27.0 // indirect
87-
go.uber.org/atomic v1.11.0 // indirect
88-
go.uber.org/multierr v1.11.0 // indirect
89-
go.uber.org/zap v1.27.0 // indirect
90-
golang.org/x/mod v0.20.0 // indirect
91-
golang.org/x/net v0.38.0 // indirect
92-
golang.org/x/sync v0.12.0 // indirect
93-
golang.org/x/sys v0.31.0 // indirect
94-
golang.org/x/text v0.23.0 // indirect
95-
golang.org/x/time v0.6.0 // indirect
96-
golang.org/x/tools v0.24.0 // indirect
97-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
98-
google.golang.org/genproto/googleapis/api v0.0.0-20240827150818-7e3bb234dfed // indirect
99-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed // indirect
100-
google.golang.org/grpc v1.66.0 // indirect
101-
google.golang.org/protobuf v1.34.2 // indirect
102-
gopkg.in/DataDog/dd-trace-go.v1 v1.71.1 // indirect
103-
gopkg.in/ini.v1 v1.67.0 // indirect
104-
gopkg.in/yaml.v2 v2.4.0 // indirect
41+
github.com/stretchr/testify v1.11.1 // indirect
42+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
43+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
44+
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
45+
go.opentelemetry.io/otel/trace v1.38.0 // indirect
46+
go.yaml.in/yaml/v2 v2.4.2 // indirect
47+
golang.org/x/net v0.44.0 // indirect
48+
golang.org/x/sync v0.17.0 // indirect
49+
golang.org/x/sys v0.36.0 // indirect
50+
golang.org/x/text v0.29.0 // indirect
51+
golang.org/x/time v0.13.0 // indirect
52+
google.golang.org/genproto/googleapis/api v0.0.0-20250908214217-97024824d090 // indirect
53+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250908214217-97024824d090 // indirect
54+
google.golang.org/grpc v1.75.1 // indirect
55+
google.golang.org/protobuf v1.36.9 // indirect
10556
gopkg.in/yaml.v3 v3.0.1 // indirect
10657
)

0 commit comments

Comments
 (0)