Skip to content

Create Own Repositories

Besides adding and/or syncing already existing repositories, you can create entire new ones from scratch with New-IcingaRepository.

Preparing Repositories

To prepare your new repository, you will simply require an empty folder somewhere on your local Windows machine or accessible network share. For example we can create a new folder directly under C:, like C:\icinga_repositories\custom.

Now after having an empty folder, copy all files you want to add to this repository there. This includes the .zip files for Icinga for Windows components, the Icinga Agents .msi files and the Icinga for Windows Service .zip files which include the .exe and the .md5 hash file.

Initialize The Repository

Now as the folder is prepared and all files are placed inside, we can run New-IcingaRepository with our configuration.

Available Arguments

Argument Type Description
Name String The name of the repository to add. Only for local references required.
Path String The location of the path you prepared in the first step in which all files are inside, for creating your repository
RemotePath String Will add the remote path for later adding of this repository to another system. Only suitable for network shares and is optional
Force Switch In case a repository with the given name is already present, it will be overwritten

Create Our Repository

As we now understand on which arguments are available, we can now use New-IcingaRepository to create your repository:

New-IcingaRepository `
    -Name 'My Local Repo' `
    -Path 'C:\icinga_repositories\custom';

Depending on the amount of files inside, every single one will be analyzed for their component name and version and a new repo file ifw.repo.json is created. From the local Windows machine, you can also use this repository to install components from, as it will be added automatically.

Sync Own Repositories

Now as we created our own repository with own files we checked, we can use the Sync-IcingaRepository Cmdlet to either sync from this machine to another location or ir vice-versa, depending on your configuration. You can read more about this on the sync repositories section.

Example

Sync-IcingaRepository `
    -Name 'My Local Repo Sync' `
    -Path 'icinga@icingarepo.example.com:/var/www/icingacustom/' `
    -RemotePath 'https://icingarepo.example.com/icingacustom' `
    -Source 'C:\icinga_repositories\custom' `
    -UseSCP;