Demo Architect Offerings

This guide will outline all of the offerings from the Demo Architect team

Demo Architect Offerings

Term Definitions

Before we jump into all of the offerings we need to first cover definitions because how GitLab references workshops, labs etc. may not be the same as where you worked before:

  • Workshop: this most often refers to a large online (or sometimes in person) event put on by the Field Marketing team. Goal attendance for these events would be around 250 students with a full GitLab staff MCing and helping with questions. Realistically they are more like a webinar with hands-on exercises as the instructor does not directly interact with any of the students.
  • Lab: Also called hands-on exercise, workshop etc. These are smaller, more personal events that fit into what you would traditionally call a workshop. The goal of these is to sell personalized content to a customer through an interactive hands-on activity that we have planned out.
  • Demos: whenever this doc mentions demos it is talking about ready to go projects/scripts/videos that you can then use in your own calls. If there is no hands-on component that falls into the Demo category.
  • Lunch & Learns: Primarily a term used by the CSE/CSM group to describe demos they give to a larger crowd. Will typically cover a topic like CICD in a short time frame with no hands-on portion. Almost all of the content here can be converted to this format.
  • Cohorts: Term for a session put on by the CSE team that is halfway between a lab and a workshop. The content is typically a workshop focusing only on the important stuff, but also is in a setting where the students can ask questions live.

Workshops

Workshops are meant to be offered in 3 hour sessions (with a few exceptions) generally in partnership with the FFM team. This content often doesn’t get very technical as workshops are open to the public resulting in many different skill sets, so we want to make sure everyone can still learn something from the events. If you are not currently partnered with the FMM team, you most likely are looking for a Lab instead.

The content in this section is typically updated at least 1 month after each release, with smaller updates provided before and after a workshop is ran.

  • GitLab Security & Compliance Workshop
    • Slides
    • Content
    • What does it sell/cover: Ultimate heavy. The majority of this workshop is showing how to run Security scans in your pipelines & then enforcing compliance based off of the results.
    • Instruqt?: No
  • GitLab DevSecOps Workshop
    • Slides
    • Content
    • What does it sell/cover: Ultimate heavy. This workshop is basically the Security & Compliance workshop minus the compliance plus deploying out a live application. 99% of the time it makes more sense to just run the Security & Compliance workshop.
    • Instruqt?: Yes
  • GitLab Adv CICD Workshop
    • Slides
    • Content
    • What does it sell/cover: Good for premium or ultimate. This workshop takes advanced topics (like DAGS, Includes, Needs, ETC) and presents them in basic ways. The goal is for someone new to CICD to get something out of the workshop and for experts to see how they can apply what they have learned to advanced features.
    • Instruqt?: Yes
  • GitLab AI Workshop
    • Slides
    • Content
    • What does it sell/cover: Ultimate heavy. Think of this workshop as a code suggestions workshop that also shows the students how to enable every other AI feature and test it out on their own. Always run this earlier in the week so that students have time to go back and see features like Suggested Reviewers.
    • Instruqt?: No
  • GitLab Basics Workshop
    • Slides
    • Content
    • What does it sell/cover: Any Tier. We just focus on the basics of GitLab and the fact that it is one platform that ties many things together without taking a deep dive into any specific topic.
    • Instruqt?: No
  • GitLab PM Workshop
    • Slides
    • Content
    • What does it sell/cover: Good for Premium or Ultimate. Focuses only only the planning stage, so make sure that the students you have coming are not expecting a technical workshop.
    • Instruqt?: No
  • GitOps Workshop (Temporarily Paused, reach out to Logan Stucker with questions)
    • Slides
    • Content
    • What does it sell/cover: Good for both premium and ultimate. Real benefit of this workshop is that it will set students up for how to use the agent for IAC or deploying an application. In the future we will be a deep dive into Flux as well.
    • Instruqt?: Yes
  • X to GitLab Workshop ( GitHub, Bitbucket, etc.)
    • Slides
    • Content
    • What does it sell/cover: This can be many different topics but typically is GitHub or Bitbucket. The goal here is to take people new to GitLab and show them how easy it is to swap platforms and what they are missing.
    • Instruqt?: Maybe

Labs/hands-on Content

