HN user

ancieque

73 karma
Posts46
Comments61
View on HN
www.neuroforge.de 5mo ago

Tips for using Cursor for Agentic Programming in productive teams

ancieque
1pts0
github.com 1y ago

So I wrote a DNS server for Docker Swarm

ancieque
1pts0
github.com 2y ago

Swarmgate 0.7.0 – A Step Forward in Docker Swarm Multi Tenant Management

ancieque
2pts1
www.profeed.work 2y ago

Show HN: Pro Feed – One Tool. Multiple MS Teams

ancieque
1pts0
github.com 2y ago

Show HN: NF Compose – An API to Build/Generate REST APIs

ancieque
2pts0
www.profeed.work 2y ago

Show HN: Pro Feed – (Multi Tenant) Chat River for MS Teams

ancieque
2pts0
github.com 2y ago

Show HN: Docker Swarm Multi Tenant Proxy

ancieque
3pts1
www.taskthing.de 2y ago

Show HN: TaskThing – Microsoft Planner is great, but can be better

ancieque
3pts0
github.com 3y ago

Show HN: Docker CLI Plugin: Docker-swarm-proxy exec into a Docker service

ancieque
1pts0
github.com 3y ago

Show HN: NF Compose – define REST APIs in seconds instead of hours

ancieque
1pts0
github.com 3y ago

Promswarm – Modernized Swarmprom

ancieque
2pts0
www.mirantis.com 3y ago

Security update: Encrypted overlay networks in Moby and MCR

ancieque
1pts1
github.com 3y ago

Moby 23.0.2

ancieque
2pts1
github.com 3y ago

Bret Fisher – Awesome-Swarm

ancieque
23pts6
github.com 3y ago

CSI Plugins for Docker Swarm

ancieque
1pts0
github.com 3y ago

Moby 23.0.1

ancieque
2pts0
github.com 3y ago

Docker 23.0.0 Is Out

ancieque
2pts0
github.com 3y ago

Show HN: Prometheus Federation Without Storage

ancieque
1pts0
github.com 3y ago

Moby/Moby 23.0.0 RC2

ancieque
1pts0
kraudcloud.com 3y ago

Kraud Cloud – Serverless Servers

ancieque
1pts1
github.com 3y ago

Show HN: Run a Postgres Ha Cluster with Pg_auto_failover in Docker Swarm

ancieque
1pts0
github.com 3y ago

Show HN: nothelm.py – Templating for Docker Stacks

ancieque
1pts0
github.com 3y ago

Docker 23.0.0-Beta.1

ancieque
1pts0
www.mirantis.com 3y ago

Docker Swarm – The Alternative Enterprise Container Orchestrator

ancieque
2pts0
neuroforge.de 3y ago

Docker Stack Deploy – Tool to automatically rotate Docker Swarm configs/secrets

ancieque
1pts0
github.com 3y ago

Show HN: Prometheus Exporter to monitor usage/availability of Docker IPs

ancieque
1pts0
github.com 3y ago

Show HN: Inofficial Docker Swarm Support for OpenFaaS

ancieque
1pts1
www.mirantis.com 3y ago

Mirantis Container Runtime Now Available in Microsoft Azure Marketplace

ancieque
2pts0
www.youtube.com 3y ago

Arbitrary Code Exploits Using Hugging Face Models

ancieque
1pts0
news.ycombinator.com 3y ago

Ask HN: Which Container Orchestrator are you using?

ancieque
2pts5

Speaking as a Co-Founder of NeuroForge here, with some exciting news: we're proud to announce a new alpha release for our project, Swarmgate - version 0.7.0. This tool, which started as a simple experiment within our team, has evolved into an essential project aimed at addressing the complex challenges of Docker Swarm management. Whether it's juggling multiple users in a single swarm or optimizing resources across various swarms, Swarmgate 0.7.0 is our latest answer to these issues, offering enhanced features and improvements. You can find it over at:

https://github.com/neuroforgede/swarmgate

What's Swarmgate? Swarmgate is our innovative Docker Socket Proxy designed to provide a tenant-specific view onto a Docker Swarm. It supports all necessary operations for deploying stacks, along with managing volumes, secrets, configs, networks, and more. This allows multiple teams to work collaboratively within the same cluster without interfering with each other, thanks to unique labels that filter requests based on resource ownership. It's about making Docker Swarm environments as efficient and user-friendly as possible.

Under the Hood:

We've built Swarmgate using Node.js and Express, with the dockerode (and docker-modem) library for Docker interaction. This technology stack ensures robust performance and seamless integration with Docker's API, providing a reliable and effective management tool.

What's New in 0.7.0?

    Docker Registry Auth Verification: Enhanced security through Docker Registry authentication checks to prevent unauthorized access to images.

    Security Enhancements: Removal of the :version/swarm endpoint to protect against potential security vulnerabilities by exposing swarm join tokens.

    Simplified Proxying: Introduction of the proxyRequestToDocker function for straightforward proxying of requests without the need for filtering.

    Resolved Log Issues: We've tackled service/tasks log parsing issues to ensure compatibility and ease of use with the Docker CLI.
A Gentle Reminder:

