openshift / openshift/oc

Feature request: Notarize the MacOS binaries in the pipeline

Open
#2,066 12 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
247
Forks
475
Avg merge
4d 9h
Merged PRs (30d)
11

Description

Notarize the MacOS binaries in the pipeline

When installing the Openshift Client on MacOS the Gatekeeper warns that the binary is untrusted and blocks it.
Users then have to go into the settings and overrule the block.
The process is pretty involved every update and may lead to users disabling safety features on their devices.

Related RedHat blog post about it by @DonSchenck

Suggested solution

Integrating this tool in the pipeline submits the binaries to Apple for verification (malware checks etc)
https://github.com/Bearer/gon

Requirements to fix this issue

  • An Apple developer account
  • Knowledge of the build process (upstream at RedHat?) (a.k.a. the magic that puts everything at mirror.openshift.com)

The steps users have to take if they don't want to disable security settings

  1. oc gets updated (by manual download or with Brew)
  2. User tries to use it. (Or opens a new terminal and it gets used for shell completion)
  3. A warning message appears and the user clicks Done
oc not opened
  1. User opens System settings and finds the Security menu.
  2. User resets/overrules the warning.
Allow Anyway
  1. User tries to use oc again. Warning reappears.
Open Anyway
  1. User uses administrator/sudo rights to ignore the warning and stops being bothered until the next update.
Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Go build and release pipeline that publishes binaries to mirror.openshift.com, then review how gon could submit the macOS artifacts for Apple verification. Done means released macOS binaries are notarized and no longer trigger the described Gatekeeper warnings; confirm the required Apple developer account and credentials handling as part of the pipeline design.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, macos
Domain
build-system, cli, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.