1. Packages
  2. Azure Classic
  3. How-to Guides
  4. Azure WebServer with Manual Provisioning

We recommend using Azure Native.

Azure Classic v5.73.0 published on Monday, Apr 22, 2024 by Pulumi

Azure WebServer with Manual Provisioning

azure logo

We recommend using Azure Native.

Azure Classic v5.73.0 published on Monday, Apr 22, 2024 by Pulumi

    View Code

    This demonstrates using the @pulumi/command package to accomplish post-provisioning configuration steps.

    Using these building blocks, one can accomplish much of the same as Terraform provisioners.

    Running the Example

    First, create a stack, using pulumi stack init.

    Now, we need to ensure that our dependencies are installed:

    $ npm install
    

    You’ll need to log in to the azure cli. You will be prompted to do this during deployment if you forget this step.

    $ az login
    

    We’ll need to set some config for login credentials, and location information.

    pulumi config set azure:location westus
    pulumi config set username <your_username>
    pulumi config set password --secret <your_desired_password>
    

    Next, generate an OpenSSH keypair for use with your server - as per the Azure Requirements

    $ ssh-keygen -t rsa -f rsa -m PEM
    

    This will output two files, rsa and rsa.pub, in the current directory. Be sure not to commit these files!

    We then need to configure our stack so that the public key is used by our VM, and the private key used for subsequent SCP and SSH steps to configure our server after it is stood up.

    $ cat rsa.pub | pulumi config set publicKey --
    $ cat rsa | pulumi config set privateKey --secret --
    

    Notice that we’ve used --secret for privateKey. This ensures the private key is stored as an encrypted Pulumi secret.

    From there, you can run pulumi up and all resources will be provisioned and configured.

    azure logo

    We recommend using Azure Native.

    Azure Classic v5.73.0 published on Monday, Apr 22, 2024 by Pulumi