From 7d86322d5d4109dd888d76e0b388172187bf63cc Mon Sep 17 00:00:00 2001 From: Atze de Vries Date: Wed, 6 Nov 2024 13:54:58 +0100 Subject: [PATCH] feat: add schemas for palletproject (#14) --- pallets/xpalletproject-gcp-v1alpha1.json | 389 +++++++++++++++++++++++ 1 file changed, 389 insertions(+) create mode 100644 pallets/xpalletproject-gcp-v1alpha1.json diff --git a/pallets/xpalletproject-gcp-v1alpha1.json b/pallets/xpalletproject-gcp-v1alpha1.json new file mode 100644 index 0000000..7be1e4c --- /dev/null +++ b/pallets/xpalletproject-gcp-v1alpha1.json @@ -0,0 +1,389 @@ +{ + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "properties": { + "name": { + "maxLength": 63, + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "spec": { + "description": "Parameters used to customise the underlying the pallet project.", + "properties": { + "artifactRepository": { + "default": {}, + "description": "Settings related to artifact repository", + "properties": { + "docker": { + "default": {}, + "description": "Settings related to docker repositories", + "properties": { + "default": { + "default": {}, + "description": "Settings related to the default docker repository", + "properties": { + "enabled": { + "default": true, + "description": "Enable this repository. Defaults to true", + "type": "boolean" + }, + "immutableTags": { + "default": true, + "description": "Enable immutable tags. This will disallow overriding docker image tags. Defaults to true.\n", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "claimRef": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + } + }, + "required": [ + "apiVersion", + "kind", + "namespace", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "compositionRef": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "compositionRevisionRef": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "compositionRevisionSelector": { + "properties": { + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "matchLabels" + ], + "type": "object", + "additionalProperties": false + }, + "compositionSelector": { + "properties": { + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "matchLabels" + ], + "type": "object", + "additionalProperties": false + }, + "compositionUpdatePolicy": { + "default": "Automatic", + "enum": [ + "Automatic", + "Manual" + ], + "type": "string" + }, + "environmentConfigRefs": { + "items": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "apiVersion", + "kind" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "project": { + "default": {}, + "description": "Settings related to the project.", + "properties": { + "budget": { + "default": {}, + "properties": { + "monthlyBudgetInDollars": { + "default": 100, + "description": "Monthly budget in dollars for this project", + "type": "number" + }, + "notificationEmailAddresses": { + "default": [], + "description": "A list of email addresses where to sent budget notification\nto. The owner group is always added as notification receiver.\n", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "readers": { + "default": [], + "description": "List of groups, users or service accounts that have reader\naccess to project. Use member format, for\nexample serviceAcount:myteam@project-id.iam.gserviceaccount.com\nor group:my-team@o365.coop.no\n", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "publishConnectionDetailsTo": { + "properties": { + "configRef": { + "default": { + "name": "default" + }, + "properties": { + "name": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "metadata": { + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "resourceRefs": { + "items": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "apiVersion", + "kind" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "secretManager": { + "default": {}, + "description": "Settings related to secret manager", + "properties": { + "github": { + "description": "A list of secrets which can be consumed by GitHub Action workflows.\n", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "workloadIdentity": { + "default": {}, + "description": "Settings related to workload identity", + "properties": { + "github": { + "default": {}, + "description": "Settings related to Github to GCP workload identity", + "properties": { + "default": { + "default": {}, + "description": "Settings related to the default GCP workload identity", + "properties": { + "enabled": { + "default": true, + "description": "Enable the default workloadIdentity for GitHub. Defaults to true", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions of the resource.", + "items": { + "properties": { + "lastTransitionTime": { + "format": "date-time", + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "connectionDetails": { + "properties": { + "lastPublishedTime": { + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +}