Fix sloptrap name
This commit is contained in:
28
sloptrap
28
sloptrap
@@ -101,6 +101,8 @@ MANIFEST_BASENAME=".sloptrap"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
VALID_NAME_REGEX='^[A-Za-z0-9_.-]+$'
|
||||
DEFAULT_CODEX_ARGS=(--sandbox workspace-write)
|
||||
SLOPTRAP_IMAGE_LABEL_KEY="net.sk4nz.sloptrap.managed"
|
||||
SLOPTRAP_IMAGE_LABEL="${SLOPTRAP_IMAGE_LABEL_KEY}=1"
|
||||
|
||||
usage() {
|
||||
print_banner
|
||||
@@ -116,6 +118,12 @@ usage() {
|
||||
comment_line " packages_extra=kubectl helm\n"
|
||||
comment_line " default_targets=run\n"
|
||||
comment_line " codex_args=--sandbox workspace-write\n"
|
||||
info_line "\n"
|
||||
info_line "Example targets:\n"
|
||||
comment_line " run Build if needed, then launch Codex\n"
|
||||
comment_line " shell Drop into an interactive /bin/bash session\n"
|
||||
comment_line " clean Remove the project container/image cache\n"
|
||||
comment_line " prune Remove dangling/unused sloptrap images\n"
|
||||
}
|
||||
|
||||
error() {
|
||||
@@ -212,7 +220,7 @@ FROM ${BASE_IMAGE}
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ARG BASE_PACKAGES="curl bash ca-certificates libstdc++6 ripgrep xxd file"
|
||||
ARG BASE_PACKAGES="curl bash ca-certificates libstdc++6 ripgrep xxd file procps"
|
||||
ARG EXTRA_PACKAGES=""
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends apt-utils ${BASE_PACKAGES} ${EXTRA_PACKAGES} \
|
||||
@@ -785,7 +793,7 @@ prepare_container_runtime() {
|
||||
SLOPTRAP_DOCKERFILE_SOURCE=""
|
||||
fi
|
||||
|
||||
SLOPTRAP_PACKAGES_BASE=$(get_env_default "SLOPTRAP_PACKAGES" "curl bash ca-certificates libstdc++6 git ripgrep xxd file")
|
||||
SLOPTRAP_PACKAGES_BASE=$(get_env_default "SLOPTRAP_PACKAGES" "curl bash ca-certificates libstdc++6 git ripgrep xxd file procps")
|
||||
SLOPTRAP_CODEX_URL=$(get_env_default "SLOPTRAP_CODEX_URL" "https://github.com/openai/codex/releases/latest/download/codex-x86_64-unknown-linux-gnu.tar.gz")
|
||||
SLOPTRAP_CODEX_BIN_NAME=$(get_env_default "SLOPTRAP_CODEX_BIN" "codex")
|
||||
SLOPTRAP_CODEX_HOME_CONT=$(get_env_default "SLOPTRAP_CODEX_HOME_CONT" "/codex")
|
||||
@@ -906,6 +914,7 @@ build_image() {
|
||||
"$CONTAINER_ENGINE" build --quiet
|
||||
-t "$SLOPTRAP_IMAGE_NAME"
|
||||
-f "$SLOPTRAP_DOCKERFILE_PATH"
|
||||
--label "$SLOPTRAP_IMAGE_LABEL"
|
||||
--build-arg "BASE_PACKAGES=$SLOPTRAP_PACKAGES_BASE"
|
||||
--build-arg "CODEX_BIN=$SLOPTRAP_CODEX_BIN_NAME"
|
||||
--build-arg "CODEX_UID=$SLOPTRAP_CODEX_UID"
|
||||
@@ -941,6 +950,7 @@ rebuild_image() {
|
||||
"$CONTAINER_ENGINE" build --no-cache
|
||||
-t "$SLOPTRAP_IMAGE_NAME"
|
||||
-f "$SLOPTRAP_DOCKERFILE_PATH"
|
||||
--label "$SLOPTRAP_IMAGE_LABEL"
|
||||
--build-arg "BASE_PACKAGES=$SLOPTRAP_PACKAGES_BASE"
|
||||
--build-arg "CODEX_BIN=$SLOPTRAP_CODEX_BIN_NAME"
|
||||
--build-arg "CODEX_UID=$SLOPTRAP_CODEX_UID"
|
||||
@@ -1005,6 +1015,17 @@ clean_environment() {
|
||||
rm -rf "$helper_root"
|
||||
}
|
||||
|
||||
prune_sloptrap_images() {
|
||||
if ! $DRY_RUN; then
|
||||
status_line "Pruning unused sloptrap images\n"
|
||||
fi
|
||||
local -a cmd=(
|
||||
"$CONTAINER_ENGINE" image prune --force --all
|
||||
--filter "label=$SLOPTRAP_IMAGE_LABEL"
|
||||
)
|
||||
run_or_print "${cmd[@]}"
|
||||
}
|
||||
|
||||
run_codex() {
|
||||
if ! $DRY_RUN; then
|
||||
status_line "Running %s\n" "$SLOPTRAP_IMAGE_NAME"
|
||||
@@ -1063,6 +1084,9 @@ dispatch_target() {
|
||||
clean)
|
||||
clean_environment
|
||||
;;
|
||||
prune)
|
||||
prune_sloptrap_images
|
||||
;;
|
||||
*)
|
||||
error "unknown target '$target'"
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user