{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for Interra site config object",
    "properties": {
        "description": {
            "description": "Description of the site",
            "title": "Description",
            "type": "string"
        },
        "devdUrl": {
            "_format": "uri",
            "description": "A URL for the development instance. In most cases use http://localhost:3000",
            "title": "Development URL",
            "type": "string"
        },
        "fontConfig": {
            "Title": "Font Config",
            "description": "Configuration object for fonts",
            "type": "object"
        },
        "front-page-icon-collection": {
            "Title": "Front page icon collection",
            "description": "The collection to be used for front page icons",
            "pattern": "^[a-z]*$",
            "type": "string"
        },
        "front-page-icons": {
            "Title": "Front page icons",
            "description": "The icons to be used for front page icons",
            "type": "array"
        },
        "identifier": {
            "description": "Unique ID of the site",
            "pattern": "^[a-z0-9-]*$",
            "title": "Identifier",
            "type": "string"
        },
        "name": {
            "description": "The name of the site",
            "title": "Name",
            "type": "string"
        },
        "private": {
            "description": "Private settings that should not be exported publicly with the rest of the config. Used for aws or other credentials.",
            "properties": {
                "aws": {
                    "description": "Object to hold AWS settings such as secret key and access id",
                    "properties": {
                        "accessKeyId": {
                            "type": "string"
                        },
                        "es": {
                            "properties": {
                                "endpoint": {
                                    "_format": "uri",
                                    "description": "The endpoint used to push to docs to. Can be the same as the public search endpoint though would recommend using API Gateway.",
                                    "title": "Endpoint",
                                    "type": "string"
                                },
                                "index": {
                                    "description": "Index to push to",
                                    "title": "Index",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "region": {
                            "type": "string"
                        },
                        "secretAccessKey": {
                            "type": "string"
                        }
                    },
                    "title": "AWS settings",
                    "type": "object"
                }
            },
            "title": "Private settings",
            "type": "object"
        },
        "prodUrl": {
            "_format": "uri",
            "description": "A URL for the production instance.",
            "title": "Production URL",
            "type": "string"
        },
        "schema": {
            "description": "The schema of the site",
            "enum": [
                "pod-full",
                "pod",
                "test-schema"
            ],
            "title": "Schema",
            "type": "string"
        },
        "search": {
            "description": "Search settings",
            "properties": {
                "endpoint": {
                    "_format": "uri",
                    "description": "The endpoint used for the search. For use with Algolia and ElasticSearch",
                    "title": "Endpoint",
                    "type": "string"
                },
                "fields": {
                    "descprition": "List of fields to include in the search index. Only these fields are part of the search.",
                    "title": "Fields",
                    "type": "array"
                },
                "type": {
                    "descprition": "The type of search the site should use.",
                    "enum": [
                        "simpleSearch",
                        "elasticSearch",
                        "elasticLunr"
                    ],
                    "title": "Search backend",
                    "type": "string"
                }
            },
            "required": [
                "type",
                "fields"
            ],
            "title": "Search",
            "type": "object"
        },
        "testUrl": {
            "_format": "uri",
            "description": "A URL for the test instance.",
            "title": "Test URL",
            "type": "string"
        }
    },
    "required": [
        "name",
        "schema",
        "identifier",
        "search",
        "prodUrl",
        "devUrl"
    ],
    "title": "Interra Catalog Site Config",
    "type": "object"
}