diff --git a/Formula/kubeone.rb b/Formula/kubeone.rb new file mode 100644 index 0000000..e593722 --- /dev/null +++ b/Formula/kubeone.rb @@ -0,0 +1,34 @@ +class Kubeone < Formula + desc "Automates Kubernetes cluster operations on any cloud or edge infrastructure" + homepage "https://github.com/kubermatic/kubeone" + url "https://github.com/kubermatic/kubeone/archive/refs/tags/v1.8.0.tar.gz" + sha256 "d4279f0f49fee6db6e9ce8d88cf19d5411b69ad85f4ff4ac514b31a676a1c311" + license "Apache-2.0" + + head "https://github.com/kubermatic/kubeone.git", branch: "main" + + depends_on "go" => :build + depends_on "terraform" => :optional + depends_on "opentofu" => :optional + + def install + ENV["CGO_ENABLED"] = "true" + ENV["GOFLAGS"] = "-mod=readonly -trimpath" + ldflags = %W[ + -s -w + -extldflags=-zrelro -extldflags=-znow + -X k8c.io/kubeone/pkg/cmd.defaultKubeVersion=v1.29.5 + -X k8c.io/kubeone/pkg/cmd.version=v#{version} + -X k8c.io/kubeone/pkg/cmd.date=#{time.iso8601} + ] + + system "go", "build", *std_go_args(ldflags:), "-o", "kubeone", "." + bin.install "kubeone" + + generate_completions_from_executable(bin/"kubeone", "completion") + end + + test do + system "#{bin}/kubeone", "--help" + end +end