Upgrade
To set up a deployment, ESS provides various Kustomize overlays These overlays can act as the base for major/minor upgrades as well as for the initial installation.
See also Release Notes.
Important
Inputs may change per versions. For example, a new input file may be added or new input may be required in an existing input file. Always review the contents of the inputs/ folder when performing the installation/upgrades.
Procedure
Step 1: Prepare the Installation Directory
Go to your ESS installation directory.
cd ${HOME}/essCheckout a new branch.
Remove all files in this branch to have an empty
${HOME}/essdirectory.
Important
Ensure that the directory is empty.
Login to Inrupt’s private Docker registry. When prompted for your password, enter your entitlement token :
docker login --username <userid> docker.software.inrupt.comGet the latest
2.6version of theinrupt-kustomizer:
6. Initialize an empty installation directory with a base overlay for your environment:
Important
If the directory is not empty, the inrupt-kustomizer does not attempt to initialize the directory with the base configuration files.
Follow the prompts to install the base overlay for your upgrade version, same as the initial installation.
Step 2: Provision an initial Service Account
Required for ESS 2.6.0+
The Platform Management service requires a Service Account to be configured before deployment. This Service Account enables the Platform Management API for user provisioning operations.
Before deploying ESS, you must:
Create a user account in your IdP for the Platform Management Service Account
Choose a username (e.g.,
platform-service,provision-service)This account will be used exclusively by the Platform Management service
The account does not require special privileges in the IdP
Configure the Service Account username in your deployment
The username must be set in the
INRUPT_PLATFORM_ACCOUNT_PROVISION_SERVICE_USERNAMEenvironment variableThis configuration is stored in the
inputs/platform-management-secrets.envfileThe service will fail to start if this configuration is not set
Critical Security Requirement
The Service Account username creates the binding between ESS and your IdP. You must create the corresponding user account in your IdP before deploying ESS.
Failing to do this could allow malicious users to claim the Service Account username, leading to unauthorized administrative access to your ESS deployment.
Example Configuration:
For more information about the Platform Management service and Service Accounts, see Platform Management API.
Step 3: Update Inputs and Build
Important
Inputs may change per versions. For example, a new input file may be added or new input may be required in an existing input file. Always review the contents of the inputs/ folder when performing the installation/upgrades.
During the initialization, Inrupt generates a readme.txt file in the installation directory. The file provides instructions on updating inputs for your deployment and building the deployment file.
Go to the installation directory.
Using the instructions in the
readme.txtfile, update the inputs in the base overlay for your deployment. As noted in the previous section, make sure the newly created Service Account for the Platform Management Service is added to the inputs.If upgrading from ESS 2.3, be sure to remove the following section from your
inputs/kustomization.yaml.
Warning
CRITICAL SECURITY REQUIREMENT
NEVER commit files containing secrets such as .env or JWT to version control. These files must be managed securely.
As part of updating the inputs for your deployment:
Review the template secret files
Set strong secrets for the values, such as strong passwords
Store the secret securely outside your repository using one of these methods:
Cloud secrets management service
Enterprise secrets vault solution
Kubernetes Secrets with encryption at rest
Secure file system with restricted access (development only)
Configure your deployment to retrieve credentials from your secure storage at runtime
Add the secrets files to your
.gitignorefile immediately
Kafka Message Encryption ESS’ services communicate with each other by sending messages through Kafka.
By default, Inrupt enables data encryption for all data that pass through the Kafka messaging system.
You MUST set the data encryption key values to a strong password.
Update any other inputs as specified in the kafka-credentials.env file.
For more information on the Kafka configurations, see ESS’ Kafka Configuration.
After updating the inputs, build the deployment file per the instructions in the
readme.txtfile.Commit all changes in the directory to source control.
Important Ensure that the repo is private.
Step 4: Optional. Customize Your Deployment Configuration
Optionally, you can further customize your ESS deployment using Kustomize overlays, such as to use certificates from an official Certificate Authority (CA).
For examples on customizing your deployment with overlays, see Customize ESS .
Step 5: Deploy
After you have built the deployment file, you can deploy.
If not already, go to the installation directory:
Deploy to your Kubernetes environment:
Warning: Self-signed Certificates The provided base overlays create self-signed certificates. These self-signed certificates are for development purposes only. In production, ESS should be run with certificates from an official Certificate Authority (CA). For an example of how you can customize your deployment to use your production certificates, see Use Official Certificate Authority.
3. You can view the ESS components and services that are running:
4. For local standalone deployments , add the ESS service domains to the /etc/hosts file on your local machine.
To verify, go to
https://start.{ESS DOMAIN}/.
Last updated