News for hackers. Stuff that matters.

ebreton

My feedback for those who helped me or are interested in following up :)

Pyinfra was the perfect match.

I have used their "operations" to pile up the actions that come with the next release:

- A new package (apt)

- an updtated pip dependency

- checking a file

- and docker-compose actions to update all containers

I was able define my "inventory" easily, which allows me to update my whole fleet with one single command. One caveat here, the timeout is not properly configurable with a ProxyJump. Discussion opened on stackoverflow.

Pyinfra idempotency and dry-run approaches allow me to run the update as many times as I want.

For the next release, would I need to change anything different, I will simply add a new operation. The beauty of it is that all operations are strictly executed in the order I define them, which mean that any devices that would not have been updated with the first release, would be still updated appropriately with the second release.

Cheers !

Thanks for the idea ! I will try pyinfra first, which provides a way to connect to the fleet and then to execute a whole set of scripts. Whereas Dependabot's perimeter looks more contained on dependencies update.
1) yes, docker containers are immutable. The pain comes more from updates that are around them 2) Trying pyinfra. Thanks for pointing it to me ! Looks promising indeed :)
The repo will provide a way to pull new scripts for new updates.

But I would still need the framework to iterate through all of them

Ask HN: Would you know a “Python idempotent incremental update manager”?

I maintain a fleet of edge devices, including their embedded software written in python. There is a release every two weeks or so, which usually consists on pulling a new set of docker images.My current pain comes from the fact that, sometimes, I have to update the docker-compose.yml on the unit, or add a library, or change something outside of the unit.I am currently writing a (python) script...

( Read More... | 8 comments | on HN )
Re:Ask HN: How do you planify your sport sessions? on Sunday December 11, 2022 @03:48PM (#33947330)
Back with some preliminary findings

- [OK] Time Tree: a (basic) shared calendar will fill up the requirements quite nicely with reccuring events and nice views of who will attend which events

- [KO] Calendly: which provides interesting feature to set up the events, but no view of who is going to attend when

- [KO] DigiCal, another shared calendar but could set up properly/simply a shared calendar

Re:Ask HN: How do you planify your sport sessions? on Sunday December 11, 2022 @03:42PM (#33947263)
not really adapted to a group of friends

Ask HN: How do you planify your sport sessions?

Say you want to play a 4-people team sport regularly.You have more friends than that who are usually happy to play, but all of them have with their own constraints. It is therefore quite a challenge to plan every week 2 sessions (or more) with exactly 4 available players.Would you have any tool that would help ?Ideally,- no manager needed -> the group just organize itself thanks to the app.-...

( Read More... | 3 comments | on HN )
Re:Pyinfra automates infrastructure super fast at scale on Friday October 21, 2022 @04:26PM (#33292654)
How would you use pyinfra to manage a fleet of edge devices ? The main difference with a park of servers being that the edge devices are mounted on vehicles and therefore switching on and off with their own rhythm each. We cutrently get an alert from each device when an update is needed, ssh into it, and docker-compose the latest services.
Re:Ask HN: Who is hiring? (October 2019) on Friday October 04, 2019 @12:36PM (#21159348)
Cortexia | Data Engineer | Chatel-St-Denis, Switzerland | ONSITE | Swiss citizen or holder of working permit in Switzerland

We have built a CNN model to detect litters in collaboration with an EPFL laboratory. We now need to take ownership of it.

You will be the seed of our data team, with the opportunity to grow the team around you, along with our solution !

Job Description: https://www.jobup.ch/fr/emplois/detail/1675597/