InRule Catalog Service - central repository for storing, managing, and deploying rule applications.
105
The InRule Catalog Service is the interactive API to the SQL-backed repository that stores and versions your rule applications.
Note: This image can be deployed as a self-hosted Docker container locally or in Azure/AWS cloud platforms. The following instructions detail the steps for installing locally via Docker Desktop. For cloud-based deployment, please contact InRule Customer Support for assistance.
The container requires these environment variables:
inrule__licenseCatalogService__SqlServerConnectionStringCatalogService__HostnameCatalogService__AuthenticationType
Note: Since custom parameters are required, the initial running of the container must be done via Bash or PowerShell.
This service supports the following additional settings:
Note: These settings will need to be provided in the cross-platform __ formatted equivalent of the documented settings.
Set the inrule__license environment variable to the contents of your InRuleLicense.txt file.
Before running the container make sure you have completed the steps to setup the database first.
docker run --rm -p 8080:8080 \
-e inrule__license="your-inrulelicense.txt-contents" \
-e CatalogService__Hostname="localhost:8080" \
-e CatalogService__SqlServerConnectionString="Server=<server>,1433;Initial Catalog=InRuleCatalog;User Id=<user>;Password=<password>;TrustServerCertificate=True;" \
-e CatalogService__AuthenticationType="Database" \
inrule/catalog-service:latest
Note: The above multi-line command can also be run using Windows PowerShell ISE by substituting the \ end-of-line delimiter with a backtick.
http://localhost:8080/api/status/readiness - returns 200 when the irCatalog license is valid and the catalog is reachable, otherwise 503The service does not create its database. Before the readiness probe reports healthy, the target SQL Server database must already exist and be initialized with the InRule catalog schema. Point the container at the database using CatalogService__SqlServerConnectionString.
Choose one of the following approaches to create and initialize the catalog database:
InRule.Catalog.Service.Database.exe
Deploy the InRule Catalog database to Azure SQL Database by importing the provided BACPAC file through the Azure Portal. The steps below can be followed end to end.
Prerequisites
The BACPAC must be downloaded then stored to Azure Blob Storage in your subscription. The Portal import wizard reads the BACPAC using your subscription's blob storage link.
The Import database action lives on the SQL Server resource, not on an individual database.
InRule.Catalog.Service.Database.bacpac.InRuleCatalog.SQL_Latin1_General_CP1_CI_AS (default).Track progress on the server's Import/Export history, or on the new database's Activity log. Wait for the operation to report success - the database resource can appear before the import actually completes.
Use this approach when you want to create an empty Azure SQL Database and install the InRule catalog schema with the published InRule.Catalog.Service.Database.exe utility.
Prerequisites
Database.exe locally).
To download, navigate to the latest InRule Release Assets on GitHub. On that page, download InRule.Catalog.Service.Database.zip. The zip file contains InRule.Catalog.Service.Database.exe and appsettings.json.
Database.exe does not create the Azure SQL Database. Create an empty database first, then the exe installs the catalog schema into it.
InRuleCatalog.Database.exe runs on your computer, so the Azure SQL server must allow your public IP address.
MyLocalMachine.To confirm the rule later, return to Networking and check that a firewall rule exists for your current public IP.
{your_username} and {your_password} with the SQL Server administrator login and its current password.appsettings.json and set ConnectionString to that value:{
"ConnectionString": "Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;User ID=<user>;Password=<password>;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
}
Open PowerShell, change to the unzipped package folder, and run:
.\InRule.Catalog.Service.Database.exe
Wait until the command returns Success!. If it fails with a network or login error, confirm the firewall rule is saved, the database is Online, and the administrator password in appsettings.json is current.
Use this approach for AWS RDS and other SQL Server environments that cannot use the Azure BACPAC import or Database.exe. You create (or use) a SQL Server database, then run the InRule catalog build scripts in order.
Prerequisites
Every script contains the placeholder INSERT_DB_NAME_HERE. Replace that text with your database name in all of the install scripts, for example InRuleCatalog.
If the database does not already exist, run:
Repository_000_CreateDatabase.sqlThis script runs against master and creates the database. On some hosted platforms the DBA must create the empty database for you. If the database already exists, skip this file and start with Repository_001_CreateRoles.sql.
Connect to the new database (or to the server, if the script begins with USE) and run these files one at a time, in this order:
Repository_001_CreateRoles.sqlRepository_002_AddDbUsersToDbRoles.sql (see the AWS note below before you run this one)Repository_003_TableBuild.sqlRepository_070_PopulateTables.sqlRepository_080_GrantPermissions.sqlIn SSMS, open each file, make sure the database name replacement is correct, and select Execute. Wait for each file to finish successfully before opening the next.
If you run the scripts from sqlcmd instead of SSMS, enable quoted identifiers (sqlcmd -I). Repository_070_PopulateTables.sql fails when quoted identifiers are off.
Repository_002_AddDbUsersToDbRoles.sql is optional if you will connect with an existing administrator login such as sa. Leave @DbAccountName and @DomainAccountName as NULL unless you need the script to create a SQL or Windows login and add it to the ServiceAccess role.
Amazon RDS for SQL Server often blocks the CREATE LOGIN / server-principal steps in the stock Repository_002_AddDbUsersToDbRoles.sql.
On AWS RDS, do not run the stock 002 file. Use the RDS variant instead. Before you run it, replace INSERT_DB_NAME_HERE and set @LoginName (set @CreateSqlLogin = 1 and @LoginPassword only if the SQL login does not already exist on the RDS instance):
https://inruleintegrations.blob.core.windows.net/catalog/Repository_002_RDS_AddDbUsersToDbRoles.sql
Run that RDS file in the 002 position. All other scripts stay the same.
Content type
Image
Digest
sha256:0e2d55e86…
Size
70.8 MB
Last updated
about 1 month ago
docker pull inrule/catalog-service:v20260813.5