HN user

Kmaschta

187 karma

[ my public key: https://keybase.io/kmaschta; my proof: https://keybase.io/kmaschta/sigs/IdZovAuyndcVgIFLA9y5WqakWZOcix7bj5pAHWfa7u0 ]

Posts31
Comments38
View on HN
www.kmaschta.me 3y ago

How to Divide a Node.js API Latency with DB Connection Pooling

Kmaschta
1pts0
marmelab.com 7y ago

Show HN: Comfygure – A small CLI to manage application configurations

Kmaschta
75pts32
marmelab.com 7y ago

HTTPS in Development: A Practical Guide

Kmaschta
14pts0
dev.to 7y ago

How do you manage your web application configurations?

Kmaschta
2pts0
marmelab.com 7y ago

How to Onboard a Developer in 5 Weeks

Kmaschta
1pts0
dev.to 8y ago

Finding and Fixing Node.js Memory Leaks: A Practical Guide

Kmaschta
2pts0
marmelab.com 8y ago

Finding and Fixing Node.js Memory Leaks: A Practical Guide

Kmaschta
1pts0
dev.to 8y ago

Configurable Artifacts: How to Deploy Like a Pro

Kmaschta
1pts0
marmelab.com 8y ago

Configurable Artifacts: Deploy Like a Pro

Kmaschta
1pts0
www.kmaschta.me 8y ago

Efficient Deployments Thanks to Configurable Artifacts

Kmaschta
1pts0
marmelab.com 8y ago

Show HN: Introducing Comfygure, a Configuration Manager for Easy Deployments

Kmaschta
5pts0
github.com 9y ago

Show HN: A List of Companies That Sponsor Open-Source Software

Kmaschta
2pts0
news.ycombinator.com 9y ago

Ask HN: As a skilled developer, how do you make pocket money with little time?

Kmaschta
171pts95
marmelab.com 9y ago

Show HN: How to Have a GitHub Oauth Authentication for SPA Without Server

Kmaschta
3pts0
marmelab.com 9y ago

How I Found a Vulnerability Leaking User Credentials in Red Hat Ravello Systems

Kmaschta
1pts0
www.kmaschta.me 9y ago

Red Hat's Ravello Systems user credentials leak

Kmaschta
3pts0
news.ycombinator.com 9y ago

Ask HN: What do you do when your tests are running?

Kmaschta
4pts2
www.kmaschta.me 9y ago

GitHub Oauth authentication for SPA without server (using AWS Lambda)

Kmaschta
1pts0
marmelab.com 9y ago

Show HN: Sedy, a GitHub Bot Bringing Linux Sed to Code Reviews

Kmaschta
144pts44
www.kmaschta.me 9y ago

Write a WebSocket-Based App with Django Channels and React

Kmaschta
2pts0
github.com 10y ago

Universal.css: The only CSS you will ever need

Kmaschta
4pts0
marmelab.com 10y ago

Understanding Ethereum: Building a Decentralized Ad Server

Kmaschta
12pts0
marmelab.com 10y ago

The Blockchain Explained to Web Developers

Kmaschta
10pts0
www.luniversduweb.com 10y ago

What Happens During a XSS Attack

Kmaschta
1pts0
github.com 10y ago

An experimental Android application built in ReactNative, Redux, ES6 compatible

Kmaschta
1pts0
www.capitaineflight.tk 10y ago

I shut CapitaineFlight. It was a frustration whimper

Kmaschta
1pts0
blog.algolia.com 10y ago

Algolia Becomes Good at Geosearch

Kmaschta
4pts0
aosabook.org 10y ago

500 Lines or Less Early Access – From Today for 20 Weeks

Kmaschta
1pts0
www.capitaineflight.tk 10y ago

Show HN: Capitaine Flight, another way to buy plane tickets

Kmaschta
1pts0
allendowney.blogspot.com 10y ago

The Inspection Paradox Is Everywhere (Probably Overthinking It)

Kmaschta
3pts0

We initially thought to migrate versions from staging to production with a sort of composition, but we didn't implement that because there was a high risk of mixing credentials between environments.

That said, you can easily copy a config from one env to another and update that new config in no time.

comfy get env1 > tmp.json; comfy setall env2 tmp.json; comfy set env2 <key> <value>

Comfy is a store of configurations for deployed environment. It's not recommended to store you local config into comfy, but you could.

If you do so, you have a system of tags. A config version can be tagged and the tag moved.

So, the integration environment can retrieve the config with the tag 'integration', say. And you can retrieve the latest.

Local: comfy get development Integration: comfy get development -t integration

Change the integration tag to the latest version : 1. Get the latest config hash with `comfy log development` 2. Set the tag integration to the latest `comfy tag move development integration <hash>`

Feature flags are a good example. One developer A enable a feature and deploy its version on integation.

Two days after, developer B deploys its version, but isn't aware that A deployed with the new feature enabled, so the feature is disabled with its deployment on integration.

Ideally, developers should use a centralized configuration management to no suppress each other configs. That's why we use Jenkins or the Atlassian suite for example. But it's heavy to install and maintain sometimes.

Comfy was created because we used environment variables on multiple servers, for many environments (prod, staging, demo, dev, etc), deployed by a few developers.

The purpose of the tool is to help developers share their config and keep sync with the rest of the team.

But I agree, if it's overkill if you don't need it!