{"id":18637209,"url":"https://github.com/openshift/pivot","last_synced_at":"2025-04-11T09:32:22.251Z","repository":{"id":65163422,"uuid":"136971810","full_name":"openshift/pivot","owner":"openshift","description":"Pivots from on ostree OS/Deployment to another via containers","archived":false,"fork":false,"pushed_at":"2019-12-18T21:57:10.000Z","size":286,"stargazers_count":12,"open_issues_count":0,"forks_count":13,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-06-20T10:08:21.855Z","etag":null,"topics":["ostree","pivot","update"],"latest_commit_sha":null,"homepage":"","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}},"created_at":"2018-06-11T19:29:41.000Z","updated_at":"2024-06-20T10:08:21.855Z","dependencies_parsed_at":"2023-01-05T05:04:19.526Z","dependency_job_id":null,"html_url":"https://github.com/openshift/pivot","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fpivot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fpivot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fpivot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fpivot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift","download_url":"https://codeload.github.com/openshift/pivot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223465578,"owners_count":17149757,"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":["ostree","pivot","update"],"created_at":"2024-11-07T05:34:11.103Z","updated_at":"2024-11-07T05:34:11.648Z","avatar_url":"https://github.com/openshift.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"pivot ➰\n========\n\n**Deprecated**: Please see [machine-config-operator](https://github.com/openshift/machine-config-operator/tree/master/pkg/daemon/pivot).\n\n[![Build Status](https://travis-ci.org/openshift/pivot.svg)](https://travis-ci.org/openshift/pivot/)\n\n`pivot` provides a simple command allowing you to upgrade an\nOSTree-based system from an OSTree repo embedded within a container\nimage. Such container images are generated by the\n`coreos-assembler oscontainer` command.\n\nIt works by (1) downloading the oscontainer, (2) mounting it using\n`podman mount`, (3) looking for the OSTree commit stored inside the\ncontainer, and (4) invoking rpm-ostree to rebase the OS to that commit.\n\nIt's not intended to be run manually, but rather as part of the\ninstallation and upgrade process of a cluster. Though one can certainly\ntest it today by provisioning an RHCOS node and running it directly (see\n[the internal guide](https://url.corp.redhat.com/redhat-coreos) and\n[release page](https://url.corp.redhat.com/redhat-coreos-releases)) for\nmore information).\n\nBuilding\n--------\n\n```\nmake build\n```\n\nOR\n\n```\nmake static\n```\n\nExample Usage\n-------------\n\n```\npivot -r $REGISTRY/os:latest\n```\n\nThough normally, one wants to use digests rather than tags, e.g.:\n\n```\npivot -r $REGISTRY/os@sha256:fdf70521df4ed1dc135d81fd3c4608574aeca45dc22d1b4e38d16630e9d6f1a7\n```\n\nIt also comes with a systemd unit to provide a \"host API\". For example:\n\n```\nmkdir -p /etc/pivot\necho $REGISTRY/os:latest \u003e /etc/pivot/image-pullspec\ntouch /run/pivot/reboot-needed\nsystemctl start pivot\n```\n\nThis will start `pivot`, which will read the file and execute the pivot.\nIf the pivot is completed, the file will be deleted. The expected way to\nmake use of this is to create the necessary files from Ignition.\n\nSee\n---\n\n- [openshift/os](https://github.com/openshift/os/)\n- [openshift/installer](https://github.com/openshift/installer)\n- [openshift/machine-config-operator](https://github.com/openshift/machine-config-operator)\n- [coreos/coreos-assembler](https://github.com/coreos/coreos-assembler)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fpivot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift%2Fpivot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fpivot/lists"}