{"id":43170488,"url":"https://github.com/rocky-linux/peridot","last_synced_at":"2026-02-01T02:20:47.367Z","repository":{"id":45684940,"uuid":"511583381","full_name":"rocky-linux/peridot","owner":"rocky-linux","description":"Cloud-native build and release tools tailored to building, releasing and maintaining Linux distributions and forks","archived":false,"fork":false,"pushed_at":"2024-07-27T03:45:09.000Z","size":17963,"stargazers_count":141,"open_issues_count":48,"forks_count":31,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-07-28T01:32:47.725Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://peridot.build.resf.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rocky-linux.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":"2022-07-07T15:35:21.000Z","updated_at":"2024-07-23T22:11:29.000Z","dependencies_parsed_at":"2024-07-10T17:01:03.488Z","dependency_job_id":"9346d14d-d33e-42a8-bbb1-bda452a6228f","html_url":"https://github.com/rocky-linux/peridot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rocky-linux/peridot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocky-linux%2Fperidot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocky-linux%2Fperidot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocky-linux%2Fperidot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocky-linux%2Fperidot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rocky-linux","download_url":"https://codeload.github.com/rocky-linux/peridot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocky-linux%2Fperidot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28965147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T02:14:24.993Z","status":"ssl_error","status_checked_at":"2026-02-01T02:13:55.706Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-02-01T02:20:46.685Z","updated_at":"2026-02-01T02:20:47.362Z","avatar_url":"https://github.com/rocky-linux.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Peridot\nNamed after the Gemstone,  Peridot (pronounced  - PERR-ih-dot) is a cloud-native build and release tool used for building, releasing and maintaining Linux distributions and forks.\n\n## Structure\n__Other components pending__\n\n* publisher - `Composer for Peridot (currently only includes legacy mode)`\n* peridot - `Modern build system`\n* apollo - `Errata mirroring and publishing platform`\n* utils - `Common utilities`\n* modulemd - `Modulemd parser in Go`\n\n\n## Development\nBefore the setup install `jq`, `golang`, `make`, `bazelisk`, `docker`, `helm`, and `kubectl`:\n\nOn Linux, jq, golang, make and docker can be installed using the package manager.\n\nLinks for installing the other software:\n* Bazelisk: https://github.com/bazelbuild/bazelisk/releases\n* Helm: https://helm.sh/docs/intro/install/\n* Kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/\n\nA local Kubernetes cluster is also required. Docker Desktop is a good solution.\n\nConfigure kubectl to manage the local Kubernetes cluster by placing the\nKubeConfig yaml into `$HOME/.kube/config` and do `chmod 600 $HOME/.kube/config`\n\nThen download istio into a local directory:\nhttps://istio.io/latest/docs/setup/getting-started/\n\n#### Initial setup (will soon be replaced by one command dev cluster)\n```bash\n# In the directory where you downloaded istio\nbin/istioctl install --set profile=default --set hub=docker.io/querycapistio --set tag=1.12.1 -y\n# On aarch64 (ex. M1 Mac) only and add arm64 to list of preferred schedule archs\n# Run this while install is running\nkubectl -n istio-system edit deployment istio-ingressgateway\nsudo hack/deploy_dev_registry\nhack/setup_external_dev_services\n# Run `kubectl get svc` and add the port of postgres-postgresql to your rc file\n# Example:\n# postgres-postgresql          NodePort    10.102.68.75     \u003cnone\u003e        5432:32442/TCP                  3m32s\n# export POSTGRES_PORT=\"32442\"\nhack/setup_k8s_dev_env\ngit clone https://github.com/temporalio/temporal /tmp/temporal \u0026\u0026 pushd /tmp/temporal \u0026\u0026 make temporal-sql-tool \u0026\u0026 popd \u0026\u0026 hack/setup_dev_temporal /tmp/temporal\n# Sometimes the namespace registration may fail because\n# Temporal tools CrashLooped before we could run the migrations.\n# Run `kubectl delete pods -l \"app.kubernetes.io/name=temporal\"` and then re-run\n# `kubectl exec -it services/temporal-admintools -- tctl --namespace default namespace re`\nhack/setup_base_internal_services\n# For the cert, mkcert is recommended (mkcert.dev)\n# Add default cert using `kubectl -n istio-system create secret tls default-cert --cert=cert.pem --key=cert.key`\n# Create the Istio gateway\nbazel run //infrastructure/istio-dev\n```\nRunning `./hack/govendor` should create the necessary structure for development\n\nFor best experience use IntelliJ+Bazel but `govendor` creates structure that is compatible with all other Go tools\n#### Auto generate (only) BUILD files for Go\n`bazel run //:gazelle`\n#### Vendor Go dependencies\n`./hack/govendor`\n#### Run UI in development mode\n`ibazel run //TARGET:TARGET.server` - example: `ibazel run //apollo/ui:apollo.server`\n#### Find UI server targets\n`bazel query 'attr(tags, \"resf_frontend_server\", //...)'`\n\n## Reporting Issues / Bugs\n\nBefore opening any issues in this GitHub repository, please take a moment to read the wiki page [Reporting Bugs and RFE's](https://wiki.rockylinux.org/rocky/bugs/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocky-linux%2Fperidot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocky-linux%2Fperidot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocky-linux%2Fperidot/lists"}