Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.

MGMT-23844: renames fulfillment-cli to osac in osac-installer - #63

Merged
openshift-merge-bot[bot] merged 1 commit into
osac-project:mainfrom
wgordon17:worktree-MGMT-23842-cli-rename-osac
Apr 17, 2026
Merged

openshift-merge-bot[bot] merged 1 commit into
osac-project:mainfrom
wgordon17:worktree-MGMT-23842-cli-rename-osac

Conversation

@wgordon17

@wgordon17 wgordon17 commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Renames CLI invocations in setup scripts from fulfillment-cli to osac
  • Updates Keycloak realm client ID from fulfillment-cli to osac-cli
  • Renames Fulfillment-CLI-HOWTO.md to OSAC-CLI-HOWTO.md with full content update

Summary by CodeRabbit

Release Notes

  • Documentation

    • Updated CLI setup guides and tutorials to reflect new OSAC CLI branding and updated command references.
  • Chores

    • CLI tool rebranded to OSAC with updated command names, environment variables, and configuration paths.

@openshift-ci-robot

openshift-ci-robot commented Apr 17, 2026

Copy link
Copy Markdown

@wgordon17: This pull request references MGMT-23842 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Renames CLI invocations in setup scripts from fulfillment-cli to osac
  • Updates Keycloak realm client ID from fulfillment-cli to osac-cli
  • Renames Fulfillment-CLI-HOWTO.md to OSAC-CLI-HOWTO.md with full content update

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Apr 17, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@wgordon17
wgordon17 force-pushed the worktree-MGMT-23842-cli-rename-osac branch from ac40994 to 2caf38c Compare April 17, 2026 17:07
@wgordon17 wgordon17 changed the title MGMT-23842: renames fulfillment-cli to osac MGMT-23844: renames fulfillment-cli to osac in osac-installer Apr 17, 2026
@openshift-ci-robot

openshift-ci-robot commented Apr 17, 2026

Copy link
Copy Markdown

@wgordon17: This pull request references MGMT-23844 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Renames CLI invocations in setup scripts from fulfillment-cli to osac
  • Updates Keycloak realm client ID from fulfillment-cli to osac-cli
  • Renames Fulfillment-CLI-HOWTO.md to OSAC-CLI-HOWTO.md with full content update

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@wgordon17
wgordon17 force-pushed the worktree-MGMT-23842-cli-rename-osac branch 2 times, most recently from f9704f1 to c4eb118 Compare April 17, 2026 18:01
@wgordon17
wgordon17 marked this pull request as ready for review April 17, 2026 18:04
@openshift-ci-robot

openshift-ci-robot commented Apr 17, 2026

Copy link
Copy Markdown

@wgordon17: This pull request references MGMT-23844 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Renames CLI invocations in setup scripts from fulfillment-cli to osac
  • Updates Keycloak realm client ID from fulfillment-cli to osac-cli
  • Renames Fulfillment-CLI-HOWTO.md to OSAC-CLI-HOWTO.md with full content update

Summary by CodeRabbit

Release Notes

  • Documentation

  • Updated CLI setup guides and tutorials to reflect new OSAC CLI branding and updated command references.

  • Chores

  • CLI tool rebranded to OSAC with updated command names, environment variables, and configuration paths.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Apr 17, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@wgordon17 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 56 minutes and 15 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 56 minutes and 15 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f1ea6a8c-0dbc-4514-817e-354945f100fe

📥 Commits

Reviewing files that changed from the base of the PR and between c4eb118 and df2ce5c.

📒 Files selected for processing (5)
  • OSAC-CLI-HOWTO.md
  • README.md
  • prerequisites/keycloak/service/files/realm.json
  • scripts/prepare-fulfillment-service.sh
  • scripts/setup.sh

Walkthrough

This pull request updates CLI branding throughout the codebase by replacing "Fulfillment CLI" with "OSAC CLI". Changes include renaming command invocations from fulfillment-cli to osac, updating environment variables (e.g., FULFILLMENT_CLI_ROOTOSAC_CLI_ROOT, FULFILLMENT_CONFIG_*OSAC_CONFIG_*), modifying configuration paths, updating Keycloak realm client definitions, and revising documentation and shell scripts to reflect the new naming convention.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

lgtm

Suggested reviewers

  • danmanor
  • tzvatot
  • tzumainn
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: renaming fulfillment-cli to osac throughout the osac-installer repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (4)
OSAC-CLI-HOWTO.md (2)

1821-1822: OSAC_ENV is also illustrative, not CLI-consumed.

Same note as above — just flagging so readers don't assume this is recognized by the osac binary.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@OSAC-CLI-HOWTO.md` around lines 1821 - 1822, The document currently shows
OSAC_ENV and config_file as if OSAC_ENV is consumed by the osac CLI; clarify
that OSAC_ENV is illustrative only and not read by the osac binary by adding a
short note next to the OSAC_ENV example (referencing the symbols OSAC_ENV and
config_file) stating it is an illustrative environment variable and that the
osac binary does not consume OSAC_ENV (mention the osac binary explicitly) so
readers won't assume the CLI recognizes it.

239-260: OSAC_CONFIG_DEV/OSAC_CONFIG_PROD are example shell variables, not CLI-recognized env vars.

Nit: these are just local shell convenience variables used by the cp commands in the examples, not environment variables the CLI itself consumes. A reader skimming might assume OSAC_CONFIG_* is a supported mechanism for config selection. Consider either (a) clarifying the text to call these out as ad-hoc shell vars, or (b) using lowercase names like dev_config to avoid confusion with genuine OSAC_* env vars the binary may support.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@OSAC-CLI-HOWTO.md` around lines 239 - 260, The examples use OSAC_CONFIG_DEV
and OSAC_CONFIG_PROD which look like official env vars but are only local shell
convenience variables; update the docs to either (a) add a short clarifying
sentence above the blocks stating "OSAC_CONFIG_DEV/OSAC_CONFIG_PROD are ad-hoc
local shell variables used only in these examples and are not consumed by the
CLI", or (b) rename the example variables to non-OSAC names such as
dev_config/prod_config and update the subsequent cp commands that reference them
as well as the target ~/.config/osac/config.json so readers won't confuse them
with real OSAC_* environment variables. Ensure you change every occurrence of
OSAC_CONFIG_DEV and OSAC_CONFIG_PROD in the snippet (including the cp lines and
any explanatory text).
scripts/prepare-fulfillment-service.sh (2)

22-23: Verify osac is on PATH before invocation.

Under set -o errexit, if osac is not installed the script fails at line 22 with an opaque "command not found". The README already notes this requirement, but since setup.sh calls this unconditionally, consider a preflight check (command -v osac >/dev/null || { echo "ERROR: 'osac' not found on PATH"; exit 1; }) to produce a clearer error — especially given the rename will trip up users who still have fulfillment-cli installed instead of osac.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/prepare-fulfillment-service.sh` around lines 22 - 23, Add a preflight
check to verify the osac binary exists before the script calls osac (i.e.,
before the `osac login` / `osac create hub` invocations) so the script fails
with a clear message under `set -o errexit`; use `command -v osac` (or similar)
and exit with an explanatory error like "ERROR: 'osac' not found on PATH (you
may have 'fulfillment-cli' installed)" if not found. Ensure the check runs early
in the script and prevents executing the `osac login` and `osac create hub`
commands when the binary is missing.

27-27: Consider renaming this script file for consistency.

