mrsk
changelog.com
mrsk | changelog.com | |
---|---|---|
26 | 12 | |
6,294 | 2,670 | |
- | 0.3% | |
9.4 | 9.4 | |
9 months ago | 15 days ago | |
TeX | Elixir | |
MIT License | GNU General Public License v3.0 or later |
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.
mrsk
-
Deploy Anycable with MRSK
Here we'll deploy Anycable wih MRSK.
-
Fly.io Postgres cluster went down for 3 days, no word from them about it
Honestly these days I am leaning towards this approach: https://github.com/mrsked/mrsk/
It's all just docker.
-
The Curse of Scalable Technology
Did you consider MRSK[1], k3s[2], or dokku[3]? They are all significantly simpler to operate than Kubernetes, curious to hear your take.
[1] https://github.com/mrsked/mrsk
-
How to cache MRSK deployments in CI
https://github.com/mrsked/mrsk/pull/159 Closed PR about --cache-to option in MRSK
-
Thoughts on MSRK?
Yes, that thing with the setup is misleading in the docs. I'll make a PR now. There's this issue about it: https://github.com/mrsked/mrsk/issues/301
-
Rails Foundation announces first-ever conference!
god or bad, dhh is doing noise and people know about rails. just look at there https://github.com/mrsked/mrsk
-
MRSK vs. Fly.io
I don't think there's a writeup out there, but mrsk just uses docker under the hood. So, if you have a CMD in your Dockerfile, it will use that.
If you have an image that can run multiple things, like a rails app that can run the app process for web traffic by default, but it can also run job workers with the right command, you can provide the cmd in the mrsk config. You can see this in the jobs role in the example: https://github.com/mrsked/mrsk#using-different-roles-for-ser....
-
Looking to use Docker & Docker Compose in production and need advice.
You may want to checkout MRSK if you are going to be using docker compose in production on a single VPS https://github.com/mrsked/mrsk
-
Deploying with MRSK
"MRSK basically is Capistrano for Containers, without the need to carefully prepare servers in advance" https://github.com/mrsked/mrsk
-
Need some advice on how to deploy images to our vending machines
https://github.com/mrsked/mrsk might be interesting to you.
changelog.com
-
Ask HN: How does your CI/CD stack look like today?
Another https://dagger.io fan here. Have been using it since late 2021 to continuously deploy a Phoenix app to Fly.io: https://github.com/thechangelog/changelog.com/pull/395. Every commit goes into production.
This is what the GHA workflow currently looks like: https://github.com/thechangelog/changelog.com/blob/c7b8a57b2...
FWIW, you can see how everything fits together in this architecture diagram: https://github.com/thechangelog/changelog.com/blob/master/IN...
-
Fly.io Postgres cluster went down for 3 days, no word from them about it
I really like the work that you're doing Thomas, this is the right approach. FWIW, https://fly.io/blog/carving-the-scheduler-out-of-our-orchest... is one of my favourite posts on your blog.
For everyone else reading this, we have been running https://changelog.com on Fly.io since April 2022. This is what our architecture currently looks like: https://github.com/thechangelog/changelog.com/blob/master/IN...
After 15 months & more than 100 million requests served by our Phoenix + PostgreSQL app running on Fly.io, I would be hard pressed to find a reason to complain.
- What Phoenix Elixir Tutorial do you want to see?
- Any good and updated open source phoenix project
- Code repositories that help you to become a better Elixir programmer
-
Complete, Production-Ready Phoenix Reference Applications
Changelog.com
- Looking for recommendation of OS phoenix app to look at
-
Metaprogramming in Elixir
I see this criticism a lot but I don't think it has anything to do with macros specifically and more so to do with lack of familiarity with Elixir. I've felt the same way about Django being magic because I had trouble following the class hierarchy. It makes a lot more sense now because I'm more familiar with Python and Django. But even today I'll be looking deeper at something and ask WTF it's doing. In that respect, Elixir codebases are easier to me. The module depth seems "shallower" and I don't have to disambiguate between what behavior is caused by class inheritance or an imported function.
When I first tried to use Elixir several years ago Ecto.Schema [0] seemed complex and magical, but then I came to realize it's just converting module attributes to runtime code. There is not really that much complex macro logic going on.
>This also leads to cryptic errors where you get an error in non existant lines of code.
When was the last time you used Elixir? This isn't a problem I can recall having in the last 4 years or so of using Elixir.
>following the control flow in Phoenix is like a maze because of all the macro substitutions.
Can you clarify what you mean by this? A specific case as to where this happened for you would help. Phoenix's use of macros is actually pretty light [1] except for some very low level stuff. You can even see how frequently a developer will use macros in Phoenix by searching `__using__` in the codebase [2]. It's not used as much as people think. The majority is for views and controllers and only to provide a very thin layer of support on top of your regular use of code. As an example, the "macro magic" in Phoenix.Controller is just handling some basics for giving a layout and view to Plug and handling fallback actions for exceptions. You could do the plug calls manually and I think it would be safe to not use any macros in your controller code.
Another familiarity issue with the language (and any language really) is understanding what is meaningful in a stack trace and what isn't. And the likely cause of the error in the first place. Is it syntax? Is it mistyping a variable? Is a function just used improperly? (wtf is init_p_do_apply and why does it show up in every stacktrace?) You're juggling all these different issues - learning a new paradigm, a new syntax, not knowing how to extend things. It's obviously going to be a little overwhelming and, if not strictly required, we might just pick a different language that we're more familiar with.
[0]: https://github.com/elixir-ecto/ecto/blob/master/lib/ecto/sch...
[1]: https://github.com/thechangelog/changelog.com/blob/master/li... (not mine, I just go here to show the most frequent use of macros in Phoenix)
[2]: https://github.com/phoenixframework/phoenix/search?q=__using...
-
The new changelog.com setup for 2020
changelog.com used to be WordPress, then became a Phoenix app because it needed features that were hacky to implement & then manage in WP. It's more of a podcasting platform these days rather than a CMS.
The code in this repo tells the truth about what it is, and even shows how it works: https://github.com/thechangelog/changelog.com
What are some alternatives?
awesome-compose - Awesome Docker Compose samples
phoenix-liveview-counter-tutorial - 🤯 beginners tutorial building a real time counter in Phoenix 1.7.7 + LiveView 0.19 ⚡️ Learn the fundamentals from first principals so you can make something amazing! 🚀
Dokku - A docker-powered PaaS that helps you build and manage the lifecycle of applications
phoenix-chat-example - 💬 The Step-by-Step Beginners Tutorial for Building, Testing & Deploying a Chat app in Phoenix 1.7 [Latest] 🚀
kubero - A free and self-hosted Heroku PaaS alternative for Kubernetes that implements GitOps
ex_chain - Simple Markov Chain written in Elixir
docker-phoenix-example - A production ready example Phoenix app that's using Docker and Docker Compose.
hexpm - API server and website for Hex
lamby - 🐑🛤 Simple Rails & AWS Lambda Integration
feedx - Generic feed adding social features to current applications.
deploy - Ansible role to deploy scripting applications like PHP, Python, Ruby, etc. in a capistrano style
stranger - Chat anonymously with a randomly chosen stranger