This is about the Test System for the Federated Properties feature, i.e. system that will be having “local” items and accessing properties from some other Wikibase instance.
**Mandatory Requirement (Must Have)**
- Uses Properties from a publicly available Wikibase instance (e.g. “beta wikidata”)
- Software (Wikibase etc) is automatically updated (in acceptable intervals if “immediately” is not possible) to the latest version available (e.g. “master” git branch). "Acceptable intervals" should at least mean that a new feature is up for verification soon after its ticket has left the "Review" column on the board.
- Publicly available site
- Related SPARQL Query Service instance provided
- Can be recovered automatically in case of failure
**Optional Requirements (Nice To Have)**
- WMDE staff has access (ssh) to the server (or should this be mandatory? - if there is a way to configure instances without directly ssh-accessing the machine that might be enough)
- Uses Properties from the www.wikidata.org (actual production site) - not needed for initial version
**Intended Solution**
- set up a cloud VPS instance on https://horizon.wikimedia.org/project/ (using the existing 'wikidata-dev' project) [[ https://wikitech.wikimedia.org/wiki/Help:Cloud_VPS_Instances | create an instance ]]
- create a https://github.com/wmde/wikibase-docker container
- `git pull` the source code of the latest master branch into a `src/` directory
- update regularly, either using `cron` or through a web hook on every merge
- mount the `src/` directory into the docker container, so that it will always be up-to-date
- set up, configure and maintain everything via [[ https://en.wikipedia.org/wiki/Ansible_(software) | ansible ]]
- ansible config file to be version-controlled in a federated-properties config folder of the [[ https://gerrit.wikimedia.org/r/admin/projects/mediawiki/extensions/Wikibase | Wikibase git repo ]]
- Everything i.e. docker container setup and mounting docker volumes, code updates from git, setting up the automated updated ("cron")