{"id":20376347,"url":"https://github.com/example42/tinydata","last_synced_at":"2025-04-03T03:10:11.348Z","repository":{"id":3362419,"uuid":"38842989","full_name":"example42/tinydata","owner":"example42","description":"Tiny Data for Tiny Puppet \u0026 C.","archived":false,"fork":false,"pushed_at":"2025-02-28T08:42:12.000Z","size":976,"stargazers_count":7,"open_issues_count":10,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-02-28T14:50:18.262Z","etag":null,"topics":["puppet","puppet-tp"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/example42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","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}},"created_at":"2015-07-09T20:15:58.000Z","updated_at":"2025-02-28T08:41:40.000Z","dependencies_parsed_at":"2024-02-16T22:48:54.686Z","dependency_job_id":"adf84f37-720c-447f-814c-9622794c1df8","html_url":"https://github.com/example42/tinydata","commit_stats":{"total_commits":305,"total_committers":16,"mean_commits":19.0625,"dds":"0.19999999999999996","last_synced_commit":"76afbfe1b71c69917057d00eb3ea1561f03cfc70"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/example42%2Ftinydata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/example42%2Ftinydata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/example42%2Ftinydata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/example42%2Ftinydata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/example42","download_url":"https://codeload.github.com/example42/tinydata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241342233,"owners_count":19947167,"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":["puppet","puppet-tp"],"created_at":"2024-11-15T01:36:55.715Z","updated_at":"2025-03-17T08:13:23.601Z","avatar_url":"https://github.com/example42.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tiny Data\n\nThis repository contains data used to manage applications on different Operating Systems.\n\nIt's currently used by the ([Tiny Puppet (tp)](https://github.com/example42/puppet-tp) module as default backend where is stored the application informations.\n\n## Data files\n\nEach supported application has a sub directory in ```data/``` which contains: \n\n- the ```hiera.yaml``` file which describes the hierarchy to use to lookup for the relevant application data.\n\n- the yaml files where data is stored according to the defined hierarchy.\n\nA basic ```hiera.yaml``` is like this:\n\n```\n---\n :hierarchy:\n   - \"%{title}/osfamily/%{osfamily}\"\n   - \"%{title}/default\"\n   - default\n```\n\nso the lookup is done, if ```$title == 'mariadb'```  and ```$facts['os']['family'] == 'RedHat'``` in these files:\n\n    tinydata/data/mariadb/osfamily/RedHat.yaml\n    tinydata/data/mariadb/default.yaml\n    tinydata/data/default.yaml\n\nThe last file contains general defaults for every application, if a setting is specified in an higher level file, it will override the default.\nFor example what's set in tinydata/data/mariadb/osfamily/RedHat.yaml will override the default in tinydata/data/default.yaml (on RedHat derivatives).\n\n## Data format\n\nFor each application a settings hash is stored in the yaml files.\n\nCheck the [reference app](data/reference/default.yaml) tinyata for the official reference on the settings and how they are used.\nSettings marked as v3 are used by tp module up to version 4, where they are still supported but start to be deprecated.\nSettings marked as v4 are used by tp module 4 and above (a tech preview is available from tp 3.8.0).\n\n## Create data for a new application\n\nTo create tinydata for a new application is enough to create a new directory in ```data/``` with the name of the application and then:\n- add the ```hiera.yaml``` where you configure the hierarchy to follow.\n- add at least a ```default.yaml``` (or whatever matches your default file in hiera.yaml) with the settings for the application.\n\nThe recommended approach is to use the [moduledata_clone.sh](scripts/moduledata_clone.sh) script to generate a new app data directory based on an existing one.\n\nUsage is as follows:\n\n    scripts/moduledata_clone.sh \u003csourceapp\u003e \u003cnewapp\u003e\n\nYou can and should use one of the sample apps templates with predefined and updated tinydata to have a good starting point:\n\n    scripts/moduledata_clone.sh sample \u003cnewapp\u003e\n\n## Update policy\n\nSoftware evolves and things change.\nOur committment is to keep Tiny Data as updated as possible, so whenever new references to new versions (for example in repos url) are available, they will be updated.\n\nIf data for some Operating Systems is incorrect (and it is) we will update it without caring about possible backwards incompatibilities on existing setups: the driving principle is to have the correct data for each version of each supported operating system and application.\n\nWe recommend to refer to a specific version on this module in your Puppetfile and update it after proper checks on the eventual changes introduced in data related to the application you managing via Tiny Puppet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexample42%2Ftinydata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexample42%2Ftinydata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexample42%2Ftinydata/lists"}