⚙️
Integrated Digital Engineering on AWS
  • 🚀First Time Users
    • What is IDEA?
    • Install IDEA
      • Pre-Requisites
      • Standard Installation
    • Access your IDEA cluster
      • APIs
      • Virtual Desktops (Linux/Windows)
      • Web Interface
      • SSH
    • File Browser
    • Let's get started
    • Cluster operations
      • Uninstall IDEA
      • Update IDEA cluster
        • Patch IDEA module (idea-admin.sh patch)
        • Update IDEA configuration (idea-admin.sh config)
        • Update IDEA backend resource (idea-admin.sh deploy)
  • 🤖Modules
    • What is a module?
    • Virtual Desktop Interfaces
    • HPC Workloads
    • Cluster Manager
    • Shared Storage
  • 👑Best Practices
    • Analytics
      • OpenSearch
        • Configure your OpenSearch
        • Create your own analytics visualizations
    • Budget
      • Review your AWS spend
      • Control your AWS spend
      • Set up budget per project
    • Security
      • Backup IDEA environment
  • 🧱Architecture
    • High Level Overview
  • 🛠️Developer Portal
    • IDEA CLI utility
    • Developer Onboarding
  • 🚨Help and Support
    • FAQ
    • Raise a bug
Powered by GitBook
On this page
  • Pre-Requisites
  • Prepare environment
  • Python <PYTHON_VERSION>
  • NodeJS <NODEJS_VERSION>
  • Clone Git Repo
  • Virtual Environment
  • Install Dev Requirements
  • Verify Dev Setup
  • Clean, Build and Package
  • Run idea-admin.sh in Developer Mode
  1. Developer Portal

Developer Onboarding

PreviousIDEA CLI utilityNextFAQ

Last updated 1 year ago

Pre-Requisites

  • +

Versions

Replace the variables in the code snippets below with the following values:

  • PYTHON_VERSION: 3.9.18

  • NODEJS_VERSION: 16.3.0

  • CDK_VERSION: 2.95.1

Prepare environment

Python <PYTHON_VERSION>

pyenv install --skip-existing $PYTHON_VERSION

NodeJS <NODEJS_VERSION>

nvm install $NODEJS_VERSION
nvm use $NODEJS_VERSION

AWS CDK <CDK_VERSION>

Note: Do NOT install CDK globally using npm -g or yarn global add

Follow the instructions below:

mkdir -p ~/.idea/lib/idea-cdk && pushd ~/.idea/lib/idea-cdk
npm init --force --yes
npm install aws-cdk@$CDK_VERSION --save
popd

If you want to upgrade CDK version for your existing IDEA dev environment, run:

invoke devtool.upgrade-cdk

Docker Desktop (Optional)

Follow instructions on the below link to install Docker Desktop. (Required if you are working with creating Docker Images)

Clone Git Repo

All CRs will be accepted only against the main branch.

git clone https://github.com/awslabs/integrated-digital-engineering-on-aws.git
cd integrated-digital-engineering-on-awsb
// make your changes

Virtual Environment

Activate your python virtual environment via:

PYENV_VERSION=$PYTHON_VERSION python -m venv venv
source venv/bin/activate

If your PYENV_VERSION command is not working for any reason, you can create venv using below command:

$HOME/.pyenv/versions/$PYTHON_VERSION/bin/python3 -m venv venv

Install Dev Requirements

pip install -r requirements/dev.txt
Note for MacOS users

BigSur Note: cryptography and orjson library requirements fail to install on MacOS BigSur.

env LDFLAGS="-L$(brew --prefix [email protected])/lib" CFLAGS="-I$(brew --prefix [email protected])/include" pip install cryptography==36.0.1

To fix orjson, run:

brew install rust
# Upgrade your pip
python3 -m pip install --upgrade pip

Verify Dev Setup

Run below command to check if development environment is working as expected, run:

invoke -l

Running this command should print output like below:

Clean, Build and Package

invoke clean build package

Run idea-admin.sh in Developer Mode

The IDEA_DEV_MODE environment variable is used to indicate if idea-admin.sh should use the Docker Image or Run from sources.

  • If IDEA_DEV_MODE=true, idea-admin.sh will execute administrator app directly using sources.

  • If IDEA_DEV_MODE=false (default), idea-admin.sh will attempt to download the docker image for the latest release version and execute administrator app using Docker Container.

Export IDEA_DEV_MODE=true on your terminal, before executing idea-admin.sh on from project root.

# Enable Dev Mode
export IDEA_DEV_MODE=true

You will need to run export IDEA_DEV_MODE=true, each time you open a new Terminal session.

Verify if Developer Mode is enabled

To verify, if Developer Mode is enabled, run below command. This should print (Developer Mode) at the end of the banner.

To fix cryptography, follow the instructions mentioned here:

🛠️
Available tasks:

  admin.main (admin)                   call administrator app main
  build.administrator                  build administrator
  build.all (build)                    build all
  build.cluster-manager                build cluster manager
  build.data-model                     build data-model
  build.dcv-connection-gateway         build dcv connection gateway
  build.scheduler                      build scheduler
  build.sdk                            build sdk
  build.virtual-desktop-controller     build virtual desktop controller
  clean.administrator                  clean administrator
  clean.all (clean)                    clean all components
  clean.cluster-manager                clean cluster manager
  clean.data-model                     clean data-model
  clean.dcv-connection-gateway         clean dcv connection gateway
  clean.scheduler                      clean scheduler
  clean.sdk                            clean sdk
  clean.virtual-desktop-controller     clean virtual desktop controller
  devtool.build                        wrapper utility for invoke clean.<module> build.<module> package.<module>
  devtool.configure                    configure devtool
  devtool.ssh                          ssh into the workstation
  devtool.sync                         rsync local sources with remote development server
  devtool.upload-packages              upload packages
  docker.build                         build administrator docker image
  docker.prepare-artifacts             copy administrator docker image artifacts to deployment dir
  docker.print-commands                print docker push commands for ECR
  package.administrator                package administrator
  package.all (package)                package all components
  package.cluster-manager              package cluster manager
  package.dcv-connection-gateway       package dcv connection gateway
  package.scheduler                    package scheduler
  package.virtual-desktop-controller   package virtual desktop controller
  release.prepare-opensource-package
  release.update-version
  req.install                          Install python requirements
  req.update                           Update python requirements using pip-compile.
  scheduler.cli (scheduler)            call scheduler cli
  tests.run-integration-tests          Run Integration Tests
  tests.run-unit-tests                 Run Unit Tests
  web-portal.serve                     serve web-portal frontend app in web-browser
  web-portal.typings                   convert idea python models to typescript
./idea-admin.sh about

 '####:'########::'########::::'###::::
 . ##:: ##.... ##: ##.....::::'## ##:::
 : ##:: ##:::: ##: ######:::'##:::. ##:
 : ##:: ##:::: ##: ##...:::: #########:
 '####: ########:: ########: ##:::: ##:

 Integrated Digital Engineering on AWS
          Version 3.0.0-beta.1
            (Developer Mode)
AWS CLI v2
Python3
PyEnv
nvm
yarn
Git
https://docs.docker.com/desktop/mac/install/
https://stackoverflow.com/questions/64919326/pip-error-installing-cryptography-on-big-sur