From 1a9984f49f0d91f258419ccd77685f44216d4f9d Mon Sep 17 00:00:00 2001 From: Hasnae Date: Sun, 5 Jul 2026 18:41:34 +1000 Subject: [PATCH 1/6] remove elastic product scripts These manual download/extract scripts are no longer needed. Co-Authored-By: Claude Opus 4.6 (1M context) --- .prettierignore | 1 - README.md | 28 ----------------------- cli/bin/elastic | 40 -------------------------------- cli/bin/elastic-product.sh | 47 -------------------------------------- cli/bin/entsearch | 30 ------------------------ cli/bin/filebeat | 28 ----------------------- cli/bin/kibana | 27 ---------------------- cli/bin/logstash | 28 ----------------------- cli/bin/search | 28 ----------------------- 9 files changed, 257 deletions(-) delete mode 100755 cli/bin/elastic delete mode 100755 cli/bin/elastic-product.sh delete mode 100755 cli/bin/entsearch delete mode 100755 cli/bin/filebeat delete mode 100755 cli/bin/kibana delete mode 100755 cli/bin/logstash delete mode 100755 cli/bin/search diff --git a/.prettierignore b/.prettierignore index ae362472..f65222fc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,4 @@ .atlassian-products/ -.elastic-products/ .idea/ .vim/ .localstack/ diff --git a/README.md b/README.md index b382fa70..3342843e 100644 --- a/README.md +++ b/README.md @@ -205,31 +205,3 @@ brew install atlassian-devbox ```bash npm install -g atlassian-devbox ``` - -### Elastic scripts - -It comes with the following enterprise product scripts that behave exactly the same - -```bash -search -h -entsearch -h -kibana -h -logstash -h -filebeat -h -``` - -While I sort out a smooth easy to start elastic stack locally with one script, I navigate to the elastic products -I want by running the following - -```bash -. search get 7.5.0 -. entsearch get 7.5.0 -. kibana get 7.5.0 -. logstash get 7.5.0 -. filebeat get 7.5.0 -``` - -The above commands also take care of downloading the artifacts - -> :warning: please notice the `_distro() { echo "darwin-x86_64" }` in `elastic-product.sh`, you -> probably want to adjust that to whatever distro you need for your platform. diff --git a/cli/bin/elastic b/cli/bin/elastic deleted file mode 100755 index 7e790542..00000000 --- a/cli/bin/elastic +++ /dev/null @@ -1,40 +0,0 @@ -#! /usr/bin/env bash - -source elastic-product.sh - -# @COMMAND list list elastic products installed -list() { - ls -lrt "${ELASTIC_PRODUCTS_HOME}" -} - -# @COMMAND purge purge the elastic products home -purge() { - if [ -d "${ELASTIC_PRODUCT_HOME}" ]; then - rm -rf "${ELASTIC_PRODUCTS_HOME:?}"/* - fi -} - -# @COMMAND clean [version] cleans the specific elastic product stack -clean() { - _with_arguments 1 "$@" - version=${1} - rm -rf "${ELASTIC_PRODUCTS_HOME}"/*-"${version}" -} - - -# @COMMAND install [version] install the elastic stack version -install() { - _with_arguments 1 "$@" - version=${1}; shift - - search get "${version}" - kibana get "${version}" - logstash get "${version}" - filebeat get "${version}" -} - -eval "$@" - -if [[ -z $1 ]]; then - $0 -h -fi diff --git a/cli/bin/elastic-product.sh b/cli/bin/elastic-product.sh deleted file mode 100755 index 21675f04..00000000 --- a/cli/bin/elastic-product.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -source selfedit.sh - -ELASTIC_DOWNLOAD_CACHE=${HOME}/.elastic-download-cache -ELASTIC_PRODUCTS_HOME=${HOME}/.elastic-products -ELASTIC_ARTIFACTS_URL="https://artifacts.elastic.co/downloads" - -_distro() { - echo "darwin-x86_64" -} - -_maybe_download_product() { - _with_arguments 3 "$@" - category=${1} - product=${2} - version=${3} - distro=${4} - - target="${product}-${version}${distro}" - - if [[ ! -d "${ELASTIC_PRODUCTS_HOME}/${product}-${version}" ]]; then - wget --directory-prefix="${ELASTIC_DOWNLOAD_CACHE}" -N \ - ${ELASTIC_ARTIFACTS_URL}/"${category}"/"${target}"{.tar.gz,.tar.gz.sha512} - - cd "${ELASTIC_DOWNLOAD_CACHE}" && shasum -a 512 -c "${ELASTIC_DOWNLOAD_CACHE}"/"${target}".tar.gz.sha512 || exit 1 - - extract_dir=${ELASTIC_PRODUCTS_HOME}/${product}-${version} - mkdir -p "${extract_dir}" - tar -C "${extract_dir}" -xf "${ELASTIC_DOWNLOAD_CACHE}"/"${target}".tar.gz --strip 1 - fi -} - -_clean_product() { - _with_arguments 2 "$@" - product=${1} - version=${2} - distro=${3} - rm -rf "${ELASTIC_PRODUCTS_HOME}"/"${product}"-"${version}""${distro}" -} - -_list_versions() { - _with_arguments 1 "$@" - product=${1} - # shellcheck disable=SC2010 - ls "${ELASTIC_PRODUCTS_HOME}" | grep "${product}" -} diff --git a/cli/bin/entsearch b/cli/bin/entsearch deleted file mode 100755 index 12b83b07..00000000 --- a/cli/bin/entsearch +++ /dev/null @@ -1,30 +0,0 @@ -#! /usr/bin/env bash - -source elastic-product.sh - -ELASTIC_ARTIFACTS_URL="https://download.elastic.co/downloads" - -# @COMMAND get [version] cd to enterprise search product version -function get() { - _with_arguments 1 "$@" - version=${1} - mkdir -p "${ELASTIC_PRODUCTS_HOME}" - _maybe_download_product enterprisesearch enterprise-search "${version}" - cd "${ELASTIC_PRODUCTS_HOME}"/enterprise-search-"${version}" || exit -} - -function clean() { - _with_arguments 1 "$@" - version=${1} - _clean_product enterprise-search "${version}" -} - -function versions() { - _list_versions enterprise-search -} - -eval "$@" - -if [[ -z $1 ]]; then - $0 -h -fi diff --git a/cli/bin/filebeat b/cli/bin/filebeat deleted file mode 100755 index 9a037b3b..00000000 --- a/cli/bin/filebeat +++ /dev/null @@ -1,28 +0,0 @@ -#! /usr/bin/env bash - -source elastic-product.sh - -# @COMMAND get [version] cd to filebeat product version -function get() { - _with_arguments 1 "$@" - version=${1} - mkdir -p "${ELASTIC_PRODUCTS_HOME}" - _maybe_download_product beats/filebeat filebeat "${version}" "-$(_distro)" - cd "${ELASTIC_PRODUCTS_HOME}"/filebeat-"${version}" || exit -} - -function clean() { - _with_arguments 1 "$@" - version=${1} - _clean_product filebeat "${version}" -} - -function versions() { - _list_versions filebeat -} - -eval "$@" - -if [[ -z $1 ]]; then - $0 -h -fi diff --git a/cli/bin/kibana b/cli/bin/kibana deleted file mode 100755 index d2e57580..00000000 --- a/cli/bin/kibana +++ /dev/null @@ -1,27 +0,0 @@ -#! /usr/bin/env bash - -source elastic-product.sh - -function get() { - _with_arguments 1 "$@" - version=${1} - mkdir -p "${ELASTIC_PRODUCTS_HOME}" - _maybe_download_product kibana kibana "${version}" "-$(_distro)" - cd "${ELASTIC_PRODUCTS_HOME}"/kibana-"${version}" || exit -} - -function clean() { - _with_arguments 1 "$@" - version=${1} - _clean_product kibana "${version}" "-$(_distro)" -} - -function versions() { - _list_versions kibana -} - -eval $@ - -if [[ -z $1 ]]; then - $0 -h -fi diff --git a/cli/bin/logstash b/cli/bin/logstash deleted file mode 100755 index e3a9b34d..00000000 --- a/cli/bin/logstash +++ /dev/null @@ -1,28 +0,0 @@ -#! /usr/bin/env bash - -source elastic-product.sh - -# @COMMAND get [version] cd to logstash product version -function get() { - _with_arguments 1 "$@" - version=${1} - mkdir -p "${ELASTIC_PRODUCTS_HOME}" - _maybe_download_product logstash logstash "${version}" - cd "${ELASTIC_PRODUCTS_HOME}"/logstash-"${version}" -} - -function clean() { - _with_arguments 1 "$@" - version=${1} - _clean_product logstash "${version}" -} - -function versions() { - _list_versions logstash -} - -eval "$@" - -if [[ -z $1 ]]; then - $0 -h -fi diff --git a/cli/bin/search b/cli/bin/search deleted file mode 100755 index e9f6b7db..00000000 --- a/cli/bin/search +++ /dev/null @@ -1,28 +0,0 @@ -#! /usr/bin/env bash - -source elastic-product.sh - -# @COMMAND get [version] cd to elasticsearch product version -function get() { - _with_arguments 1 "$@" - version=${1} - mkdir -p "${ELASTIC_PRODUCTS_HOME}" - _maybe_download_product elasticsearch elasticsearch "${version}" "-$(_distro)" - cd "${ELASTIC_PRODUCTS_HOME}"/elasticsearch-"${version}" || exit -} - -function clean() { - _with_arguments 1 "$@" - version=${1} - _clean_product elasticsearch "${version}" -} - -function versions() { - _list_versions elasticsearch -} - -eval "$@" - -if [[ -z $1 ]]; then - $0 -h -fi From 8cc34ca8ed0f4723fb42034cf08031ddc816c2e1 Mon Sep 17 00:00:00 2001 From: Hasnae Date: Sun, 5 Jul 2026 19:36:42 +1000 Subject: [PATCH 2/6] remove devbox docker image setup The Dockerfile and build workflow are no longer needed as this is a personal devloop tool, not meant for distribution. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/build-docker-image.yml | 39 ------------------------ Dockerfile | 18 ----------- README.md | 15 --------- 3 files changed, 72 deletions(-) delete mode 100644 .github/workflows/build-docker-image.yml delete mode 100644 Dockerfile diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml deleted file mode 100644 index adb633da..00000000 --- a/.github/workflows/build-docker-image.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: devbox Build Docker Image - -on: - push: - branches: - - main - -env: - IMAGE_NAME: ${{ github.repository }} - -jobs: - build-docker: - runs-on: ubuntu-24.04 - permissions: - contents: read - packages: write - steps: - - name: Checkout repository - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - - - name: Log in to Docker Hub - uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 - with: - images: ${{ env.IMAGE_NAME }} - - - name: Build and push Docker image - uses: docker/build-push-action@0a97817b6ade9f46837855d676c4cca3a2471fc9 # v4 - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index f4808e9b..00000000 --- a/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM node:24.12.0-alpine - -ENV PATH="/root/.local/bin:${PATH}" - -RUN apk --no-cache add bash git vim curl \ - && curl https://mise.run | sh \ - && mkdir -p ~/sources \ - && git clone --recursive https://github.com/viqueen/devbox.git ~/sources/devbox \ - && cd ~/sources/devbox \ - && mise install \ - && ./setup.sh config_box \ - && ./setup.sh config_prompt \ - && ./setup.sh config_vim \ - && pnpm install --frozen-lockfile \ - && addgroup -S nonroot \ - && adduser -S nonroot -G nonroot - -USER nonroot diff --git a/README.md b/README.md index 3342843e..eacccdb3 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,5 @@ # devbox -## Playground - -Try it before you buy it - -```bash -# comes with node 22.12.0 -docker run -it --entrypoint=/bin/bash viqueen/devbox:main - -# mount it -docker run --name --volume :/sources/ \ - -it --entrypoint=/bin/bash \ - -w=/sources/ \ - viqueen/devbox:main -``` - ## Setup and Configure > :warning: this is heavily tailored towards bash, so may not work out of the (dev)box From 205b53ffd55ef2655e9a54a48dfb20cb9a4c2a34 Mon Sep 17 00:00:00 2001 From: Hasnae Date: Sun, 5 Jul 2026 19:38:51 +1000 Subject: [PATCH 3/6] update setup instructions to use mise and pnpm Replace outdated nvm/npm/sdkman/jenv references with mise and pnpm, which is what the project actually uses now. Co-Authored-By: Claude Opus 4.6 (1M context) --- README.md | 83 ++++--------------------------------------------------- 1 file changed, 6 insertions(+), 77 deletions(-) diff --git a/README.md b/README.md index eacccdb3..9d30bb62 100644 --- a/README.md +++ b/README.md @@ -25,93 +25,22 @@ git config --global core.editor vim git submodule update --init --recursive ``` -> :warning: install node dependencies +> :warning: install dependencies ```bash -nvm install -npm ci +mise install +pnpm install ``` ## Optional - macOs dev setup -
-init_mac -

