# RESTBase wikimedia example config # Load some project templates. These are referenced / shared between domains # in the root_spec further down. default_project: &default_project x-modules: - path: projects/wmf_default.yaml options: &default_options table: backend: cassandra hosts: [localhost] keyspace: system username: cassandra password: cassandra defaultConsistency: one # or 'localQuorum' for production storage_groups: - name: default.group.local domains: /./ parsoid: host: http://parsoid-beta.wmflabs.org grace_ttl: 1 action: apiUriTemplate: "{{'https://{domain}/w/api.php'}}" baseUriTemplate: "{{'https://{domain}/api/rest_v1'}}" graphoid: host: http://graphoid.wikimedia.org mathoid: host: http://mathoid-tester.wmflabs.org # 10 days Varnish caching, one day client-side cache-control: s-maxage=864000, max-age=86400 mobileapps: host: http://appservice.wmflabs.org summary: protocol: https implementation: mcs host: https://appservice.wmflabs.org related: cache_control: s-maxage=86400, max-age=86400 citoid: host: http://citoid-beta.wmflabs.org recommendation: host: https://recommendation-api-beta.wmflabs.org # 10 days Varnish caching, one day client-side purged_cache_control: s-maxage=1209600, max-age=0, must-revalidate # Cache control for purged endpoints allowing short-term client caching purged_cache_control_client_cache: s-maxage=1209600, max-age=300 pdf: # Cache PDF for 5 minutes since it's not purged cache_control: s-maxage=600, max-age=600 uri: https://pdfrender-beta.wmflabs.org secret: secret scheme: https transform: cx_host: https://cxserver-beta.wmflabs.org skip_updates: false # A separate project for en.wikipedia because it is more feature-rich en.wikipedia.org: &en.wikipedia.org x-modules: - path: projects/wmf_enwiki.yaml options: *default_options # A different project template, sharing configuration options. wikimedia.org: &wikimedia.org x-modules: - path: projects/wikimedia.org.yaml options: <<: *default_options pageviews: host: https://wikimedia.org/api/rest_v1/metrics wikidata.org: &wikidata.org x-modules: - path: projects/wmf_wikidata.yaml options: *default_options wiktionary_project: &wiktionary_project x-modules: - path: projects/wmf_wiktionary.yaml options: *default_options # The root of the spec tree. Domains tend to share specs by referencing them # using YAML references. spec_root: &spec_root title: "The RESTBase root" x-request-filters: - path: lib/security_response_header_filter.js x-sub-request-filters: - type: default name: http options: allow: - pattern: /^https?:\/\/[a-zA-Z0-9\.]+\/w\/api\.php/ forward_headers: true - pattern: /^https?:\/\/parsoid-beta.wmflabs.org.+/ forward_headers: true - pattern: /^https?:\/\// paths: /{domain:en.wikipedia.org}: *en.wikipedia.org /{domain:fr.wikipedia.org}: *default_project /{domain:de.wikipedia.org}: *default_project /{domain:es.wikipedia.org}: *default_project /{domain:it.wikipedia.org}: *default_project /{domain:da.wikipedia.org}: *default_project /{domain:sv.wikipedia.org}: *default_project # Example for wiktionary /{domain:en.wiktionary.org}: *wiktionary_project # global domain /{domain:wikimedia.org}: *wikimedia.org # special case for wikidata /{domain:www.wikidata.org}: *wikidata.org # A robots.txt to make sure that the content isn't indexed. /robots.txt: get: x-request-handler: - static: return: status: 200 headers: content-type: text/plain body: | User-agent: * Allow: /*/v1/?doc Disallow: / # Finally, a standard service-runner config. info: name: restbase services: - name: restbase module: hyperswitch conf: port: 7231 spec: *spec_root salt: secret default_page_size: 125 user_agent: RESTBase ui_name: RESTBase ui_url: https://www.mediawiki.org/wiki/RESTBase ui_title: RESTBase docs logging: name: restbase level: info #streams: #- type: gelf # host: <%= @logstash_host %> # port: <%= @logstash_port %> metrics: type: statsd host: localhost port: 8125 batch: true ratelimiter: type: kademlia # Cluster nodes seeds: # Port 3050 used by default - 127.0.0.1