Skip to content

Artifacts & Supported Package Types

Software is exclusively installed via package managers on veHaaS environments.

When using a package manager, the software you install is typically referred to as a package or artifact. These artifacts can come in many forms depending on the manager and platform — from executable tools and libraries to container images or configuration files. Each package manager supports specific types of artifacts suited to its ecosystem. For example, Chocolatey installs .exe or .msi applications for Windows, pip installs Python libraries from PyPI, and Docker pulls container images from registries. Understanding the type of artifacts each tool handles, helps to ensure you're using the right manager for the job — especially when working with veHaaS, where consistency and repeatability through supported package types is essential.

What Is a Package Manager?

A package manager is a tool that helps you install, update, and manage software or tools on your computer — all from the command line, without needing to search for download links or run installers manually.

Think of it like an app store for developers or system tools, but much faster and more flexible.

Package Manager Used For Platform
Chocolatey Windows applications and tools Windows
pip Python libraries and tools Windows / Linux / macOS
npm JavaScript packages (for Node.js) Windows / Linux / macOS
apt System software and tools (Linux/Ubuntu) Linux
docker Downloading and running software containers Cross-platform

Each of these tools works in a similar way: You type a short command (like pip install requests or apt install firefox), and the package manager does all the work behind the scenes — downloading, installing, and setting things up correctly.

If a certain type of package is not available via a package manager make sure, to contact the veHaaS Team to gain information on how to make a package for it.

As a last resort it is also possible to mount local folders onto the machine and install packages from there. This is a last resort aproach and should only be used when no other option is possible (including creating a new package).

Why Use a Package Manager?

  • Faster: One command vs. many clicks.
  • Safer: Installs verified versions from trusted sources.
  • Easier to update: Keep everything current with a single command.
  • Repeatable: Great for setting up multiple computers or restoring your setup.

Or to make it short, this is how we are following the Vector trend of "Everything as code". Applying the use of package mangers, allows the veHaaS maintainers to drasticly reduce downtimes as well as improve error handling.

Chocolatey is a package manager — just for Windows software!

Instead of downloading and installing software from internal (network drives) or external (vendor websites etc.) resources using .exe files, which can sometimes be risky, confusing or tedious, it's much easier, safer and better manageble to use a tool called Chocolatey. Chocolatey lets you install trusted software with just a single command, like typing a sentence. Once it's set up, you don’t have to search the internet for downloads anymore — just open Windows PowerShell (with elevated rights), type a simple command like choco install googlechrome, and it does everything for you. It helps keep your computer clean and makes installing or updating programs much faster and safer.

Even better, Chocolatey supports packages.config files, which are simple lists of software you want to install. This is perfect if you’re setting up a new computer or want to make sure several machines all have the same programs — just run one command and Chocolatey installs everything from the list for you, automatically.

In general the use of package managers is absolutly mandatory when using veHaaS

Overview

This table provides a quick overview of the supported package types as well as their sources from the veHaaS context:

Package Type Availability Source Vector Customer
Chocolatey Yes Artifactory Yes No
Conan Yes Artifactory Yes No
Debian (APT) Yes Artifactory Yes No
Docker Yes Artifactory Yes No
Generic Yes Artifactory Yes No
Gradle Yes Artifactory Yes No
Maven Yes Artifactory Yes No
npm Yes Artifactory Yes No
NuGet Yes Artifactory Yes No
PyPI (pip) Yes Artifactory Yes No

For a vector specific guide for most package types users may your the PES-Infrastructure-Documentation: Onboarding. For details on how internalization works, which rules apply to the repositories and other questions regarding Artifactory-Repositories users make take a look at ADPs Artifactory User Documentation.

Specific Package Types

We provide fixed software installations on veHaaS devices exclusively via Chocolatey on Windows systems. If necessary, other packages (e.g. pip) will be installed on-demand. We encourage you to use virtual environments (for e.g. pip) and to renounce of manual installations via e.g. installers. Furthermore, the veHaaS team can and will not support your setup once software from external sources is used!

Chocolatey

Chocolatey Packages are the intended way to install new software on a veHaaS VM/HiL. Chocolatey Repositories are setup once the user's machine is prepared. Meaning as soon as the user can connect to the machine, they can use the provided Chocolatey Repositories to install new software without configuring anything.

Here you can find out, how to install software via the Chocolatey CLI. It is possible to add other repositories using the Chocolatey CLI.

A list of existing configurations rolled out to VMs can be found in the veHaaS Ansible Repository of CT DOS.

Software installed by the veHaaS Team is divided into the following categories:

These packages/configurations are maintained as well as updated by the veHaaS Team. If you would like to add to the specified list, feel free to create a merge request containing your changes. If you are not able to do so, you may also create a TAR using the DEV INFRA veHaaS assignment pool.

Basic Software

The basic packages are maintained by the veHaaS Team. They are installed on every veHaaS host. Regular updates are managed by the veHaaS Team. Theses packages can not be individualized, meaning individual versions can not be installed by veHaaS users due to security and compatibility.

Productive Systems

The productive package configuration holds software to be installed on productive systems.

Test Systems

The test package configuration is solely applied to Test hosts.

Customisable Configurations

Last but not least it is possible for users, groups, teams to create their own configurations which fit their usecases on their machines/hosts. Users may request a custom configuration via TAR. Make sure to use the DEV INFRA veHaaS assignment pool.

Debian

Debian packages (DEB) are stored in Artifactory and can be used with APT. Users need to configure the repository URL and import the GPG key provided by Artifactory. Authentication may be required depending on access permissions. You can find a short introduction on how to use APT here.

Debian packages are configured when the host is setup for the user. No further setup is required.

Generic

The Generic repository in Artifactory is used for storing and retrieving any kind of files that don’t fit a specific package format. Files can be uploaded or downloaded via REST API, CLI tools, or UI. Authentication is required. An overview of the functionalities and how to use them is presented in the Artifactory User Documentation by ADP.

For now users may use the pes-ops-generic-dev-local repository.

NuGet (Chocolatey)

The chocolatey package type is based on NuGet. Therefore NuGet repositories are used for Chocolatey packages as well.

NuGet packages are served through Artifactory’s NuGet repository.

The following repositories are configured for the use:

Users configure their environment with the Artifactory NuGet feed and authenticate with an API key or credentials when required.

PyPI

Python packages are hosted in Artifactory’s PyPI-compatible repository. The package manager is configured to use the mentioned repository. Other pip repositories are generally not supported.

ADP is providing further repositories. Their documentation can be found here