{"id":26095072,"url":"https://github.com/brimstone/pcd","last_synced_at":"2025-04-12T10:07:03.846Z","repository":{"id":142764219,"uuid":"40392994","full_name":"brimstone/pcd","owner":"brimstone","description":"How Appliances Should Be.","archived":false,"fork":false,"pushed_at":"2020-08-25T14:36:47.000Z","size":2586,"stargazers_count":6,"open_issues_count":10,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T10:04:17.834Z","etag":null,"topics":["appliance","busybox","containers","docker","linux-distribution","musl"],"latest_commit_sha":null,"homepage":"https://brimstone.github.io/pcd","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brimstone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2015-08-08T05:47:43.000Z","updated_at":"2023-03-16T23:09:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"0e25ec9b-f67f-4be2-87f7-aa10ec903ffb","html_url":"https://github.com/brimstone/pcd","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brimstone%2Fpcd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brimstone%2Fpcd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brimstone%2Fpcd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brimstone%2Fpcd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brimstone","download_url":"https://codeload.github.com/brimstone/pcd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248550634,"owners_count":21122933,"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":["appliance","busybox","containers","docker","linux-distribution","musl"],"created_at":"2025-03-09T13:13:24.240Z","updated_at":"2025-04-12T10:07:03.840Z","avatar_url":"https://github.com/brimstone.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"pcd\n===\n\nHow Appliances Should Be.\n\nGoals:\n\n- **Cloud provider and hardware agnostic.**\n  This doesn't depend on anything only provided by any vendor, cloud or\n  hardware.\n- **Easy upgrades**\n  Currently, this is simply running the installer again.\n\nArchitecture\n------------\nThe base system is build to run entirely from RAM. The drives in the system are only there for persistent data and booting.\n\nThe first partition on the system is 200MB. This partition is marked bootable and has the syslinux bootloader installed. This should leave room for a primary and backup kernel and initramfs and allow future room for expansion.\n\nThe second partition is used for Docker images, containers and any shared filesystem. This partition is automatically expanded at boot if needed.\n\nThe system uses the runit version in busybox for PID 1.\n\nUsing\n-----\n_TODO_\n\nBoot the system in a variety of ways, PXE, ISO, vagrant, AMI.\n\nInstalling or Upgrading\n-----------------------\n_TODO_\n\nJust copy the upgrade script to the host somewhere?\n\n\nBuilding\n--------\n1. Start a build environment with `make debug`\n2. Copy in /docker/.config to /buildroot/.config\n3. Use `make menuconfig` and `make` as needed.\n4. Change files in `files` as needed.\n5. Copy `output/build/root.cpio.gz` to `/docker/root.cpio.gz` when done.\n6. Copy `output/build/vmlinuz` to `/docker/build/vmlinuz` when done.\n7. Copy `.config` back to `/docker/.config` when done.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrimstone%2Fpcd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrimstone%2Fpcd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrimstone%2Fpcd/lists"}