Commit Graph

15 Commits

Author SHA1 Message Date
Ethan Vizitei d2e9b12035 update bundler in dockerfile
closes CNVS-26216

canvas requires a later bundler version than before

TEST PLAN:
 1) should be able to start a rails console without bombing due to
bundler version

Change-Id: I93f94f6e1afbd153668a2d9b5bbbc672840a065d
Reviewed-on: https://gerrit.instructure.com/69742
Reviewed-by: Benjamin Porter <bporter@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Ethan Vizitei <evizitei@instructure.com>
2016-01-05 22:29:38 +00:00
Benjamin Porter 434a0a3f59 Dockerfile: add utility required for building fonts
Building of fonts fails unless we have sfnt2woff

Test Plan:

  - Make sure image is built successfully
  - Make sure the following command succeeds:
    - docker-compose run --rm web bundle exec fontcustom compile --force

Change-Id: Ie7fa7e701584894ee5fd6d1eea7d4144c512b5bf
Reviewed-on: https://gerrit.instructure.com/69103
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
2015-12-18 17:32:55 +00:00
Benjamin Porter a39a2c0fc4 Simplify locale setting in Dockerfile
There is a simpler (and faster) way to set the locale properly inside
the ruby:2.1 image.

Test Plan:

    - Make sure the build succeeds and the locale is set properly

Change-Id: I1f1b7fb8f723f1c46b3f44e357789ae313513c2d
Reviewed-on: https://gerrit.instructure.com/68728
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Ryan Taylor <rtaylor@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
2015-12-12 04:34:09 +00:00
Ethan Vizitei be9244a47c add feature flag and dynamic config for RCE service
refs CNVS-24816

create the feature flag and expose it in
the Eportfolios controller

Add a consul docker container to docker-compose.yml,
and a class for consuming settings in consul.

Also, add the ability to init config values
into consul from the consul.yml file

TEST PLAN:
1) edit your consul.yml to look kinda like this:

development:
  host: consul
  port: 8500
  ssl: false
  init_values:
    rich-content-service:
      app-host: rce.docker
      cdn-host: rce.docker

2) go to edit an eportfolio as a logged in user
3) check in js console "ENV.RICH_CONTENT_SERVICE_ENABLED"
4) should be "true" or "false" depending on the feature
flag state for that user's root account
5) with the feature flag on, refresh and check the env
6) should have values in the env for
RICH_CONTENT_APP_HOST and RICH_CONTENT_CDN_HOST

Change-Id: Ic138e24416b2aadd965ce4811d3c56538de391bc
Reviewed-on: https://gerrit.instructure.com/66614
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2015-12-02 20:32:42 +00:00
Benjamin Porter 0a12543fe2 Dockerfile: Bump version of bundler
Test Plan:  Make sure that bundle install in the web container succeeds

Change-Id: I67af24cab8948e367e513068ec4d434b7388e883
Reviewed-on: https://gerrit.instructure.com/67018
Reviewed-by: Alex Kovshovik <akovshovik@instructure.com>
Tested-by: Jenkins
QA-Review: Benjamin Porter <bporter@instructure.com>
Tested-by: Benjamin Porter <bporter@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
2015-11-12 03:52:41 +00:00
Ethan Vizitei d7f61d1820 use web pack
closes CNVS-24124

makes working with web pack possible in canvas
instead of require-js.  See doc/working_with_webpack.md
for instructions.

TEST PLAN:
Nothing should change in non-webpack'd behavior
Things should mostly work when you use the
USE_WEBPACK environment variable, but make sure to document
and ticket things that don't

Change-Id: I493a259a609e9e183950bc57aa5876df70108547
Reviewed-on: https://gerrit.instructure.com/64386
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
2015-11-02 16:27:14 +00:00
Zach Wily 21329a09f1 switch docker dev env to use node 0.12
Canvas requires node 0.12 now.

