Skip to content

Rewrite installer.sh on Go #11

Closed
Closed

Description

@kvaps

We have to rewrite main installer.sh script, and all our Makefiles in Go

Makefiles should not be used for deploying applications, only for updating manifests and building images

Up to discussion:

What about keepeng the version migrators to be language unspecific? - so they cloud be just executable files in some directory.
Or is there any common practicies for that?

Activity

  1. changed the title [-]Rewrite `installer.sh` and Makefiles on Go[/-] [+]Rewrite `installer.sh` on Go[/+] on Feb 9, 2024
  2. s3rj1k commented on Feb 18, 2024

    @s3rj1k

    A little bit of digging in, doing quick PoC basically revealed that there is no sane reason to rewrite few bash lines in Golang or even any other compiled language, it will bring distribution complexity and solve nothing.

    This will probably be a good choice in case of script being a bit more complicated and having some ncurses UI in it, for this specific one I would recommend leaving it as is.

    Also we should consider removing https://github.com/aenix-io/cozystack/blob/main/scripts/installer.sh#L39-L41 this code in favor of more k8s-like approach. (#18)

    For the sake of bringing more context, we are not the only ones that struggle with Bash vs Universe question, check out this link also: https://dev.to/jmfayard/bash-is-a-terrible-programming-language-but-whats-the-alternative--oc2

  3. kvaps commented on Feb 18, 2024

    @kvaps
    MemberAuthor

    Thank you a lot for your research, Serhii Ivanov (@s3rj1k) 👍

    We designed Cozystack to minimize the imperative logic as much as possible.
    Closing for now. I believe if the need ever arises in the future due to increased complexity, we can always come back to this issue.

    I've opened a new issue for moving redis reloading logic outside of installer.sh script #19

  4. added a commit that references this issue on Jul 13, 2026
  5. added 2 commits that reference this issue on Sep 22, 2026
  6. added a commit that references this issue on Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions