2

HashiCups (demo app and infrastructure code)

 1 year ago
source link: https://wilsonmar.github.io/hashicups/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

My customizations and notes about using the HashiCups sample app and infrastructure code created by HashiCorp to do their demos and training

Overview

BTW content here are my personal opinions, and not intended to represent any employer (past or present).

HashiCups is not a “bare bones” toy app. Unlike many others, HashiCups comes with configuration settings for installing in several clouds running with Kubernetes, Gateways, and other production-grade infrastructure.

That’s because HashiCorp created it and actively maintains it as the base for testing, demos, training, observability instrumentation (logging, monintoring, tracing), and performance benchmarks of HashiCorp’s industry-grade Terraform, Vault, Consul, Nomad, Waypoint, Packer, Vagrant, and others used by many Global 2000 enterprises around the world.

HashiCorp provides instructions for creating instances of HashiCups locally on a Mac and in Linux servers in various clouds. CircleCI config.yml code is provided for using Terraform Cloud.

HashiCups configurations include HA (High Availability) and High Performance redudancies across several Availability Zones and even several regions.

HashiCups leverages micro-services and Consul Service Mesh to connect components together securely in a way that satisfies “Zero Trust” principals.

All that means complexity to learn. So being comfortable installing and using HashiCups takes some time and cloud credits (if you’re not using Instruqt labs). But you’ll be learning a production-quality way to make use of the latest IT technologies.

The above is why here is where I put notes about integrating various HashiCorp products with utility software such as Kubernetes. Files for this topic is at my:

https://github.com/wilsonmar/hashicups

HashiCorp’s Codebase for HashiCups

Code to create an instance of Hashicups is (Apache 2) open-sourced at the GitHub Organization: https://github.com/hashicorp-demoapp

Also the infrastructure:

Its standard library of reusable abstractions (in Golang) uses Opentracing, Zipkin, Jaeger.

https://github.com/hashicorp/consul-k8s-prometheus-grafana-hashicups-demoapp from Sep 2020 (by Derek Strickland) contains application and dashboard definitions for the Consul Layer 7 observability with Kubernetes guide located at learn.hashicorp.com

https://github.com/hashicorp/learn-consul-k8s-hashicups

https://github.com/hashicorp/field-demo-hashicups-sample

https://learn.hashicorp.com/tutorials/terraform/provider-setup

https://learn.hashicorp.com/tutorials/consul/kubernetes-deployment-guide

https://learn.hashicorp.com/collections/consul/kubernetes-production

https://github.com/hashicorp/learn-terraform-hashicups-provider

https://www.fyber.com/engineering/syncing-kubernetes-and-hashicorp-consul/

Reference Architecture:


Custom provider:


Others must know: please click to share:

HashiCups (demo app and infrastructure code) was published on June 27, 2022.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK