View on GitHub

orleans-contrib-universalsilo

An opinionated, batteries-included, set of templates and libraries to enable you to easily start developing applications with Microsoft Orleans on Azure.

make Targets Reference

General

You can run these targets from a terminal where the current directory is the project folder (where the Makefile resides).

You can run individual targets

And you can chain targets together

Multiple Target Families

The Makefile provided has several groups of targets, which are documented here, and in the Makefile itself:

1. “dotnet” commands

The following targets effectively package dotnet commands for ease of use. You can also use the traditional dotnet commands on the solution and various projects if you wish to do something not packaged in the Makefile.

2. “docker” commands

In this stage, we will containerize the application so we can use Docker.

The following targets effectively package docker commands for ease of use. You can also use the traditional docker commands on the solution and various projects if you wish to do something not packaged in the Makefile.

The Makefile also has some powerful targets targets to help you manage Docker itself. Use these with great care.

THESE TARGETS AFFECT ALL CONTAINERS AND IMAGES ON YOUR SYSTEM

BE CAREFUL WITH THEM

3. “kubectl” commands

Ensure you are in the ‘docker-desktop’ context before running these make targets, as they will operate against the active context. This is by design, as we will reuse the same targets when working against AKS but we will ensure that we have set the context appropriately before running them then.

The following targets effectively package kubectl commands for ease of use. You can also use the traditional kubectl commands on the solution and various projects if you wish to do something not packaged in the Makefile.

5. “az cli” commands

One of the preferred ways of interacting with Azure programmatically is to use the Azure CLI.

You can install Azure CLI on your local machine, but I find that it tends to snowflake your dev environment unnecessarily. A much cleaner way is to run the Azure CLI from within the official Docker image provided.

I find it is useful, from here on out, to have two terminal windows open:

  1. The terminal which will run the Azure CLI from within Docker. The active directory should be the main project directory ( i.e. with Makefile in it). We’ll call this the “Azure” terminal.
  2. The terminal which will run all the other make targets. The active directory should be the main project directory ( i.e. with Makefile in it). We’ll call this the “Project” terminal.

You will generally need to run the following commands every time you fire up the “Azure” terminal.

Please note that Setup.cfg is not source controlled as it contains secrets.

You will have to ensure that Setup.cfg has proper values in it for the “organization” and “project” names, so you will have to do this every time you clone your project repo.

You can run the following targets in the “Project” terminal, as they do not have any az cli dependencies.

Now you can run all the k8s- targets listed above against the AKS cluster.

e.g.