Skip to content

Latest commit

 

History

History
126 lines (85 loc) · 5.11 KB

workshop.md

File metadata and controls

126 lines (85 loc) · 5.11 KB

1. Omnia Radix Workshop 1

Purpose

The purpose of the workshop is to give a general and hands-on introduction to Radix. We do this by "forking" and example application, get familiar with the application, establish a CI environment locally, move the application into Radix and then establish the full CI/CD DevOps cycle.

1.1. Part 1

1.1.1. Pre-requisites

  • Added to proper AD Group fg_radix_platform_user
  • Verify access to Radix - https://console.radix.equinor.com/
  • Account on github.com
  • Git installed and working locally against github.com
  • Docker running locally
  • Local dev. environment (IDE++)
  • Node js eco system installed and running (Downnload Nodejs)
  • Laptop that "works" on “Statoil Approved” WiFi. If not - know how to handle proxy fun for both Docker and local development environment

1.1.2. Getting started

  1. Fork repository to your home on github. Consider choosing an alternative name for the repository
  2. Clone your newly forked repository down to your developer laptop

1.1.3. Exploring the Echo app

  1. Move into the echo folder and explore how to develop the Echo app using Node.js as well as Dockerizing the application.

1.1.4. Exploring the Echo app

  1. Move into the www folder and explore how to develop the WWW app using Node.js as well as Dockerizing the application.

Remember that the Echo app needs to run somewhere to get proper response.

1.1.5. Preparing for Radix

Important to know:

  1. The difference between platform user and application user
  2. Important terminology: application, environments,components, and replicas
  3. raidxconfig.yaml - lives on the master branch and is your infrastrucure as code - drive your app in Radix.

1.1.6. Explore radixconfig.yaml

  1. Reading the docs
  2. Exploring the config file for the example app ./radixconfig.yaml

1.1.7. Creating the application on Radix

  1. Update the name of your instance of the application in radixconfig.yaml
  2. Follow the getting started guide (www.radix.equinor.com) or "just do it!"
  3. Do a change to trigger the initial build (or use the "New job" feature in the jobs/environment section). Examine web-hooks and reponse in Radix
  4. Verify that the app work on the public end-point it has been given.

1.1.8. Using multiple branches - multiple environments

Radix support connecting a branch to a specific environment. Let's explore this.

  1. Update the radixconfig.yaml file, commit, push and explore what's happening in Radix. (Copy the file ./radixconfigs/radixconfig-feature1.yaml to ./radixconfig.yaml. Remember to update app name)
  2. Check out the "new" branch (feature1)
  3. Examine code - the new feature (getting a new env variable from Echo)
  4. Do a change, commit, push and explore what's happening in Radix.

1.1.9. Monitoring & Metrics

  • To Be Decided

1.2. Part 2

1.2.1. Next steps

  • Move your own apps into Radix

1.3. Typical questions

(Status as of January 2019)

  • Storage - databases
  • Authentication
  • Logging
  • Metrics - Monitoring
  • Radix CLI (Api)
  • Backup & Disaster recovery
  • Own domain names / urls for apps

1.4. Where to get started, get help, log issues or feature requests

1.4.1. Getting help

1.4.2. Getting started

1.4.3. Log issues & feature requests

It makes sense to examing existing issues and perhaps discuss on Slack prior to logging a new one