dsh 0.2.0-rc.2: in-container update (experimental channel), path-agnostic compose, upstream patches adapted to 0.1.x/0.2.x
This commit is contained in:
commit
e6dcef9bf5
302 files changed
+75178
No files matched your search
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import assert from 'node:assert/strict'
|
||||
import { spawnSync } from 'node:child_process'
|
||||
import { resolve } from 'node:path'
|
||||
|
||||
function render(overrides = {}) {
|
||||
const env = {
|
||||
...process.env,
|
||||
DSH_DEFAULT_WORKSPACE: '/workspace',
|
||||
DSH_IMAGE_TAG: 'latest',
|
||||
DSH_LISTEN_ADDRESS: '0.0.0.0',
|
||||
DSH_PORT: '3080',
|
||||
DSH_PROXY_POLYFILL: 'true',
|
||||
DSH_TELEMETRY_DISABLED: 'true',
|
||||
DSH_TRUSTED_HOSTS: '',
|
||||
DSH_WORKSPACE: './workspace',
|
||||
...overrides,
|
||||
}
|
||||
if (!Object.hasOwn(overrides, 'DSH_SUDO_ENABLED')) delete env.DSH_SUDO_ENABLED
|
||||
|
||||
const result = spawnSync(
|
||||
'docker',
|
||||
['compose', '--env-file', '/dev/null', '-f', 'docker-compose.yaml', 'config', '--format', 'json'],
|
||||
{
|
||||
encoding: 'utf8',
|
||||
env,
|
||||
},
|
||||
)
|
||||
assert.equal(result.status, 0, result.stderr)
|
||||
return JSON.parse(result.stdout).services['deepseek-harness']
|
||||
}
|
||||
|
||||
const defaults = render()
|
||||
assert.equal(defaults.image, 'szcq/deepseek-harness:latest')
|
||||
assert.equal(defaults.container_name, 'deepseek-harness')
|
||||
assert.equal(defaults.ports[0].host_ip, '0.0.0.0')
|
||||
assert.equal(defaults.ports[0].published, '3080')
|
||||
assert.equal(Object.hasOwn(defaults.environment, 'DSH_PROXY_USERNAME'), false)
|
||||
assert.equal(Object.hasOwn(defaults.environment, 'DSH_PROXY_PASSWORD'), false)
|
||||
assert.equal(Object.hasOwn(defaults.environment, 'DSH_PLATFORM_PASSWORD'), false)
|
||||
assert.equal(defaults.environment.DSH_PROXY_POLYFILL, 'true')
|
||||
assert.equal(defaults.environment.DSH_TRUSTED_HOSTS, '')
|
||||
assert.equal(Object.hasOwn(defaults.environment, 'DSH_UPDATE_METADATA_URL'), false)
|
||||
assert.deepEqual(defaults.group_add, ['dsh-sudo-false'])
|
||||
assert.equal(defaults.environment.DSH_EXPERIMENTAL_PROBATION_SECONDS, '120')
|
||||
assert.equal(defaults.environment.DSH_LOG_MAX_BYTES, '104857600')
|
||||
assert.equal(defaults.environment.DSH_PLATFORM_DATA, '/data/platform')
|
||||
assert.equal(defaults.environment.DSH_HOME, '/data/dsh')
|
||||
assert.deepEqual(defaults.volumes.map(volume => volume.target).sort(), ['/data/dsh', '/data/platform', '/workspace'])
|
||||
assert.equal(defaults.volumes.find(volume => volume.target === '/data/dsh').type, 'volume')
|
||||
assert.equal(defaults.volumes.find(volume => volume.target === '/data/platform').type, 'volume')
|
||||
assert.equal(defaults.volumes.find(volume => volume.target === '/workspace').source, resolve('./workspace'))
|
||||
|
||||
const configured = render({
|
||||
DSH_IMAGE_TAG: '1.0.0',
|
||||
DSH_LISTEN_ADDRESS: '0.0.0.0',
|
||||
DSH_PORT: '4080',
|
||||
DSH_PROXY_POLYFILL: 'false',
|
||||
DSH_SUDO_ENABLED: 'true',
|
||||
DSH_TELEMETRY_DISABLED: 'false',
|
||||
DSH_TRUSTED_HOSTS: '192.168.1.10,dsh.example:8443',
|
||||
})
|
||||
assert.equal(configured.image, 'szcq/deepseek-harness:1.0.0')
|
||||
assert.equal(configured.ports[0].host_ip, '0.0.0.0')
|
||||
assert.equal(configured.ports[0].published, '4080')
|
||||
assert.equal(Object.hasOwn(configured.environment, 'DSH_PROXY_USERNAME'), false)
|
||||
assert.equal(Object.hasOwn(configured.environment, 'DSH_PROXY_PASSWORD'), false)
|
||||
assert.equal(Object.hasOwn(configured.environment, 'DSH_PLATFORM_PASSWORD'), false)
|
||||
assert.equal(configured.environment.DSH_PROXY_POLYFILL, 'false')
|
||||
assert.equal(configured.environment.DSH_TELEMETRY_DISABLED, 'false')
|
||||
assert.equal(configured.environment.DSH_TRUSTED_HOSTS, '192.168.1.10,dsh.example:8443')
|
||||
assert.deepEqual(configured.group_add, ['dsh-sudo-true'])
|
||||
|
||||
console.log('Compose configuration checks passed')
|
||||
Reference in new issue
Block a user