kaboxer (1.1.4) kali-dev; urgency=medium

  * Update CI pipeline
  * Replace CI_BUILD_TOKEN with CI_JOB_TOKEN
  * tox: Add python 3.11, drop python 3.7 and 3.8
  * Update help message
  * Nitpicks in d/control
  * Fix test suite
  * Fix git fetch usage

 -- Arnaud Rebillout <arnaudr@kali.org>  Fri, 19 May 2023 22:32:56 +0700

kaboxer (1.1.3) kali-dev; urgency=medium

  * tox: Add python 3.10
  * Add unit tests for parse_version
  * Fix support for current,latest versions

 -- Arnaud Rebillout <arnaudr@kali.org>  Fri, 27 Jan 2023 15:05:16 +0700

kaboxer (1.1.2) kali-dev; urgency=medium

  [ Arnaud Rebillout ]
  * On build failure, output build logs
  * Mount icons in usr/local/ rather than usr
  * Set the icons/themes bind mounts read-only
  * Check that icons/themes dirs exist before mounting it

  [ Daniel Ruiz de Alegría ]
  * Mount theme folders for gui mode

 -- Arnaud Rebillout <arnaudr@kali.org>  Thu, 04 Nov 2021 09:39:05 +0700

kaboxer (1.1.1) kali-dev; urgency=medium

  * tests: Set iptables legacy only for GitLab CI

 -- Arnaud Rebillout <arnaudr@kali.org>  Mon, 27 Sep 2021 14:29:13 +0700

kaboxer (1.1.0) kali-dev; urgency=medium

  * hello-kbx: Minor updates to hello-allinone.kaboxer.yaml
  * hello-kbx: Format hello with black
  * hello-kbx: Add a 'version' command to hello
  * hello-kbx: Get app version from app itself
  * hello-kbx: Mention the 'exit' command in the cli
  * hello-kbx: Bring back prompt_toolkit
  * hello-kbx: Rename hello-cli manual desktop file
  * hello-kbx: Various fixes in hello
  * hello-kbx: Update Debian install files
  * hello-kbx: Install hello cli helpers as well
  * hello-kbx: Simplify debian/rules, drop DH_VERBOSE
  * hello-kbx: Bump kaboxer requirement to 1.0
  * hello-kbx: Set Rules-Requires-Root: no
  * hello-kbx: Bump version
  * tests: Attempt to clarify a bit from where run.sh is called
  * tests: run_command returns a CompletedProcess object
  * tests: run_command captures output by default
  * tests: Add test to check if host network works
  * Use iptables-legacy to fix the CI
  * Nitpicks in the start/stop helper
  * Add a double-dash in helpers to allow passing dashed options to apps
  * Flush stdin before asking to press enter for exit
  * setup_docker() shouldn't return anything
  * Rework docker connection setup
  * Improve error message a bit when user is not part of the kaboxer group
  * Drop --reuse-container, use information from kaboxer.yaml instead
  * Checks that a container exists before trying to reuse it
  * Give a name to containers that are meant to be reused
  * Comment out all the part regarding reuse_container in gui mode
  * Make reuse_container work without tty (CI)
  * Add test cases for reuse_container
  * Document kaboxer group

 -- Arnaud Rebillout <arnaudr@kali.org>  Sat, 25 Sep 2021 12:53:08 +0700

kaboxer (1.0.1) kali-dev; urgency=medium

  * create_xauth(): Cosmetics
  * create_xauth(): Create empty .docker.xauth file if missing
  * create_xauth(): Rewrite without pipes
  * create_xauth(): Add a comment
  * kaboxer tests: Add build_and_install()
  * kaboxer tests: Add build_and_save()
  * kaboxer tests: Nitpick, rename two tests
  * Refactor kaboxer tests for cli_helpers and desktop_files
  * kaboxer run: Takes arguments rather than executable+arguments
  * Add test for kaboxer run with arguments
  * Make helper scripts forward args to kaboxer run
  * Increase test coverage for cli helpers
  * Allow prompt-before-exit to fail
  * Completely get rid of prompt_toolkit
  * Add my name here and there, plus Raphaël name as well
  * Bump copyright years
  * Sync kaboxer.sample.yaml and man/kaboxer.yaml.5.md

 -- Arnaud Rebillout <arnaudr@kali.org>  Thu, 13 May 2021 18:04:26 +0700

kaboxer (1.0.0) kali-dev; urgency=medium

  * Bump upstream version (better late than never)
  * Remove '--reuse-container' from 'kaboxer stop' command in desktop file
  * Factorize run/stop commands generation in helpers
  * kaboxer.sample.yaml: Update desktop file names
  * Add aliases: start=run, ls=list
  * Add support for command-line helpers
  * Rework gen_desktop_files for readability
  * gen_desktop_files: Drop unused param, reorder
  * One last pass on gen_desktop_file to simplify it more
  * Give some love to clean_app()
  * Give some love to _list_{cli_helpers,desktop_files}
  * Create helpers to avoid duplicating filename definitions
  * Some variable renaming for consistency
  * Drop component from helper filenames if there's only one component
  * Create another helper to give the icon name
  * Various fixes found by the test suite
  * Add a brief description to filename helpers
  * Add helpers to get ALL auto-generated files
  * Adjust helper argument for headless mode (use start instead of run)
  * Rename a variable for readability
  * Make sure to install cli helpers with executable bit
  * Add forgotten desktop file in kaboxer tests
  * Cleanup code for install tests
  * Add unit tests for filename helpers
  * Add cli helpers integration tests
  * More refactoring in install tests

 -- Arnaud Rebillout <arnaudr@kali.org>  Tue, 11 May 2021 15:09:01 +0700

kaboxer (0.9.0) kali-dev; urgency=medium

  * push_image: Use DockerBackend methods to get image names
  * gitlab-ci: Update the default remote image name
  * gitlab-ci: Don't run on tags
  * gitlab-ci: Disable i386 package builds
  * Revert "gitlab-ci: Disable i386 package builds"
  * Rename method find_config_for_build_apps to find_configs_for_build_cmds
  * Create a separate method to list configs in a given directory (part 1)
  * Create a separate method to list configs in a given directory (part 2)
  * Create a separate method to find config for an app in a diretory
  * find_config*: Rename some variables
  * find_config*: Settle for os.path.isfile() in all methods
  * find_configs_in_dir: Rework it a bit
  * find_configs_in_dir: Ignore yaml if app.id is None
  * find_configs_for_build_cmds: Return an array instead of a dict
  * Minor variable renaming for readability
  * find_config_for_build_cmds: Split out most of the code in a sub-function
  * _find_configs_for_build_cmds: Add a restrict param
  * find_configs*: Add allow_duplicate argument
  * Drop _find_configs_for_build_cmds
  * find_configs_in_dir: More robust and more verbose
  * find_configs_in_dir: Make restrict a keyword argument
  * find_configs_in_dir: Fix allow_duplicate code
  * find_config_for_app: Minor changes
  * Add unit tests for find_configs_in_dir
  * Add a test case for upgrade without upgrade scripts
  * Fix upgrade with no upgrade scripts
  * Move code to run a command in a container in DockerBackend
  * Some DockerBackend methods are not tested yet
  * Make logger a global object
  * Remove warnings in ContainerRegistry._request_json()
  * Fix do_version_checks argument in push_image()
  * Flake8-import-order: Re-order import statements accordingly
  * Flake8: E712 comparison to True
  * debian: Don't install tox if build options contains nocheck
  * tox: Re-order flake8 config, document some obscure settings
  * tox: Add code formatting check (black)
  * Reformat the code with Black
  * Flake8: Ignore A002 argument 'input' is shadowing a python builtin
  * Flake8: Ignore E501 line too long
  * Add a tox job to GitLab CI
  * dh-kaboxer: Run upgrade instead of prepare in postinst script

 -- Arnaud Rebillout <arnaudr@kali.org>  Wed, 21 Apr 2021 17:01:25 +0700

