@teamhive/pulumi-core

This library contains opinionated building blocks for creating pulumi application projects. The main difference between pulumi-core and pulumi-common is that pulumi-core is integrated with a configuration system. This helps facilitate having multiple environments of this application where tags can move between environments. Significant resources provided by this library are

Usage no npm install needed!

<script type="module">
  import teamhivePulumiCore from 'https://cdn.skypack.dev/@teamhive/pulumi-core';
</script>

README

pulumi-core

This library contains opinionated building blocks for creating pulumi application projects. The main difference between pulumi-core and pulumi-common is that pulumi-core is integrated with a configuration system. This helps facilitate having multiple environments of this application where tags can move between environments. Significant resources provided by this library are

  • setUpStack: function that returns the current environment (stack), the outputs of the previous stack (if there is one), and the environment number for this stack, which is used space out load balancer priorities where multiple stacks operate within the same load balancer.
  • CoreTrackedImage: An instance of this class represents an image/tag combination that gets moved through stacks. For example if you have an image with specific tag in your development environment, running pulumi up on the prerelease environment (which has development as its previous environment), will grab the tag from the development stack, put it in its output, and optionally tag it in ECR.
  • CoreMicroservice: This class builds on the tracked image and deploys that image as an ECS Service.
  • CoreMicroserviceAPI: This class builds on the core microservice and deploys and adds the microservice to the load balancer under the given path and in front of an nginx proxy.