+Install [mise](https://mise.jdx.dev/) for managing tool versions (node, java, python, etc.): ```bash -# home_brew -/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - -# terminal wisdom -brew install cowsay -brew install fortune -echo "fortune | cowsay" >> ~/.profile +curl https://mise.run | sh +mise install ``` -

-
- -
-init_dev_tools -

- -```bash - -ln -sfvn ~/.bashrc ~/.profile -ln -sfvn ~/.bashrc ~/.bash_profile - -# sdkman -curl -s "https://get.sdkman.io" | bash - -sdk list java -sdk install java <> - -# jenv (requires Java to be installed) -brew install jenv -echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc -echo 'eval "$(jenv init -)"' >> ~/.bashrc - -# maven -brew install mvnvm -mvn --version - -# node -brew install nvm -nvm install node - -# ruby -brew install rbenv -echo 'eval "$(rbenv init -)"' >> ~/.bashrc - -# other build tools -brew install ant -brew install gradle -brew install sbt - -brew tap bazelbuild/tap -brew tap-pin bazelbuild/tap -brew install bazel - - -# aws -brew install awscli -``` - -

-
- -
-init_languages and init_sdks -

- -```bash -brew install scala -brew install kotlin -``` - -

-
- ## Scripts and Binaries ### tricks up this sleeve : from anywhere From 4a38cc756b3a0e3b1ccfd281147088ea23844efc Mon Sep 17 00:00:00 2001 From: Hasnae Date: Sun, 5 Jul 2026 19:39:52 +1000 Subject: [PATCH 4/6] use brew install for mise in macOS setup Co-Authored-By: Claude Opus 4.6 (1M context) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d30bb62..8e7357ea 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ pnpm install Install [mise](https://mise.jdx.dev/) for managing tool versions (node, java, python, etc.): ```bash -curl https://mise.run | sh +brew install mise mise install ``` From 8c7e533dc9a977e5e167a15f781478be088fd897 Mon Sep 17 00:00:00 2001 From: Hasnae Date: Sun, 5 Jul 2026 19:42:12 +1000 Subject: [PATCH 5/6] remove unnecessary claude script from package.json Co-Authored-By: Claude Opus 4.6 (1M context) --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index fbff3f94..fef629d5 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "version": "11.0.0", "description": "viqueen devbox", "scripts": { - "claude": "claude", "format:check": "prettier --check .", "format": "prettier --check --write .", "lint": "./build.sh lint", From de4adb0e42a1921583e1b33e7bcc51ae0003e15a Mon Sep 17 00:00:00 2001 From: Hasnae Date: Sun, 5 Jul 2026 19:43:51 +1000 Subject: [PATCH 6/6] remove docker run wrapper scripts These thin wrappers (zed, rpk, jim) are no longer needed. Co-Authored-By: Claude Opus 4.6 (1M context) --- cli/bin/jim | 11 ----------- cli/bin/rpk | 3 --- cli/bin/zed | 3 --- 3 files changed, 17 deletions(-) delete mode 100755 cli/bin/jim delete mode 100755 cli/bin/rpk delete mode 100755 cli/bin/zed diff --git a/cli/bin/jim b/cli/bin/jim deleted file mode 100755 index 9d6c2c85..00000000 --- a/cli/bin/jim +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -source selfedit.sh - -function run() { - jim=${1:-1} - docker run -it --rm=true -p 1025:1025 -p 8025:8025 mailhog/mailhog:v1.0.1 -invite-jim=${jim} -} - -eval $@ - diff --git a/cli/bin/rpk b/cli/bin/rpk deleted file mode 100755 index 6a60ac88..00000000 --- a/cli/bin/rpk +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -docker run --rm docker.redpanda.com/redpandadata/connect "$@" diff --git a/cli/bin/zed b/cli/bin/zed deleted file mode 100755 index e01429f1..00000000 --- a/cli/bin/zed +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -docker run --rm authzed/zed:v0.27.0 $@