diff --git a/packs/crossplane-1.16/README.md b/packs/crossplane-1.16/README.md new file mode 100644 index 00000000..83370a54 --- /dev/null +++ b/packs/crossplane-1.16/README.md @@ -0,0 +1,35 @@ +# Crossplane + +Crossplane is an open source Kubernetes extension that transforms your Kubernetes cluster into a universal control plane. + +Crossplane lets you manage anything, anywhere, all through standard Kubernetes APIs. Crossplane can even let you order a pizza directly from Kubernetes. If it has an API, Crossplane can connect to it. + +With Crossplane, platform teams can create new abstractions and custom APIs with the full power of Kubernetes policies, namespaces, role based access controls and more. Crossplane brings all your non-Kubernetes resources under one roof. + +Custom APIs, created by platform teams, allow security and compliance enforcement across resources or clouds, without exposing any complexity to the developers. A single API call can create multiple resources, in multiple clouds and use Kubernetes as the control plane for everything. + +## Prerequisites + +Kuberernetes >= 1.27.0 +## Usage + +Installing a provider creates new Kubernetes resources representing the Provider’s APIs. Installing a provider also creates a Provider pod that’s responsible for reconciling the Provider’s APIs into the Kubernetes cluster. Providers constantly watch the state of the desired managed resources and create any external resources that are missing. + +Install a Provider with a Crossplane Provider object setting the spec.package value to the location of the provider package. Additional providers can be found in the [Upboud Marketplace](https://marketplace.upbound.io/) + +*For Example* +Install the [Palette Provider](https://marketplace.upbound.io/providers/crossplane-contrib/provider-palette/v0.19.2) + +```yaml +apiVersion: pkg.crossplane.io/v1 +kind: Provider +metadata: + name: provider-palette +spec: + package: xpkg.upbound.io/crossplane-contrib/provider-palette:v0.19.2 +``` +## References + +Crossplane Provider Guide - https://docs.crossplane.io/latest/concepts/providers/ +Crossplane Concepts - https://docs.crossplane.io/latest/concepts/ +Upbound Marketplace - https://marketplace.upbound.io/ \ No newline at end of file diff --git a/packs/crossplane-1.16/charts/crossplane-1.16.0.tgz b/packs/crossplane-1.16/charts/crossplane-1.16.0.tgz new file mode 100644 index 00000000..d0ff023a Binary files /dev/null and b/packs/crossplane-1.16/charts/crossplane-1.16.0.tgz differ diff --git a/packs/crossplane-1.16/logo.png b/packs/crossplane-1.16/logo.png new file mode 100644 index 00000000..94280b87 Binary files /dev/null and b/packs/crossplane-1.16/logo.png differ diff --git a/packs/crossplane-1.16/pack.json b/packs/crossplane-1.16/pack.json new file mode 100644 index 00000000..852c0830 --- /dev/null +++ b/packs/crossplane-1.16/pack.json @@ -0,0 +1,18 @@ +{ + "addonType": "system app", + "annotations": { + "source": "community", + "contributor" : "spectrocloud" + }, + "cloudTypes": [ + "all" + ], + "displayName": "Crossplane", + "charts": [ + "charts/crossplane-1.16.0.tgz" + ], + "layer":"addon", + "name": "crossplane", + "version": "1.16.0" + } + \ No newline at end of file diff --git a/packs/crossplane-1.16/presets.yaml b/packs/crossplane-1.16/presets.yaml new file mode 100644 index 00000000..b35fc47b --- /dev/null +++ b/packs/crossplane-1.16/presets.yaml @@ -0,0 +1,21 @@ +presets: + - name: "palette-provider" + displayName: "Enable Spectro Cloud Palette Provider" + group: "Provider" + remove: [] + add: | + charts: + crossplane: + provider: + packages: + - "xpkg.upbound.io/crossplane-contrib/provider-palette:v0.19.2" + - name: "no-provider" + displayName: "Remove Preset Providers" + group: "Provider" + remove: | + charts: + crossplane: + provider: + packages: + - "xpkg.upbound.io/crossplane-contrib/provider-palette:v0.19.2" + add: [] \ No newline at end of file diff --git a/packs/crossplane-1.16/values.yaml b/packs/crossplane-1.16/values.yaml new file mode 100644 index 00000000..eb699d62 --- /dev/null +++ b/packs/crossplane-1.16/values.yaml @@ -0,0 +1,197 @@ +pack: + #The namespace (on the target cluster) to install this chart + #When not found, a new namespace will be created + namespace: "crossplane-system" + content: + images: + - image: xpkg.upbound.io/crossplane/crossplane:v1.16.0 + + +charts: + crossplane: + # helm-docs renders these comments into markdown. Use markdown formatting where + # appropiate. + # + # -- The number of Crossplane pod `replicas` to deploy. + replicas: 1 + + # -- The deployment strategy for the Crossplane and RBAC Manager pods. + deploymentStrategy: RollingUpdate + + image: + # -- Repository for the Crossplane pod image. + repository: xpkg.upbound.io/crossplane/crossplane + # -- The Crossplane image tag. Defaults to the value of `appVersion` in `Chart.yaml`. + tag: "" + # -- The image pull policy used for Crossplane and RBAC Manager pods. + pullPolicy: IfNotPresent + + # -- Add `nodeSelectors` to the Crossplane pod deployment. + nodeSelector: {} + # -- Add `tolerations` to the Crossplane pod deployment. + tolerations: [] + # -- Add `affinities` to the Crossplane pod deployment. + affinity: {} + + # -- Enable `hostNetwork` for the Crossplane deployment. Caution: enabling `hostNetwork` grants the Crossplane Pod access to the host network namespace. Consider setting `dnsPolicy` to `ClusterFirstWithHostNet`. + hostNetwork: false + + # -- Specify the `dnsPolicy` to be used by the Crossplane pod. + dnsPolicy: "" + + # -- Add custom `labels` to the Crossplane pod deployment. + customLabels: {} + + # -- Add custom `annotations` to the Crossplane pod deployment. + customAnnotations: {} + + serviceAccount: + # -- Add custom `annotations` to the Crossplane ServiceAccount. + customAnnotations: {} + + # -- Enable [leader election](https://docs.crossplane.io/latest/concepts/pods/#leader-election) for the Crossplane pod. + leaderElection: true + # -- Add custom arguments to the Crossplane pod. + args: [] + + provider: + # -- A list of Provider packages to install. + packages: [] + + configuration: + # -- A list of Configuration packages to install. + packages: [] + + function: + # -- A list of Function packages to install + packages: [] + + # -- The imagePullSecret names to add to the Crossplane ServiceAccount. + imagePullSecrets: [] + + registryCaBundleConfig: + # -- The ConfigMap name containing a custom CA bundle to enable fetching packages from registries with unknown or untrusted certificates. + name: "" + # -- The ConfigMap key containing a custom CA bundle to enable fetching packages from registries with unknown or untrusted certificates. + key: "" + + service: + # -- Configure annotations on the service object. Only enabled when webhooks.enabled = true + customAnnotations: {} + + webhooks: + # -- Enable webhooks for Crossplane and installed Provider packages. + enabled: true + + rbacManager: + # -- Deploy the RBAC Manager pod and its required roles. + deploy: true + # -- Don't install aggregated Crossplane ClusterRoles. + skipAggregatedClusterRoles: false + # -- The number of RBAC Manager pod `replicas` to deploy. + replicas: 1 + # -- Enable [leader election](https://docs.crossplane.io/latest/concepts/pods/#leader-election) for the RBAC Manager pod. + leaderElection: true + # -- Add custom arguments to the RBAC Manager pod. + args: [] + # -- Add `nodeSelectors` to the RBAC Manager pod deployment. + nodeSelector: {} + # -- Add `tolerations` to the RBAC Manager pod deployment. + tolerations: [] + # -- Add `affinities` to the RBAC Manager pod deployment. + affinity: {} + + # -- The PriorityClass name to apply to the Crossplane and RBAC Manager pods. + priorityClassName: "" + + resourcesCrossplane: + limits: + # -- CPU resource limits for the Crossplane pod. + cpu: 500m + # -- Memory resource limits for the Crossplane pod. + memory: 1024Mi + requests: + # -- CPU resource requests for the Crossplane pod. + cpu: 100m + # -- Memory resource requests for the Crossplane pod. + memory: 256Mi + + securityContextCrossplane: + # -- The user ID used by the Crossplane pod. + runAsUser: 65532 + # -- The group ID used by the Crossplane pod. + runAsGroup: 65532 + # -- Enable `allowPrivilegeEscalation` for the Crossplane pod. + allowPrivilegeEscalation: false + # -- Set the Crossplane pod root file system as read-only. + readOnlyRootFilesystem: true + + packageCache: + # -- Set to `Memory` to hold the package cache in a RAM backed file system. Useful for Crossplane development. + medium: "" + # -- The size limit for the package cache. If medium is `Memory` the `sizeLimit` can't exceed Node memory. + sizeLimit: 20Mi + # -- The name of a PersistentVolumeClaim to use as the package cache. Disables the default package cache `emptyDir` Volume. + pvc: "" + # -- The name of a ConfigMap to use as the package cache. Disables the default package cache `emptyDir` Volume. + configMap: "" + + resourcesRBACManager: + limits: + # -- CPU resource limits for the RBAC Manager pod. + cpu: 100m + # -- Memory resource limits for the RBAC Manager pod. + memory: 512Mi + requests: + # -- CPU resource requests for the RBAC Manager pod. + cpu: 100m + # -- Memory resource requests for the RBAC Manager pod. + memory: 256Mi + + securityContextRBACManager: + # -- The user ID used by the RBAC Manager pod. + runAsUser: 65532 + # -- The group ID used by the RBAC Manager pod. + runAsGroup: 65532 + # -- Enable `allowPrivilegeEscalation` for the RBAC Manager pod. + allowPrivilegeEscalation: false + # -- Set the RBAC Manager pod root file system as read-only. + readOnlyRootFilesystem: true + + metrics: + # -- Enable Prometheus path, port and scrape annotations and expose port 8080 for both the Crossplane and RBAC Manager pods. + enabled: false + + # -- Add custom environmental variables to the Crossplane pod deployment. + # Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`. + extraEnvVarsCrossplane: {} + + # -- Add custom environmental variables to the RBAC Manager pod deployment. + # Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`. + extraEnvVarsRBACManager: {} + + # -- Add a custom `securityContext` to the Crossplane pod. + podSecurityContextCrossplane: {} + + # -- Add a custom `securityContext` to the RBAC Manager pod. + podSecurityContextRBACManager: {} + + # -- Add custom `volumes` to the Crossplane pod. + extraVolumesCrossplane: {} + + # -- Add custom `volumeMounts` to the Crossplane pod. + extraVolumeMountsCrossplane: {} + + # -- To add arbitrary Kubernetes Objects during a Helm Install + extraObjects: [] + # - apiVersion: pkg.crossplane.io/v1alpha1 + # kind: ControllerConfig + # metadata: + # name: aws-config + # annotations: + # eks.amazonaws.com/role-arn: arn:aws:iam::123456789101:role/example + # helm.sh/hook: post-install + # spec: + # podSecurityContext: + # fsGroup: 2000 + diff --git a/packs/crossplane-1.7.0/README.md b/packs/crossplane-1.7.0/README.md new file mode 100644 index 00000000..e71fe631 --- /dev/null +++ b/packs/crossplane-1.7.0/README.md @@ -0,0 +1 @@ +Crossplane Deprecated \ No newline at end of file diff --git a/packs/crossplane-1.7.0/pack.json b/packs/crossplane-1.7.0/pack.json index 250cd7d5..6aa66427 100644 --- a/packs/crossplane-1.7.0/pack.json +++ b/packs/crossplane-1.7.0/pack.json @@ -2,7 +2,8 @@ "addonType": "system app", "annotations": { "source": "community", - "contributor" : "spectrocloud" + "contributor" : "spectrocloud", + "system_state": "deprecated" }, "cloudTypes": [ "all" diff --git a/packs/crossplane-1.7.0/values.yaml b/packs/crossplane-1.7.0/values.yaml index 8c2d25ca..fec8c88b 100644 --- a/packs/crossplane-1.7.0/values.yaml +++ b/packs/crossplane-1.7.0/values.yaml @@ -2,6 +2,9 @@ pack: #The namespace (on the target cluster) to install this chart #When not found, a new namespace will be created namespace: "crossplane" + content: + images: + - image: xpkg.upbound.io/crossplane/crossplane:v1.7.0 charts: crossplane: