{"id":18722772,"url":"https://github.com/bronzdoc/pak","last_synced_at":"2025-11-11T05:30:25.192Z","repository":{"id":89418499,"uuid":"110748546","full_name":"bronzdoc/pak","owner":"bronzdoc","description":":package: Build, inspect and promote artifacts with ease","archived":false,"fork":false,"pushed_at":"2017-12-07T21:25:07.000Z","size":3299,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-18T06:42:46.286Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bronzdoc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-14T21:46:13.000Z","updated_at":"2020-04-30T15:13:03.000Z","dependencies_parsed_at":"2023-03-13T18:09:57.294Z","dependency_job_id":null,"html_url":"https://github.com/bronzdoc/pak","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Fpak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Fpak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Fpak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Fpak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bronzdoc","download_url":"https://codeload.github.com/bronzdoc/pak/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239587244,"owners_count":19663892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T13:42:50.200Z","updated_at":"2025-11-11T05:30:24.948Z","avatar_url":"https://github.com/bronzdoc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pak\n\n\u003e Build, inspect and promote artifacts with ease\n\nPak is a tool to generate build artifacts with custom metadata, that you can later promote.\n\n## Usage\n\nYou define your artifacts using a `Pakfile.json` that looks like this:\n\n```json\n{\n  \"name\": \"ALPHA-ARTIFACT\",\n  \"path\": \"./bin\",\n  \"metadata\": {\n      \"mantainer\": \"bronzdoc@mail.com\",\n      \"BUILD_DATE\": \"${BUILD_DATE}\"\n    },\n\n  \"promote\":{\n    \"rc\":{\n      \"name\": \"RELEASE-ARTIFACT\",\n      \"metadata\": {\n      \"REL_DATE\": \"${BUILD_DATE}\"\n      }\n    }\n  }\n}\n```\n\n\u003e pak can read environment variables so you can use them inside your Pakfile.json as `${VAR_NAME}`\n\n### Build\n\n```shell\n$ export BUILD_DATE=$(date)\n$ pak build\n```\n\nthis will generate a .tar file named `ALPHA-ARTIFACT.tar`\n\n### Inspect\n\nAfter you build an artifact using 'pak' you can inspect it's metadata with the inspect subcommand\n\n```shell\n$ pak inspect ALPHA-ARTIFACT.tar\n\n{\n  \"build\": {\n    \"metadata\": {\n      \"BUILD_DATE\": \"lun dic  4 16:57:23 CST 2017\",\n      \"mantainer\": \"bronzdoc@mail.com\"\n    },\n    \"name\": \"ALPHA-ARTIFACT\"\n  },\n  \"rc\": {\n    \"metadata\": {\n      \"REL_DATE\": \"${REL_DATE}\"\n    },\n    \"name\": \"RELEASE-ARTIFACT\"\n  }\n}\n```\n\nYou can pass the `--key-value` flag to the inspect subcommand to display the data in a key=value manner, i.e:\n\n```shell\n$ pak inspect --key-value ALPHA-ARTIFACT.tar\n\n#build\n  BUILD_DATE=\"lun dic  4 16:57:23 CST 2017\"\n  mantainer=\"bronzdoc@mail.com\"\n  name=\"ALPHA-ARTIFACT\"\n#rc\n  REL_DATE=\"${REL_DATE}\"\n  name=\"RELEASE-ARTIFACT\"\n```\n\nyou can notice there is a `build` label that we didn't define, this is special and is the metadata `pak` created when you ran `pak build`.\n\nYou can access specific metadata if you pass to inspect the lable of the metadata you want to access, i.e:\n```shell\n$ pak inspect ALPHA-ARTIFACT.tar build\n\n{\n  \"metadata\": {\n    \"BUILD_DATE\": \"lun dic  4 16:57:23 CST 2017\",\n    \"mantainer\": \"bronzdoc@mail.com\"\n  },\n  \"name\": \"ALPHA-ARTIFACT\"\n}\n```\n\n### Promote\n\n```shell\n$ export REL_DATE=$(date)\n$ pak promote ALPHA-ARTIFACT.tar rc\n```\n\nThis will generate a new artifact named `RELEASE-ARTIFACT.tar` with the old metadata and the newone.\nNotice we passed the `promote label` we wanted the artifact to be promoted to, in this case this is `rc`.\n\nIf you inspect the new artifact you'll notice the artifact has the old and new metadata stored in it\n\n```shell\n$ pak inspect RELEASE-ARTIFACT.tar\n{\n  \"build\": {\n    \"metadata\": {\n      \"BUILD_DATE\": \"lun dic  4 16:57:23 CST 2017\",\n      \"mantainer\": \"bronzdoc@mail.com\"\n    },\n    \"name\": \"ALPHA-ARTIFACT\"\n  },\n  \"rc\": {\n    \"metadata\": {\n      \"REL_DATE\": \"mar dic  5 15:50:29 CST 2017\",\n    },\n    \"name\": \"RELEASE-ARTIFACT\"\n  }\n```\n\n## Install\n\n### Binaries\n\n- **linux** [386](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-linux-386) / [amd64](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-linux-amd64) / [arm](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-linux-arm) / [arm64](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-linux-arm64)\n- **darwin** [386](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-darwin-386) / [amd64](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-darwin-amd64)\n- **freebsd** [386](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-freebsd-386) / [amd64](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-freebsd-amd64)\n- **windows** [386](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-windows-386) / [amd64](https://github.com/bronzdoc/pak/releases/download/v0.1.0/pak-windows-amd64)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbronzdoc%2Fpak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbronzdoc%2Fpak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbronzdoc%2Fpak/lists"}