{"id":15333165,"url":"https://github.com/jw3/sbt-openshift","last_synced_at":"2026-05-04T06:31:53.475Z","repository":{"id":129531183,"uuid":"95335658","full_name":"jw3/sbt-openshift","owner":"jw3","description":"Build OpenShift compatible images with SBT Native Packager","archived":false,"fork":false,"pushed_at":"2017-07-01T20:37:18.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T18:44:06.294Z","etag":null,"topics":["docker","openshift","openshift-origin","sbt","sbt-docker","sbt-native-packager","sbt-openshift","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","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/jw3.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":"2017-06-25T03:14:20.000Z","updated_at":"2017-10-29T16:25:50.000Z","dependencies_parsed_at":"2023-03-25T01:33:26.250Z","dependency_job_id":null,"html_url":"https://github.com/jw3/sbt-openshift","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"883ad252d5ac7c965368ee117cbd68ad9615032e"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jw3%2Fsbt-openshift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jw3%2Fsbt-openshift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jw3%2Fsbt-openshift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jw3%2Fsbt-openshift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jw3","download_url":"https://codeload.github.com/jw3/sbt-openshift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245864497,"owners_count":20685046,"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":["docker","openshift","openshift-origin","sbt","sbt-docker","sbt-native-packager","sbt-openshift","scala"],"created_at":"2024-10-01T10:02:20.855Z","updated_at":"2026-05-04T06:31:48.454Z","avatar_url":"https://github.com/jw3.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SBT OpenShift #\n\nLearning exercise for SBT plugin development and POC extension of the great SBT Native Packager with support for building OpenShift compatible images.\n\n## How does it work ##\n\nCurrently leverages the capability of Packager's Docker Plugin.  The OpenShift Plugin mostly just reconfigures the existing build process as defined in Packager.\n\n## What does OpenShift compatible mean? ##\n\nSee the [guidelines](https://docs.openshift.org/latest/creating_images/guidelines.html) for a full description.\n\n### Support Arbitrary User IDs ###\n    \nBy default, OpenShift Origin runs containers using an arbitrarily assigned user ID. This provides additional security against processes escaping the container due to a container engine vulnerability and thereby achieving escalated permissions on the host node.\n\nFor an image to support running as an arbitrary user, directories and files that may be written to by processes in the image should be owned by the root group and be read/writable by that group. Files to be executed should also have group execute permissions.\n\nAdding the following to your Dockerfile sets the directory and file permissions to allow users in the root group to access them in the built image:\n\n```bash\nRUN chgrp -R 0 /some/directory \\\n  \u0026\u0026 chmod -R g+rwX /some/directory\n```\n\n## Example ##\n\nThe following is generated the default configuration other than exposing `9000` with `dockerExposedPorts := Seq(9000)`\n\n```dockerfile\nFROM registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift\nUSER root\nWORKDIR /opt/docker\nADD opt /opt\nRUN chgrp -R 0 . \\\n \u0026\u0026 chmod -R g+rwX .\nEXPOSE 9000\nUSER 10001\nCMD [\"bin/example\"]\n```\n\n## Disclaimer ##\n\nI dont yet know how to correctly write SBT plugins, so buyer beware.\n\n## Bugs and Feedback\n\nFor bugs, questions, and discussions please use the [Github Issues](https://github.com/jw3/sbt-openshift/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjw3%2Fsbt-openshift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjw3%2Fsbt-openshift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjw3%2Fsbt-openshift/lists"}