With fulfillment-cli gone, the filename prepare-fulfillment-service.sh and the FULFILLMENT_API_URL variable/route name at line 21 are the only remnants of the old naming in this script. The fulfillment-api route is a server-side resource (likely still named that way in manifests, so leave it), but a follow-up renaming this script to e.g. prepare-osac.sh or register-hub.sh would complete the cleanup. Not blocking.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/prepare-fulfillment-service.sh` at line 27, The script filename and
internal variable names still reference the old "fulfillment" naming; rename the
script (e.g., prepare-osac.sh or register-hub.sh) and update in-script variables
and comments for consistency: change the script name and any occurrences of
FULFILLMENT_API_URL (and other "FULFILLMENT" identifiers) to the new chosen name
(e.g., OSAC_API_URL or HUB_API_URL) while leaving server-side manifest route
names untouched, and update any CI/job, README, or invocation references to this
script to use the new filename.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@OSAC-CLI-HOWTO.md`:
- Around line 150-154: The HOWTO currently tells users to create
~/.config/osac/config.json but the CLI binary (fulfillment-cli) actually reads
~/.config/fulfillment-cli/config.json; pick one resolution and apply it
consistently: either update all documentation occurrences of
"~/.config/osac/config.json" (and the mkdir example) to
"~/.config/fulfillment-cli/config.json" and search/replace the other mentioned
occurrences, or modify the CLI startup/config-loading code to look for
"~/.config/osac/config.json" (and its mkdir/create logic) so the docs remain
correct; ensure the chosen symbol names (the string paths
"~/.config/osac/config.json" and "~/.config/fulfillment-cli/config.json" and the
binary name "fulfillment-cli") are updated wherever they appear.

In `@prerequisites/keycloak/service/files/realm.json`:
- Line 100: The realm.json change renames the Keycloak client from
fulfillment-cli to osac-cli and is a breaking upgrade because Keycloak's
--import-realm (configMap-mounted realm.json) will not automatically rename
existing clients; update the PR/changelog and release notes to clearly state
this is a breaking change for upgrades, that the provided realm.json only
supports greenfield installs, and include explicit remediation instructions for
operators (manual client migration or data remediation) referencing the old
clientId "fulfillment-cli", the new clientId "osac-cli", and the import
mechanism "--import-realm" so maintainers know to perform a manual migration for
existing Keycloak instances.

In `@README.md`:
- Around line 383-385: Update the curl download URL asset name used in the
README: change the filename token "osac_Linux_x86_64" in the curl command to the
actual release asset name "fulfillment-service_Linux_x86_64" so the URL becomes
https://github.com/osac-project/fulfillment-service/releases/latest/download/fulfillment-service_Linux_x86_64;
keep the local output filename ("-o osac") and the subsequent chmod +x osac
unchanged.

---

Nitpick comments:
In `@OSAC-CLI-HOWTO.md`:
- Around line 1821-1822: The document currently shows OSAC_ENV and config_file
as if OSAC_ENV is consumed by the osac CLI; clarify that OSAC_ENV is
illustrative only and not read by the osac binary by adding a short note next to
the OSAC_ENV example (referencing the symbols OSAC_ENV and config_file) stating
it is an illustrative environment variable and that the osac binary does not
consume OSAC_ENV (mention the osac binary explicitly) so readers won't assume
the CLI recognizes it.
- Around line 239-260: The examples use OSAC_CONFIG_DEV and OSAC_CONFIG_PROD
which look like official env vars but are only local shell convenience
variables; update the docs to either (a) add a short clarifying sentence above
the blocks stating "OSAC_CONFIG_DEV/OSAC_CONFIG_PROD are ad-hoc local shell
variables used only in these examples and are not consumed by the CLI", or (b)
rename the example variables to non-OSAC names such as dev_config/prod_config
and update the subsequent cp commands that reference them as well as the target
~/.config/osac/config.json so readers won't confuse them with real OSAC_*
environment variables. Ensure you change every occurrence of OSAC_CONFIG_DEV and
OSAC_CONFIG_PROD in the snippet (including the cp lines and any explanatory
text).

In `@scripts/prepare-fulfillment-service.sh`:
- Around line 22-23: Add a preflight check to verify the osac binary exists
before the script calls osac (i.e., before the `osac login` / `osac create hub`
invocations) so the script fails with a clear message under `set -o errexit`;
use `command -v osac` (or similar) and exit with an explanatory error like
"ERROR: 'osac' not found on PATH (you may have 'fulfillment-cli' installed)" if
not found. Ensure the check runs early in the script and prevents executing the
`osac login` and `osac create hub` commands when the binary is missing.
- Line 27: The script filename and internal variable names still reference the
old "fulfillment" naming; rename the script (e.g., prepare-osac.sh or
register-hub.sh) and update in-script variables and comments for consistency:
change the script name and any occurrences of FULFILLMENT_API_URL (and other
"FULFILLMENT" identifiers) to the new chosen name (e.g., OSAC_API_URL or
HUB_API_URL) while leaving server-side manifest route names untouched, and
update any CI/job, README, or invocation references to this script to use the
new filename.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ce90b1c1-0377-49f4-abbc-f3ad986a0c82

📥 Commits

Reviewing files that changed from the base of the PR and between 4ba0524 and c4eb118.

📒 Files selected for processing (5)
  • OSAC-CLI-HOWTO.md
  • README.md
  • prerequisites/keycloak/service/files/realm.json
  • scripts/prepare-fulfillment-service.sh
  • scripts/setup.sh

