Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ How a release is cut is in [CONTRIBUTING.md](CONTRIBUTING.md#releasing).
- A Chocolatey package, `nelsar-axia`, in `deploy/chocolatey`: it installs the x64 MSI of its
version, checked against its SHA-256, with the MSI's properties as package parameters. See
[Windows installer → Through Chocolatey](docs/installation-windows.md#through-chocolatey).
- winget manifests for `Nelsar.Axia`, in `deploy/winget`, for x64 and arm64. See
[Windows installer → Through winget](docs/installation-windows.md#through-winget).

## [0.3.0] - 2026-10-23

Expand Down
9 changes: 9 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,12 @@ inherits, `frontend/package.json`, and the image tags the quick start runs in `d
```

The community repository holds each version for moderation before it is listed.

7. In the same pull request, bring the winget manifests in `deploy/winget` to the release: the
`PackageVersion` in all three, and in `Nelsar.Axia.installer.yaml` the release date and, for each
architecture, the URL, the SHA-256 and the `ProductCode`, which changes with every version.
`wingetcreate update Nelsar.Axia --version x.y.z --urls <x64 url> <arm64 url>` fills these in
from the installers once the package is listed; `winget validate --manifest deploy\winget`
checks the result. Then submit them to
[microsoft/winget-pkgs](https://github.com/microsoft/winget-pkgs) under
`manifests/n/Nelsar/Axia/x.y.z/`, or with `wingetcreate submit`.
21 changes: 21 additions & 0 deletions deploy/winget/Nelsar.Axia.installer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json

PackageIdentifier: Nelsar.Axia
PackageVersion: 0.3.0
InstallerType: msi
Scope: machine
UpgradeBehavior: install
ReleaseDate: 2026-10-23
AppsAndFeaturesEntries:
- UpgradeCode: '{79655DA3-9C1A-4CDE-B8EC-50CA96C5DEF3}'
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Nelsar/Axia/releases/download/v0.3.0/Nelsar.Axia-0.3.0-x64.msi
InstallerSha256: 76D9730FDC2B7E0154B81DCF56E9168DB4AF1CF1D382B3F11683D9E5BFCD7B36
ProductCode: '{A13CEA33-920C-4BD6-A916-96D5857075E3}'
- Architecture: arm64
InstallerUrl: https://github.com/Nelsar/Axia/releases/download/v0.3.0/Nelsar.Axia-0.3.0-arm64.msi
InstallerSha256: CFC05E3A6E96EAC470F10BF8ECD0AA2575AE7828AC6F0F88D5A741DB4430279C
ProductCode: '{3A475450-CEC3-48CF-96DC-6FFB3B4C413D}'
ManifestType: installer
ManifestVersion: 1.12.0
33 changes: 33 additions & 0 deletions deploy/winget/Nelsar.Axia.locale.en-US.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json

PackageIdentifier: Nelsar.Axia
PackageVersion: 0.3.0
PackageLocale: en-US
Publisher: Nelsar
PublisherUrl: https://github.com/Nelsar
PublisherSupportUrl: https://github.com/Nelsar/Axia/issues
PackageName: Nelsar.Axia
PackageUrl: https://github.com/Nelsar/Axia
License: Apache-2.0
LicenseUrl: https://github.com/Nelsar/Axia/blob/main/LICENSE
ShortDescription: Self-hosted web interface and REST API for Active Directory and OpenLDAP.
Description: |-
Nelsar.Axia manages Active Directory, Samba AD, OpenLDAP and other LDAP directories from the
browser: users, groups, organizational units and computer accounts, with role-based access
mapped from directory groups, an audit log and bulk provisioning.
This package installs the NelsarAxia Windows service, which serves the API and its console on
port 8080. Finish the configuration in %ProgramData%\Nelsar.Axia\appsettings.json afterwards.
Moniker: axia
Tags:
- active-directory
- ldap
- openldap
- samba
- rest-api
- helpdesk
ReleaseNotesUrl: https://github.com/Nelsar/Axia/releases/tag/v0.3.0
Documentations:
- DocumentLabel: Windows installer
DocumentUrl: https://nelsar.github.io/Axia/installation-windows/
ManifestType: defaultLocale
ManifestVersion: 1.12.0
7 changes: 7 additions & 0 deletions deploy/winget/Nelsar.Axia.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json

PackageIdentifier: Nelsar.Axia
PackageVersion: 0.3.0
DefaultLocale: en-US
ManifestType: version
ManifestVersion: 1.12.0
19 changes: 19 additions & 0 deletions docs/installation-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,25 @@ As with the MSI, the bind password is not a parameter: [finish the
configuration](#finishing-the-configuration) afterwards. `choco upgrade` installs the newer MSI over
the older one, and `choco uninstall nelsar-axia` removes it like an [uninstall](#uninstalling) does.

### Through winget

[`deploy/winget`](https://github.com/Nelsar/Axia/tree/main/deploy/winget) holds the manifests of
the package `Nelsar.Axia` for the Windows Package Manager, for both architectures. Once they are in
the community repository, `winget install Nelsar.Axia` installs the MSI that matches the machine;
the [properties](#unattended) go after `--custom`, which adds them to winget's own silent switches:

```powershell
winget install Nelsar.Axia --custom "LDAP_SERVER=dc01.corp.example.com START_SERVICE=1"
```

Until then, install from a checkout. winget takes a local manifest only once an administrator has
allowed it:

```powershell
winget settings --enable LocalManifestFiles
winget install --manifest deploy\winget
```

## What goes where

| Where | What | On upgrade | On uninstall |
Expand Down
Loading