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.19.1", revision: "5ad819f159c898aee74739ef11741beb6d428445" license "Apache-2.0" livecheck do url :stable regex(/^v?(\d+(?:\.\d+)+)$/i) end bottle do sha256 cellar: :any_skip_relocation, arm64_ventura: "5bfceccebe0cf9928777e1f7aaaefdbd2896a5915d9a9fe0839a4ac4a40d06c5" sha256 cellar: :any_skip_relocation, arm64_monterey: "96ca79a5a99c6e9a4b17c9183b91cf1d0fbdad3fc5d028ff0566d651d0c1999f" sha256 cellar: :any_skip_relocation, arm64_big_sur: "8917ce1e8030b0c98c5f0a8cb0f21a873d1ffabd4bae34265f412d7d79afc153" sha256 cellar: :any_skip_relocation, monterey: "1e5b6464abebda19e74e56ef1fd70157d9b1546c3221b0bb5f647abb2ef4aab2" sha256 cellar: :any_skip_relocation, big_sur: "26066afee41ed792ccd597067f020c76b57a160e9d979056761c9fc58c825482" sha256 cellar: :any_skip_relocation, catalina: "4cd1f8f70f7a6ecd1b94858c8d4e3c9b42d49d69fb8c2df99131001c767140eb" sha256 cellar: :any_skip_relocation, x86_64_linux: "334e9404cd30e723a06c90c974217808e5cc13fa4db293a33c0b0c1faa99b5a3" 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