Skip to content

Conversation

@dean-taylor
Copy link
Member

@dean-taylor dean-taylor commented Aug 11, 2025

Additions.
Initial deployment security hardening enhancement ensures a Secrets based initial complex password for the initial Admin user. This has replaced the default credentials and removes the need to restrict access during the pre-configuration process.

ISSUE 170
Merged xnat-web sub-chart into xnat/templates/xnat-web
Work around the parser issue of a key containing a hyphen "xnat-web"
Update helper templates and template paths for the new structure

ISSUE 169
Update secrets integration into PostgreSQL configuration.
While secrets can be added via the manifest directly as done previously the addition of a preexisting secret has been provided.
To facilitate configuration and secret merge operations an init container utilises a ConfigMap automatically generated from the config directory in the root folder and with the use of the envsubst command merges Secrets within environment variables. These files are then presented via a read only EmptyDir volume at the required mount point /data/xnat/home/config.
Alterations to some of the default values files have also been updated.
Current best practise involving security hardening has been implemented, including mandating the containers be run as non-root users. This could have implications with deployments that have not set the runAsUser, runAsGroup, fsGroup settings and have filesystems with static UID/GID mappings. E.g. An NFS static provisioned Volume.

… secret for automating postgres secret if not present (currently disabled)
rectified highlighted issues with helm lint and snyk iac tests
added git hooks for automated lint and other testing
…admin/admin)

xnat-web shorten init container names by removing .Chart.Name prefix
Use YAML syntax to make some args more readable in Deployment
Clean up XNAT home folder generation code removing failing chmod operations
Remove default resources settings from the values file as per best practice
Modify xnat-web startup to allow more time for database migrations, etc
…able

move all plugin configuration to a ConfigMap and apply Secrets on pod initialisation
fix Admin account Secret from being overwritten on helm update
sanitise some volume mount paths for more logical and readable code
fix xnat connection test
fixed issue with "xnat-web" in helm parser issue bad character U+002D, issue with hyphen
shortened .Values lines within templates for xnat-web references
fix volume permission readOnly for logging side container
@dean-taylor dean-taylor self-assigned this Aug 11, 2025
@dean-taylor dean-taylor added bug Something isn't working enhancement New feature or request labels Aug 11, 2025
@dean-taylor dean-taylor requested a review from fxusyd August 11, 2025 06:19
@franksc
Copy link

franksc commented Sep 15, 2025

../tests/test-postgres.yaml will complain 'A valid postgresql.auth.password is required' if it doesn't find one and helm deploy will fail.

Do we want the out-of-the-box values file to include a sensible default for xnat-web.postgresql so this will work even if deploying user does nothing, e.g. something like this to grab password from the xnat-postgresql secret:

postgresql:
  auth:
    existingSecret: xnat-postgresql
    secretKeys:
      password: password

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants