atsproducts/adoscore

By atsproducts

Updated 11 months ago

The adoscore Helm chart

Helm
Integration & delivery
0

667

atsproducts/adoscore repository overview

Adoscore

The Adoscore Helm chart provides the core services for the ADOS solution, including Security Manager, Configuration Manager, and Start.

Kubernetes Resources Installed by the Adoscore Helm Chart

The Adoscore Helm chart deploys the following Kubernetes resources:

Security Manager
  • Deployment: security
    Manages the lifecycle of the Security Manager application pods, ensuring the specified number of replicas are running, specifying the ConfigMaps, Secret, volumeMounts, resources etc.

  • ConfigMap: security-env-configmap
    Stores configuration data used by the Security Manager pods.

  • ConfigMap: security-env-configmap-logging
    Stores logging configuration data for the Security Manager pods.

  • Secret: security-env-secrets Stores secrets for the Security Manager pods

  • Service: security
    Provides a stable endpoint for accessing the Security Manager pods, enabling load balancing and service discovery.

Configuration Manager
  • Deployment: configuration
    Manages the lifecycle of the Configuration Manager application pods, ensuring the specified number of replicas are running, specifying the ConfigMaps, Secret, volumeMounts, resources etc.

  • ConfigMap: configuration
    Stores configuration data used by the Configuration Manager pods.

  • Service: configuration
    Provides a stable endpoint for accessing the Configuration Manager pods, enabling load balancing and service discovery.

Start
  • Deployment: start
    Manages the lifecycle of the Start application pods, ensuring the specified number of replicas are running, specifying the ConfigMaps, Secret, volumeMounts, resources etc.

  • ConfigMap: start
    Stores configuration data used by the Start application pods.

  • Service: start
    Provides a stable endpoint for accessing the Start application pods, enabling load balancing and service discovery.

Shared Resources
  • Ingress: security-configuration
    Manages external access to the Security Manager, Configuration Manager and Start services, routing traffic based on host names and paths.

Configuration

The following sections describe the configurable parameters for the Adoscore Helm chart, including their default values. The default values refer to the values in the Helm chart and NOT necessarily the actual application.

Deployment parameters
NameDescriptionDefault Value
dbserver.name*The name of the database server""
dbserver.user*The username credentials for the database server""
dbserver.password*The password credentials for the database server""
website.site*The domain name for the website""
website.certificateName*The name of the SSL certificate to be used for secure HTTPS connections"app_listener"
logging.minimumLevelThe minimum log level for the Security Manager application"Information"

*Note: Properties marked with an asterisk (*) are required.

Image parameters
NameDescriptionDefault Value
image.securityRepository*The Docker Hub repository where the Security Manager image is stored"atsproducts/ats.securitymanager-linux-x64"
image.securityTag*The tag for the Security Manager image"latest"
image.configurationRepository*The Docker Hub repository where the Configuration Manager image is stored"atsproducts/ats.configurationmanager-linux-x64"
image.configurationTag*The tag for the Configuration Manager image"latest"
image.startRepository*The Docker Hub repository where the Start image is stored"atsproducts/ats.start-linux-x64"
image.startTag*The tag for the Start image"latest"
image.pullPolicy*Refers to the 'imagePullPolicy' setting in a Kubernetes Deployment or Container specification. It controls when the Kubernetes kubelet should pull (download) the container image from the registry"Always"

*Note: Properties marked with an asterisk (*) are required.


Resource parameters

In Kubernetes, containers in a pod can be configured with resource requests and limits for CPU and memory. These configurations ensure that containers get the resources they need to run properly, while also preventing them from using more than their allocated share, which helps maintain the stability of the cluster. The resources are in a format: { "requests": { "memory": "", "cpu": ""}, "limits": { "memory": "", "cpu": ""} }

NameDescriptionDefault Value
resources.configurationThe resources for the Configuration Manager deployment
resources.securityThe resources for the Security Manager deploymentnull
resources.startThe resources for the Start deploymentnull
Smtp Settings parameters

The 'smtpSettings' parameters set the values for the SMTP server. If any property under 'smtpSettings' has a value other than an empty string or null, the application will read all SMTP settings from environment variables instead of the database. Otherwise, the settings variables will be ignored, and the database values will be used.

NameDescriptionDefault Value
smtpSettings.hostThe host of the SMTP server""
smtpSettings.portThe port of the SMTP server0
smtpSettings.authenticationWhether the SMTP server should use authentication. A boolean propertyfalse
smtpSettings.userNameThe username for the SMTP server. Only used if 'smptSettings.authentication' is set to true""
smtpSettings.passwordThe password for the SMTP server. Only used if 'smptSettings.authentication' is set to 'true'""
smtpSettings.senderEmailThe SMTP email from which the server sends messages""
smtpSettings.senderNameThe SMTP sender name from which the server sends messages""
smtpSettings.enableSslWhether the SMTP server is using SSL to send emails. A boolean propertyfalse
smtpSettings.enableWhether the SMTP server is enabled. A boolean propertyfalse

LDAP parameters

LDAP queries the Windows Active Directory for all Groups with results ordered alphabetically. For better results, the LDAP Control Extension for Simple Paged Results Manipulation is used.

NameDescriptionDefault Value
ldap.pageSizeThe default page size limit for results. The default value that Security Manager uses is 500.0

DockerHub parameters

The DockerHub parameters are used for interacting with DockerHub's API, specifically for authentication and accessing Docker OCI artifacts. In ADOS those artificats are the plugins and language packs.

NameDescriptionDefault Value
dockerHub.authApiEndpointURL endpoint for Docker Hub's authentication service, where you can request tokens. The default value that Security Manager uses is: 'https://auth.docker.io/token'""
dockerHub.registryApiEndpointBase URL for Docker Hub's registry API, which is used to interact with Docker images/artifacts. The default value that Security Manager uses is: 'https://registry-1.docker.io/v2/'""
dockerHub.registryApiEndpointVersionThe version of the Docker Hub Registry API being used. The default value that Security Manager uses is: 'v2'""
dockerHub.authServiceThe service name that the authentication token is requested for. The default value that Security Manager uses is: 'registry.docker.io'""
dockerHub.authServiceActionThe action that the authentication token will allow. The default value that Security Manager uses is: 'pull'""
dockerHub.distributionApiVersionThe version of the Docker distribution API being used. The default value that Security Manager uses is: 'registry/2.0'""
dockerHub.repoNamespaceThe namespace of the Docker repository on Docker Hub. The default value that Security Manager uses is: 'atsproducts'""
DockerHub plugin paramater
NameDescriptionDefault Value
plugin.useDevWhether the development registry for the plugin packages should be used. When set to false (default), only released versions of the plugin packages will be available for installationfalse

WebHooks parameters

Define settings for WebHook scalling

NameDescriptionDefault Value
webHooks.senderCapacityThe number of senders that will be active at the moment. The default value that Security Manager uses is 10
webHooks.queueCapacityThe number of elements the global queue can contain. The default value that Security Manager uses is 2000

Database Configuration parameter
NameDescriptionDefault Value
databaseConfiguration.commandTimeoutThe database command timeout value in seconds. The default value that Security Manager uses is 30 seconds.0

Security Manager parameters
NameDescriptionDefault Value
security.publicOriginBy default, IdentityServer uses the host, protocol, and port from the HTTP request when creating links. This might not be accurate in reverse proxy or load-balancing situations. You can override the origin used for link generation using this property""
configuration.versionThe Security Manager version. By default the application refers to the versions specified in the appSettings.json file""
configuration.environmentIdentificationSpecifies the environment for the application e.g. "QA Testing"""
configuration.dataProtection.keyStorage.typeDefines a type of location for the storage of the key. Possible types are: 'Default', 'FileSystem', 'AzureBlobStorage' and 'Redis'""
configuration.dataProtection.keyStorage.uriUsed when the key storage type is 'AzureBlobStorage' or 'Redis'. Defines the path URI to the blob including SAS token or the path to the Redis Cache storage""
configuration.dataProtection.keyStorage.pathUsed when the key storage type is 'FileSystem'. Defines a path where the key will be stored""
configuration.dataProtection.keyStorage.connectionstringUsed when the key storage type is 'AzureBlobStorage'. Defines the connection string to the storage account""
configuration.dataProtection.keyStorage.containerNameUsed when the key storage type is 'AzureBlobStorage'. Defines the container name. If not defined 'data-protection-keys' container will be used""
configuration.dataProtection.keyStorage.blobNameUsed when the key storage type is 'AzureBlobStorage'. Defines the name of the key file. If not specified keys.xml will be used""
configuration.dataProtection.keyProtection.typeA type for the key ring protection. Possible types are: 'AzureKeyVault', 'CertificatePEM', 'CertificatePFX' and 'CertificateThumbprint'""
configuration.dataProtection.keyProtection.keyIdentifierUsed when the key ring protection type is 'AzureKeyVault'. Defines the key identifier""
configuration.dataProtection.keyProtection.tennantIdUsed when the key ring protection type is 'AzureKeyVault'. Defines the tennat id""
configuration.dataProtection.keyProtection.clientIdUsed when the key ring protection type is 'AzureKeyVault'. Defines the client id""
configuration.dataProtection.keyProtection.clientSecretUsed when the key ring protection type is 'AzureKeyVault'. Defines the client secret""
configuration.dataProtection.keyProtection.certificatePathUsed when the key ring protection type is 'CertificatePEM' or 'CertificatePFX'. Defines the path to the PEM or PFX certificate""
configuration.dataProtection.keyProtection.keyPathUsed when the key ring protection type is 'CertificatePEM'. Defines the path to the PEM key""
configuration.dataProtection.keyProtection.certificatePasswordUsed when the key ring protection type is 'CertificatePFX'. Defines the password for the PFX certificate""
configuration.dataProtection.keyProtection.certificateThumbprintUsed when the key ring protection type is 'CertificateThumbprint'. Defines the certificate thumbprint""
configuration.tokenSigningCertificate.typeThe type of flow used for the certificate used for the signing of tokens. Possible types are: 'Store', 'File', 'Base64' and 'PemFile'.""
configuration.tokenSigningCertificate.valueThe certificate value if the store specifies a value from the store, or if the file specifies the location of PFX or if Base64 specifies the Base64 string""
configuration.tokenSigningCertificate.passwordThe password for the certificate""
configuration.tokenSigningCertificate.certificatePathThe file path for the Pem certificate""
configuration.tokenSigningCertificate.keyPathThe key path for the Pem certificate""

Seed data parameters

There are 2 types of seed data parameters:

  • Data that is seeded only during the creation of the database: The initial admin password and settings
  • Data that is seeded on every application restart: The external identity providers and applications
Seed data: Initial admin password
NameDescriptionDefault Value
seed.initialAdminPasswordWhen creating the database, the admin user has a password by default. Upon the next login the admin user is forced to change the password. If there is a new password set in the password property, then the default password is replaced. If the password meets all the requirements for password complexity and is saved in the database, then the admin user will not be forced to change password on next login""
Seed data: Settings
NameDescriptionDefault Value
seed.settings.userManagerOptions.passwordOptions.requireDigitSpecifies whether the password should contain at least one numberfalse
seed.settings.userManagerOptions.passwordOptions.requireLowercaseSpecifies whether the password should contain at least one lowercase letterfalse
seed.settings.userManagerOptions.passwordOptions.requireNonAlphanumericSpecifies whether the password should contain at least one special character such as '$'. "%', '&' etc.false
seed.settings.userManagerOptions.passwordOptions.requireUppercaseSpecifies whether the password should contain at least one uppercase letterfalse
seed.settings.userManagerOptions.passwordOptions.requiredLengthThe length of the password. Recommended value is from 6 to 160
seed.settings.userManagerOptions.passwordOptions.passwordNeverExpiresSpecifies whether the password should expirefalse
seed.settings.userManagerOptions.passwordOptions.passwordExpirationDurationExpiration duration in days for a user's password. Only relevant when passwordNeverExpires is false0
seed.settings.userManagerOptions.passwordOptions.previousPasswordsToCheckNumber of previous passwords of the user that ca not match with the new password. If value is 0 then users will be able to specify any password except the current password0
seed.settings.userManagerOptions.lockoutOptions.disableUserLockoutSpecifies whether the user lockout is enabled/disabled. When false all other lockout settings are disregardedfalse
seed.settings.userManagerOptions.lockoutOptions.lockoutNeverEndsIf true the lockout of users will never end automatically, only an administrator can unlock the user.false
seed.settings.userManagerOptions.lockoutOptions.maxFailedAccessAttemptsThe number of attempts the users can enter their credentials incorrectly before their account is locked0
seed.settings.userManagerOptions.lockoutOptions.defaultLockoutDurationDuration in minutes of the lockout period0
seed.settings.userManagerOptions.userRegistration.retentionPeriodOfUnconfirmedUsersNumber of days for automatically deleting unconfirmed accounts0
seed.settings.userManagerOptions.userRegistration.defaultRoleIdThe id of the role that will be set as a default one and every new user will be assigned that role. Because the properties are read only when seeding the database the available role ids are: Admin: c7fb6e03-9149-4f41-be9e-deedd98b0279 and Guest: 22a41932-2d64-498a-a795-ffbd7c863aa5""
seed.settings.userManagerOptions.userRegistration.enableSelfRegistrationSpecifies whether self-registration should be enabledfalse
seed.settings.userManagerOptions.userRegistration.requireApprovalOfUserSpecifies whether all newly created users will have to wait for administrators approval to activate their accountfalse
seed.settings.userManagerOptions.userRegistration.registrationDialogTextThe text that will be displayed on the registration screen""
seed.settings.generalSettingsOptions.enableForgotPasswordWhen set to true a Forgot password link is displayed on the ATS Security login pagefalse
seed.settings.generalSettingsOptions.expiryPeriodConfirmationLinksThe expiry period in hours for Confirmation links. Accepts values between 1 and 480
seed.settings.generalSettingsOptions.expiryPeriodResetPasswordLinksThe expiry period in hours for Reset password links. Accepts values between 1 and 480
seed.settings.generalSettingsOptions.enableWebHooksWhether the data exchange functionality is enabled for all applicationsfalse
seed.settings.loginPageOptions.showExternalProvidersWether the external identity providers will be shown on the login screenfalse
seed.settings.loginPageOptions.supportEmailThe email for the users to contact the administrator""
seed.settings.loginPageOptions.loginDialogTextThe text displayed on the login screen""
seed.settings.captchaOptions.selectedCaptchaTypeThe type of captcha used. Possible types: None: 0, Captcha: 1 and GoogleCaptcha: 20
seed.settings.captchaOptions.loginViewEnabledWhether the Captcha image generator will be available on the Login screenfalse
seed.settings.captchaOptions.forgotPasswordViewEnabledWhether the Captcha image generator will be available on the Forgot Password screenfalse
seed.settings.captchaOptions.changePasswordViewEnabledWhether the Captcha image generator will be available on the Change Password screenfalse
seed.settings.captchaOptions.registerViewEnabledWhether the Captcha image generator will be available on the Register screenfalse
seed.settings.captchaOptions.recaptchaSiteKeyUsed when the captcha type is GoogleCaptcha. Defines the site key for GoogleCaptcha""
seed.settings.captchaOptions.recaptchaSecretKeyUsed when the captcha type is GoogleCaptcha. Defines the secret key used for communication between domain and Google to verify the validity of the Captcha""
seed.settings.pluginSettingsOptions.autoCheckVersionWhen set to true the latest version of the plugins is checked and displayed in the plugins grid to indicate an upgrade is availablefalse
seed.settings.pluginSettingsOptions.autoDownloadVersionWhen set to true the latest version of the plugins is automatically downloadedfalse
seed.settings.notificationSettingsOptions.expirationDaysThe number of days notifications are persited in the database after being read0
Seed data: Applications

Seeds the pre-configured applications. Only if a Guid for an application is specified, will that application be seeded

NameDescriptionDefault Value
seed.cm4dApplicationThe Guid id of the ATS CM4D application""
seed.reportingApplicationThe Guid id of the ATS Reporting application""
seed.licensingApplicationThe Guid id of the ATS Licensing application""
seed.busApplicationThe Guid id of the ATS Bus application""
seed.inspectApplicationThe Guid id of the ATS Bus application""
Seed data: External providers

Only a single external provider is avaible to be seeded from the Helm chart.

NameDescriptionDefault Value
seed.useExternalProviderSpecifies whether this provider should be seededfalse
seed.externalProviderTypeThe type of the Identity provider. Possible types are: Windows: 1, Google: 2, Facebook: 3, Azure: 5, GitHub: 6, Saml: 71
seed.externalProviderDisplayNameThe display name of the provider""
seed.externalProviderEnabledWhether the provider is enabledtrue
seed.externalProviderClientIdThe client id of the provider""
seed.externalProviderClientSecretThe client secret of the provider""
seed.externalProviderTenantIdThe tenant id of the provider""
seed.externalProviderEnableAutoRegisterWhether the AutoRegister functionality is enabled for the providerfalse
seed.externalProviderAuthorityThe authority of the provider""
seed.externalProviderHostThe host of the provider""
seed.externalProviderPortThe port of the provider80

Configuration Manager parameters
NameDescriptionDefault Value
configurationManager.versionThe Configuration Manager version. By default the application refers to the version specified in the appSettings.json file""
configurationManager.hotjarIdThe hotjar id of your unique Hotjar account. If a value is provided Hotjar tracking will be activated for Configuration Manager""
configurationManager.contentSecurity.scriptSourcesAn array that defines the allowed sources from which scripts can be loaded and executed in Configuration Manager[]
configurationManager.contentSecurity.styleSourcesAn array that defines the allowed sources from which stylesheets can be loaded and applied in Configuration Manager[]

Start parameters
NameDescriptionDefault Value
start.versionThe Start version. By default the application refers to the version specified in the appSettings.json file""
start.hotjarIdThe hotjar id of your unique Hotjar account. If a value is provided Hotjar tracking will be activated for Start""
start.contentSecurity.scriptSourcesAn array that defines the allowed sources from which scripts can be loaded and executed in Start[]
start.contentSecurity.styleSourcesAn array that defines the allowed sources from which stylesheets can be loaded and applied in Start[]

Shared parameters
NameDescriptionDefault Value
ingress.usePrivateSpecifies whether the ingress controller should use the private IP address of the Azure Application Gatewayfalse
volumesAndMounts.volumeMountsThe volume mounts for the ADOS deploymentsnull
volumesAndMounts.volumesThe volumes for the ADOS deploymentsnull

Tag summary

Content type

Helm

Digest

sha256:434804f92

Size

21.3 kB

Last updated

11 months ago

helm pull oci://registry-1.docker.io/atsproducts/adoscore --version 3.4.0