{"id":25649798,"url":"https://github.com/openchami/bss","last_synced_at":"2025-04-15T18:32:36.095Z","repository":{"id":208317999,"uuid":"712483015","full_name":"OpenCHAMI/bss","owner":"OpenCHAMI","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-10T20:11:20.000Z","size":4182,"stargazers_count":2,"open_issues_count":9,"forks_count":3,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-10T21:24:40.876Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenCHAMI.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-10-31T14:58:46.000Z","updated_at":"2025-03-13T19:41:39.000Z","dependencies_parsed_at":"2024-03-08T02:25:52.243Z","dependency_job_id":"a27e8b06-944f-4d64-92ee-6c8b138a997f","html_url":"https://github.com/OpenCHAMI/bss","commit_stats":null,"previous_names":["openchami/bss"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCHAMI%2Fbss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCHAMI%2Fbss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCHAMI%2Fbss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCHAMI%2Fbss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenCHAMI","download_url":"https://codeload.github.com/OpenCHAMI/bss/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249128935,"owners_count":21217247,"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":"2025-02-23T14:33:55.606Z","updated_at":"2025-04-15T18:32:36.068Z","avatar_url":"https://github.com/OpenCHAMI.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boot Script Service (BSS)\n\n## Summary of Repo \nThe Boot Script Service (BSS) provides boot arguments (initrd, kernel arguments, etc.) and Level 2 boot services for static images in HPE Shasta systems. It includes the service implementation, a Swagger API specification (`swagger.yaml`), and tests that verify BSS functionality on live Shasta systems.\n\n## Table of Contents\n1. [About/Introduction](#aboutintroduction)  \n2. [Overview](#overview)  \n3. [Build \u0026 Install](#build--install)  \n4. [Testing](#testing)  \n5. [Running](#running)  \n6. [More Reading](#more-reading)  \n\n---\n\n## About/Introduction\nThis repository contains the code for the HMS Boot Script Service (BSS), a stateless microservice responsible for providing boot parameters and related configurations. It was refactored from the original `hms-netboot` code (including `bootargsd` and other components) created during earlier Redfish demos.\n\n---\n\n## Overview\n- **Purpose**: BSS delivers boot arguments, initrd, and kernel arguments to HPE Shasta systems and supports Level 2 boot services for static images.  \n- **API Specification**: A `swagger.yaml` file in this repo defines the REST API endpoints for BSS.  \n- **Architecture**: Designed to be a minimal, stateless service that focuses solely on providing the necessary boot metadata to nodes in a Shasta environment.\n\n---\n\n## Build \u0026 Install\nThis project uses [GoReleaser](https://goreleaser.com/) to automate releases and embed additional build metadata (commit info, build time, versioning, etc.).\n\n### 1. Environment Variables\nBefore building, make sure to set the following environment variables to include detailed build metadata:\n\n- **GIT_STATE**: Indicates whether there are uncommitted changes. (`clean` if no changes, `dirty` if there are.)\n- **BUILD_HOST**: Hostname of the machine performing the build.\n- **GO_VERSION**: The version of Go used.\n- **BUILD_USER**: The username of the person or system performing the build.\n\nExample:\n```bash\nexport GIT_STATE=$(if git diff-index --quiet HEAD --; then echo 'clean'; else echo 'dirty'; fi)\nexport BUILD_HOST=$(hostname)\nexport GO_VERSION=$(go version | awk '{print $3}')\nexport BUILD_USER=$(whoami)\n```\n\n### 2. Installing GoReleaser\nFollow the official [GoReleaser installation instructions](https://goreleaser.com/install/) to set up GoReleaser locally.\n\n### 3. Building Locally with GoReleaser\nUse snapshot mode to build locally without releasing:\n\n```bash\ngoreleaser release --snapshot --clean\n```\n\n- The build artifacts (including embedded metadata) will be placed in the `dist/` directory.\n- Inspect the resulting binaries to ensure the metadata was correctly embedded.\n\n---\n\n## Testing\n### BSS CT Testing\n- This repository also produces a `cray-bss-test` container image containing tests to verify BSS on live Shasta systems.  \n- The tests can be run via `helm test` as part of the Continuous Test (CT) framework during CSM installs or upgrades.  \n- The image version (e.g., `vX.Y.Z`) should match the version of the `cray-bss` image under test, both specified in the Helm chart.\n\n---\n\n## Running\nBSS is typically deployed as a container-based microservice (e.g., within a Kubernetes cluster on Shasta). Refer to your environment’s specific Helm chart or deployment documentation to run or upgrade BSS.  \n\nIn general:\n1. Build or obtain the `cray-bss` container image.\n2. Deploy via the Helm chart provided in this repository or through your Shasta deployment process.\n3. Verify logs and test endpoints as needed (using the `swagger.yaml` API spec or any standard REST client).\n\n---\n\n## More Reading\n- [GoReleaser Documentation](https://goreleaser.com/docs/)  \n- [Swagger](https://swagger.io/docs/) – for understanding and testing the `swagger.yaml` specification  \n- The original HPE version and internal documents (where applicable) for historical reference  \n\n---\n\n_This README is adapted from the original HPE version with minimal changes to match the open-source release format._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenchami%2Fbss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenchami%2Fbss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenchami%2Fbss/lists"}