Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
csst
Scalebox Apps
Commits
ebbcfe7c
Commit
ebbcfe7c
authored
Feb 12, 2026
by
Zhang Xiaoli
Browse files
update ast pipelines, rename modules name: ast-astromentry and ast-sso
parent
eb28e72b
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
280 additions
and
0 deletions
+280
-0
L1/dockerfiles/csst-msc-l1-ast-astrometry/Dockerfile
L1/dockerfiles/csst-msc-l1-ast-astrometry/Dockerfile
+29
-0
L1/dockerfiles/csst-msc-l1-ast-astrometry/Makefile
L1/dockerfiles/csst-msc-l1-ast-astrometry/Makefile
+35
-0
L1/dockerfiles/csst-msc-l1-ast-astrometry/config.env
L1/dockerfiles/csst-msc-l1-ast-astrometry/config.env
+6
-0
L1/dockerfiles/csst-msc-l1-ast-astrometry/run.sh
L1/dockerfiles/csst-msc-l1-ast-astrometry/run.sh
+70
-0
L1/dockerfiles/csst-msc-l1-ast-sso/Dockerfile
L1/dockerfiles/csst-msc-l1-ast-sso/Dockerfile
+29
-0
L1/dockerfiles/csst-msc-l1-ast-sso/Makefile
L1/dockerfiles/csst-msc-l1-ast-sso/Makefile
+35
-0
L1/dockerfiles/csst-msc-l1-ast-sso/config.env
L1/dockerfiles/csst-msc-l1-ast-sso/config.env
+6
-0
L1/dockerfiles/csst-msc-l1-ast-sso/run.sh
L1/dockerfiles/csst-msc-l1-ast-sso/run.sh
+70
-0
No files found.
L1/dockerfiles/csst-msc-l1-ast-astrometry/Dockerfile
0 → 100644
View file @
ebbcfe7c
ARG
HARBOR_PATH
ARG
MODULE_NAME
ARG
TAG
FROM
${HARBOR_PATH}/csst/${MODULE_NAME}:${TAG}
# FROM csu-harbor.csst.nao:10443/csst/csst-cpic-l1:latest
USER
root
# 安装jq
RUN
apt-get update
\
&&
apt-get
install
-y
--no-install-recommends
jq
\
&&
apt-get clean
\
&&
rm
-rf
/var/lib/apt/lists/
*
COPY
*.sh /app/bin/
RUN
chmod
+x /app/bin/
*
.sh
COPY
--from=hub.cstcloud.cn/scalebox/agent /usr/local /usr/local
RUN
mkdir
/work/
RUN
chown
-R
csst:csst /work
RUN
chown
-R
csst:csst /pipeline
WORKDIR
/work/
ENV
HARBOR_PATH=${HARBOR_PATH}
ENV
MODULE_NAME=${MODULE_NAME}
ENV
TAG=${TAG}
USER
csst
ENTRYPOINT
["goagent"]
L1/dockerfiles/csst-msc-l1-ast-astrometry/Makefile
0 → 100644
View file @
ebbcfe7c
-include
config.env
$(info
MODULE_NAME
=
$(MODULE_NAME)
)
$(info
HARBOR_PATH
=
$(HARBOR_PATH)
)
$(info
SINK_MODULE
=
$(SINK_MODULE)
)
# $(info TAG = $(TAG))
IMAGE_NAME
:=
$(HARBOR_PATH)
/cnic/
$(MODULE_NAME)
TAG
?=
latest
all
:
build push dist
build
:
docker pull
$(HARBOR_PATH)
/csst/
$(MODULE_NAME)
:
$(TAG)
docker build
--network
=
host
\
--build-arg
MODULE_NAME
=
$(MODULE_NAME)
\
--build-arg
HARBOR_PATH
=
$(HARBOR_PATH)
\
--build-arg
TAG
=
$(TAG)
\
-t
$(IMAGE_NAME)
.
push
:
docker push
$(IMAGE_NAME)
dist
:
ssh sc1 docker pull
$(IMAGE_NAME)
ssh sc2 docker pull
$(IMAGE_NAME)
ssh sc3 docker pull
$(IMAGE_NAME)
run
:
docker run
-it
\
-e
MODULE_NAME
=
${MODULE_NAME}
\
-e
HARBOR_PATH
=
${HARBOR_PATH}
\
-e
TAG
=
${TAG}
\
-e
SINK_MODULE
=
${SINK_MODULE}
\
--entrypoint
bash
\
${IMAGE_NAME}
down
:
docker stop
$(IMAGE_NAME)
\ No newline at end of file
L1/dockerfiles/csst-msc-l1-ast-astrometry/config.env
0 → 100644
View file @
ebbcfe7c
MODULE_NAME=csst-msc-l1-ast-astrometry
HARBOR_PATH=csu-harbor.csst.nao:10443
# SINK_MODULE=0: no sink module; SINK_MODULE=1 : has sink module
SINK_MODULE=1
L1/dockerfiles/csst-msc-l1-ast-astrometry/run.sh
0 → 100644
View file @
ebbcfe7c
#!/bin/bash
message
=
$1
echo
"message: "
$message
headers
=
$(
echo
"
$2
"
|
sed
's/\\//g'
)
echo
"
$headers
"
| jq
'.'
echo
"headers:
$headers
"
has_data_list
=
$(
echo
"
$headers
"
| jq
'has("data_list")'
)
if
[
"
$has_data_list
"
=
"true"
]
;
then
# 提取 data_list 字段的值
data_list
=
$(
echo
"
$headers
"
| jq
-r
'.data_list'
)
fixed_data_list
=
$(
echo
"
$data_list
"
|
sed
's/\([a-f0-9]\{24\}\)/"\1"/g'
)
# 将 data_list 重新插入回 message
message
=
$(
echo
"
$message
"
| jq
--argjson
dl
"
$fixed_data_list
"
'. + {data_list: $dl}'
)
message
=
$(
echo
"
$message
"
| jq
-c
'.'
)
fi
cd
/pipeline/output/
run
-p
$message
exit_code
=
$?
echo
"=====pipeline.log===="
>
/work/custom-out.txt
cat
/pipeline/output/pipeline.log
>>
/work/custom-out.txt
timefile
=
/pipeline/output/timestamp.txt
if
test
-f
"
$timefile
"
;
then
echo
"
$timefile
exist"
mv
/pipeline/output/timestamp.txt /work/timestamps.txt
fi
rm
-rf
/pipeline/input/
*
/pipeline/output/
*
headers
=
$2
pattern
=
'"dag_run_id":"([^"]+)"'
if
[[
$headers
=
~
$pattern
]]
;
then
dag_run_id
=
"
${
BASH_REMATCH
[1]
}
"
echo
"dag_run_id:
$dag_run_id
"
else
# no dag_run_id in json
dag_run_id
=
""
fi
echo
"dag_run_id:
$dag_run_id
"
>>
/work/extra-attributes.txt
if
[
$exit_code
-eq
0
]
;
then
# 判断是否有后续模块,有后续模块,则下发给后续模块任务
if
[
"
${
SINK_MODULE
:-
0
}
"
=
"1"
]
;
then
# if [ "$SINK_MODULE" = "1" ]; then
if
[
"
$has_data_list
"
=
"true"
]
;
then
# 提取 data_list 字段的值
strdatalist
=
$(
echo
"
$fixed_data_list
"
|
tr
-d
'[:space:]'
)
scalebox task add
--header
sorted_tag
=
${
sorted_tag
}
--header
dag_run_id
=
${
dag_run_id
}
--header
data_list
=
${
strdatalist
}
--header
repeatable
=
yes
--upsert
$1
else
scalebox task add
--header
sorted_tag
=
${
sorted_tag
}
--header
dag_run_id
=
${
dag_run_id
}
--header
repeatable
=
yes
--upsert
${
message
}
fi
echo
"finish
${
MODULE_NAME
}
, start sink-job."
else
#没有后续模块直接结束
echo
"finish
${
MODULE_NAME
}
."
exit
$exit_code
fi
else
echo
"finish
${
MODULE_NAME
}
, exit_code:
$exit_code
"
fi
exit
$exit_code
L1/dockerfiles/csst-msc-l1-ast-sso/Dockerfile
0 → 100644
View file @
ebbcfe7c
ARG
HARBOR_PATH
ARG
MODULE_NAME
ARG
TAG
FROM
${HARBOR_PATH}/csst/${MODULE_NAME}:${TAG}
# FROM csu-harbor.csst.nao:10443/csst/csst-cpic-l1:latest
USER
root
# 安装jq
RUN
apt-get update
\
&&
apt-get
install
-y
--no-install-recommends
jq
\
&&
apt-get clean
\
&&
rm
-rf
/var/lib/apt/lists/
*
COPY
*.sh /app/bin/
RUN
chmod
+x /app/bin/
*
.sh
COPY
--from=hub.cstcloud.cn/scalebox/agent /usr/local /usr/local
RUN
mkdir
/work/
RUN
chown
-R
csst:csst /work
RUN
chown
-R
csst:csst /pipeline
WORKDIR
/work/
ENV
HARBOR_PATH=${HARBOR_PATH}
ENV
MODULE_NAME=${MODULE_NAME}
ENV
TAG=${TAG}
USER
csst
ENTRYPOINT
["goagent"]
L1/dockerfiles/csst-msc-l1-ast-sso/Makefile
0 → 100644
View file @
ebbcfe7c
-include
config.env
$(info
MODULE_NAME
=
$(MODULE_NAME)
)
$(info
HARBOR_PATH
=
$(HARBOR_PATH)
)
$(info
SINK_MODULE
=
$(SINK_MODULE)
)
# $(info TAG = $(TAG))
IMAGE_NAME
:=
$(HARBOR_PATH)
/cnic/
$(MODULE_NAME)
TAG
?=
latest
all
:
build push dist
build
:
docker pull
$(HARBOR_PATH)
/csst/
$(MODULE_NAME)
:
$(TAG)
docker build
--network
=
host
\
--build-arg
MODULE_NAME
=
$(MODULE_NAME)
\
--build-arg
HARBOR_PATH
=
$(HARBOR_PATH)
\
--build-arg
TAG
=
$(TAG)
\
-t
$(IMAGE_NAME)
.
push
:
docker push
$(IMAGE_NAME)
dist
:
ssh sc1 docker pull
$(IMAGE_NAME)
ssh sc2 docker pull
$(IMAGE_NAME)
ssh sc3 docker pull
$(IMAGE_NAME)
run
:
docker run
-it
\
-e
MODULE_NAME
=
${MODULE_NAME}
\
-e
HARBOR_PATH
=
${HARBOR_PATH}
\
-e
TAG
=
${TAG}
\
-e
SINK_MODULE
=
${SINK_MODULE}
\
--entrypoint
bash
\
${IMAGE_NAME}
down
:
docker stop
$(IMAGE_NAME)
\ No newline at end of file
L1/dockerfiles/csst-msc-l1-ast-sso/config.env
0 → 100644
View file @
ebbcfe7c
MODULE_NAME=csst-msc-l1-ast-sso
HARBOR_PATH=csu-harbor.csst.nao:10443
# SINK_MODULE=0: no sink module; SINK_MODULE=1 : has sink module
SINK_MODULE=0
L1/dockerfiles/csst-msc-l1-ast-sso/run.sh
0 → 100644
View file @
ebbcfe7c
#!/bin/bash
message
=
$1
echo
"message: "
$message
headers
=
$(
echo
"
$2
"
|
sed
's/\\//g'
)
echo
"
$headers
"
| jq
'.'
echo
"headers:
$headers
"
has_data_list
=
$(
echo
"
$headers
"
| jq
'has("data_list")'
)
if
[
"
$has_data_list
"
=
"true"
]
;
then
# 提取 data_list 字段的值
data_list
=
$(
echo
"
$headers
"
| jq
-r
'.data_list'
)
fixed_data_list
=
$(
echo
"
$data_list
"
|
sed
's/\([a-f0-9]\{24\}\)/"\1"/g'
)
# 将 data_list 重新插入回 message
message
=
$(
echo
"
$message
"
| jq
--argjson
dl
"
$fixed_data_list
"
'. + {data_list: $dl}'
)
message
=
$(
echo
"
$message
"
| jq
-c
'.'
)
fi
cd
/pipeline/output/
run
-p
$message
exit_code
=
$?
echo
"=====pipeline.log===="
>
/work/custom-out.txt
cat
/pipeline/output/pipeline.log
>>
/work/custom-out.txt
timefile
=
/pipeline/output/timestamp.txt
if
test
-f
"
$timefile
"
;
then
echo
"
$timefile
exist"
mv
/pipeline/output/timestamp.txt /work/timestamps.txt
fi
rm
-rf
/pipeline/input/
*
/pipeline/output/
*
headers
=
$2
pattern
=
'"dag_run_id":"([^"]+)"'
if
[[
$headers
=
~
$pattern
]]
;
then
dag_run_id
=
"
${
BASH_REMATCH
[1]
}
"
echo
"dag_run_id:
$dag_run_id
"
else
# no dag_run_id in json
dag_run_id
=
""
fi
echo
"dag_run_id:
$dag_run_id
"
>>
/work/extra-attributes.txt
if
[
$exit_code
-eq
0
]
;
then
# 判断是否有后续模块,有后续模块,则下发给后续模块任务
if
[
"
${
SINK_MODULE
:-
0
}
"
=
"1"
]
;
then
# if [ "$SINK_MODULE" = "1" ]; then
if
[
"
$has_data_list
"
=
"true"
]
;
then
# 提取 data_list 字段的值
strdatalist
=
$(
echo
"
$fixed_data_list
"
|
tr
-d
'[:space:]'
)
scalebox task add
--header
sorted_tag
=
${
sorted_tag
}
--header
dag_run_id
=
${
dag_run_id
}
--header
data_list
=
${
strdatalist
}
--header
repeatable
=
yes
--upsert
$1
else
scalebox task add
--header
sorted_tag
=
${
sorted_tag
}
--header
dag_run_id
=
${
dag_run_id
}
--header
repeatable
=
yes
--upsert
${
message
}
fi
echo
"finish
${
MODULE_NAME
}
, start sink-job."
else
#没有后续模块直接结束
echo
"finish
${
MODULE_NAME
}
."
exit
$exit_code
fi
else
echo
"finish
${
MODULE_NAME
}
, exit_code:
$exit_code
"
fi
exit
$exit_code
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment