{"meta:license":["Copyright 2023 Adobe. All rights reserved.","This file is licensed to you under the Apache License, Version 2.0 (the \"License\");","you may not use this file except in compliance with the License. You may obtain a copy","of the License at http://www.apache.org/licenses/LICENSE-2.0","","Unless required by applicable law or agreed to in writing, software distributed under","the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS","OF ANY KIND, either express or implied. See the License for the specific language","governing permissions and limitations under the License."],"$id":"https://ns.adobe.com/helix/config/project","$schema":"http://json-schema.org/draft-07/schema#","$defs":{"stringOrArray":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"title":"ProjectConfig","type":"object","properties":{"name":{"type":"string","description":"Name of the project used by the slack bot when reporting."},"project":{"type":"string","description":"Name of the project used by the sidekick."},"timezone":{"type":"string","description":"Timezone to be used by the slack bot when reporting times.","examples":["Europe/Zurich"]},"host":{"type":"string","description":"Production host use by the slack bot to display project information."},"blueprint":{"type":"string","description":"configuration blueprint repository in the owner/repo format.","examples":["adobe/helix-website"]},"slack":{"description":"the slack teamId/channelID(s) where the slack bot is used.","$ref":"#/$defs/stringOrArray"},"metadata":{"description":"source paths for metadata.","$ref":"#/$defs/stringOrArray"},"cdn":{"description":"The CDN config","$ref":"./project-config-cdn.schema.json"},"access":{"title":"SiteAccessConfig","type":"object","properties":{"allow":{"description":"The email glob of the users that are allowed.","$ref":"#/$defs/stringOrArray"},"apiKeyId":{"description":"the id of the API key(s). this is used to validate the API KEYS and allows to invalidate them.","$ref":"#/$defs/stringOrArray"},"require":{"type":"object","properties":{"repository":{"description":"The list of owner/repo pointers to projects that are allowed to use this content.","examples":["adobe/*","hlxsites/wknd"],"$ref":"#/$defs/stringOrArray"}},"required":["repository"],"additionalProperties":false},"preview":{"description":"Access config specific to preview content","type":"object","title":"AccessConfig","properties":{"allow":{"description":"The email glob of the users that are allowed.","$ref":"#/$defs/stringOrArray"},"apiKeyId":{"description":"the id of the API key(s). this is used to validate the API KEYS and allows to invalidate them.","$ref":"#/$defs/stringOrArray"}},"required":["allow"],"additionalProperties":false},"live":{"description":"Access config specific to live content","tsType":"AccessConfig"}},"additionalProperties":false},"admin":{"title":"AdminConfig","type":"object","properties":{"role":{"title":"Role","type":"object","properties":{"author":{"description":"The email glob of the users with author role.","$ref":"#/$defs/stringOrArray"},"publish":{"description":"The email glob of the users with publish role.","$ref":"#/$defs/stringOrArray"}},"required":["role"],"additionalProperties":false},"requireAuth":{"description":"Enforce authentication if set to true. If set to 'auto' it will enforce authentication if a role mapping is defined. defaults to 'auto'.","default":"auto","oneOf":[{"type":"boolean"},{"type":"string","enum":["auto"]}]},"defaultRole":{"description":"the default roles assigned to the users. defaults to `basic_publish` for unauthenticated setups.","$ref":"#/$defs/stringOrArray"},"apiKeyId":{"description":"the id of the API key(s). this is used to validate the API KEYS and allows to invalidate them.","$ref":"#/$defs/stringOrArray"},"events":{"description":"Events that are triggered by the admin.","type":"object","additionalProperties":false,"properties":{"github":{"description":"Github configuration for admin events.","type":"object","additionalProperties":false,"properties":{"target":{"title":"Github Event Notification Target Owner/Repository","description":"The target github owner and repository to which the event is to be sent in the owner/repo format. For e.g. hlxsites/target-repo","type":"string","additionalProperties":false}}}}}},"additionalProperties":false}},"additionalProperties":false}
