From 92887b19b90aa11d4b7b4b272aa459428740569c Mon Sep 17 00:00:00 2001 From: leochr Date: Tue, 5 Nov 2019 22:41:48 -0500 Subject: [PATCH] Release Appsody Operator v0.2.2 Signed-off-by: leochr --- ...operator.v0.2.2.clusterserviceversion.yaml | 273 ++++++++++++++ .../appsodyapplications.appsody.dev.crd.yaml | 340 ++++++++++++++++++ .../appsody-operator.package.yaml | 2 +- 3 files changed, 614 insertions(+), 1 deletion(-) create mode 100644 upstream-community-operators/appsody-operator/0.2.2/appsody-operator.v0.2.2.clusterserviceversion.yaml create mode 100644 upstream-community-operators/appsody-operator/0.2.2/appsodyapplications.appsody.dev.crd.yaml diff --git a/upstream-community-operators/appsody-operator/0.2.2/appsody-operator.v0.2.2.clusterserviceversion.yaml b/upstream-community-operators/appsody-operator/0.2.2/appsody-operator.v0.2.2.clusterserviceversion.yaml new file mode 100644 index 0000000000..9d8fb6bc3b --- /dev/null +++ b/upstream-community-operators/appsody-operator/0.2.2/appsody-operator.v0.2.2.clusterserviceversion.yaml @@ -0,0 +1,273 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: '[{"apiVersion":"appsody.dev/v1beta1","kind":"AppsodyApplication","metadata":{"name":"example-appsodyapplication"},"spec":{"applicationImage":"APPLICATION_IMAGE","stack":"java-microprofile"}}]' + capabilities: Seamless Upgrades + categories: Application Runtime + certified: 'true' + containerImage: appsody/application-operator:0.2.2 + createdAt: 2019-11-05 09:00:00 + description: Deploys Appsody based applications + repository: https://github.com/appsody/appsody-operator + support: Appsody + name: appsody-operator.v0.2.2 +spec: + customresourcedefinitions: + owned: + - description: Describes application deployment + displayName: Appsody Application + kind: AppsodyApplication + name: appsodyapplications.appsody.dev + resources: + - kind: Deployment + name: '' + - kind: StatefulSet + name: '' + - kind: Service + name: '' + - kind: Route + name: '' + - kind: HorizontalPodAutoscaler + name: '' + specDescriptors: + - description: application stack + displayName: Stack + path: stack + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:label + - description: application image to be installed + displayName: Application Image + path: applicationImage + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:text + - description: version of the application + displayName: Application Version + path: version + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:text + - description: image pull policy for container image + displayName: Pull Policy + path: pullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: number of pods to create + displayName: Replicas + path: replicas + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:podCount + - description: automatically create HTTP Route + displayName: Expose + path: expose + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:booleanSwitch + - description: resource requirements for cpu and memory + displayName: Resource Requirements + path: resourceConstraints + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:resourceRequirements + - description: port to use for kubernetes service + displayName: Service Port + path: service.port + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number + - description: type to use for kubernetes service + displayName: Service Type + path: service.type + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:text + - description: horizontal pod autoscaling + displayName: Autoscaling + path: autoscaling + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:fieldGroup:label + statusDescriptors: + - description: status conditions + displayName: Status conditions + path: conditions + x-descriptors: + - urn:alm:descriptor:io.kubernetes.conditions + version: v1beta1 + description: 'The Appsody Operator allows easy deployment of applications developed + with [Appsody](https://appsody.dev) to Kubernetes environments. The operator provides + the following key features: + + + #### Routing + + + Expose your application to external users via a single toggle. + + + #### High Availability + + + Run multiple instances of your application for high availability. Either specify + a static number of replicas or easily configure auto scaling to create (and delete) + instances based on resource consumption. + + + #### Persistence + + + Enable persistence for your application by specifying storage requirements. + + + #### Knative + + + Deploy your serverless application on [Knative](https://knative.dev) using a single + toggle. + + + #### Kubernetes Application Navigator (kAppNav) + + + Automatically configures the Kubernetes resources for integration with [kAppNav](https://kappnav.io/). + + + See our [**documentation**](https://github.com/appsody/appsody-operator/tree/master/doc/) + for more information. + + ' + displayName: Appsody Operator + icon: + - base64data: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1Ni43MSA1MC43NSI+PGRlZnM+PHN0eWxlPi5he2lzb2xhdGlvbjppc29sYXRlO30uYntvcGFjaXR5OjAuODt9LmIsLmV7bWl4LWJsZW5kLW1vZGU6bXVsdGlwbHk7fS5je2ZpbGw6I2VkOGUwMDt9LmR7ZmlsbDojYzQzMDJmO30uZXtmaWxsOiNhZjFmNjQ7b3BhY2l0eTowLjg1O308L3N0eWxlPjwvZGVmcz48dGl0bGU+QXNzZXQgMjwvdGl0bGU+PGcgY2xhc3M9ImEiPjxnIGNsYXNzPSJiIj48cGF0aCBjbGFzcz0iYyIgZD0iTTI1Ljg4LjI4Yy0yLjUtLjgxLTUuNTguMTQtOC42MywzLjA2TDMuODcsMTYuMTdDLTIuMjIsMjItMSwyOC44MSw2LjYyLDMxLjI3bDE2LjcsNS40MWM3LjYxLDIuNDYsMTIuNi0yLjMyLDExLjA4LTEwLjYyTDMxLjA4LDcuODJjLS43Ni00LjE1LTIuNjktNi43My01LjItNy41NFoiLz48L2c+PGcgY2xhc3M9ImIiPjxwYXRoIGNsYXNzPSJkIiBkPSJNMzcuOTQsMy4xNEExNS43MywxNS43MywwLDAsMCwzMi41NSw0LjZMMTQuNjYsMTIuNzNjLTQuNTcsMi4wNy03LjMxLDUuMjYtNy43Miw5LS4zOSwzLjUyLDEuNDIsNyw1LjA4LDkuNzRsMTUsMTEuMzFhMTIuMjgsMTIuMjgsMCwwLDAsOC4wNiwyLjhjNC43Ny0uMzEsOC4yOS00LjM1LDkuMi0xMC41M2wyLjg0LTE5LjQ0QzQ4LjEyLDksNDUuNTEsNiw0My44Nyw0Ljc1YTguNzksOC43OSwwLDAsMC01LjkzLTEuNjFaIi8+PC9nPjxwYXRoIGNsYXNzPSJlIiBkPSJNMzMuOCw1MC43MWMtMi45My0uMzMtNS41Ny0yLjM5LTcuNDktNS44OEwxNywyNy44Yy0yLjExLTMuODMtMi4zLTcuNDYtLjU0LTEwLjIyczUuMjEtNC4yNiw5Ljc2LTQuMjhsMjAuMjctLjA3YzQuNTYsMCw3LjkxLDEuNSw5LjQyLDQuMjVzMSw2LjM5LTEuNDUsMTAuMjNMNDMuNDksNDQuOGMtMi40NCwzLjgzLTUuNTgsNS45NC04LjgzLDZBNi4xMiw2LjEyLDAsMCwxLDMzLjgsNTAuNzFaIi8+PC9nPjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - '' + resources: + - pods + - services + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + - serviceaccounts + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - '*' + - apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - '*' + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - '*' + - apiGroups: + - apps + resourceNames: + - appsody-operator + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - appsody.dev + resources: + - '*' + verbs: + - '*' + - apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - '*' + - apiGroups: + - serving.knative.dev + resources: + - services + verbs: + - '*' + serviceAccountName: appsody-operator + deployments: + - name: appsody-operator + spec: + replicas: 1 + selector: + matchLabels: + name: appsody-operator + strategy: {} + template: + metadata: + labels: + name: appsody-operator + spec: + containers: + - command: + - appsody-operator + env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: appsody-operator + image: appsody/application-operator:0.2.2 + imagePullPolicy: Always + name: appsody-operator + resources: {} + serviceAccountName: appsody-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - Appsody + - Application + - Node + - Swift + - MicroProfile + - Spring + - Java + - Runtime + - Kabanero + - Open Source + links: + - name: Documentation + url: https://github.com/appsody/appsody-operator/tree/master/doc/ + - name: Appsody + url: https://appsody.dev + maintainers: + - email: dzmitry@ca.ibm.com + name: Artur Dzmitryieu + - email: navidst@ca.ibm.com + name: Navid Shakibapour Tabrizi + - email: leojc@ca.ibm.com + name: Leo Christy Jesuraj + - email: arthurdm@ca.ibm.com + name: Arthur De Magalhaes + maturity: beta + provider: + name: Appsody + replaces: appsody-operator.v0.2.1 + version: 0.2.2 diff --git a/upstream-community-operators/appsody-operator/0.2.2/appsodyapplications.appsody.dev.crd.yaml b/upstream-community-operators/appsody-operator/0.2.2/appsodyapplications.appsody.dev.crd.yaml new file mode 100644 index 0000000000..b6f4c63833 --- /dev/null +++ b/upstream-community-operators/appsody-operator/0.2.2/appsodyapplications.appsody.dev.crd.yaml @@ -0,0 +1,340 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: appsodyapplications.appsody.dev +spec: + additionalPrinterColumns: + - JSONPath: .spec.applicationImage + description: Absolute name of the deployed image containing registry and tag + name: Image + type: string + - JSONPath: .spec.expose + description: Specifies whether deployment is exposed externally via default Route + name: Exposed + type: boolean + - JSONPath: .status.conditions[?(@.type=='Reconciled')].status + description: Status of the reconcile condition + name: Reconciled + type: string + - JSONPath: .status.conditions[?(@.type=='Reconciled')].reason + description: Reason for the failure of reconcile condition + name: Reason + priority: 1 + type: string + - JSONPath: .status.conditions[?(@.type=='Reconciled')].message + description: Failure message from reconcile condition + name: Message + priority: 1 + type: string + - JSONPath: .metadata.creationTimestamp + description: Age of the resource + name: Age + type: date + group: appsody.dev + names: + kind: AppsodyApplication + listKind: AppsodyApplicationList + plural: appsodyapplications + singular: appsodyapplication + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + applicationImage: + type: string + architecture: + items: + type: string + type: array + autoscaling: + properties: + maxReplicas: + format: int32 + minimum: 1 + type: integer + minReplicas: + format: int32 + type: integer + targetCPUUtilizationPercentage: + format: int32 + type: integer + type: object + createAppDefinition: + type: boolean + createKnativeService: + type: boolean + env: + items: + type: object + type: array + envFrom: + items: + type: object + type: array + expose: + type: boolean + livenessProbe: + type: object + monitoring: + properties: + endpoints: + items: + properties: + basicAuth: + description: 'BasicAuth allow an endpoint to authenticate + over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' + properties: + password: + description: The secret that contains the password for + authenticate + type: object + username: + description: The secret that contains the username for + authenticate + type: object + type: object + bearerTokenFile: + description: File to read bearer token for scraping targets. + type: string + honorLabels: + description: HonorLabels chooses the metric's labels on collisions + with target labels. + type: boolean + interval: + description: Interval at which metrics should be scraped + type: string + metricRelabelings: + description: MetricRelabelConfigs to apply to samples before + ingestion. + items: + properties: + action: + description: Action to perform based on regex matching. + Default is 'replace' + type: string + modulus: + description: Modulus to take of the hash of the source + label values. + format: int64 + type: integer + regex: + description: Regular expression against which the extracted + value is matched. defailt is '(.*)' + type: string + replacement: + description: Replacement value against which a regex + replace is performed if the regular expression matches. + Regex capture groups are available. Default is '$1' + type: string + separator: + description: Separator placed between concatenated source + label values. default is ';'. + type: string + sourceLabels: + description: The source labels select values from existing + labels. Their content is concatenated using the configured + separator and matched against the configured regular + expression for the replace, keep, and drop actions. + items: + type: string + type: array + targetLabel: + description: Label to which the resulting value is written + in a replace action. It is mandatory for replace actions. + Regex capture groups are available. + type: string + type: object + type: array + params: + additionalProperties: + items: + type: string + type: array + description: Optional HTTP URL parameters + type: object + path: + description: HTTP path to scrape for metrics. + type: string + port: + description: Name of the service port this endpoint refers + to. Mutually exclusive with targetPort. + type: string + proxyUrl: + description: ProxyURL eg http://proxyserver:2195 Directs scrapes + to proxy through this endpoint. + type: string + relabelings: + description: 'RelabelConfigs to apply to samples before ingestion. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + items: + properties: + action: + description: Action to perform based on regex matching. + Default is 'replace' + type: string + modulus: + description: Modulus to take of the hash of the source + label values. + format: int64 + type: integer + regex: + description: Regular expression against which the extracted + value is matched. defailt is '(.*)' + type: string + replacement: + description: Replacement value against which a regex + replace is performed if the regular expression matches. + Regex capture groups are available. Default is '$1' + type: string + separator: + description: Separator placed between concatenated source + label values. default is ';'. + type: string + sourceLabels: + description: The source labels select values from existing + labels. Their content is concatenated using the configured + separator and matched against the configured regular + expression for the replace, keep, and drop actions. + items: + type: string + type: array + targetLabel: + description: Label to which the resulting value is written + in a replace action. It is mandatory for replace actions. + Regex capture groups are available. + type: string + type: object + type: array + scheme: + description: HTTP scheme to use for scraping. + type: string + scrapeTimeout: + description: Timeout after which the scrape is ended + type: string + targetPort: + anyOf: + - type: string + - type: integer + description: Name or number of the target port of the endpoint. + Mutually exclusive with port. + tlsConfig: + description: TLS configuration to use when scraping the endpoint + properties: + caFile: + description: The CA cert to use for the targets. + type: string + certFile: + description: The client cert file for the targets. + type: string + insecureSkipVerify: + description: Disable target certificate validation. + type: boolean + keyFile: + description: The client key file for the targets. + type: string + serverName: + description: Used to verify the hostname for the targets. + type: string + type: object + type: object + type: array + labels: + additionalProperties: + type: string + type: object + type: object + pullPolicy: + type: string + pullSecret: + type: string + readinessProbe: + type: object + replicas: + format: int32 + type: integer + resourceConstraints: + type: object + service: + properties: + annotations: + additionalProperties: + type: string + type: object + port: + format: int32 + maximum: 65536 + minimum: 1 + type: integer + type: + type: string + type: object + serviceAccountName: + type: string + stack: + type: string + storage: + properties: + mountPath: + type: string + size: + pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$ + type: string + volumeClaimTemplate: + type: object + type: object + version: + type: string + volumeMounts: + items: + type: object + type: array + volumes: + items: + type: object + type: array + required: + - applicationImage + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + type: object + version: v1beta1 + versions: + - name: v1beta1 + served: true + storage: true diff --git a/upstream-community-operators/appsody-operator/appsody-operator.package.yaml b/upstream-community-operators/appsody-operator/appsody-operator.package.yaml index d8b75b9015..d3a332ee82 100644 --- a/upstream-community-operators/appsody-operator/appsody-operator.package.yaml +++ b/upstream-community-operators/appsody-operator/appsody-operator.package.yaml @@ -1,5 +1,5 @@ channels: -- currentCSV: appsody-operator.v0.2.1 +- currentCSV: appsody-operator.v0.2.2 name: beta defaultChannel: beta packageName: appsody-operator