Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
26 changes: 0 additions & 26 deletions compose/ai.yml

This file was deleted.

20 changes: 20 additions & 0 deletions compose/kael.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
services:
kael:
image: ${NAMESPACE:-jumpserver}/kael:${VERSION}
container_name: jms_kael
hostname: jms_kael
ulimits:
core: 0
restart: always
env_file:
- ${CONFIG_SAFE_FILE}
volumes:
- ${VOLUME_DIR}/kael/data:/opt/kael/data
healthcheck:
test: "check http://localhost:8083/kael/health/ready"
interval: 10s
timeout: 5s
retries: 3
start_period: 30s
networks:
- net
3 changes: 1 addition & 2 deletions compose/web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@ services:
GZIP: ${GZIP:-on}
CLIENT_MAX_BODY_SIZE: ${CLIENT_MAX_BODY_SIZE:-4096m}
CORE_ENABLED: ${CORE_ENABLED:-1}
CHAT_AI_SERVICE_ENABLED: ${AI_ENABLED:-1}
KOKO_ENABLED: ${KOKO_ENABLED:-1}
CHEN_ENABLED: ${CHEN_ENABLED:-1}
KAEL_ENABLED: ${KAEL_ENABLED:-0}
KAEL_ENABLED: ${KAEL_ENABLED:-1}
RAZOR_ENABLED: ${RAZOR_ENABLED:-1}
# Compatibility for older web images; the value is derived from the
# edition and is not a user-configurable JDMC switch.
Expand Down
7 changes: 1 addition & 6 deletions config-example.txt
Original file line number Diff line number Diff line change
Expand Up @@ -145,19 +145,14 @@ DOMAINS=

# Configure the components that do not need to be started, by default all components will be started, if you do not need a certain component, you can set {component name}_ENABLED to 0 to turn it off
# CORE_ENABLED=0
# AI_ENABLED=0
# KAEL_ENABLED=0
# CELERY_ENABLED=0
# KOKO_ENABLED=0
# CHEN_ENABLED=0
# WEB_ENABLED=0
# VIDEO_WORKER_ENABLED=0
# CELERY_PRIVILEGED=false

# Chat AI runs in an independent container and reuses the Core image.
#
# CHAT_AI_WORKERS=2
# CHAT_AI_CORE_BASE_URL=http://core:8080

# JDMC is installed as a mandatory host-side systemd service when USE_XPACK=1.
# Community Edition does not download or install JDMC. JDMC inherits VOLUME_DIR
# from the installer and has no separate enable/disable switch.
Expand Down
2 changes: 1 addition & 1 deletion scripts/gists/image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ function get_image_mappings() {

for service in ${enabled_services}; do
case "${service}" in
"" | ai | celery | jdmc)
"" | celery | jdmc)
;;
*)
emit_image_mapping \
Expand Down
2 changes: 1 addition & 1 deletion scripts/gists/service.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

common_services=(core ai celery koko chen web)
common_services=(core kael celery koko chen web)
xpack_services=(magnus razor xrdp video-worker nec)


Expand Down
13 changes: 11 additions & 2 deletions tests/test_compose.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,21 @@ mkdir -p "${test_dir}"
cp "${TEST_ROOT}/config-example.txt" "${test_dir}/config.txt"
cp "${TEST_ROOT}/config-example.txt" "${test_dir}/config_safe.txt"

(
default_config=$(
cd "${TEST_ROOT}"
export JS_CONFIG_DIR="${test_dir}"
. ./scripts/utils.sh
compose_cmd=$(get_docker_compose_cmd_line)
${compose_cmd} --env-file "${CONFIG_FILE}" config --quiet
assert_contains "${compose_cmd}" 'compose/kael.yml' 'default Compose command must include Kael'
if [[ "${compose_cmd}" == *'compose/ai.yml'* ]]; then
fail 'default Compose command must not include the removed AI service'
fi
${compose_cmd} --env-file "${CONFIG_FILE}" config
)
assert_contains "${default_config}" 'jms_kael' 'rendered Compose config must contain Kael'
if [[ "${default_config}" == *'jms_ai'* ]]; then
fail 'rendered Compose config must not contain the removed AI service'
fi

printf '%s\n' \
'USE_XPACK=1' \
Expand All @@ -48,6 +56,7 @@ offline_manifest=$(
. ./scripts/utils.sh
get_offline_image_manifest
)
assert_contains "${offline_manifest}" 'jumpserver/kael:' 'offline manifest must contain the Kael image'
for optional_image in elasticsearch minio grafana/loki grafana/promtail; do
if [[ "${offline_manifest}" == *"${optional_image}"* ]]; then
fail "optional image must not be included in the offline manifest: ${optional_image}"
Expand Down
Loading