kaboxer (0.8.0) kali-dev; urgency=medium

  [ Raphaël Hertzog ]
  * Rename kbx-hello into hello or hello-kbx
  * Fix name of example directory
  * Fix a regression in the test code due to reformatting
  * Make failures fatal during image build
  * Improve some test failure messages
  * Create basic KaboxerAppConfig object
  * Use new KaboxerAppConfig instead of direct YAML/dict access
  * Start a DockerBackend class to regroup logic related to docker images
  * Run functional tests against in-tree code
  * Support default value in KaboxerConfigApp.get()
  * Use the new DockerBackend class
  * Try to make test work even outside of any git repository
  * Configure authorship data for git commit to work
  * dh-kaboxer: Don't fail apt if ever kaboxer fails
  * Add dh-kaboxer to the files required

  [ Arnaud Rebillout ]
  * Finish renaming kbx-hello into hello-kbx (Fixes: #63)
  * Update kaboxer usage in readme, plus nitpicks
  * Some more fixes in README
  * hello-kbx: Drop useless 'sudo' from the Depends list
  * hello-kbx: Bump version of the hello app to match the debian version
  * hello-kbx: Use /var/lib/hello-kbx for data
  * Allow users to use the vendor package docker-ce
  * Don't try to remove non-existing container
  * Generate man page for dh_kaboxer
  * tests: Fix command output (was bytes instead of text)
  * tests: Init git repo in the right place (Fixes: #69)
  * fixtures: Update description of kaboxer.yaml
  * fixtures: Add an interactive component to the test app
  * Add a test case for interactive run
  * Add a test case to show that 'run --detach' is broken
  * run: Simplify how detach opt is handled
  * Fix run --detach command (Fixes: #70)
  * Swap -v and --verbose in add_argument()
  * Fix logger name (kaboxer instead of kbxbuilder)
  * tests: Rewrite remove_images to be more generic
  * Add test to ensure 'kaboxer purge non-existing-app' succeeds
  * purge: Catch exceptions (Fixes: #55)
  * purge: Introduce DockerBackend.remove_image() to factorize code
  * dh-kaboxer: Create kaboxer group only if it does not exist
  * dh-kaboxer: Move kaboxer purge from postrm to prerm (Fixes: #59)
  * dh-kaboxer: Support more than one app in prerm
  * dh-kaboxer: Be more verbose in the postinst script
  * purge: Prune docker images only if we actually removed an image
  * Move list_apps() get_remote part in a separate ContainerRegistry object
  * Rewrite URL parsing with urllib
  * Default to https (rather than http) when proto is not defined
  * Split the code that list remote images into several methods
  * Clarification regarding Docker Registry HTTP API v2
  * Fix and document the Docker Hub Registry API
  * Add support for the GitLab Registry API
  * Rework, assume that the registry url is... the registry url
  * Create logger for ContainerRegsitry
  * Local registry for tests is accessible over http
  * Add mock unit tests for ContainerRegistry
  * TestKaboxerCommon: Expose working directory in run_* methods
  * Add integration tests for Docker Hub and GitLab
  * Optimize listing image tags for GitLab registry
  * Refactor unit tests for ContainerRegistry
  * Fix small mistakes detected by the unit tests
  * Rework the code that finds the possible gitlab project paths
  * Add a test case for get_possible_gitlab_project_paths()
  * Add tests for kaboxer stop
  * stop: Bail out if app is not running (Fixes: #53)
  * man: Add missing path optional arg to push command
  * man: Fix minor typo
  * Minor fix in how config files are found
  * build_image: Move code that was within "with:" blocks for no reason
  * load_config: Drop app=None, make app a positional argument
  * Use app_id accessor rather than ['application']['id']
  * Rename a few variables for readability
  * cmd_install: Create a separate install_app() method to install each app
  * cmd_clean: Create a separate clean_app() method to clean each app
  * cmd_clean: Nitpick, use variable that was already defined above
  * cmd_build: Move save/push a level up, in cmd_build() rather than
    build_image()
  * cmd_push: Run the loop, and pass parsed_config to push() method
  * Nitpick, rename push() into push_image()
  * dh-kaboxer: Fix check_auto_buildable
  * dh-kaboxer: Don't run clean if there's no kaboxer files

 -- Arnaud Rebillout <arnaudr@kali.org>  Tue, 13 Apr 2021 11:03:41 +0700

kaboxer (0.7.1) kali-dev; urgency=medium

  * Fix missed flake8 error
  * Do not run flake8 tests during build

 -- Raphaël Hertzog <raphael@offensive-security.com>  Thu, 10 Dec 2020 22:52:09 +0100

kaboxer (0.7.0) kali-dev; urgency=medium

  * Add support for hook scripts
  * Move exit prompt after after_run hook
  * Replace --prompt-before-detach by --prompt-before-exit
  * Do not rewrite the YAML file when we don't ship a tarball
  * Ensure kaboxer push also updates the "latest" tag when needed
  * Fix most Python coding style issues in the testsuite
  * Document the {before,after}_{run,stop}_script config keys
  * Drop useless dependencies on confget and python3-distutils
  * Make kaboxer/kbxbuilder importable as a library
  * Switch kaboxer into a full-blown Python project
  * Move dh-kaboxer back to debian packaging
  * Move manual pages into a sub-directory
  * Extend the Python metadata
  * Move Python modules to build dependencies
  * Drop unused /etc/kaboxer directory
  * Fix copyright file to mention Offensive Security
  * Add unit tests framework and basic tox configuration
  * More style cleanup to please flake8
  * Enable tests with tox in debian/rules
  * Avoid direct usage of dpkg-parsechangelog
  * Add ${perl:Depends} for dh_kaboxer
  * Provide a longer description in debian/control
  * Switch to debhelper compat level 13
  * Bump Standards-Version to 4.5.1
  * Add logging to help in debugging

 -- Raphaël Hertzog <raphael@offensive-security.com>  Thu, 10 Dec 2020 22:36:16 +0100

kaboxer (0.6.3) kali-dev; urgency=medium

  * Don't fail at startup if we don't have docker access

 -- Raphaël Hertzog <raphael@offensive-security.com>  Thu, 22 Oct 2020 22:29:31 +0200

kaboxer (0.6.2) kali-dev; urgency=medium

  [ Roland Mas ]
  * Added kaboxer(1), kaboxer.yaml(5), kbxbuilder(1),
    kbxbuilder.config.yaml(5) and kbxbuilder.apps.yaml(5) man pages.
  * Add "make clean" to remove generated manpages
  * Use /data rather than /var/lib/kbx-hello inside the container
  * Document run_as_root and publish_ports

  [ Raphaël Hertzog ]
  * Implement DH_KABOXER_BUILD_STRATEGY
  * Add manual pages to the binary package
  * Fix whatis entry in manual pages
  * Define the default value of the path argument at the argument parsing level
  * Implement "kaboxer build --skip-image-build" and use that in dh-kaboxer
  * Add some common gitlab-ci rules to build a docker image for a kaboxer app

 -- Raphaël Hertzog <raphael@offensive-security.com>  Thu, 22 Oct 2020 18:09:54 +0200

kaboxer (0.6.1) kali-dev; urgency=medium

  * Display details of connection exception in debug mode
  * Refactor the code querying the remote docker registry over HTTP
  * Fallback to latest tag when we can't identify a version to retrieve

 -- Raphaël Hertzog <raphael@offensive-security.com>  Fri, 18 Sep 2020 19:04:30 +0200

kaboxer (0.6) kali-dev; urgency=medium

  [ Roland Mas ]
  * dh_kaboxer: decorrelate kaboxer apps from binary packages.
  * Removed debugging message
  * Only clean generated *.desktop files (fixes #29)
  * Don't fetch info about unrelated apps in kaboxer prepare (fixes #30)
  * Fix "kaboxer upgrade foo=1.1"
  * Gracefully handle URL errors in registries
  * Handle API-less registries (registry.hub.docker.com) (fixes #28)
  * Tag image downloaded as 'latest' with its actual version (fixes #31)
  * Remove debugging output
  * Simplify and fix dh_kaboxer injections (fixes #34)
  * Properly handle --prompt-before-detach (fixes #33)
  * Implement kaboxer stop --component (fixes #32)
  * Remove temporary container on error (fixes #35)
  * Fix calculated component name and testsuite
  * Implement kaboxer get-upstream-version (fixes #36)
  * Use proper API to get list of images on a registry (fixes #39)
  * Display packaging revisions in kaboxer list
  * Implement kaboxer list --skip-headers for scriptability (fixes #37)
  * Use the "current" tag rather than "latest" (fixes #38)
  * Fix running of freshly-built image (fixes #43)

  [ Raphaël Hertzog ]
  * Follow best practices for Dockerfiles
  * Use debhelper compat 13 in kbx-hello sample
  * Let dh_auto_* invocations forward supplementary parameters to the kaboxer
    command line
  * Display exception details and URL that we failed to pull
  * Use only the first line of the description in the Comment field
  * Fix pyflakes error reporting usage of unknown function
  * Use --prompt-before-detach instead of --prompt_before_detach
  * Add a missing space in the kaboxer run command line
  * Install extracted icon in kbx-hello-allinone
  * Do not bail out when description or categories are missing
  * Use registry.hub.docker.com as registry to have a realistic sample
  * Fix most Python coding style issues
  * Wrap long lines to 80 characters
  * dh-kaboxer: don't build the tarball by default

 -- Raphaël Hertzog <raphael@offensive-security.com>  Fri, 11 Sep 2020 17:39:42 +0200

kaboxer (0.5.1) unstable; urgency=medium

  * dh_kaboxer: only inject stuff (maintainer scripts, dependencies) in
    relevant packages.

 -- Roland Mas <roland.mas@gnurandal.com>  Tue, 02 Jun 2020 18:05:00 +0200

kaboxer (0.5) kali-dev; urgency=medium

  * Handle versioning and upgrades.

 -- Roland Mas <roland.mas@gnurandal.com>  Fri, 01 May 2020 17:35:12 +0200

kaboxer (0.4) kali-dev; urgency=medium

  * Implement kaboxer as a standalone framework.

 -- Roland Mas <roland.mas@gnurandal.com>  Mon, 23 Mar 2020 15:16:04 +0100

kaboxer (0.3.4) kali-dev; urgency=medium

  * Allow specifying options for Docker.

 -- Roland Mas <roland.mas@gnurandal.com>  Mon, 02 Mar 2020 12:39:18 +0100

kaboxer (0.3.3) kali-dev; urgency=medium

  * Added autopkgtest for kbx-hello-* packages.

 -- Roland Mas <roland.mas@gnurandal.com>  Fri, 14 Feb 2020 14:00:54 +0100

kaboxer (0.3.2) unstable; urgency=medium

  * Expand tildes in mounts to allow persisting the home directory (or
    part thereof) across runs.

 -- Roland Mas <roland.mas@gnurandal.com>  Thu, 13 Feb 2020 17:32:12 +0100

kaboxer (0.3.1) kali-dev; urgency=medium

  * Get rid of dh_make boilerplate
  * Add proper python dependency
  * Add missing dependency on python3-dockerpty
  * Bump Standards-Version to 4.5.0
  * Switch to debhelper compat level 12
  * Update Maintainer field
  * Configure git-buildpackage for Kali
  * Add GitLab's CI configuration file
  * Adapt defaults for the specific case of kaboxer

 -- Raphaël Hertzog <raphael@offensive-security.com>  Wed, 29 Jan 2020 15:16:23 +0100

kaboxer (0.3.0) unstable; urgency=medium

  * Allow several components per image.
  * Allow running a component in a running container (e.g. a client in a
    container that runs the server).

 -- Roland Mas <roland.mas@gnurandal.com>  Mon, 18 Nov 2019 16:28:33 +0100

kaboxer (0.2.0) unstable; urgency=medium

  * Create non-root users in the containers before running the actual
    program, so as to allow running processes as a normal user within the
    container.

 -- Roland Mas <roland.mas@gnurandal.com>  Thu, 07 Nov 2019 21:00:44 +0100

kaboxer (0.1.0) unstable; urgency=medium

  * kaboxer is now mostly functional.

 -- Roland Mas <roland.mas@gnurandal.com>  Thu, 31 Oct 2019 18:06:01 +0100

kaboxer (0.0.1) unstable; urgency=medium

  * Initial release.

 -- Roland Mas <lolando@debian.org>  Wed, 10 Jul 2019 15:55:27 +0200