The goal of labs is to provide SA/CSM/CSEs with the ability to put on hands-on demos for a customer to land a sale without them having to go through all of the work to set it up. These have had tremendous success being the key to landing a first order or getting a customer to see the value in Ultimate. They are often a great replacement for a trial as well because we can do a hands-on exercise into a short trial to ensure they actually test out the functionality we want them to. Because of this the content often needs to be customised so there is no set template like the workshops or cs demos. Instead we often use those as a starting point for the final result we are trying to show. To request a lab you first need to fill out the form via Demo Architect Portal then one of the Demo Architects will set up and intro call with you to go over content and start the process. Below are some examples of past labs we have ran:

  • Interactive Security Lab: The goal of this lab was to give the attendees a real life experience using GitLab to solve security problems. It was a small in person event, so we created an insecure project with many issues that were then assigned to various attendees. There was a short intro to GitLab + Security, followed by 2 hours of hands-on group work where the students collaborated to secure the project with their assigned issues. This was then followed by a retro and wrap up which really drove the value home.

  • Customer Lab Series: There was a customer that was partially using GitLab premium but still primarily a BitBucket account. A team of SAs + CSMs came together and gave a series of 20+ labs that walked through how to migrate off of BitBucket and onto GitLab followed by an in depth look at GitLab’s Ultimate security features. This led to a huge up sell in both licenses and Ultimate.

  • 0 to Hero Labs: This series of Labs has been running in the public sector where an SA will schedule an onsite visit and plan a day of labs. Morning is a PM and GitLab basics session to get everyone familiar with the product, followed by an afternoon session that is either hands-on/off and highlights all the best practices with GitLab Security. This has been a fantastic pipe generator specifically when you get people in the room that have never heard of GitLab mixed with existing customers. Because the sessions are so long there is plenty of time for discussion allowing people to discuss the true value of the product in their field.

Shared CS Demos

These demos are meant for anyone in the CS org to use when they get asked a question like “Hey can you show us how child pipelines work?” and instead of going out and re inventing the wheel you have a catalogue of ready to go applications that cover the topic. The idea is that anyone can contribute, and it is up to the contributor to keep the content up to date and provide a decent script or recording to help you present the topic. Watch the CS & SA slack channels at the start of the month as well when we will announce the project of the month.

AI

  • Code Suggestions Python Demo: This demo takes the basic Simply Simple Notes application and shows how you can use code suggestions to quickly finish a restful API and rewrite an insecure application

  • GitLab Duo Java Demo: This demo takes the simple application and shows how you can use the full potential of GitLab Duo to quickly remediate vulnerabilities and generate code faster.

Analytics

  • DORA Metrics Demo: This demo is meant to show how you can take advantage of the built in DORA metrics that GitLab collects as well as the VSA dashboard

CICD

  • child-project: This is just a child pipeline used in the CICD-Samples project. Does not have alot of use outside of being included in that demo.

  • CICD Project: This demo will cover all of the CICD basics from DAGs to security scanners and templates. Check out the different branches for a finished section of each part.

  • CICD-Samples: This project provides samples for different CI/CD scenarios, @samer.akkoub created and used it mainly to demo GitLab key CI/CD capabilities.

  • Docker App Example:This project features a website built from a Docker image and deployed via GitLab CI/CD. The Docker image is built, then it is uploaded to the Container Registry, and the container scanning pulls the built image and conducts scans, then the application is published to GitLab Pages.

  • Merge Trains: Basic CICD exmaple to show off the power of merge trains

  • monorepo: This project is a proof-of-concept for a monorepo application with 3 separate project folders that would like to run pipelines based on which project changes.

  • secure-cicd-demo: The purpose of this repository is to demonstrate a CICD flow using a build-up of Binary Authorization Attestations with multiple Attestors

  • sfdx-cicd-demo: Sample repo used in the webinar https://developer.salesforce.com/event/simplify-ci-cd

  • sfdx-cicd-template: This project contains a fully configured CI pipeline that works with Salesforce DX projects following the package development model. You can include a copy of, or import, this project’s .yml file in your own project. For a quick start example, please refer to sfdx/sfdx-project-template.

GitHub Competitive Demos

More to come soon!

Infrastructure

  • Automatic Labeler: Interacts with the label and api tester projects to run as a nightly script that applies all of the compliance framework labels to each project. Good demo to look at if someone is curious about using GitLab CICD to interact with the GitLab API.

  • Cluster Management: Example cluster management project that some of the static demos use

  • Demo Foundation: Terraform demo that will automate the process of spinning up a group + agent + cluster with GCP

  • gitlab-cluster-management-eks: example Cluster management project specifically for EKS

  • gitlab-cluster-management-gke: example Cluster management project specifically for GKE

  • gitlab-iac-demo: This project can be used to demonstrate a GitOps pipeline that showcases features of Ultimate. It follows a similar workflow to a typical day-in-the-life development demo while integrating best of breed tools for Infrastructure as Code and configuration management.

  • gitlab-terraform-eks: Terraform approach to the gitlab agent with EKS

  • gitlab-terraform-gke: Terraform approach to the gitlab agent with GKE

  • gitlab-terraform-gke-argocd: The purpose of this repository is to spin up a GKE cluster with ArgoCD pre-installed so you can configure your cluster through GitOps

  • gitlab-terraform-gke-flux-config: Terraform example project for GKE using flux. Also interacts with the gitlab-terraform-gke-fluxcd project

  • gitlab-terraform-gke-fluxcd: The purpose of this repository is to spin up a GKE cluster and configure GitOps with it using FluxCD

  • gitlab-terraform-gke-fluxcd-apps: interacts with the gitlab-terraform-gke-fluxcd project

  • GitOps Demo: Basic demo to show off how GitLab enables GitOps through our agent

  • IaC Scanning: Support for IaC Scanning as of 14.5 powered by kics. Terraformed IAC scanner demo

  • IaC Terraform: An IaC/GitOps Terraform project in GitLab to leverage built in GitLab functionality. This project creates a GitOps pipeline to perform init, validate, build, and deploy stages to create an EC2 environment.

  • IaC with Ansible: See how gitlab enables IAC with ansible

  • Infrastructure As Code Scanning: Demo project for Infrastructure as Code Scanning introduced in GitLab 14.5.

  • terraform-multi-env: This project is a proof-of-concept for a single project with 3 separate environment folders that would like to run pipelines based on which environment folder changes.

Project Management

  • Agile Demo: Group of a number of projects that show you how to use GitLab plan features with multiple projects in an agile way.

  • PM Tools Demo: This demo has the same planning issues as the PM workshop for you to show off a number of our planning features.

  • spring-sample: This demo walks you through how to show off the gitlab integration with Jira and even provides steps on how to spin up your own free jira instance.

Security

  • API DAST Security Scanner: DAST security scanners for graphql, har, openapi, postman, and soap

  • API Fuzzing Security Scanner: Fuzzing scanner for graphql, postman, and soap

  • Coverage Fuzzing Security Scanner: Lots of fuzzing examples for afl, cpp, go, heartbleed, java, js, python, ruby, rust, swift

  • External Required Scans: This project identifies a single CI/CD YAML file that includes several scanners available for projects within the realm of the compliance framework. The goal is to identify a number of external scanners and scan results, providing a variety of results to the project that can then be acted upon.

  • External Scans with C++ Compliance: This project provides a working example of C/C++ scanning utilizing a combination of GitLab scanners as well as external scanners. It was forked from the GitLab project providing an example for LibFuzzer scanner. As the LibFuzzer is pretty specific I felt this was a good launch point from where other scanners can be added.

  • OWASP Juice Shop: OWASP security demo for gitlab. Practice before using as compeititors have added traps for our platform.

  • Security Dashboard Project: Static project that your can use look through the end results of a security scan

  • Security Demo Project: Basic security demo that you can use to show how to add security scanners then parse the results

  • Tanuki Trust: Large scale project great for not just showing off PM but also security and CICD. Fantastic for any customer that wants to see the full layout of what their group on gitlab.com may be

Shared CS Infrastructure

CS team members are constantly spending time re-inventing the wheel and spinning up infrastructure that their teammates have already done. The goal with this shared infrastructure is to eliminate that time waste allowing CS team members to focus on the integrations themselves instead of just how to get it to work. To get access you just have to fill out an access form for each project. Also feel free to fill out an enhancement form if you notice that the application is missing something you were hoping to show off (like a grafana plugin). Don’t see a project you were hoping to use? Just create an issue on the Dev Issue Board and one of the SAs will pick up the task. Please note that there are two different types of infra, the first being applications that are easy to spin up without a high cost. Others like Snyk, Auth0 etc we will instead provide readmes on how to use their free cloud tiers or work around to give the demo but there are no plans to spin these up ourselves.

  • Grafana
  • Hashicorp Vault
  • JFrog Artifactory
  • Jenkins
  • Remote Development Host
  • Terraform GCP GKE
  • Azure
  • Jira

Live Talk/Keynote Resources

This group is full of slide decks and talk track you can take advantage of to give keynotes or public talks at various conferences. Often times these come with recordings as well so you can see what has worked for other employees in the past. These are not meant to be demo recordings, but rather talks around concepts and values of the GitLab product.