diff --git a/helm/Chart.yaml b/helm/Chart.yaml index d18e3ebe..688db8aa 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: kro-chart description: A Helm chart for kro type: application -version: 0.1.0-rc.5 -appVersion: "0.1.0-rc.5" +version: 0.1.0 +appVersion: "0.1.0" diff --git a/helm/crds/resourcegroups.yaml b/helm/crds/kro.run_resourcegroups.yaml similarity index 56% rename from helm/crds/resourcegroups.yaml rename to helm/crds/kro.run_resourcegroups.yaml index 18fd6854..18d7f8d7 100644 --- a/helm/crds/resourcegroups.yaml +++ b/helm/crds/kro.run_resourcegroups.yaml @@ -17,10 +17,10 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .spec.apiVersion + - jsonPath: .spec.schema.apiVersion name: APIVERSION type: string - - jsonPath: .spec.kind + - jsonPath: .spec.schema.kind name: KIND type: string - jsonPath: .status.state @@ -28,6 +28,7 @@ spec: type: string - jsonPath: .status.topologicalOrder name: TOPOLOGICALORDER + priority: 1 type: string - jsonPath: .metadata.creationTimestamp name: AGE @@ -57,43 +58,87 @@ spec: spec: description: ResourceGroupSpec defines the desired state of ResourceGroup properties: - apiVersion: - type: string - definition: + defaultServiceAccounts: + additionalProperties: + type: string + description: |- + ServiceAccount configuration for controller impersonation. + Key is the namespace, value is the service account name to use. + Special key "*" defines the default service account for any + namespace not explicitly mapped. + type: object + resources: + description: The resources that are part of the resourcegroup. + items: + properties: + id: + type: string + includeWhen: + items: + type: string + type: array + readyWhen: + items: + type: string + type: array + template: + type: object + x-kubernetes-preserve-unknown-fields: true + required: + - id + - template + type: object + type: array + schema: + description: |- + The schema of the resourcegroup, which includes the + apiVersion, kind, spec, status, types, and some validation + rules. properties: + apiVersion: + description: |- + The APIVersion of the resourcegroup. This is used to generate + and create the CRD for the resourcegroup. + type: string + x-kubernetes-validations: + - message: apiVersion is immutable + rule: self == oldSelf + kind: + description: |- + The kind of the resourcegroup. This is used to generate + and create the CRD for the resourcegroup. + type: string + x-kubernetes-validations: + - message: kind is immutable + rule: self == oldSelf spec: + description: |- + The spec of the resourcegroup. Typically, this is the spec of + the CRD that the resourcegroup is managing. This is adhering + to the SimpleSchema spec type: object x-kubernetes-preserve-unknown-fields: true status: - type: object - x-kubernetes-preserve-unknown-fields: true - types: + description: |- + The status of the resourcegroup. This is the status of the CRD + that the resourcegroup is managing. This is adhering to the + SimpleSchema spec. type: object x-kubernetes-preserve-unknown-fields: true validation: + description: |- + Validation is a list of validation rules that are applied to the + resourcegroup. + Not implemented yet. items: type: string type: array + required: + - apiVersion + - kind type: object - kind: - type: string - resources: - items: - properties: - definition: - type: object - x-kubernetes-preserve-unknown-fields: true - name: - type: string - required: - - definition - - name - type: object - type: array required: - - apiVersion - - definition - - kind + - schema type: object status: description: ResourceGroupStatus defines the observed state of ResourceGroup @@ -138,6 +183,34 @@ spec: - type type: object type: array + resources: + description: Resources represents the resources, and their information + (dependencies for now) + items: + description: |- + ResourceInformation defines the information about a resource + in the resourcegroup + properties: + dependencies: + description: Dependencies represents the resource dependencies + of a resource group + items: + description: |- + Dependency defines the dependency a resource has observed + from the resources it points to based on expressions + properties: + name: + description: Name represents the name of the dependency + resource + type: string + type: object + type: array + name: + description: Name represents the name of the resources we're + providing information for + type: string + type: object + type: array state: description: State is the state of the resourcegroup type: string diff --git a/helm/templates/controller-deployment.yaml b/helm/templates/deployment.yaml similarity index 100% rename from helm/templates/controller-deployment.yaml rename to helm/templates/deployment.yaml diff --git a/helm/values.yaml b/helm/values.yaml index 6e803f9c..ba74d882 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -1,5 +1,5 @@ image: - repository: 095708837592.dkr.ecr.us-west-2.amazonaws.com/kro + repository: public.ecr.aws/kro pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "0.1.0" @@ -63,7 +63,8 @@ resources: # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: - memory: 1000Mi + cpu: 1000m + memory: 1024Mi requests: cpu: 256m memory: 128Mi