homebrew-core/Formula/kubeseal.rb

82 lines
3.8 KiB
Ruby

class Kubeseal < Formula
desc "Kubernetes controller and tool for one-way encrypted Secrets"
homepage "https://github.com/bitnami-labs/sealed-secrets"
url "https://github.com/bitnami-labs/sealed-secrets.git",
tag: "v0.18.0",
revision: "20afb24ae9d8cbc7d064473d18a86d1a006a268c"
license "Apache-2.0"
livecheck do
url :stable
regex(/^v?(\d+(?:\.\d+)+)$/i)
end
bottle do
sha256 cellar: :any_skip_relocation, arm64_monterey: "9338ffeb6c8f8d7657859a7c650b128e7e04b2b567348cf418dbe05c3fe343e7"
sha256 cellar: :any_skip_relocation, arm64_big_sur: "9878e5592c49a96dea4277015791fa29977423b2e0ef1d912a74ffe98374880c"
sha256 cellar: :any_skip_relocation, monterey: "f70e2769a50e1ef3cd22d1cd68f88488c5546356732328badfbf5f1d43f14b1a"
sha256 cellar: :any_skip_relocation, big_sur: "e8202aa68b8f8c72b4f9352be1771dc667c00ad422000d86c9caa3fdf43654fb"
sha256 cellar: :any_skip_relocation, catalina: "955a84831f1c273393a3a1f58e8424ca777743cdd8bee4376cdb8a2515b8d4e9"
sha256 cellar: :any_skip_relocation, x86_64_linux: "b98f6dda2eadfe9dab65b5ccc23d57789b5ede65aec71feaa98ea4ffa97b7142"
end
depends_on "go" => :build
def install
system "make", "kubeseal", "DIRTY="
bin.install "kubeseal"
end
test do
# ensure build reports the (git tag) version
output = shell_output("#{bin}/kubeseal --version")
assert_equal "kubeseal version: v#{version}", output.strip
# ensure kubeseal can seal secrets
secretyaml = [
"apiVersion: v1",
"kind: Secret",
"metadata:",
" name: mysecret",
" namespace: default",
"type: Opaque",
"data:",
" username: YWRtaW4=",
" password: MWYyZDFlMmU2N2Rm",
].join("\n") + "\n"
cert = [
"-----BEGIN CERTIFICATE-----",
"MIIErTCCApWgAwIBAgIQKBFEtKBDXcPklduZRLUirTANBgkqhkiG9w0BAQsFADAA",
"MB4XDTE4MTEyNzE5NTE0NloXDTI4MTEyNDE5NTE0NlowADCCAiIwDQYJKoZIhvcN",
"AQEBBQADggIPADCCAgoCggIBALff4ul8nqD+5mdaeFOJWzhah8v+AJeXZ2Ko4cBZ",
"5PCWvbFQKAO+o2GwEZsUHaxP31eeUIAt0L/SjxaT9usoXK8QbtwRBV39H6iLI48+",
"DP2v9AnZgN7G87lyqDufy5IdRyeYh0naTc9C8jWwoG8rDYR85Jxf+M/9grLb2yeD",
"hAj+ziPTBr3t4hle/ob6pUUNh5I2rnoIT9lrCaRLTOhJqYofL4ld9ikDdCR0h2W9",
"ZZCb9MnYNohng/7KCRWeyPEs+pDs5XiDCn4m4ObL4JJDhS4uIUiY0jstlN74wRul",
"BZzn3WpjpDSLNa6wTpf/o91UplBUDEr9eWWsfGcgAw5iuKM46uWX7sAWQg65CqT3",
"oR9JMJIRvNKbTEMfXRAIw0Imrox5E9B1uv3tCowFY4zQRNFUnEcCOonyOXGyVP8V",
"gLMA+2f1vGyFYXjbPyC8dR/JZzUf9t+PfhitIU6eNjmeF5s319n0kfiC4e+/38Dv",
"QN/uZ9MgUfa5pVcLKtX83Zu6vrNDOJT0iFil/WqHqo7BCtfAPX2o/2iXDhZDtcIV",
"AafIu9HIuldEeAmfp7zAkFQEG+boL54kHsrvTljDkxHvl39eJuFqvZVdJAXcCVfO",
"KyXyAdDk11XVhCyGMu93L7tffsmVVqgVcXU/vKupqjag/+xDTfRPhHCM1FrDMA7e",
"ghuLAgMBAAGjIzAhMA4GA1UdDwEB/wQEAwIAATAPBgNVHRMBAf8EBTADAQH/MA0G",
"CSqGSIb3DQEBCwUAA4ICAQATIoPga81tw0UQpPsGr+HR7pwKQTIp4zFFnlQJhR8U",
"Kg1AyxXfOL+tK28xfTnMgKTXIcel+wsUbsseVDamJDZSs4dgwZFDxnV76WhbP67a",
"XP1wHuu6H9PAt/NKV7iGpBL85mg88AlmpPYX5P++Pk5h+i6CenVFPDKwVHDc0vTB",
"z4yO7MJmSmvGAkjAjmU0s37t3wfWyQpgID8uZmKNbvH8Ie0Y/fSuHz42HMOtb1SI",
"5ck8jVpQgJwpfNVAy9fwwdyCdKKEGyGmo8oPYAT5Y9GFZh8dqoqVqATwJqLUe//V",
"OEDxoRV+BXesbpJbJ8tOVtBHzoDU+tjx1jTchf2iWOPByIRQYNBvk25UWNnkdFLy",
"f9PDrMo6axh+kjQTqrJ4JChL9qHXwSjTshaEcR272xD4vuRX+VMstQqRPwVElRnf",
"o+MQ5YUiwulFnSykR5zY0U1jGdjywOzxRDLHsPo1WWnOuzfcHarM+YoMDnFzrOzJ",
"EwP0zIygDpFytgh+Uq+ypKav7CHdA/yy/eWjDJI8b6gKB3mDB5pF+0KtBV61kbfF",
"7+dVEtF0wQK+0CUdFtFRv3sk5Ud6wHrvMVTY7I4UcHVBe08DhrNJujHzTjolfXTj",
"s0IweLRbZLe3m/9JLdW6WxylJSUBJhFJGASNwiAm9FwlwryLXzsjNHV/8Y6NkEnf",
"JQ==",
"-----END CERTIFICATE-----",
].join("\n") + "\n"
File.write("cert.pem", cert)
pipe_output("#{bin}/kubeseal --cert cert.pem", secretyaml)
end
end