LogoLogo
  • GETTING STARTED
    • Violet Documentation
    • What is Violet?
    • Platform Overview
  • Integrations
    • Connect self-hosted software
  • FEATURES
    • Dashboards
      • Customization
      • FAQ
    • Data Explorer
      • FAQ
    • Automations
      • Jira to Smartsheet
        • Auto-update Jira data using formulas
      • Solidworks PDM to Fusion
      • Teamcenter to Datum
      • Teamcenter to ION
      • Teamcenter to Netsuite
      • FAQ
    • Reports
      • Multisource
        • Custom Columns
        • FAQ
      • Clear To Build
      • Build Velocity
    • Requirements
      • View: Table vs. Graph
      • Structure: Hierarchy vs. System
      • Systems
      • Import via CSV
      • Custom Fields
      • Verifications
      • Satisfaction
    • Parameters
    • Scripts
      • Creating and running scripts
      • Violet Variables
      • Live scripts
      • History and notifications
      • FAQ and Examples
    • SysML
    • Change Orders [Beta]
    • Schedules [Beta]
    • Workflows [Beta]
  • RESOURCES
    • Administrative
      • Invite your team
      • Permissions
      • Single Sign-On
      • On-Premises Deployment
        • Azure Deployment
        • AWS Deployment
        • Nutanix AHV Deployment
    • Security & Compliance
      • ITAR/EAR Compliance
      • SOC 2 Certification
      • NIST/CMMC Compliance
      • Data Retention, Backup and Recovery
      • Legal Stuff
    • Videos and Tutorials
    • FAQ
    • Pricing
  • APPS
    • A
      • Acumatica (Coming Soon)
      • AllSpice (Coming Soon)
      • Altium 365
        • Connect Altium 365 in Violet
      • Altium Designer
      • Aras
      • Arena
      • Asana
        • [Optional] Connect using a PAT
      • AutoPCB (Coming Soon)
    • B
      • Basecamp (Coming Soon)
      • Bild (Coming Soon)
      • BILL
        • [Advanced] Retrieve your Organization ID
        • [Optional] Import BILL data
      • Bitbucket
        • [Optional] Connect Bitbucket with API Token
      • Box
      • Brex
        • [Optional] Connect to Brex using an API Token
    • C
      • Cameo
      • Capella (Coming Soon)
      • ChatGPT (Coming Soon)
      • ClickUp
      • Cofactr
      • Confluence
      • Costpoint (Coming Soon)
      • Coupa (Coming Soon)
      • Creo (Coming Soon)
    • D
      • DOORS (Coming Soon)
      • Datum
      • Docusign (Coming Soon)
      • Dropbox (Coming Soon)
      • Duro
    • E
      • Enterprise Architect (Coming Soon)
      • Epicor (Coming Soon)
      • Epsilon3
    • F
      • Factor
      • FactoryLogix (Coming Soon)
      • Flow
      • Fleetio (Coming Soon)
      • Fulcrum
      • Fusion360 (Coming Soon)
      • Fusion
    • G
      • Gitea
      • GitHub
        • [Optional] Connect with an API Token
      • GitLab
        • Generate a GitLab API Token
        • Connect self-hosted GitLab
      • GENESYS
      • Google Drive
      • Google Sheets
    • I
      • Innoslate (Coming Soon)
      • InvenTree
      • ION
        • Connect ION in Violet
    • J
      • Jama
        • Connect self-hosted Jama
        • [Optional] Connect with Jama Client ID & Secret
      • Jira
        • Self-hosted Jira
        • [Optional] Connect via Jira API Token
      • Julia
      • JITX (Coming Soon)
    • K
      • Kiwi TCMS (Coming Soon)
    • L
      • LeoTrack (Coming Soon)
      • Linear
      • Lucidchart
      • Lucidscale
      • Lucidspark
      • Luminary Cloud (Coming Soon)
    • M
      • Manufacturo
      • Mathcad (Coming Soon)
      • MATLAB
      • Microsoft 365
      • Microsoft Teams (Coming Soon)
      • Microsoft Project (Coming Soon)
      • Monday.com
        • [Optional] Connect to Monday.com with an API Token
    • N
      • NetSuite
        • Configure NetSuite to connect
        • Connect NetSuite in Violet
        • Configuring NetSuite data syncs
      • Nuclino
      • Notion (Coming Soon)
      • NX (Coming Soon)
    • O
      • Octopart
        • Connect Octopart in Violet
      • Odoo (Coming Soon)
      • Onshape
      • Opcenter (Coming Soon)
      • OpenBOM
    • P
      • Parasoft (Coming Soon)
      • Pathfinder
      • Polarion (Coming Soon)
      • Precoro
      • Procurify
      • Puzzle
      • Python
    • Q
      • QuickBooks
    • R
      • Ramp
    • S
      • SAP ME (Coming Soon)
      • SAP S/4 HANA (Coming Soon)
      • SatCatalog
      • Sedaro
        • Using Violet data in Sedaro
      • SimScale
      • Simulink (Coming Soon)
      • Slack
      • Smartsheet
        • Smartsheet Gov
      • Solidworks PDM
      • Solumina (Coming Soon)
      • StartProto (Coming Soon)
      • Syndeia (Coming Soon)
      • SysML
      • Syteline (Coming Soon)
    • T
      • Teamcenter
        • Configure Teamcenter to connect
        • Connect Teamcenter in Violet
        • Set up Teamcenter integration
        • Data fetched from Teamcenter
        • Teamcenter FAQ
      • Teamcenter X (Coming Soon)
      • TestRail
      • Trello
      • Tulip (Coming Soon)
    • V
      • Valispace
      • Visure (Coming Soon)
      • VOLTA (Coming Soon)
    • W
      • Wasp (Coming Soon)
      • Wayfinder
      • Windchill
      • Wrike
    • X
      • Xero
      • Xray (Coming Soon)
  • Z
    • Zuken E3 (Coming Soon)
Powered by GitBook
On this page
  • Prerequisites
  • Violet Helm Chart Installation

Was this helpful?

  1. RESOURCES
  2. Administrative
  3. On-Premises Deployment

AWS Deployment

PreviousAzure DeploymentNextNutanix AHV Deployment

Last updated 9 days ago

Was this helpful?

Prerequisites

  1. On a workstation with access to your AWS cloud, install the following tools if you don’t already have them available:

    • AWS CLI:

    • Helm:

    • Kubectl:

  2. Create a new EKS cluster, or choose an existing cluster to install Violet into. The cluster must have at least 3 nodes with at least 8GB of RAM. t3.large or bigger is a good choice. When creating a new IAM role for the EKS Worker Node Role, make sure to add ec2:CreateVolume permissions by attaching the AmazonEBSCSIDriverPolicy

  3. In your new EKS cluster, install the EBS Add-on:

  4. Connect your workstation kubectl to the new EKS cluster. Substitute <eks-cluster-name> with your new EKS cluster in the following:

aws eks update-kubeconfig --name <eks-cluster-name>

Violet Helm Chart Installation

  1. Add a new profile containing the Violet AWS Credentials to your workstation. These values are provided by Violet Labs and are specific to your installation:

aws configure --profile violet-external

AWS Access Key ID [None]: <your-violet-access-key>
AWS Secret Access Key [None]: <your-violet-access-key-secret>
Default region name [None]: us-west-1
  1. Create a new file, violet-values.yml containing your AWS credentials and specific application configuration:

domain: # The domain where Violet will be served. Subdomain must be "violet": violet.mydomain.com
customerName: # The customer name of your license. Provided by Violet
licenseKey: # Your license key. Provided by Violet
adminEmail: #admin user email for the customer
adminName: #admin user full name ("Firstname Lastname") for the customer

aws:
  accessKeyId: # Your Violet AWS Access key, provided by Violet
  accessKeySecret: # Your Violet AWS secret, provided by Violet

global:
  storageClass: gp2
  
# optional: This is required if you wish to use an external database instead of an internal postgres db automatically spun up by the helm chart
postgresql:
  enabled: false # This disables the internal postgresql db
  auth:
    host: # hostname for external db (e.g. '[db_name].postgres.database.azure.com')
    password: # password for application db user, used by app
    username: # username for application db user, used by app
    adminPassword: # username for db, with migrations & seed permissions
    adminUsername: # password for db, with migrations & seed permissions
  1. Create a new kubernetes namespace for the Violet installation:

kubectl create namespace violet
  1. Install the nginx ingress controller chart which allows EKS to set up a load balancer to route traffic from the internet to the new Violet deployment:

helm install --namespace kube-system nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
  1. Install the external-secrets chart. This is used to load some customer-specific secrets from AWS into the Violet deployment:

helm repo add external-secrets https://charts.external-secrets.io
helm repo update
helm upgrade --namespace external-secrets --create-namespace --install --wait external-secrets external-secrets/external-secrets
  1. Create a secret that allows Kubernetes to access the Violet Helm Chart repository:

kubectl create secret docker-registry --namespace violet ecr-creds --docker-server=911167899009.dkr.ecr.us-west-1.amazonaws.com --docker-username=AWS --docker-password=$(aws ecr --profile violet-external get-login-password)
  1. Login to the Helm repository:

aws ecr --profile violet-external get-login-password | helm registry login --username AWS --password-stdin 911167899009.dkr.ecr.us-west-1.amazonaws.com
  1. Install the Violet Helm Chart:

helm upgrade --namespace violet --create-namespace --install myviolet oci://911167899009.dkr.ecr.us-west-1.amazonaws.com/violet-helm --version 1.0.0-main -f violet-values.yml

Note that it may take up to 5 minutes to run the database provisioning scripts. You can check the status of the deployment by looking at the pods:

kubectl get pods -n violet

After installation is complete the helm chart will print our some information and commands including the URL to access your new deployment, how to get the IP Address that the deployment is served at (for setting up DNS rules) and how to obtain the auto-generated password for the violet_admin@violetlabs.com account.

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
https://helm.sh/docs/intro/install/
https://kubernetes.io/docs/tasks/tools/
Deploying or Updating Version-Locked Violet [OPTIONAL]

If you would like to lock the version of Violet that you are using and not automatically pull the latest version, add the following entry to your violet-values.yml file:

image:
  versionTag: # use correct version tag to lock a version and not always pull latest. Provided by Violet for initial deployment.

Violet changelog (& version tags) can be found here

If you are deploying Violet in this environment for the first time, continue to step 3.

If you have already deployed Violet and are just locking the version or updating to a specific version of Violet, enter that versionTag in the violet-values.yml file and then skip to step 8.

VioletLabs changelog | Productlane