{"id":18637263,"url":"https://github.com/openshift/assisted-installer","last_synced_at":"2025-04-10T01:10:14.900Z","repository":{"id":36970676,"uuid":"275946212","full_name":"openshift/assisted-installer","owner":"openshift","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-08T20:17:39.000Z","size":27785,"stargazers_count":74,"open_issues_count":12,"forks_count":105,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-10T01:10:02.958Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openshift.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2020-06-29T23:13:24.000Z","updated_at":"2025-04-08T14:21:48.000Z","dependencies_parsed_at":"2023-02-16T03:45:56.763Z","dependency_job_id":"b7ae4c0d-d409-4e3c-a075-13870a85966d","html_url":"https://github.com/openshift/assisted-installer","commit_stats":null,"previous_names":[],"tags_count":180,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fassisted-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fassisted-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fassisted-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fassisted-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift","download_url":"https://codeload.github.com/openshift/assisted-installer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137886,"owners_count":21053775,"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-07T05:34:40.286Z","updated_at":"2025-04-10T01:10:14.879Z","avatar_url":"https://github.com/openshift.png","language":"Go","readme":"# OpenShift Assisted Installer\nThe OpenShift Assisted Installer provides for easy provisioning of new bare metal machines and creation of OpenShift clusters.\nThe Assisted Installer is meant to run on FCOS or RHCOS liveCD images.\nThe Assisted Installer uses CoreOS Ignition as a configuration format. The ignition files are created and stored by [Assisted Installation Service](https://github.com/openshift/assisted-service).\n\nThe Assisted Installer is executed by the Assisted Installation Service. Once the cluster installation begins (after host discovery), each host will get the relevant install command from the service. For example:\n```bash\nsudo podman run -e CLUSTER_ID=\u003cclusterID\u003e -e BUCKET=\u003cS3 bucket\u003e -e S3_URL=\u003cS3 url\u003e -e DEVICE=\u003cboot disk\u003e -v /dev:/dev:rw --privileged --pid=host  quay.io/openshift/assisted-installer:latest -r \u003cnode role\u003e\n```\n\nThere are 3 different roles for installing a node using the assisted installer: \n - master\n - worker\n - bootstrap\n\nUnlike most OpenShift installers, the assisted installer requires a minimum of 3 nodes and doesn't require an auxiliary bootstrap node. \\\nInstead, the Assisted Installer will pivot the bootstrap to become a master node once the control plane is running on 2 other master nodes.\n\n# Bootstrap node installation flow:\nThe Assisted Installer will:\n1. fetch the bootstrap ignition file (currently from S3 but will change soon) and utilize the MCO container for writing the configuration to disk (using once-from option).\n1. start the bootstrap services (bootkube.service, approve-csr.service, progress.service), at this point the bootstrap will start a temporary control plane.\n1. fetch the cluster kubeconfig from the assisted-service and wait for 2 master nodes to appear.\n1. patch the etcd configuration to allow etcd to start with less than 3 members (\u003c4.7 only).\n1. wait for 2 **ready** master nodes and for the bootkube service to complete.\n1. pivot to master by executing the master installation flow.\n\n# Master / worker node installation flow:\nThe Assisted Installer will:\n1. fetch the relevant ignition file and utilize coreos-installer to write the relevant CoreOS image and ignition to disk.\n1. trigger node reboot.\n\nThe node will start with the new CoreOS image and ignition, and will contact the machine-config-server running on the bootstrap node in order to complete the installation.\n\n# Known changes to be done:\n - Create a machine CR for the bootstrap node in order to approve the CSR for this node.\n - Optimize install time by storing the CoreOS image on the live CD rather than downloading it from the internet.\n - Use the relevant CoreOS image for the OCP release.\n - Get the ignition from the bm-inventory instead of S3.\n\n# Build\nTo build and push your image to docker registry  just run make.\nYou can change the default target, export `INSTALLER` environment variable to your docker registry\n\n```bash\nexport INSTALLER=\u003cregistry\u003e/\u003cimage-name\u003e:\u003ctag\u003e\nmake\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fassisted-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift%2Fassisted-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fassisted-installer/lists"}