Skip to main content

install-config-changes

Rules for modifying the install-config format. Use when making any changes in the `pkg/types` package or its subpackages.

ソース情報

リポジトリ
openshift/installer
ソースの最終更新活動
2026年9月18日 18:31
検出された SKILL.md の言語
英語
スター
1,559
フォーク
1,527

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
install-config-changes
description
Rules for modifying the install-config format. Use when making any changes in the `pkg/types` package or its subpackages.
user-invocable
false
## Deprecating existing fields NEVER remove fields from or rename fields in the install-config. When modifying an existing field, update the comment to note that it is deprecated. Change the name of the existing Golang struct field to prepend `Deprecated`, but do NOT change the json tag. Convert data from deprecated fields in the `pkg/types/conversion` package. ## Versioning Do not update the install-config version. ## Default values If a new field has a default value, set it once in `SetInstallConfigDefaults()` (or one of the platform-specific functions it calls out to, if the field is platform-specific) rather than everywhere that the field is referenced. ## Validation Add validation code for any new field in `pkg/types/validation` (or `pkg/types/<platform>/validation` for platform-specific fields). ## Consider the agent-based method The agent-based installation method uses the same install-config format, but all of the data must be passed through assisted-service using the cluster-manifests defined in `pkg/asset/agent/manifests`. (assisted-service uses this data to internally generate another install-config.) New fields are not automatically passed through. When adding a new field, you MUST ensure that it is correctly handled in agent-based installs. Use the following steps in order: ### Check for a non-supported platform If the new field is platform-specific, check the list of platforms in `agent.IsSupportedPlatform()`. If the platform is not supported for agent-based installations then no agent-specific changes are required. ### Use an existing cluster-manifest field The new field may already exist in one of the cluster-manifest types. Try fetching the latest version of the `github.com/openshift/assisted-service/api` module to see. If an equivalent field already exists, populate it using data from the install-config. Sometimes this requires type or string conversion. ### Use an install-config override Fields that do not have a first-class representation in the cluster-manifests can nonetheless be passed through to the install-config generated by assisted-service via the install-config overrides annotation on the `AgentClusterInstall` manifest. For this to work though, the field must first exist in the [assisted-service's local copy of the install-config struct](https://raw.githubusercontent.com/openshift/assisted-service/refs/heads/master/internal/installcfg/installcfg.go). ### Warn about ignored fields At the absolute minimum, any fields that are ignored by the agent-based method MUST generate a warning in the validation of `agent.OptionalInstallConfig` iff they are set to a non-default value. ## Regenerate the CRD When any part of a struct (including comments!) is modified, you must regenerate the CRD (and the deepcopy methods) using the command: ```bash go generate ./pkg/types/installconfig.go ```
GitHubで見る