As enthusiastic as we are about Swarmgate 0.7.0, it's important to remember that this is still ALPHA software. It's primarily a defense against accidental disruptions within clusters. While we're diligently enhancing security features, it's advisable to use Swarmgate in environments where there's a high level of trust among users.

What's up next:

    A better tutorial on how to set this up

    More ideas from https://github.com/neuroforgede/swarmgate/issues/1

Cool to see this.

I love DRF for CRUD apis. It just gets the job done and you can Focus on data modelling.

We built our data hub/data Integration solution on top of it. [1] It was a good choice.

By far the most extensible and overridable library I have worked with so far. Even when you need to ressort to hacks, they never seem to break when upgrading a Version.

[1] https://github.com/neuroforgede/nfcompose

I have implemented this for our tool NF Compose that allows us to build REST APIs without writing a single line of code [0]. I didn't go the route of triggers because we generate database tables automatically and we used to have a crazy versioning scheme that was inspired by data vault and anchor modelling where we stored every change on every attribute as a new record. This allowed for simple point in time queries.

Sounded cool, but in practice it was really slow. The techniques that are usually employed by Data Vault to fix this issue seemed too complex. Over time we moved to an implementation that handles the historization dynamically at runtime by generating historizing SQL queries ourselves [1]. We now use transaction time to determine winners and use an autoincrementing column to determine who wins on ties. A lot of brainpower went into ensuring this design is concurrency safe. On a sidenote: Generating SQL in python sounds dangerous, but we spent a lot of time on making it secure. We even have a linter that checks that everything is escaped properly whenever we are in dev mode [2].

[0] https://github.com/neuroforgede/nfcompose/

[1] https://github.com/neuroforgede/nfcompose/blob/main/skipper/...

[2] https://github.com/neuroforgede/nfcompose/blob/main/skipper/...

Curious, have you tried speeding things up with e.g. cube.js? We used it in a fully custom project and it was a Performance life saver. It works quite well with Superset actually.

We have looked into metabase ourselves initially as well but found it lacking compared to Superset. What are your thoughts on that?

Note that we build dashboards for customers that end up having some complex SQL directly in Superset.

Docker Swarm engine is part of docker-ce. It just got New features last year as well as some quality of life improvements.

Its not shiny but it works. We use it for most of our selfhosted stuff (which is a lot) and our customers.

I host a swarm fans hangout every 2 months over at devops.fan with Bret Fisher. Also we help each other on discord. Join us :)

I saw your comment and am wondering what in particular you are struggling with.

I recently fixed one of my biggest pet peeves with docker swarm - the inability to directly exec into a service without first SSHing to the host the task is running on.

https://github.com/neuroforgede/docker-swarm-proxy

Maybe your issue is in this ballpark? Happy to exchange notes on this. If you are looking for a community of Swarm users, check out https://devops.fan (that's a discord hosted by Bret Fisher)

Yeah, had a fun time yesterday when writing a tutorial. Was kinda reliably switching between good and bad every few seconds.

We use Docker Swarm for our deployments, so I will answer the questions based on that.

We have built some tooling around setting up and maintaining the swarm using ansible [0]. We also added some Hetzner flavour to that [1] which allows us to automatically spin up completely new clusters in a really short amount of time.

deploy from source repo:

- We use Azure DevOps pipelines that automate deployments based on environment configs living in an encrypted state in Git repos. We use [2] and [3] to make it easier to organize the deployments using `docker stack deploy` under the hood.

keep software up to date:

- We are currently looking into CVE scanners that export into prometheus to give us an idea of what we should update

load balancing:

- depending on the project, Hetzner LB or Cloudflare

handle scaling:

- manually, but i would love to build some autoscaler for swarm that interacts with our tooling [0] and [1]

automate backups:

- docker swarm cronjobs either via jobs with restart condition and a delay or [4]

maintain security:

- Hetzner LB is front facing. Communication is done via encrypted networks inside Hetzner private cloud networks

- [0] https://github.com/neuroforgede/swarmsible

- [1] https://github.com/neuroforgede/swarmsible-hetzner

- [2] https://github.com/neuroforgede/nothelm.py

- [3] https://github.com/neuroforgede/docker-stack-deploy

===================

EDIT - about storage:

We use cloud volumes.

For drivers:

We use https://github.com/costela/docker-volume-hetzner which is really stable.

CSI support for Swarm is in beta as well and already merged in the Hetzner CSI driver (https://github.com/hetznercloud/csi-driver/tree/main/deploy/...). There are some rough edges atm with Docker + CSI so I would stick with docker-volume-hetzner for now for prod usage.

Disclaimer: I contributed to both repos.

Docker stacks are essentially docker compose files with some extra Features.

Docker compose is a developer tool for use on a single computer.

Docker Swarm is a container orchestrator like Kubernetes or Nomad

JSON is arguably much worse for usage in Git. Have fun matching braces in the default diff tools out in the wild.

YAML is the much better alternative with similar semantics to JSON. The numeric issues still hold true though.

I stumbled across this today. Really interesting product that they are building. Also they support both kubernetes and Docker APIs but only as shims to their orchestration.

From their page: kraud is bringing the cloud home. Docker and Kubernetes Hybrid cloud with confidentiality and carbon-negativity