{"id":24752054,"url":"https://github.com/inferno-framework/inferno-platform-template","last_synced_at":"2026-02-21T03:32:52.969Z","repository":{"id":240157045,"uuid":"782644492","full_name":"inferno-framework/inferno-platform-template","owner":"inferno-framework","description":"Template repository for creating a customized Inferno Test Kit Platform to host multiple Test Kits on a single site.","archived":false,"fork":false,"pushed_at":"2025-02-18T17:31:29.000Z","size":6033,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T01:25:28.153Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","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/inferno-framework.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":"2024-04-05T18:04:39.000Z","updated_at":"2025-02-18T17:31:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"ec96f43d-0b78-4586-bf99-4a74a59f9c94","html_url":"https://github.com/inferno-framework/inferno-platform-template","commit_stats":null,"previous_names":["inferno-framework/inferno-platform-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/inferno-framework/inferno-platform-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Finferno-platform-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Finferno-platform-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Finferno-platform-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Finferno-platform-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inferno-framework","download_url":"https://codeload.github.com/inferno-framework/inferno-platform-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Finferno-platform-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29672704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T03:11:15.450Z","status":"ssl_error","status_checked_at":"2026-02-21T03:10:34.920Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":"2025-01-28T10:34:38.066Z","updated_at":"2026-02-21T03:32:52.947Z","avatar_url":"https://github.com/inferno-framework.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inferno Test Kit Platform Template\n\nImportant: this repository is based on an experimental template extracted from\nthe source of [Inferno on HealthIT.gov](https://inferno.healthit.gov) and will\nneed to be updated as components of Inferno are updated.  As such, this should\nnot yet be considered stable and a moderate amount of effort will be necessary\nto upgrade this site in coordination with updates to Inferno.  Using this\ntemplate requires web application development knowledge.\n\nThe contents of this README will be moved into [Inferno Framework\ndocumentation](https://inferno-framework.github.io) once the concept and\nimplementation of Inferno Platforms is more mature.\n\nAdditionally, some aspects of this repository are a work in progress, including\nthe contents of the README and organization of the styles and html templates.\n\n## Background\nInferno tests are packaged into testing applications called Test Kits.  These\nTest Kits are designed to be portable, standalone applications that can be\ndownloaded and run in a local environment.  They also can be hosted in a shared\nenvironment for use by multiple users, but by default Test Kit applications do\nnot provide a turnkey solution for hosting multiple Test Kits on a single host.\n\nSometimes, it is useful to provide a single web that hosts multiple test kits.  The\n[Inferno on HealthIT.gov](htps://inferno.healthit.gov) host is one such example.\nIt hosts Test Kits that are relevant to ONC's mission, and provides a UI that is\nsuited for multi-Test Kit installations.\n\nThese sites are called Inferno Test Kit Platforms.  They provide a platform for\nloading multiple Test Kits.  Besides providing a UI that enable navigation\nacross multiple Test Kits, they also:\n\n* Provide a configuration that assumes a larger, shared environment.  Such as\n  using a Postgres database by default.\n* Provide tools to manage the data on the system, such as data retention purging\n  tools and a dashboard providing an overview of test usage on the platform.\n\nIf you would like to set up a platform, this is the place to start.  Please\nremember that this is under heavy development and is not yet stable.\n\n## Getting Started\n\n1. Clone the Inferno Platform Template repository: To get started, you can\ncreate a new git repository by cloning the [Inferno Platform\nTemplate](https://github.com/inferno-framework/inferno-platform-template)\nrepository or using GitHub's built in \"Use this template\" action.  The template\nprovides a couple of pre-configured Test Kits and templated content, but you are\nexpected to remove these and replace with custom content.\n1. Install Docker or Podman.  Note that instructions are written for using\nDocker currently, but use of Podman is possible.\n1. Customize .env to point to a different host if you are running this from\nsomewhere other than localhost to start.\n1. If your network requires special client certificates to access the internet,\nupdate Dockerfile to install these certificates.\n1. Run `./setup.sh`.  This wil download and build required Docker images based\non the `docker-compose.yml` file.\n1. Run `./run.sh`.  This will launch the\napplication.  By default you can access this from `http://localhost`.  It may take\na little while for the site to come up.  You can view progress using `docker compose logs --follow`.\n\nOnce you have successfully launched the default platform template on your local machine, you are ready to\ncustomize it to include the relevant Test Kits and content for your platform.\n\n## Customizing the platform\n* Adding Test Kits\n* Updating non-test kit content\n* Configuring the Platform\n\n### Adding Test Kits\n* Add Test Kit gem to Gemfile.  This preferably is published on RubyGems, but\n  this could also point to a local file or GitHub repo.  See Gemfile\n  documentation for information on publishing content to RubyGems.org.\n* Update /lib/inferno_platform_template.rb to include your test kit in the running Inferno application.\n* Add your IG package to lib/inferno_platform_template/igs directory.  This will preload your IG into the validator service\n* Note that all IGs will be loaded into single instance of the validator currently.\n* Also note that we have an improved version of the validator service that will allow you to avoid this step. This will be incorporated into the template soon.\n* Update nginx.conf to override the 'suite' landing page with the 'test kit landing page'.  While not technically needed, this will ensure\n  that users that navigate out of a test session will be put on a test kit page.\n\n## Updating non-test Kit content (e.g. news, etc)\n* First, you should install Ruby to make changes to the platform static content. While not technically required,\n  rerunning `./setup.sh` and `./run.sh` will be slow\n* This will allow you to rebuild using Jekyll locally, and serve a copy of the static files\n* Install required gems using `bundle install`.\n* Initialize the sqlite dev database by running `bundle exec rake db:migrate`. While updating content\n  doesn't technically need the database, Inferno's internals assume the availability of certain database files.\n* You can run `bundle exec rake web:serve` to generate the files and view them at `http://localhost:4000`\n* Alternatively, you can run `bundle exec rake web:generate` to only generate the files\n* Note that the `web:generate` rake command will first run `web:create_test_kit_pages`, which extracts test kit metadata\n  from the test kit gems and places them into markdown files in the `web/_test_kits/` directory.  These files should not\n  be committed to the repository, as they are generated automatically prior to Jekyll building the site.\n* All static platform content is contained in `web`, and when generated is placed in `_site`. You\n  not need to commit _site content to github as it is regenerated at build time in `./setup.sh`\n* This uses a standard Jekyll setup, so you are free to leverage the capabilities of Jekyll for your site\n* By default, the site is set up like inferno.healthit.gov, but you are free to change how you would like\n* `/suites` (by default) is a special directory handled by Inferno's Suite Running application\n* You have limited customization abilities for content under `/suites`, but you can adjust the content in the Banner. This is located in `/config/banner.html.erb`\n* This is for historic reasons -- we would like to unify this with the Jekyll generation in a future update.\n\n## Updating configuration\n* Updating host\n   * update .env file to point to your domain\n   * By default, this site is served over ssl using a self-signed cert.  You can update the docker-compose.yml\n     file to mount a cert for your site\n* Update data retention policy.\n   * Note that by default, this is set up to periodically remove data because test sessions can get quite large.\n     A notice in the user interface itself prominently notes this.  You can alter this within /lib/inferno_platform_template/delete_old_sessions.rb\n\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at\n```\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Finferno-platform-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finferno-framework%2Finferno-platform-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Finferno-platform-template/lists"}