Config backup, a Docker dev/prod split, and a Gitea-built release image.
Added
- /settings -> General -> "Configuration backup": JSON export/import of the
panel's general settings + attribute definitions
(App\Services\ConfigBackupService); audited as config.export / config.import.
Export can leave out the attribute-encryption key. No AD data included.
- docker/compose.dev.yaml: live-reload dev stack that bind-mounts the working
tree. docker/php/Dockerfile is now multi-stage (base -> dev / prod).
- .github/workflows/release.yml: on every vX.Y.Z tag, builds the prod image and
pushes gitea.kzbikowski.pl/kzbkowski/adconsole:{X.Y.Z,X.Y,latest}.
Changed
- docker/compose.yaml: self-contained prod image (app code + composer install
--no-dev baked in via COPY); persistent state in docker/data/{app_storage,db};
defaults to the released image (ADCONSOLE_VERSION pins a tag, ADCONSOLE_IMAGE
replaces the ref). Apache now honours public/.htaccess (AllowOverride All).
Run from the repo root with --env-file .env.
- Repo root now holds only README.md; CHANGELOG / CONTRIBUTING / SECURITY /
CODE_OF_CONDUCT moved under docs/.
Upgrade notes: docs/upgrading.md#v110--docker-layout. Full log: docs/CHANGELOG.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JKT9p3bfP8RZesExdYCS52
85 lines
3.0 KiB
PHP
85 lines
3.0 KiB
PHP
<?php
|
|
|
|
return [
|
|
'title' => 'Audit log',
|
|
'heading' => 'Audit log',
|
|
'subtitle' => 'Who changed what in Active Directory through the panel, and when.',
|
|
|
|
'filter' => [
|
|
'actor' => 'Administrator',
|
|
'action' => 'Action',
|
|
'action_all' => 'All actions',
|
|
'target' => 'Object (login / CN / DN)',
|
|
'from' => 'From',
|
|
'to' => 'To',
|
|
'apply' => 'Filter',
|
|
'clear' => 'Clear',
|
|
],
|
|
|
|
'col' => [
|
|
'when' => 'Date and time',
|
|
'actor' => 'Administrator',
|
|
'action' => 'Action',
|
|
'target' => 'Object',
|
|
'reason' => 'Reason',
|
|
],
|
|
|
|
'details' => 'Details',
|
|
'changes' => 'Changes',
|
|
'context' => 'Context',
|
|
|
|
'target_type' => [
|
|
'user' => 'user',
|
|
'computer' => 'computer',
|
|
'group' => 'group',
|
|
],
|
|
|
|
'actions' => [
|
|
'config.settings' => 'Panel settings',
|
|
'config.attributes' => 'Attribute configuration',
|
|
'config.export' => 'Configuration export',
|
|
'config.import' => 'Configuration import',
|
|
|
|
'user.create' => 'User created',
|
|
'user.update' => 'User edited',
|
|
'user.reset_password' => 'Password reset',
|
|
'user.password_expiry' => 'Password / account expiry',
|
|
'user.move' => 'Moved to OU',
|
|
'user.enable' => 'Account enabled',
|
|
'user.disable' => 'Account disabled',
|
|
'user.unlock' => 'Account unlocked',
|
|
'user.force_password_change' => 'Forced password change',
|
|
'user.delete' => 'User deleted',
|
|
'user.photo' => 'Photo changed',
|
|
'user.group_add' => 'Added to group',
|
|
'user.group_remove' => 'Removed from group',
|
|
'user.bulk_reset_password' => 'Bulk password reset',
|
|
'user.bulk_move' => 'Bulk move to OU',
|
|
'user.bulk_password_expiry' => 'Bulk password expiry change',
|
|
'user.bulk_enable' => 'Bulk account enable',
|
|
'user.bulk_disable' => 'Bulk account disable',
|
|
'user.bulk_group' => 'Bulk group membership change',
|
|
'user.bulk_force_password_change' => 'Bulk forced password change',
|
|
'user.bulk_unlock' => 'Bulk account unlock',
|
|
'user.bulk_attributes' => 'Bulk attribute edit',
|
|
'user.offboard' => 'Account offboarding',
|
|
|
|
'computer.enable' => 'Computer enabled',
|
|
'computer.disable' => 'Computer disabled',
|
|
'computer.move' => 'Computer moved to OU',
|
|
'computer.delete' => 'Computer deleted',
|
|
'computer.reset_trust' => 'Trust account reset',
|
|
'computer.laps_view' => 'LAPS password viewed',
|
|
'computer.bitlocker_view' => 'BitLocker keys viewed',
|
|
'computer.bulk_enable' => 'Bulk computer enable',
|
|
'computer.bulk_disable' => 'Bulk computer disable',
|
|
'computer.bulk_move' => 'Bulk computer move',
|
|
|
|
'group.create' => 'Group created',
|
|
'group.update' => 'Group edited',
|
|
'group.delete' => 'Group deleted',
|
|
'group.member_add' => 'Group member added',
|
|
'group.member_remove' => 'Group member removed',
|
|
],
|
|
];
|