Skip to main content

Show HN: What if Dependabot and Ansible had a child? updatecli.io https://ift.tt/k1rQGz0

Show HN: What if Dependabot and Ansible had a child? updatecli.io What if Dependabot and Ansible had a child? Well for me that could be Updatecli. Updatecli is a project that I started to help maintain the infrastructure of the Jenkins project. I needed something flexible enough to update YAML with whatever information needed. Because let’s say it, everybody loves YAML. YAML is everywhere. Run it from everywhere… Updatecli is a command-line tool written in Golang and available for Windows, Linux, MacOSx, amd64, arm64, thank you Goreleaser All of that to say that it runs from wherever CI or laptop we need. As of today, Updatecli opened over 3000 Pull requests on Github, and it evolved to update automatically Dockerfile, Markdown, Helm Chart, and of course a lot of YAML for tools like Puppet, Kubernetes, or Jenkins. How does it work? Updatecli loads pipeline configurations from YAML(s) or Golang templates then enforce the state defined by the pipeline configuration. A pipeline run as followed: 1. Clone in a temporary location any git repositories used by the pipeline. 2. Fetch information for every *source* defined, and then inject them as entry parameters into condition(s) and target(s). 3. Test that all *conditions* defined succeed otherwise abort the pipeline. 4. Enforce the state for every *target* defined. A state means different things depending on the resource type, more on this later. 5. Commit and open pull requests when needed. 6. Apply next pipeline A Updatecli pipeline relies on resources aka “extension” aka “plugins” to adapt pipeline behavior. By combining them, we can easily automate scenarios for release workflow, GitOps, dependency management, documentation update, etc. A simple scenario could be: * Retrieve the latest Golang version * Test that a docker image with the latest Golang version exist on Dockerhub * If it exists, then bump the version in a YAML file and open a pull request on GitHub with the change As of today, there are 9 extensions for "sources", 8 for "conditions", 6 for "targets", 2 for git repositories, and 1 for pull requests. A very simple pipeline is available on -> https://ift.tt/63a7IAR For more complex pipelines, you can look for directories named “updatecli/updatecli.d” at the root of repositories on https://ift.tt/Ajy5dcH or the Jenkins infrastructure repository such as https://ift.tt/ZvCad19 I maintain a documentation website to document the different configuration. It’s not perfect but it’s available on www.updatecli.io What’s next? Well, it depends on many things. Updatecli is since the beginning, a fun side project, I wanted to practice Golang programming while automating tedious recurring tasks. I built it in a way that I could reuse it across the different projects which I maintain. It’s rather simple to add new resources so I’ll keep adding them based on my needs, I welcome any contributions that would benefit the community. More information on https://ift.tt/UdblDnP https://ift.tt/G9b4KcN February 10, 2022 at 07:59PM

Comments

Popular posts from this blog

Show HN: Tape It, iOS recording app for musicians https://ift.tt/3udBTSi

Show HN: Tape It, iOS recording app for musicians Hello HN, Over the last 15 months, two friends and I developed the music recording app we felt we wanted based on our own needs as musicians. It's called Tape It [1] and has just recently hit the Apple App Store [2]. We put a lot of effort into a good UX to help musicians really focus on playing their instrument instead of pretending to be a recording engineer. The app records in stereo on newer iPhones (although that's a premium feature; the free version only records in standard mono audio quality). I would be really grateful for advice from this community on how to best approach marketing. We had a great TechCrunch article covering our launch [3], and we posted it on various music websites. Turns out advertising on Google or Apple Search is a dark art, though. We have some good ideas for developing a good social media presence, but they will take time. Please hit us with feedback, opinions and advice that you think a young ind...

Show HN: Moderator,lightweight peer4peer anon forum https://ift.tt/3fZSDGl

Show HN: Moderator,lightweight peer4peer anon forum hello all! here's a link to my little pinteresting like forum that stores no data on the server and uses IPFS for image storage. The design aesthetic is that everything would in 64kb of memory so we're going for a collapse-proof low bandwidth experience. this makes moderator really fast. https://moderator.rocks is the web preview, a flutter client is in the works at https://ift.tt/32wqdRb take a look, post something fun, ask questions. I'm also on twitter @moderatorium in case interested. Have fun! January 26, 2022 at 12:23AM

Show HN: Comment on live websites just like you comment on Google Docs/Figma https://ift.tt/GRhrjX0

Show HN: Comment on live websites just like you comment on Google Docs/Figma I'd love your feedback on this new JS plugin we launched. With this, you can comment on live websites just like you comment on Google Docs or Figma. You can use is to get Copy or UI feedback right on the website you are building. Feedback can be provided in rich formats like audio and video. You can get started by installing a JS tag in the footer of the website. You can then turn the review mode on or off on demand by adding “?review=true” to the URL. Demo video (43s): https://www.youtube.com/watch?v=cdnfBEw8TfI Demo video: https://www.youtube.com/watch?v=h6vxzXJuh8o https://ift.tt/ocLpdEu October 26, 2022 at 02:18AM