Skip to content

sa-ne/rhi-demo-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Red Hat Integration Demo

Example Use Case

This demo shows how to use integration products and leverage OpenShift features for a enterprise graded deployment.

In this demo a company uses Salesforce to track it’s sales engagements and wants to connect those opportunities to it’s work management platform, Asana.

These are the required steps for this integration:

  • Every time that a new opportunity is created in Salesforce that opportunity will become a task in an Asana project.

  • The opportunity data needs to be enriched before it becomes an Asana task.

  • If the opportunity gets updated, so should be the Asana task.

Graphical representation of the components used to implement this solution:

Components diagram

Tools Available

OpenShift Logging

Visualize the integration logs using Kibana. The log content is mapped using LogForwarding rules.

Kibana Dashboard

OpenShift User Workload Monitoring

Check the application state using customized Grafana dashboards.

Grafana Dashboard

OpenShift Service Mesh

Visualize the integration topology using Kiali.

Kiali Dashboard

Integration with Quay.io

The images created in the demo are stored in Quay.io.

Quay Dashboard

OpenShift Pipelines

Create images and upload them to an external service registry using Tekton Pipelines.

Tekton View
Tekton View

OpenShift GitOps

Deploy application and configuration while enforcing configuration using ArgoCD.

Argo
Argo

3scale

Expose a REST API on the internet using 3scale.

Installing the demo using Ansible

Resource requirements

Note

TBD

Parameters

Parameter Example Value Definition

token

sha256~vFanQbthlPKfsaldJT3bdLXIyEkd7ypO_XPygY1DNtQ

access token for a user with cluster-admin privileges

server

https://api.mycluster.opentlc.com:6443

OpenShift cluster API URL

Create an extra-vars file

Before running the Ansible playbook you must create a file to set some required credentials by the applications. You can use the following text as an template.

# Asana access and configuration information
asana_pat:
asana_workspace_gid:
asana_project_gid:
asana_field_opportunity:
asana_field_customer:
asana_field_booking:

# Salesforce access information
sf_client_id:
sf_client_secret:
sf_username:
sf_password:
sf_instance:

# In order to push the image to a private registry a .dockerconfigjson needs to be provided. You can skip this configuration if you don't intend to show Pipelines.
docker_config:

# This is the image registry URL used in the demo. You can skip this configuration if you don't intend to show Pipelines.
registry_url:

# These are the URL for the applications repositories. This is needed to build the image and deploy the application
ingestor_git:
asana_adapter_git:

Extra-vars definitions

  • For information about Asana access properties look at asana-adapter’s git repository.

  • For information about Salesforce access properties look at salesforce-webhook-ingestor’s git repository.

Deploying the demo

Export token and server as environment variable, then run under the ansible folder:

ansible-playbook -e token=${token} -e server=${server}  --extra-vars @extra-vars.yml playbook.yml

Deleting the demo

ansible-playbook -e token=${token} -e server=${server}  -e delete_demo=true playbook.yml

Additional configurations

Once the demo is deployed you may need to do additional configurations that are not covered by the automation.

When opening Kibana for the fist time you need to map the correct index for the searches. Use something like app* to do it.

Kibana
Kibana

About

[RHI DEMO] Deployment automation project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages