AMPS
  • What is AMPS?
  • Getting Started
    • Installation
      • Docker
      • Kubernetes
        • Local
        • Openshift
        • AWS
    • Setup
  • Fundamentals
    • Admin
      • Monitoring
        • Message Events
        • Sessions
        • Service Monitoring
        • System Logs
        • Audit Log
        • Consumers
      • Onboarding
        • Groups
        • Users
      • Message Configuration
        • Topics
        • Actions
        • Services
        • Scripts
        • Templates
        • Routing Rules
        • API Endpoints
        • Metadata Fields
        • Keys
        • Jobs
      • Data Configuration
        • Providers
        • Environments
        • Packages
      • Tools
      • System Configuration
    • End User
      • Mailboxes
      • Universe File Agent
      • Auth Tokens
    • Python
  • Use Cases
    • For Engineers
      • GitHub Integration
    • For Support
      • Intercom Integration
  • Guides
    • Creating your first project
    • Creating your first task
    • Advanced permissions
Powered by GitBook
On this page
  • Setup
  • Deployment
  1. Getting Started
  2. Installation
  3. Kubernetes

Openshift

Deploying AMPS on OpenShift Kubernetes Environment

PreviousLocalNextAWS

Last updated 2 years ago

Ensure you have completed the setup steps on the main page.

Setup

In order to install AMPS on an OpenShift cluster, ensured you are signed in to the CLI using the login command provided by the OpenShift console.

In order to customize our deployment, we will need to create our own values.yaml which will override a number of the default parameters of the chart. Copy the following into a local YAML file.

timezone: America/Chicago

ui:
  admin_host: admin.localhost
  user_host: localhost
  http_port: 4080
  ssl:
    enabled: false
    
db:
  default: false

ports: 
  - name: sftp
    protocol: TCP
    port: 15022
    targetPort: 15022
  - name: api
    protocol: TCP
    port: 1234
    targetPort: 1234

archiving:
  enabled: false

defaultStorageClass:

nats:
  nats:
    jetstream:
      fileStorage:
        storageClassName:
minio:
  global: 
    storageClass:

mongodb: 
  global: 
    storageClass:

The above configuration includes fields for the container timezone, UI hosts and port, SSL settings, the default flag for the database which has been set to false to use a simple MongoDB container for compatibility in the OpenShift environment, additional ports to expose from the AMPS container, whether or not to enable archiving, and finally a key on which to define the default storage class for AMPS, and additional fields to specify the default storage class for all dependencies.

In OpenShift, we can interact with and secure our deployment using OpenShift routes. For this reason, on initial installation, we do not need to worry about the admin host, or user host, and we leave can SSL disabled. (SSL is disabled by default, however it is included above for visibility.) Simply select the port you wish AMPS to run by setting the http_port parameter.

For additional ports, feel free to specify additional ports you wish to expose from AMPS for any services you intend to run, such as SFTP servers or API Gateways. By default, the chart exposes 15022 for an SFTP Server and 1234 for an API Gateway.

For archive enabling, setting enabled to true will also deploy a Minio instance with an archive bucket automatically created and also print some instructions for accessing the MinIO credentials.

For the default storage class, it is important for us to specify which storage class AMPS and its dependencies should use in order for persistence to work properly. Running the following command will list all storage classes and indicate which is the default. If the default is okay, specify it in all the storage class fields. (Though the dependencies and AMPS will use the default storage class automatically if it is unset, it is better to explicitly specify the storage class to avoid unexpected behavior when upgrading.) Storage Classes that use nas storage can sometimes can finicky behavior when mounting to containers, so if possible, use another storage class if available.

Deployment

After configuring your custom values.yaml file, you can use the following command to install AMPS using helm and specify that helm should also use your custom values file by replacing "<myvalues>" with your file name.

helm install amps mftlabs/amps --values <myvalues>.yaml

After the chart successfully installs, navigate to the OpenShift Console and head to routes under Networking in the Administrator Menu. Create two new routes, one for the admin portal, and one for the user portal. For both routes, select the "amps-svc-ui" service and the http_port that you specified in your custom values file. If you wish to secure these routes, generate SSL credentials using your internal certificate authority and attach them to the routes. Finally, get the admin URL and user URL of the created routes and use them as the admin_host and user_host in your custom values file, respectively. Finally, upgrade your deployment using the following command and replacing "<myvalues>" with your file name.

helm upgrade amps mftlabs/amps --values <myvalues>.yaml

After successfully upgrading and initial container setup, you should be able to access the AMPS UI and User Portal.

Kubernetes