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;