Change-Id: I6ef4159c481ae1d2b2b2dc4eb962d07d5fe83025
Reviewed-on: https://gerrit.instructure.com/62955
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
Product-Review: Jason Madsen <jmadsen@instructure.com>
QA-Review: Jason Madsen <jmadsen@instructure.com>
2015-09-14 18:54:14 +00:00
Tyler Pickett 381ff13617 Add gulp to the image used by grunt
Change-Id: I60d14059d9f6831263e031835c6757a599c1d958
Reviewed-on: https://gerrit.instructure.com/60422
Tested-by: Jenkins
Reviewed-by: Zach Wily <zach@instructure.com>
Product-Review: Tyler Pickett <tpickett@instructure.com>
QA-Review: Tyler Pickett <tpickett@instructure.com>
2015-08-13 02:16:06 +00:00
Ethan Vizitei 8c48fad850 my kinesis won't start without this
closes RC-70

I was continuing to error with this:

kinesis_1 | LevelUPError: Failed to require LevelDOWN (Cannot find module 'leveldown/package'). Try `npm install leveldown` if it's missing

Adding the npm install command to the Dockerfile for
kinesis seemed to solve the problem.

Change-Id: I963e97761c966492fca8b3d8eec607d628902af9
Reviewed-on: https://gerrit.instructure.com/59966
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Jenkins
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
2015-08-04 22:31:01 +00:00
Zach Wily 1bb6e4509a spec: ensure we wait for a new page load when doing a get
This is another attempt to fix selenium spec reliability. Without this
change, when doing a `get` on a URL, we weren't waiting for the new page
to actually load before doing our checks. This leads to stale element
errors, etc.

We do have to be sure to *not* wait for a new page load if the target
URL is the same as the current URL, but with a different hash.

Running the following command:

```
for i in $(seq 10); do
  echo "**** $i"
  bundle exec rspec -e "moving outcomes tree should move a learning outcome group via tree modal" spec/selenium/
done
```

would fail at least half the time without this patchset, and never fails
with it (in my testing).

Change-Id: I2d707f96d7713f69be865355d8a78bad1261d446
Reviewed-on: https://gerrit.instructure.com/53211
Tested-by: Jenkins
Reviewed-by: Zach Wily <zach@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
2015-05-02 13:21:05 +00:00
Zach Wily e1d0fdaeac switch dev Dockerfile to run as docker user
Change-Id: Ie2a0bfc4cb84dd717fbaccb3b55531981ebba0d5
Reviewed-on: https://gerrit.instructure.com/53287
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
2015-05-01 18:50:34 +00:00
Zach Wily 521f619a3e switch to node image
Change-Id: Ibe5803fc1b3cfde211088f0661a98115e947d6a8
Reviewed-on: https://gerrit.instructure.com/52688
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
2015-04-28 19:27:26 +00:00
Brian Palmer 86c2fbe3a2 allow *.canvas.docker in the docker-compose dev environment
The leading dot is nginx syntax for allowing both `canvas.docker` and `*.canvas.docker`

Also pull in libxmlsec1-dev, for SAML.

Change-Id: I4281252053b7d890b08c06c30ad17f5b11670579
Reviewed-on: https://gerrit.instructure.com/52720
Tested-by: Jenkins
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2015-04-23 16:47:09 +00:00
Zach Wily 5d232f03af initial live events implementation
This commit adds a new module called LiveEvents that knows how to send a
certain set of events to Kinesis. The module is configured via
normal plugin settings per account. Once the plugin is configured with
a Kinesis stream, events will start getting sent to that stream.

Events are sent asynchronously, in a background thread.

test plan:
 * See `doc/live_events.md` for instructions on how to setup a local
   kinesis stream and configure the LiveEvents plugin.
 * Start tailing the stream with the command specified in
   `doc/live_events.md` in a terminal.
 * Perform the actions described in `doc/api/live_events.md` and verify
   that events show up in your Kinesis terminal with the correct data.

Change-Id: Id799688c972205a1eee84a673912f84b0c7abb57
Reviewed-on: https://gerrit.instructure.com/50324
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
2015-04-03 15:22:33 +00:00
Brian Palmer 4b42a9f66d docker-compose based dev environment
Adds a docker-compose.yml file, some containers for dependencies, and
some docker-compose-friendly config files. See
doc/development_with_docker.md for instructions on how to use.

Change-Id: I5eaee8a3e3c84bb608282bfd44ec7d49a123ef5f
Reviewed-on: https://gerrit.instructure.com/45508
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Addison Higham <ahigham@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
2015-03-30 20:59:48 +00:00