Comment thread OSAC-CLI-HOWTO.md
],
"client": {
"fulfillment-cli": [],
"osac-cli": [],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Find keycloak realm import strategy
rg -nP --type=yaml -C3 '(import[_-]?strategy|importStrategy|KEYCLOAK_IMPORT)' prerequisites/keycloak/
fd -a . prerequisites/keycloak/ | head -50

Repository: osac-project/osac-installer

Length of output: 1529


🏁 Script executed:

cat -n prerequisites/keycloak/service/deployment.yaml | head -100

Repository: osac-project/osac-installer

Length of output: 3784


🏁 Script executed:

# Look for import-related environment variables or volume mounts in deployment
rg -n 'KEYCLOAK|import|realm' prerequisites/keycloak/service/deployment.yaml -C 2

Repository: osac-project/osac-installer

Length of output: 1067


🏁 Script executed:

# Check the full realm.json to understand the change scope
wc -l prerequisites/keycloak/service/files/realm.json

Repository: osac-project/osac-installer

Length of output: 123


🏁 Script executed:

# Get context around the clientId changes mentioned (lines 100, 912-915)
sed -n '95,110p' prerequisites/keycloak/service/files/realm.json
sed -n '907,920p' prerequisites/keycloak/service/files/realm.json

Repository: osac-project/osac-installer

Length of output: 926


🏁 Script executed:

# Search for all occurrences of both old and new clientId in realm.json
rg -c 'fulfillment-cli|osac-cli' prerequisites/keycloak/service/files/realm.json

Repository: osac-project/osac-installer

Length of output: 72


🏁 Script executed:

# Check git history of realm.json to see how clientId changed
git log --oneline prerequisites/keycloak/service/files/realm.json | head -20

Repository: osac-project/osac-installer

Length of output: 140


🏁 Script executed:

# Search for migration scripts or upgrade documentation
fd -type f -name '*migrat*' -o -name '*upgrade*' -o -name '*CHANGELOG*' -o -name '*MIGRATION*' prerequisites/

Repository: osac-project/osac-installer

Length of output: 241


🏁 Script executed:

# Search for any references to fulfillment-cli in the entire codebase
rg -r 'fulfillment-cli' . --type yaml --type json --type md

Repository: osac-project/osac-installer

Length of output: 50385


🏁 Script executed:

# Check for any version or breaking changes documentation
rg -n 'breaking|BREAKING|5\.0|version' prerequisites/keycloak/ --type yaml --type json

Repository: osac-project/osac-installer

Length of output: 337


Document the breaking change for upgrades.

This is an intentional rename (MGMT-23844) confirmed in git history. The deployment uses Keycloak's --import-realm mechanism with a configMap-mounted realm.json. The current realm.json contains only the new osac-cli clientId and no trace of the old fulfillment-cli.

For greenfield deployments, the import works as expected. However, for existing Keycloak instances with provisioned users/tokens against fulfillment-cli, the realm import will not automatically rename the old client—it will either remain unchanged or coexist with the new one depending on Keycloak's import strategy. Since no migration scripts or upgrade path documentation exists in the codebase, add a clear note in the changelog/PR description clarifying:

  • This is a breaking change for upgrades
  • Only greenfield installs are supported with this realm definition
  • Existing deployments require manual client migration or data remediation
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@prerequisites/keycloak/service/files/realm.json` at line 100, The realm.json
change renames the Keycloak client from fulfillment-cli to osac-cli and is a
breaking upgrade because Keycloak's --import-realm (configMap-mounted
realm.json) will not automatically rename existing clients; update the
PR/changelog and release notes to clearly state this is a breaking change for
upgrades, that the provided realm.json only supports greenfield installs, and
include explicit remediation instructions for operators (manual client migration
or data remediation) referencing the old clientId "fulfillment-cli", the new
clientId "osac-cli", and the import mechanism "--import-realm" so maintainers
know to perform a manual migration for existing Keycloak instances.

Comment thread README.md
Comment on lines +383 to +385
$ curl -L -o osac \
https://github.com/osac-project/fulfillment-service/releases/latest/download/osac_Linux_x86_64
$ chmod +x osac

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

osac-project/fulfillment-service latest release asset filenames

💡 Result:

The latest release of osac-project/fulfillment-service is v0.0.46, released on 2026-03-11. No specific asset filenames (e.g., binaries, source archives, checksums) are listed in available sources. The repository has 11 releases total, but detailed release page content with assets was not surfaced in search results. Typical GitHub Go project releases include fulfillment-service_v0.0.46_linux_amd64.tar.gz, fulfillment-service_v0.0.46_darwin_amd64.tar.gz, checksums.txt, but confirmation requires direct access to https://github.com/osac-project/fulfillment-service/releases/tag/v0.0.46.

Citations:


🌐 Web query:

site:github.com/osac-project/fulfillment-service/releases/tag/v0.0.46

💡 Result:

osac-project/fulfillment-service — Release v0.0.46 (tag v0.0.46)

  • Released by @eranco74 on 11 Mar (11:13); tag points to commit 4a90b67. [1]
  • What’s changed: [1]
    • Bump goreleaser/goreleaser-action 6 → 7 (Dependabot) (#322)
    • Bump docker/login-action 3 → 4 (Dependabot) (#320)
    • Bump actions/upload-artifact 6 → 7 (Dependabot) (#321)
    • Bump Go dependencies group (7 updates) (Dependabot) (#316)
    • Release binaries directly instead of archives (@jhernand) (#323)
    • MGMT-23194: Add Networking Resources to Private API (@eranco74) (#314)
    • Implement Core Networking Infrastructure (@eranco74) (#324)
  • Full changelog compares v0.0.45...v0.0.46. [1]

Source: GitHub release page for v0.0.46. [1]


🌐 Web query:

osac-project fulfillment-service github releases linux asset binary

💡 Result:

The osac-project/fulfillment-service GitHub repository (https://github.com/osac-project/fulfillment-service) is a Go-based cloud-in-a-box fulfillment service for the Open Sovereign AI Cloud (OSAC) project. It has 11 releases, with the latest being v0.0.46 released on 2026-03-11. No evidence of pre-built Linux binary assets in the releases was found across multiple searches targeting releases and assets. The README explicitly instructs users to build the binary themselves using 'go build' after installing Go and other development tools (Buf, Ginkgo, etc.). The project supports running on Linux (e.g., Podman for containers, PostgreSQL setup), but binaries must be compiled from source. To obtain the Linux binary: 1. Clone the repo: git clone https://github.com/osac-project/fulfillment-service 2. cd fulfillment-service 3. go build This produces the ./fulfillment-service executable, which can run the gRPC server or REST gateway as documented (e.g., ./fulfillment-service start grpc-server --grpc-listener-address=localhost:8000 --db-url=postgres://user:pass@localhost:5432/db). Note: A related fulfillment-cli repo mentions pre-built binaries from releases, but not for fulfillment-service itself.

Citations:


🏁 Script executed:

# Search for any GitHub workflows that might reveal release asset naming
curl -s https://api.github.com/repos/osac-project/fulfillment-service/releases/latest 2>/dev/null | jq '.assets[].name' || echo "API call may have failed in sandbox"

Repository: osac-project/osac-installer

Length of output: 531


🌐 Web query:

"fulfillment-service_Linux_x86_64" v0.0.46 github release osac-project

💡 Result:

The "fulfillment-service_Linux_x86_64" v0.0.46 is the Linux x86_64 binary asset from the latest release of the osac-project/fulfillment-service GitHub repository. This is a Go-based gRPC/REST service for "Cloud-in-a-box fulfillment" in the Open Sovereign AI Cloud (OSAC) project, used for managing cluster orders, templates, and deployments in OpenShift/Kubernetes environments. It requires PostgreSQL for state and supports deployment via Podman/Docker to clusters. Release details: - Repository: https://github.com/osac-project/fulfillment-service - Latest release: v0.0.46, published 2026-03-11 - Total releases: 11 - License: Apache-2.0 To build the binary yourself: Clone the repo and run go build. The specific pre-built Linux x86_64 binary named "fulfillment-service_Linux_x86_64" (likely versioned for v0.0.46) is available for download from the release assets page: https://github.com/osac-project/fulfillment-service/releases/tag/v0.0.46 Usage example (gRPC server): ./fulfillment-service start grpc-server --log-level=debug --grpc-listener-address=localhost:8000 --db-url=postgres://user:pass@localhost:5432/db

Citations:


🏁 Script executed:

# Try to access the GitHub API for the exact fulfillment-service v0.0.46 release
python3 << 'EOF'
import json
import urllib.request
import urllib.error

try:
    # Query GitHub API for v0.0.46 release of fulfillment-service
    url = "https://api.github.com/repos/osac-project/fulfillment-service/releases/tags/v0.0.46"
    req = urllib.request.Request(url)
    req.add_header('User-Agent', 'Mozilla/5.0')
    with urllib.request.urlopen(req, timeout=10) as response:
        data = json.loads(response.read().decode())
        print("Release: ", data.get('tag_name'))
        print("Assets:")
        for asset in data.get('assets', []):
            print(f"  - {asset['name']}")
except urllib.error.HTTPError as e:
    print(f"HTTP Error: {e.code}")
except Exception as e:
    print(f"Error: {e}")
EOF

Repository: osac-project/osac-installer

Length of output: 205


Update asset name in download URL to fulfillment-service_Linux_x86_64.

The README specifies osac_Linux_x86_64, but the actual release asset is named fulfillment-service_Linux_x86_64. The curl command will fail with a 404 for users following the docs.

Current code (lines 383-385)
$ curl -L -o osac \
    https://github.com/osac-project/fulfillment-service/releases/latest/download/osac_Linux_x86_64
$ chmod +x osac
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 383 - 385, Update the curl download URL asset name
used in the README: change the filename token "osac_Linux_x86_64" in the curl
command to the actual release asset name "fulfillment-service_Linux_x86_64" so
the URL becomes
https://github.com/osac-project/fulfillment-service/releases/latest/download/fulfillment-service_Linux_x86_64;
keep the local output filename ("-o osac") and the subsequent chmod +x osac
unchanged.

Signed-off-by: Will Gordon <wgordon@redhat.com>
Generated-By: Claude Code (Anthropic)
Signed-off-by: Will Gordon <wgordon@redhat.com>
@wgordon17
wgordon17 force-pushed the worktree-MGMT-23842-cli-rename-osac branch from c4eb118 to df2ce5c Compare April 17, 2026 19:44
@openshift-ci

openshift-ci Bot commented Apr 17, 2026

Copy link
Copy Markdown

@achuzhoy: changing LGTM is restricted to collaborators

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci

openshift-ci Bot commented Apr 17, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: achuzhoy, trewest, wgordon17

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot
openshift-merge-bot Bot merged commit 253900a into osac-project:main Apr 17, 2026
6 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Apr 19, 2026
3 tasks
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants