44
55SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
66PROJECT_ROOT=" $( cd " $SCRIPT_DIR /../.." && pwd) "
7- DEPLOYMENT_COMMON=" $PROJECT_ROOT /scripts/deployment/common.sh"
87
98DEFAULT_VERSION=" latest"
109DEFAULT_PLATFORM=" amd64"
@@ -15,16 +14,6 @@ VERSION=""
1514PLATFORM=" "
1615OUTPUT_DIR=" "
1716INCLUDE_SOURCE=" "
18- DRY_RUN=" false"
19- COMMON_ARGS=()
20-
21- if [ -f " $DEPLOYMENT_COMMON " ]; then
22- # shellcheck source=/dev/null
23- source " $DEPLOYMENT_COMMON "
24- else
25- echo " Error: shared deployment helper not found: $DEPLOYMENT_COMMON "
26- exit 1
27- fi
2817
2918show_help () {
3019 echo " Usage: $0 [OPTIONS]"
@@ -40,10 +29,6 @@ show_help() {
4029 echo " Default: $DEFAULT_OUTPUT_DIR "
4130 echo " --include-source BOOL Include source code (true or false)"
4231 echo " Default: $DEFAULT_INCLUDE_SOURCE "
43- echo " --components LIST Deployment components for image selection"
44- echo " --image-source SOURCE general, mainland, or local-latest"
45- echo " --registry-profile NAME Legacy alias for --image-source general|mainland"
46- echo " --config FILE Deployment config with components and image source"
4732 echo " --dry-run Show execution plan without actual operations"
4833 echo " --help Show this help message"
4934 echo " "
@@ -75,15 +60,7 @@ parse_args() {
7560 shift 2
7661 ;;
7762 --dry-run)
78- DRY_RUN=" true"
79- shift
80- ;;
81- --components|--image-source|--registry-profile|--app-version|--monitoring-provider|--port-policy|--config|--local-config)
82- COMMON_ARGS+=(" $1 " " $2 " )
83- shift 2
84- ;;
85- --use-local-config|--reconfigure)
86- COMMON_ARGS+=(" $1 " )
63+ dry_run=true
8764 shift
8865 ;;
8966 --help)
@@ -107,82 +84,52 @@ parse_args() {
10784 echo " Error: Platform must be 'amd64' or 'arm64'"
10885 exit 1
10986 fi
110- }
11187
112- prepare_deployment_image_config () {
113- export APP_VERSION=" $VERSION "
114- deployment_prepare_config " ${COMMON_ARGS[@]} " --app-version " $VERSION " || exit 1
115-
116- case " $DEPLOYMENT_REGISTRY_PROFILE " in
117- mainland)
118- [ -f " $PROJECT_ROOT /docker/.env.mainland" ] && source " $PROJECT_ROOT /docker/.env.mainland"
119- ;;
120- general|local-latest)
121- [ -f " $PROJECT_ROOT /docker/.env.general" ] && source " $PROJECT_ROOT /docker/.env.general"
122- ;;
123- esac
124-
125- deployment_apply_image_source
126- }
127-
128- show_dry_run_plan () {
88+ if [[ " $dry_run " == " true" ]]; then
12989 echo " === DRY RUN MODE ==="
13090 echo " Version: $VERSION "
13191 echo " Platform: $PLATFORM "
13292 echo " Output directory: $OUTPUT_DIR "
13393 echo " Include source: $INCLUDE_SOURCE "
134- echo " Components: $DEPLOYMENT_COMPONENTS "
135- echo " Image source: $DEPLOYMENT_IMAGE_SOURCE "
13694 echo " "
13795 echo " Images to pull:"
13896 get_nexent_images
13997 get_third_party_images
14098 echo " "
14199 echo " No actual operations will be performed."
142100 exit 0
101+ fi
143102}
144103
145104get_nexent_images () {
146- deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " application" && echo " $NEXENT_IMAGE "
147- deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " application" && echo " $NEXENT_WEB_IMAGE "
148- deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " application" && echo " $NEXENT_MCP_DOCKER_IMAGE "
149- deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " data-process" && echo " $NEXENT_DATA_PROCESS_IMAGE "
150- deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " terminal" && echo " $OPENSSH_SERVER_IMAGE "
151- true
105+ local version_tag=" $VERSION "
106+
107+ local nexent_images=(
108+ " nexent/nexent:${version_tag} "
109+ " nexent/nexent-web:${version_tag} "
110+ " nexent/nexent-data-process:${version_tag} "
111+ " nexent/nexent-mcp:${version_tag} "
112+ )
113+
114+ for img in " ${nexent_images[@]} " ; do
115+ echo " $img "
116+ done
152117}
153118
154119get_third_party_images () {
155- if deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " infrastructure" ; then
156- echo " $ELASTICSEARCH_IMAGE "
157- echo " $POSTGRESQL_IMAGE "
158- echo " $REDIS_IMAGE "
159- echo " $MINIO_IMAGE "
160- fi
161- if deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " supabase" ; then
162- echo " $SUPABASE_KONG "
163- echo " $SUPABASE_GOTRUE "
164- echo " $SUPABASE_DB "
165- fi
166- if deployment_csv_contains " $DEPLOYMENT_COMPONENTS " " monitoring" ; then
167- echo " otel/opentelemetry-collector-contrib:0.151.0"
168- case " $DEPLOYMENT_MONITORING_PROVIDER " in
169- phoenix) echo " arizephoenix/phoenix:15" ;;
170- grafana)
171- echo " grafana/tempo:2.10.5"
172- echo " grafana/grafana:12.4"
173- ;;
174- zipkin) echo " openzipkin/zipkin:latest" ;;
175- langfuse)
176- echo " docker.io/langfuse/langfuse-worker:3"
177- echo " docker.io/langfuse/langfuse:3"
178- echo " docker.io/clickhouse/clickhouse-server:26.3-alpine"
179- echo " docker.io/minio/minio:RELEASE.2023-12-20T01-00-02Z"
180- echo " docker.io/redis:alpine"
181- echo " docker.io/postgres:15-alpine"
182- ;;
183- esac
184- fi
185- true
120+ local third_party_images=(
121+ " docker.elastic.co/elasticsearch/elasticsearch:8.17.4"
122+ " docker.io/library/postgres:15-alpine"
123+ " docker.io/library/redis:alpine"
124+ " quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z"
125+ " docker.io/library/kong:2.8.1"
126+ " docker.io/supabase/gotrue:v2.170.0"
127+ " docker.io/supabase/postgres:15.8.1.060"
128+ )
129+
130+ for img in " ${third_party_images[@]} " ; do
131+ echo " $img "
132+ done
186133}
187134
188135pull_with_retry () {
@@ -415,11 +362,6 @@ LOADSCRIPT
415362
416363main () {
417364 parse_args " $@ "
418- prepare_deployment_image_config
419-
420- if [[ " $DRY_RUN " == " true" ]]; then
421- show_dry_run_plan
422- fi
423365
424366 echo " "
425367 echo " ========================================"
@@ -429,8 +371,6 @@ main() {
429371 echo " Platform: $PLATFORM "
430372 echo " Output directory: $OUTPUT_DIR "
431373 echo " Include source: $INCLUDE_SOURCE "
432- echo " Components: $DEPLOYMENT_COMPONENTS "
433- echo " Image source: $DEPLOYMENT_IMAGE_SOURCE "
434374 echo " ========================================"
435375
436376 rm -rf " $OUTPUT_DIR "
0 commit comments