Skip to content

Consider replacing Makefiles with go binary #76

Closed

Description

@kvaps

Our main engine is FluxCD, which everyone is satisfied with, as it handles its tasks excellently.

Roughly speaking, there are two tasks:

  1. Bootstrap the initial cluster:

    • Run migrations
    • Create namespaces from core/platform as helm template | kubectl apply -f -
    • Install fluxcd from core/fluxcd as helm template | kubectl apply -f -
    • Install the CNI plugin from system/kube-ovn and system/cilium
    • Continuously install core/platfom chart (for every 60 seconds)
      Then FluxCD handles everything else.
  2. Provide a convenient interface for local development, where each application has a specific set of actions:

    • make update - downloads the latest chart sources from the upstream/updates Dockerfiles
    • make image - build the image and save the metadata of the built image and digest in values.yaml
    • make show - take values from fluxcd, and perform a helm template
    • make diff - take values from fluxcd and perform a helm diff, showing what will change
    • make apply - take values from fluxcd, suspend the release, and perform a helm apply

Of course the second item can keep using Makefile that simple triggers a Go binary with the necessary parameters for show, diff and apply

Activity

  1. nbykov0 commented on May 6, 2024

    @nbykov0
    Collaborator

    How it is done currently (for future generations):
    1: installer.sh
    2: package-system.mk

    As discussed on community meeting, it is nice to have but not right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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