aureq / pulumi-az-ts-training-session-4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pulumi training using TypeScript (4th session)

Exercises to learn how to use Pulumi (4th session)

Introduction

This exercise starts where we finished the previous session (a Virtual Network and a VM) but dive deeper on Pulumi reusability patterns at scale. You'll learn how to create your own Component Resource and use stack references along the way.

For a better learning experience, you way want to start with your own code from the previous training session.

Content

  • Switch to the exercise folder, create a new stack and install the node modules (npm install)
  • Create 2 folders named network and app

The network project

  1. Switch to the network/ folder, create a new stack and install the node modules (npm install)
  2. Deploy a fully functional virtual network as a component resource
    • Ensure the component resource is easily portable
  3. Determine the necessary stack outputs for the webserver project to use

The webserver project

  1. Switch to the app folder, create a new stack and install the node modules (npm install)
  2. Use stack references to retrieve the necessary dependencies
  3. Use the get*() functions to retrieve existing resources
  4. Deploy a VM you can SSH into in the previously created subnet
    • Use stack references
    • Use Ubuntu 20.04 LTS (latest version)
    • ensure you can SSH into each VM
  5. Create stack outputs for:
    • the VMs hostname
    • the username
    • the password

Bonus/Challenges

  1. Use Pulumi runtime functions to determine the current stack name
  2. Your component resource doesn't rely on pulumi.Config()
  3. Your component resource args use strong typing

Resources

Answers

You will find all the answers here.

About

License:Apache License 2.0


Languages

Language:TypeScript 100.0%