Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

NOTE: This documentation is

...

for manually launching a sandbox VEDA via terraform

For the easy way - LOOK HERE

Before you Start:

You'll need access to the edx/terraform repository.

...

  1. Start a sandbox building
    1. Make sure to build with basic auth off.
  2. While that's baking, you'll need an AWS hub account.


Once the sandbox is completed building, access your sandbox via ssh.

  1. Change these settings in /edx/app/edxapp/cms.env.json

    "FEATURES": {
        ...
        "ENABLE_VIDEO_UPLOAD_PIPELINE": true,
        ...
    },

    and

    ...
    VIDEO_UPLOAD_PIPELINE ={
        "BUCKET""${YOUR_SANDBOX_DNS}-vedaupload",
        "ROOT_PATH": "ingest/"
    },
    ...

    and

    Code Block
    ...
    "VIDEO_IMAGE_SETTINGS": {
            "DIRECTORY_PREFIX": "video-images/", 
            ...
            "STORAGE_KWARGS": {
                "bucket": "${YOUR_SANDBOX_DNS}-vedaimages", 
                "custom_domain": "s3.amazonaws.com/${YOUR_SANDBOX_DNS}-vedaimages", 
                ...
            }, 
            ...
        }, 
        ...
    }
    ...

    and for transcript bukcets

    Code Block
    ...
    "VIDEO_TRANSCRIPTS_SETTINGS": {
            "DIRECTORY_PREFIX": "video-transcripts/", 
            ...
            "STORAGE_KWARGS": {
                "bucket": "${YOUR_SANDBOX_DNS}-vedatranscripts", 
                "custom_domain": "s3.amazonaws.com/${YOUR_SANDBOX_DNS}-vedatranscripts", 
                ...
            }, 
            ...
        }, 
        ...
    }
    ...


  2. Configure Bucket Access (TEMPORARY)

    NOTE:  There is a ticket in to AWS Support about a bucket permissions issue.

    Please contact Ops/Neem/Mallow about getting a bucket provisioned for uploads until this is resolved.

    1. Add the following to /edx/app/edxapp/cms.auth.json

      Code Block
      ...
      	"AWS_ACCESS_KEY_ID": "${AWS_ACCESS_KEY}", 
      ...
          "AWS_SECRET_ACCESS_KEY": "${AWS_SECRET_ACCESS_KEY}", 
      ...

      More information can be found here. Make sure you're in the appropriate hub account role when generating keys. NEVER SHARE THEM

  3. While you're at it, create a superuser (The provided example sets 'staff' as a superuser, which is just fine)

  4. Restart your servers and workers. (Don't forget to exit from the sudo user first

...

  1. If you haven't, access your sandbox via ssh and create a superuser.

  2. Log in to the django admin (usually ${YOUR_SANDBOX_URL}/admin)
    1. Go to Oauth2 > Clients


    2. Click 'Add Clients' (rounded button, upper right hand corner)

    3. In the window, add the following information:
      1. User: Staff (usually pk=5, but the magnifying glass icon can help)
      2. Name: ${ANY RANDOM STRING} (e.g. 'veda_sandbox')
      3. URL: https://${YOUR_SANDBOX_URL}/api/val/v0
      4. Redirect uris: https://${YOUR_SANDBOX_URL}
      5. Client ID: autofilled, make note of this
      6. Client Secret: autofilled, make note of this
      7. Client Type: Confidential (Web Application)
      8. Logout URI: (can leave blank)

    4. Make Note of the Client ID and Client Secret, as these will be needed later for your 

    5. Remember to Save!

...