Spruce
consul
Our great sponsors
Spruce | consul | |
---|---|---|
2 | 42 | |
350 | 24,953 | |
- | 1.2% | |
3.7 | 10.0 | |
3 months ago | 5 days ago | |
Go | Go | |
MIT License | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Spruce
-
How do you manage sensitive keys when using foreign developers?
The CI/CD has a service account with permissions to all envs, and during deployment it renders the config files and inserts the "real" values by pulling it from Vault/KMS. Something very simple is Spruce, which is actually a powerful general templating tool but I've seen it only used for vault secrets so far.
-
A list of new(ish) command line tools – Julia Evans
I use spruce for many thing but it's ability to merge y'all files smartly is very useful. Think global yaml merged with one of [prod, staging, dev].yaml, merged with override.yaml creating a deployment yaml. https://github.com/geofffranks/spruce
consul
-
Cloud Native Java Microservices with JHipster and Istio
A service mesh provides features to help with common distributed microservice challenges. Like service discovery, routing, load balancing, and so on. Today we will be using Istio, one of the most popular service mesh solutions available. Istio is tailored for distributed application architectures, especially those you might run in Kubernetes. Istio plays nicely with Kubernetes, so nicely that you might think that it's part of the Kubernetes platform itself. Istio isn't the only service mesh around; we also have platforms like Linkerd and Consul, which are also quite popular.
-
Controlling Elixir supervisors at runtime with feature flags
We knew that we needed a way, at runtime, to start and stop these queue consumers. Although we could have reached for other configuration management tools like Hashicorp Consul or AWS AppConfig, we already use LaunchDarkly at Knock to control the runtime behavior of our frontend and backend applications. LaunchDarkly feature flags seemed like a great way to control this starting and stopping process without adding new dependencies or complexity to our stack.
-
ECS Container map dns names
Since all of your apps are in the same environment, one possibility is to use a service registry like Consul or etcd. As a container comes up it registers itself by making a REST call to declare “I’m the Rabbit server!”. Then other apps call out to etcd with a REST query to ask “Where’s the Rabbit server?” and get the name of the Rabbit container. If you decide to start playing with HA or clustering, this can be extended so the service registry returns the name of the current primary node, or spreads traffic across multiple nodes by returning different responses based on rules you set up.
- Kubernetes Ingress vs Service Mesh
- looking for selfhosted inventory system for servers and applications
-
Consul runs as a cli command but not as a systemctl job
[Unit] Description="HashiCorp Consul - A service mesh solution" Documentation=https://www.consul.io/ Requires=network-online.target After=network-online.target ConditionFileNotEmpty=/etc/consul.d/consul.hcl [Service] EnvironmentFile=-/etc/consul.d/consul.env User=consul Group=consul ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/ ExecReload=/bin/kill --signal HUP $MAINPID KillMode=process KillSignal=SIGTERM Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target
-
Connecting Kubernetes clusters across VPCs
When interconnecting private services that need symmetric flow, any service has to be able to initiate a connection with another service. Service discovery is a prerequisite for connectivity. Services have to know how to connect to downstream services. Once that problem is resolved (using DNS, or Consul etc.), there are two primary ways to interconnect services:
- What are some good open source project to read when learning Go?
-
What are you all using to provision your underlying hardware?
Consul Agent (www.consul.io - DNS and Service Discovery)
-
Kubernetes but with Hashicorp Consul instead of ETCD for the control plane?
You actually have to deliberately dig a bit to find the "service mesh" keywords on the current product homepage, it's definitely not a top-billing feature.
What are some alternatives?
etcd - Distributed reliable key-value store for the most critical data of a distributed system
traefik - The Cloud Native Application Proxy
Apache ZooKeeper - Apache ZooKeeper
Caddy - Fast, multi-platform web server with automatic HTTPS
kubernetes - Production-Grade Container Scheduling and Management
Eureka - AWS Service registry for resilient mid-tier load balancing and failover.
minio - Multi-Cloud :cloud: Object Storage
nsq - A realtime distributed messaging platform
vaultwarden - Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
Rundeck - Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.
Golang API Starter Kit - Go Server/API boilerplate using best practices DDD CQRS ES gRPC