From c63dbecbbed69b1de563268de1e89ecf7c9c3bd2 Mon Sep 17 00:00:00 2001 From: mms-gianni Date: Sat, 21 Sep 2024 12:19:09 +0200 Subject: [PATCH] operator kubero-operator (0.1.4) --- .../application.kubero.dev_kuberoapps.yaml | 50 + .../application.kubero.dev_kuberobuilds.yaml | 50 + ...application.kubero.dev_kuberocouchdbs.yaml | 50 + ...tion.kubero.dev_kuberoelasticsearches.yaml | 51 + .../application.kubero.dev_kuberoes.yaml | 50 + .../application.kubero.dev_kuberokafkas.yaml | 50 + .../application.kubero.dev_kuberomails.yaml | 50 + ...plication.kubero.dev_kuberomemcacheds.yaml | 50 + ...application.kubero.dev_kuberomongodbs.yaml | 50 + .../application.kubero.dev_kuberomysqls.yaml | 50 + ...pplication.kubero.dev_kuberopipelines.yaml | 50 + ...lication.kubero.dev_kuberopostgresqls.yaml | 50 + ...ication.kubero.dev_kuberoprometheuses.yaml | 50 + ...pplication.kubero.dev_kuberorabbitmqs.yaml | 50 + .../application.kubero.dev_kuberoredis.yaml | 50 + ...er-manager-metrics-service_v1_service.yaml | 17 + ...-operator-manager-config_v1_configmap.yaml | 16 + ...c.authorization.k8s.io_v1_clusterrole.yaml | 10 + ...kubero-operator.clusterserviceversion.yaml | 2131 +++++++++++++++++ .../0.1.4/metadata/annotations.yaml | 14 + .../0.1.4/tests/scorecard/config.yaml | 70 + 21 files changed, 3009 insertions(+) create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoapps.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberobuilds.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberocouchdbs.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoelasticsearches.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoes.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberokafkas.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomails.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomemcacheds.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomongodbs.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomysqls.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopipelines.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopostgresqls.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoprometheuses.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberorabbitmqs.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoredis.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/kubero-operator-controller-manager-metrics-service_v1_service.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/kubero-operator-manager-config_v1_configmap.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/kubero-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/kubero-operator/0.1.4/manifests/kubero-operator.clusterserviceversion.yaml create mode 100644 operators/kubero-operator/0.1.4/metadata/annotations.yaml create mode 100644 operators/kubero-operator/0.1.4/tests/scorecard/config.yaml diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoapps.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoapps.yaml new file mode 100644 index 00000000000..eccd4903473 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoapps.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberoapps.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoApp + listKind: KuberoAppList + plural: kuberoapps + singular: kuberoapp + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoApp is the Schema for the kuberoapps API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoApp + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoApp + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberobuilds.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberobuilds.yaml new file mode 100644 index 00000000000..149ce798637 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberobuilds.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberobuilds.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoBuild + listKind: KuberoBuildList + plural: kuberobuilds + singular: kuberobuild + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoBuild is the Schema for the kuberobuilds API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoBuild + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoBuild + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberocouchdbs.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberocouchdbs.yaml new file mode 100644 index 00000000000..891d8539e9b --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberocouchdbs.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberocouchdbs.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoCouchDB + listKind: KuberoCouchDBList + plural: kuberocouchdbs + singular: kuberocouchdb + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoCouchDB is the Schema for the kuberocouchdbs API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoCouchDB + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoCouchDB + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoelasticsearches.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoelasticsearches.yaml new file mode 100644 index 00000000000..09907f99b5c --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoelasticsearches.yaml @@ -0,0 +1,51 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberoelasticsearches.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoElasticsearch + listKind: KuberoElasticsearchList + plural: kuberoelasticsearches + singular: kuberoelasticsearch + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoElasticsearch is the Schema for the kuberoelasticsearches + API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoElasticsearch + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoElasticsearch + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoes.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoes.yaml new file mode 100644 index 00000000000..2e7c8dd6dd7 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoes.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberoes.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: Kubero + listKind: KuberoList + plural: kuberoes + singular: kubero + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Kubero is the Schema for the kuberoes API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of Kubero + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of Kubero + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberokafkas.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberokafkas.yaml new file mode 100644 index 00000000000..39d604bf313 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberokafkas.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberokafkas.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoKafka + listKind: KuberoKafkaList + plural: kuberokafkas + singular: kuberokafka + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoKafka is the Schema for the kuberokafkas API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoKafka + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoKafka + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomails.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomails.yaml new file mode 100644 index 00000000000..31874da9f00 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomails.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberomails.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoMail + listKind: KuberoMailList + plural: kuberomails + singular: kuberomail + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoMail is the Schema for the kuberomails API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoMail + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoMail + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomemcacheds.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomemcacheds.yaml new file mode 100644 index 00000000000..76d214a3cd4 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomemcacheds.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberomemcacheds.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoMemcached + listKind: KuberoMemcachedList + plural: kuberomemcacheds + singular: kuberomemcached + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoMemcached is the Schema for the kuberomemcacheds API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoMemcached + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoMemcached + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomongodbs.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomongodbs.yaml new file mode 100644 index 00000000000..b882ed1b034 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomongodbs.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberomongodbs.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoMongoDB + listKind: KuberoMongoDBList + plural: kuberomongodbs + singular: kuberomongodb + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoMongoDB is the Schema for the kuberomongodbs API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoMongoDB + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoMongoDB + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomysqls.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomysqls.yaml new file mode 100644 index 00000000000..bae74c7529e --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberomysqls.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberomysqls.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoMysql + listKind: KuberoMysqlList + plural: kuberomysqls + singular: kuberomysql + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoMysql is the Schema for the kuberomysqls API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoMysql + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoMysql + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopipelines.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopipelines.yaml new file mode 100644 index 00000000000..a84a796fb15 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopipelines.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberopipelines.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoPipeline + listKind: KuberoPipelineList + plural: kuberopipelines + singular: kuberopipeline + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoPipeline is the Schema for the kuberopipelines API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoPipeline + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoPipeline + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopostgresqls.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopostgresqls.yaml new file mode 100644 index 00000000000..20423be40c8 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberopostgresqls.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberopostgresqls.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoPostgresql + listKind: KuberoPostgresqlList + plural: kuberopostgresqls + singular: kuberopostgresql + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoPostgresql is the Schema for the kuberopostgresqls API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoPostgresql + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoPostgresql + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoprometheuses.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoprometheuses.yaml new file mode 100644 index 00000000000..79759ed978e --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoprometheuses.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberoprometheuses.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoPrometheus + listKind: KuberoPrometheusList + plural: kuberoprometheuses + singular: kuberoprometheus + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoPrometheus is the Schema for the kuberoprometheuses API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoPrometheus + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoPrometheus + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberorabbitmqs.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberorabbitmqs.yaml new file mode 100644 index 00000000000..10bbbf6026e --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberorabbitmqs.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberorabbitmqs.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoRabbitMQ + listKind: KuberoRabbitMQList + plural: kuberorabbitmqs + singular: kuberorabbitmq + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoRabbitMQ is the Schema for the kuberorabbitmqs API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoRabbitMQ + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoRabbitMQ + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoredis.yaml b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoredis.yaml new file mode 100644 index 00000000000..8150877cb79 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/application.kubero.dev_kuberoredis.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: kuberoredis.application.kubero.dev +spec: + group: application.kubero.dev + names: + kind: KuberoRedis + listKind: KuberoRedisList + plural: kuberoredis + singular: kuberoredis + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KuberoRedis is the Schema for the kuberoredis API + 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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of KuberoRedis + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of KuberoRedis + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/kubero-operator/0.1.4/manifests/kubero-operator-controller-manager-metrics-service_v1_service.yaml b/operators/kubero-operator/0.1.4/manifests/kubero-operator-controller-manager-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..7e1fc9358d1 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/kubero-operator-controller-manager-metrics-service_v1_service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + control-plane: controller-manager + name: kubero-operator-controller-manager-metrics-service +spec: + ports: + - name: https + port: 8443 + protocol: TCP + targetPort: https + selector: + control-plane: controller-manager +status: + loadBalancer: {} diff --git a/operators/kubero-operator/0.1.4/manifests/kubero-operator-manager-config_v1_configmap.yaml b/operators/kubero-operator/0.1.4/manifests/kubero-operator-manager-config_v1_configmap.yaml new file mode 100644 index 00000000000..131f184eba4 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/kubero-operator-manager-config_v1_configmap.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +data: + controller_manager_config.yaml: | + apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 + kind: ControllerManagerConfig + health: + healthProbeBindAddress: :8081 + metrics: + bindAddress: 127.0.0.1:8080 + + leaderElection: + leaderElect: true + resourceName: 811c9dc5.kubero.dev +kind: ConfigMap +metadata: + name: kubero-operator-manager-config diff --git a/operators/kubero-operator/0.1.4/manifests/kubero-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/kubero-operator/0.1.4/manifests/kubero-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..b62340c079f --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/kubero-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: kubero-operator-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/kubero-operator/0.1.4/manifests/kubero-operator.clusterserviceversion.yaml b/operators/kubero-operator/0.1.4/manifests/kubero-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..ebd16e780c6 --- /dev/null +++ b/operators/kubero-operator/0.1.4/manifests/kubero-operator.clusterserviceversion.yaml @@ -0,0 +1,2131 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "Kubero", + "metadata": { + "name": "kubero" + }, + "spec": { + "affinity": {}, + "fullnameOverride": "", + "image": { + "pullPolicy": "Always", + "repository": "ghcr.io/kubero-dev/kubero/kubero", + "tag": "latest" + }, + "imagePullSecrets": [], + "ingress": { + "annotations": {}, + "className": "", + "enabled": true, + "hosts": [ + { + "host": "kubero.lacolhost.com", + "paths": [ + { + "path": "/", + "pathType": "ImplementationSpecific" + } + ] + } + ], + "tls": [] + }, + "kubero": { + "auditLogs": { + "accessModes": [ + "ReadWriteOnce" + ], + "enabled": false, + "limit": 1000, + "size": "0.1Gi", + "storageClassName": null + }, + "auth": { + "github": { + "callbackUrl": "", + "enabled": false, + "id": "", + "org": "", + "secret": "" + }, + "oauth2": { + "authUrl": "", + "callbackUrl": "", + "enabled": false, + "id": "", + "name": "", + "scopes": "", + "secret": "", + "tokenUrl": "" + } + }, + "config": { + "buildpacks": [ + { + "build": { + "command": "npm install", + "repository": "node", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "latest" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "JavaScript", + "name": "NodeJS", + "run": { + "command": "node index.js", + "repository": "node", + "tag": "latest" + } + }, + { + "build": { + "command": "composer install; chown -R 1000:1000 /app", + "repository": "composer", + "tag": "latest" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "PHP", + "name": "PHP", + "run": { + "command": "apache2-foreground", + "readOnlyAppStorage": false, + "repository": "webdevops/php-apache", + "securityContext": { + "allowPrivilegeEscalation": true, + "readOnlyRootFilesystem": false + }, + "tag": "8.1" + } + }, + { + "build": { + "command": "python3 -m venv .venv \u0026\u0026 . .venv/bin/activate \u0026\u0026 pip install -r requirements.txt", + "repository": "python", + "tag": "3.10-buster" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "Python", + "name": "Python", + "run": { + "command": ". .venv/bin/activate \u0026\u0026 python3 main.py", + "repository": "python", + "tag": "3.10-buster" + } + }, + { + "build": { + "command": "go mod download \u0026\u0026 go mod verify \u0026\u0026 go build -v -o app", + "repository": "golang", + "tag": "alpine" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "GoLang", + "name": "GoLang", + "run": { + "command": "./app", + "repository": "golang", + "tag": "alpine" + } + }, + { + "build": { + "command": "hugo -D", + "repository": "klakegg/hugo", + "tag": "latest" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "GoLang", + "name": "Hugo", + "run": { + "command": "caddy file-server --listen :8080 --root /app/public", + "repository": "caddy", + "tag": "latest" + } + }, + { + "build": { + "command": "export GEM_HOME=/app/bundle; bundle install --jobs=4 --retry=3", + "repository": "ruby", + "tag": "2.7" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "Ruby", + "name": "Ruby", + "run": { + "command": "export GEM_HOME=/app/bundle; bundle exec ruby main.rb", + "repository": "ruby", + "tag": "2.7" + } + }, + { + "build": { + "command": "echo 'Buildpack not required'", + "repository": "busybox", + "tag": "latest" + }, + "fetch": { + "repository": "ghcr.io/kubero-dev/fetch", + "securityContext": { + "runAsUser": 1000 + }, + "tag": "v1" + }, + "language": "HTML", + "name": "Static", + "run": { + "command": "caddy file-server --listen :8080 --root /app", + "repository": "caddy", + "tag": "latest" + } + } + ], + "clusterissuer": "letsencrypt-prod", + "kubero": { + "admin": { + "disabled": false + }, + "banner": { + "bgcolor": "#8560A9", + "fontcolor": "azure", + "message": "Welcome to Kubero!", + "show": false + }, + "console": { + "enabled": false + }, + "readonly": false + }, + "notifications": [], + "podSizeList": [ + { + "default": true, + "description": "Small (CPU: 0.25, Memory: 0.5Gi)", + "name": "small", + "resources": { + "limits": { + "cpu": "500m", + "memory": "1Gi" + }, + "requests": { + "cpu": "250m", + "memory": "0.5Gi" + } + } + }, + { + "description": "Medium (CPU: 1, Memory: 2Gi)", + "name": "medium", + "resources": { + "limits": { + "cpu": "2000m", + "memory": "4Gi" + }, + "requests": { + "cpu": "1000m", + "memory": "2Gi" + } + } + }, + { + "active": false, + "description": "Large (CPU: 2, Memory: 4Gi)", + "name": "large", + "resources": { + "limits": { + "cpu": "2000m", + "memory": "4Gi" + }, + "requests": { + "cpu": "2000m", + "memory": "4Gi" + } + } + } + ], + "templates": { + "catalogs": [ + { + "description": "Kubero templates", + "index": { + "format": "json", + "url": "https://raw.githubusercontent.com/kubero-dev/templates/main/index.json" + }, + "name": "Kubero", + "templateBasePath": "https://raw.githubusercontent.com/kubero-dev/kubero/main/services/" + }, + { + "description": "Kubero templates", + "index": { + "format": "json", + "url": "https://raw.githubusercontent.com/kubero-dev/templates/main/index-frameworks.json" + }, + "name": "Kubero Frameworks", + "templateBasePath": "https://raw.githubusercontent.com/kubero-dev/kubero/main/services/" + } + ], + "enabled": true + } + }, + "context": "inClusterContext", + "debug": "", + "namespace": "kubero", + "sessionKey": "randomString", + "webhook_url": "https://kubero.example.com/api/repo/webhooks" + }, + "nameOverride": "", + "nodeSelector": {}, + "podAnnotations": {}, + "podSecurityContext": {}, + "prometheus": { + "enabled": false, + "endpoint": "http://kubero-prometheus-server" + }, + "registry": { + "account": { + "hash": "$2y$05$czQZpvtDYc5OzM/1r1pH0eAplT/okohh/mXoWl/Y65ZP/8/jnSWZq", + "password": "kubero", + "username": "kubero" + }, + "create": false, + "enabled": false, + "host": "registry.demo.kubero.dev", + "port": 443, + "public": true, + "storage": "1Gi", + "storageClassName": null + }, + "replicaCount": 1, + "resources": {}, + "securityContext": {}, + "service": { + "port": 2000, + "type": "ClusterIP" + }, + "serviceAccount": { + "annotations": {}, + "create": true, + "name": "" + }, + "tolerations": [] + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoApp", + "metadata": { + "name": "kuberoapp" + }, + "spec": { + "addons": [ + { + "env": [], + "id": "mongodb-operator", + "kind": "MongoDB", + "resourceDefinitions": { + "MongoDB": { + "apiVersion": "opstreelabs.in/v1alpha1", + "kind": "MongoDB", + "metadata": { + "name": "mongodbinstanceasdf" + }, + "spec": { + "kubernetesConfig": { + "image": "quay.io/opstree/mongo:v5.0.6", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "fsGroup": 1001 + } + }, + "mongoDBSecurity": { + "mongoDBAdminUser": "admin", + "secretRef": { + "key": "password", + "name": "mongodb-secret" + } + }, + "storage": { + "accessModes": [ + "ReadWriteOnce" + ], + "storageClass": "standard", + "storageSize": "1Gi" + } + } + }, + "mongodbSecret": { + "apiVersion": "v1", + "kind": "Secret", + "metadata": { + "annotations": { + "meta.helm.sh/release-name": "test", + "meta.helm.sh/release-namespace": "kubero-dev" + }, + "labels": { + "app.kubernetes.io/managed-by": "Kubero" + }, + "name": "mongodb-secret" + }, + "stringData": { + "password": "test" + }, + "type": "Opaque" + } + }, + "version": { + "installed": "0.3.0" + } + } + ], + "affinity": {}, + "autodeploy": false, + "autoscaling": { + "enabled": false, + "maxReplicas": 100, + "minReplicas": 1, + "targetCPUUtilizationPercentage": 80 + }, + "branch": "master", + "buildstrategy": "dockerfile", + "cronjobs": [ + { + "command": [ + "/bin/sh", + "-c", + "date; echo Hello from the Kubernetes cluster" + ], + "env": [], + "image": "busybox:1.28", + "name": "cronjob-sample", + "restartPolicy": "OnFailure", + "schedule": "* */6 * * *" + } + ], + "deploymentstrategy": "git", + "envVars": [ + { + "name": "EXAMPLE", + "value": "foo" + }, + { + "name": "BAR", + "value": 3000 + } + ], + "extraVolumes": [], + "fullnameOverride": "", + "gitrepo": { + "admin": false, + "clone_url": "https://github.com/foo/bar.git", + "ssh_url": "git@github.com:foo/bar.git" + }, + "image": { + "build": { + "command": "npm install", + "repository": "node", + "securityContext": { + "readOnlyRootFilesystem": false + }, + "tag": "latest" + }, + "containerPort": 8080, + "fetch": { + "repository": "ghcr.io/kubero-dev/buildpacks/fetch", + "securityContext": { + "readOnlyRootFilesystem": false + }, + "tag": "main" + }, + "pullPolicy": "Always", + "repository": "ghcr.io/kubero-dev/docker-images/node", + "run": { + "command": "node index.js", + "readOnlyAppStorage": true, + "repository": "node", + "securityContext": { + "readOnlyRootFilesystem": true + }, + "tag": "latest" + }, + "tag": "main" + }, + "imagePullSecrets": [], + "ingress": { + "annotations": {}, + "className": "", + "enabled": false, + "hosts": [ + { + "host": "chart-example.local", + "paths": [ + { + "path": "/", + "pathType": "ImplementationSpecific" + } + ] + } + ], + "tls": [] + }, + "name": "kuberoapp", + "nameOverride": "", + "nodeSelector": {}, + "phase": "production", + "pipeline": "kuberopipeline", + "podAnnotations": {}, + "podSecurityContext": {}, + "podsize": { + "default": true, + "description": "Small (CPU: 0.25, Memory: 0.5Gi)", + "name": "small", + "resources": { + "limits": { + "cpu": "500m", + "memory": "1Gi" + }, + "requests": { + "cpu": "250m", + "memory": "0.5Gi" + } + } + }, + "ref": "refs/heads/dummy-pr", + "replicaCount": 1, + "resources": {}, + "securityContext": {}, + "service": { + "port": 80, + "type": "ClusterIP" + }, + "serviceAccount": { + "annotations": {}, + "create": true, + "name": "" + }, + "sleep": "disabled", + "tolerations": [], + "web": { + "autoscaling": { + "maxReplicas": 100, + "minReplicas": 1, + "targetCPUUtilizationPercentage": 80, + "targetMemoryUtilizationPercentage": 80 + }, + "replicaCount": 1 + }, + "worker": { + "autoscaling": { + "maxReplicas": 100, + "minReplicas": 1, + "targetCPUUtilizationPercentage": 80, + "targetMemoryUtilizationPercentage": 80 + }, + "replicaCount": 1 + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoBuild", + "metadata": { + "name": "kuberobuild-sample" + }, + "spec": { + "app": "example", + "buildpack": { + "builder": "gcr.io/paketo-buildpacks/builder:base", + "serviceAccount": "kpack-sa" + }, + "buildstrategy": "nixpack", + "dockerfile": { + "fetcher": "ghcr.io/kubero-dev/buildpacks/fetch:latest", + "path": "Dockerfile", + "pusher": "quay.io/containers/buildah:v1.29" + }, + "git": { + "revision": "main", + "url": "git@github.com:kubero-dev/template-nodeapp.git" + }, + "nixpack": { + "builder": "ghcr.io/kubero-dev/buildpacks/build:latest", + "fetcher": "ghcr.io/kubero-dev/buildpacks/fetch:latest", + "path": ".nixpacks/Dockerfile", + "pusher": "quay.io/containers/buildah:v1.29" + }, + "pipeline": "test", + "podSecurityContext": { + "fsGroup": 1000 + }, + "repository": { + "host": "registry.local.kubero.net", + "image": "/kapck/example", + "push": "kubero-registry.kubero.svc:5000", + "tag": "latest" + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoCouchDB", + "metadata": { + "name": "kuberocouchdb-sample" + }, + "spec": { + "couchdb": { + "adminHash": "-pbkdf2-this_is_not_necessarily_secure_either", + "adminPassword": "this_is_not_secure", + "adminUsername": "admin", + "autoSetup": { + "enabled": false + }, + "clusterSize": 3, + "cookieAuthSecret": "neither_is_this", + "couchdbConfig": { + "couchdb": { + "uuid": "randomstring" + } + }, + "enableSearch": false, + "persistentVolume": { + "enabled": true, + "size": "10Gi", + "storageClass": "standard" + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoElasticsearch", + "metadata": { + "name": "kuberoelasticsearch-sample" + }, + "spec": { + "elasticsearch": { + "data": { + "persistence": { + "size": "8Gi" + }, + "replicaCount": 2 + }, + "global": { + "storageClass": "" + }, + "ingest": { + "enabled": true, + "replicaCount": 2 + }, + "master": { + "persistence": { + "size": "8Gi" + }, + "replicaCount": 2 + }, + "security": { + "elasticPassword": "", + "tls": { + "verificationMode": "none" + } + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoKafka", + "metadata": { + "name": "kuberokafka-sample" + }, + "spec": { + "kafka": { + "global": { + "storageClass": "" + }, + "persistence": { + "size": "8Gi" + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoMail", + "metadata": { + "name": "kuberomail-sample" + }, + "spec": { + "haraka": { + "haraka": { + "env": [ + { + "name": "HARAKA_HOSTLIST", + "value": "localhost,localhost.kubero.dev" + }, + { + "name": "HARAKA_ME", + "value": "mynameisnobody" + }, + { + "name": "HARAKA_PLUGINS", + "value": "helo.checks,mail_from.is_resolvable,rcpt_to.in_host_list,headers,relay_all" + }, + { + "name": "HARAKA_HELO_CHECKS_CHECK", + "value": "mynameisnobody" + }, + { + "name": "HARAKA_HELO_CHECKS_REJECT", + "value": "host_mismatch=false,big_company=false,rdns_match=false" + }, + { + "name": "HARAKA_HELO_CHECKS_SKIP", + "value": "private_ip=false,relaying=true" + }, + { + "name": "HARAKA_LOG_LEVEL", + "value": "debug" + }, + { + "name": "HARAKA_LOG_TIMESTAMP", + "value": false + }, + { + "name": "HARAKA_LOG_FORMAT", + "value": "info" + } + ] + }, + "replicaCount": 1, + "service": { + "port": 8025, + "type": "ClusterIP" + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoMemcached", + "metadata": { + "name": "kuberomemcached-sample" + }, + "spec": { + "affinity": {}, + "autoscaling": { + "enabled": false, + "maxReplicas": 100, + "minReplicas": 1, + "targetCPUUtilizationPercentage": 80 + }, + "fullnameOverride": "", + "image": { + "pullPolicy": "IfNotPresent", + "repository": "nginx", + "tag": "" + }, + "imagePullSecrets": [], + "ingress": { + "annotations": {}, + "className": "", + "enabled": false, + "hosts": [ + { + "host": "chart-example.local", + "paths": [ + { + "path": "/", + "pathType": "ImplementationSpecific" + } + ] + } + ], + "tls": [] + }, + "nameOverride": "", + "nodeSelector": {}, + "podAnnotations": {}, + "podSecurityContext": {}, + "replicaCount": 1, + "resources": {}, + "securityContext": {}, + "service": { + "port": 80, + "type": "ClusterIP" + }, + "serviceAccount": { + "annotations": {}, + "create": true, + "name": "" + }, + "tolerations": [] + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoMongoDB", + "metadata": { + "name": "kuberomongodb-sample" + }, + "spec": { + "mongodb": { + "auth": { + "databases": [ + "kubero" + ], + "passwords": [ + "kubero" + ], + "rootPassword": "", + "rootUser": "root", + "usernames": [ + "kubero" + ] + }, + "directoryPerDB": false, + "disableJavascript": false, + "global": { + "storageClass": "" + }, + "persistence": { + "size": "8Gi" + }, + "replicaCount": 2 + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoMysql", + "metadata": { + "name": "kuberomysql" + }, + "spec": { + "mysql": { + "auth": { + "createDatabase": false, + "database": "my_database", + "password": "example", + "rootPassword": "random", + "username": "example" + }, + "global": { + "storageClass": "" + }, + "primary": { + "persistence": { + "accessModes": [ + "ReadWriteOnce" + ], + "size": "8Gi" + } + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoPipeline", + "metadata": { + "name": "kuberopipeline" + }, + "spec": { + "affinity": {}, + "autoscaling": { + "enabled": false, + "maxReplicas": 100, + "minReplicas": 1, + "targetCPUUtilizationPercentage": 80 + }, + "fullnameOverride": "", + "image": { + "pullPolicy": "IfNotPresent", + "repository": "nginx", + "tag": "" + }, + "imagePullSecrets": [], + "ingress": { + "annotations": {}, + "className": "", + "enabled": false, + "hosts": [ + { + "host": "chart-example.local", + "paths": [ + { + "path": "/", + "pathType": "ImplementationSpecific" + } + ] + } + ], + "tls": [] + }, + "nameOverride": "", + "nodeSelector": {}, + "podAnnotations": {}, + "podSecurityContext": {}, + "replicaCount": 1, + "resources": {}, + "securityContext": {}, + "service": { + "port": 80, + "type": "ClusterIP" + }, + "serviceAccount": { + "annotations": {}, + "create": true, + "name": "" + }, + "tolerations": [] + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoPostgresql", + "metadata": { + "name": "kuberopostgresql-sample" + }, + "spec": { + "postgresql": { + "global": { + "postgresql": { + "auth": { + "database": "", + "password": "", + "postgresPassword": "", + "username": "" + } + }, + "storageClass": "" + }, + "primary": { + "persistence": { + "size": "8Gi" + } + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoPrometheus", + "metadata": { + "name": "kubero-prometheus" + }, + "spec": { + "prometheus": { + "alertmanager": { + "enabled": false + }, + "kube-state-metrics": { + "enabled": false + }, + "prometheus-node-exporter": { + "enabled": false + }, + "prometheus-pushgateway": { + "enabled": false + }, + "server": { + "enabled": true, + "ingress": { + "enabled": false, + "hosts": [ + "prometheus.localhost" + ] + } + }, + "serverFiles": { + "alerting_rules.yml": { + "groups": [ + { + "name": "Instances", + "rules": [ + { + "alert": "High 5xx server error rate", + "annotations": { + "description": "{{ $labels.namespace }}/{{ $labels.service }} has high 5xx error rate on host: {{ $labels.host }}", + "summary": "High 5xx error rate on {{ $labels.namespace }}/{{ $labels.service }}" + }, + "expr": "increase(nginx_ingress_controller_requests{status=~\"5..\", service=~\".*-kuberoapp\"}[5m]) \u003e 0", + "for": "30s", + "keep_firing_for": "30s", + "labels": { + "severity": "page" + } + }, + { + "alert": "More than 10% 4xx errors", + "annotations": { + "description": "{{ $labels.namespace }}/{{ $labels.service }} has more than 10% 4xx error rate on host: {{ $labels.host }}", + "summary": "10% 4xx error rate on {{ $labels.namespace }}/{{ $labels.service }}" + }, + "expr": "(sum(increase(nginx_ingress_controller_requests{status=~\"4..\", service=~\".*-kuberoapp\"}[5m])) * 100) / sum(increase(nginx_ingress_controller_requests{status=~\"2..\", service=~\".*-kuberoapp\"}[5m])) \u003e 10", + "for": "30s", + "keep_firing_for": "30s", + "labels": { + "severity": "page" + } + }, + { + "alert": "Deployment Replicas not ready", + "annotations": { + "description": "{{ $labels.namespace }}/{{ $labels.service }} has deployment replicas not", + "summary": "Deployment Replicast in {{ $labels.namespace }}/{{ $labels.service }} are not ready" + }, + "expr": "kube_deployment_status_replicas{deployment=~\".*-kuberoapp-(web|worker)\"} - kube_deployment_status_replicas_ready{deployment=~\".*kuberoapp-(web|worker)\"} \u003e 0", + "for": "30s", + "keep_firing_for": "30s", + "labels": { + "severity": "page" + } + }, + { + "alert": "CPU limit used by 80%", + "annotations": { + "description": "{{ $labels.namespace }}/{{ $labels.service }} used more than 80% of configured CPU limit", + "summary": "CPU Usage to high in {{ $labels.namespace }}/{{ $labels.service}}" + }, + "expr": "(rate(container_cpu_usage_seconds_total{id=~\".*.slice\", namespace=~\".*-(review|test|stage|production)\"}[5m]) / on (pod) kube_pod_container_resource_limits{unit=\"core\", namespace=~\".*-(review|test|stage|production)\"}) * 100 \u003e 80", + "for": "30s", + "keep_firing_for": "30s", + "labels": { + "severity": "page" + } + }, + { + "alert": "Memory limit used by 80%", + "annotations": { + "description": "{{ $labels.namespace }}/{{ $labels.service }} used more than 80% of configured Memory limit", + "summary": "Memory Usage to high in {{ $labels.namespace }}/{{ $labels.service}}" + }, + "expr": "(container_memory_usage_bytes{namespace=\"yyy-production\", container=~\"kuberoapp-(web|worker)\"} / on (pod) kube_pod_container_resource_limits{unit=\"byte\", namespace=~\".*-(review|test|stage|production)\"}) * 100 \u003e 80", + "for": "30s", + "keep_firing_for": "30s", + "labels": { + "severity": "page" + } + } + ] + } + ] + } + } + } + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoRabbitMQ", + "metadata": { + "name": "kuberorabbitmq-sample" + }, + "spec": { + "affinity": {}, + "autoscaling": { + "enabled": false, + "maxReplicas": 100, + "minReplicas": 1, + "targetCPUUtilizationPercentage": 80 + }, + "fullnameOverride": "", + "image": { + "pullPolicy": "IfNotPresent", + "repository": "nginx", + "tag": "" + }, + "imagePullSecrets": [], + "ingress": { + "annotations": {}, + "className": "", + "enabled": false, + "hosts": [ + { + "host": "chart-example.local", + "paths": [ + { + "path": "/", + "pathType": "ImplementationSpecific" + } + ] + } + ], + "tls": [] + }, + "nameOverride": "", + "nodeSelector": {}, + "podAnnotations": {}, + "podSecurityContext": {}, + "replicaCount": 1, + "resources": {}, + "securityContext": {}, + "service": { + "port": 80, + "type": "ClusterIP" + }, + "serviceAccount": { + "annotations": {}, + "create": true, + "name": "" + }, + "tolerations": [] + } + }, + { + "apiVersion": "application.kubero.dev/v1alpha1", + "kind": "KuberoRedis", + "metadata": { + "name": "kuberoredis-sample" + }, + "spec": { + "redis": { + "architecture": "replication", + "global": { + "redis": { + "password": "" + }, + "storageClass": "" + } + } + } + } + ] + capabilities: Basic Install + categories: Integration & Delivery + certified: "false" + containerImage: ghcr.io/kubero-dev/kubero-operator/kuberoapp:v0.1.4 + createdAt: "2024-09-20T16:09:32Z" + description: Kubero is a GitOps continuous delivery tool for Kubernetes. + operators.operatorframework.io/builder: operator-sdk-v1.34.1 + operators.operatorframework.io/project_layout: helm.sdk.operatorframework.io/v1 + repository: https://github.com/kubero-dev/kubero + support: Kubero Community + name: kubero-operator.v0.1.4 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Creates a App in a Kubero Pipeline + displayName: Kubero App + kind: KuberoApp + name: kuberoapps.application.kubero.dev + version: v1alpha1 + - description: KuberoBuild triggers a build for a given application + kind: KuberoBuild + name: kuberobuilds.application.kubero.dev + version: v1alpha1 + - description: Apache CouchDB is a database featuring seamless multi-master sync, + that scales from big data to mobile, with an intuitive HTTP/JSON API and designed + for reliability. + displayName: Kubero CouchDB + kind: KuberoCouchDB + name: kuberocouchdbs.application.kubero.dev + version: v1alpha1 + - description: Elasticsearch is a distributed search and analytics engine. It + is used for web search, log monitoring, and real-time analytics. Ideal for + Big Data applications. + displayName: Kubero Elasticsearch + kind: KuberoElasticsearch + name: kuberoelasticsearches.application.kubero.dev + version: v1alpha1 + - description: Starts the Kubero UI and API + displayName: Kubero UI and API + kind: Kubero + name: kuberoes.application.kubero.dev + version: v1alpha1 + - description: Apache Kafka is a distributed streaming platform designed to build + real-time pipelines and can be used as a message broker or as a replacement + for a log aggregation solution for big data applications. + displayName: Kubero Kafka + kind: KuberoKafka + name: kuberokafkas.application.kubero.dev + version: v1alpha1 + - description: Haraka MTA is a highly scalable open source email server with a + modular architecture. It is written in Node.js and JavaScript and is designed + for modern Linux servers. + displayName: Kubero Mail Server + kind: KuberoMail + name: kuberomails.application.kubero.dev + version: v1alpha1 + - description: Memcached is an in-memory key-value store for small chunks of arbitrary + data (strings, objects) from results of database calls, API calls, or page + rendering. + displayName: Kubero Memcached + kind: KuberoMemcached + name: kuberomemcacheds.application.kubero.dev + version: v1alpha1 + - description: MongoDB(R) is a relational open source NoSQL database. Easy to + use, it stores data in JSON-like documents. Automated scalability and high-performance. + Ideal for developing cloud native applications. + displayName: Kubero MongoDB + kind: KuberoMongoDB + name: kuberomongodbs.application.kubero.dev + version: v1alpha1 + - description: MySQL is a fast, reliable, scalable, and easy to use open source + relational database system. Designed to handle mission-critical, heavy-load + production applications. + displayName: Kubero Mysql + kind: KuberoMysql + name: kuberomysqls.application.kubero.dev + version: v1alpha1 + - description: Creates a Kubero Pipeline + displayName: Kubero Pipeline + kind: KuberoPipeline + name: kuberopipelines.application.kubero.dev + version: v1alpha1 + - description: PostgreSQL (Postgres) is an open source object-relational database + known for reliability and data integrity. ACID-compliant, it supports foreign + keys, joins, views, triggers and stored procedures. + displayName: Kubero Postgresql + kind: KuberoPostgresql + name: kuberopostgresqls.application.kubero.dev + version: v1alpha1 + - kind: KuberoPrometheus + name: kuberoprometheuses.application.kubero.dev + version: v1alpha1 + - description: RabbitMQ is an open source general-purpose message broker that + is designed for consistent, highly-available messaging scenarios (both synchronous + and asynchronous). + displayName: Kubero RabbitMQ + kind: KuberoRabbitMQ + name: kuberorabbitmqs.application.kubero.dev + version: v1alpha1 + - description: Redis(R) is an open source, advanced key-value store. It is often + referred to as a data structure server since keys can contain strings, hashes, + lists, sets and sorted sets. + displayName: Kubero Redis + kind: KuberoRedis + name: kuberoredis.application.kubero.dev + version: v1alpha1 + description: |- + Kubero is a Internal Developer Platform (IDP) that brings the convinience of Heroku/platform.sh/vercel/Netlify to your kubernetes cluster. Your developers should not need to worry about the underlying infrastructure and deployment. It enables you to deploy your applications with a few clicks. It also provides a API and CLI to manage your applications. + + ## Features + - Automated GitOps deployment and Pull Request previews + - Integrated CI/CD + + ## Supported Git Providers + - Gitea + - Forgejo (WIP) + - OneDev (WIP) + - Gogs + - Github + - Gitlab + - Bitbucket + + ## Tested languages/frameworks + Basicly everything that can be shipped in a single container. Kubero uses official images to build and run the apps. But they can be replaced or extended to fit your needs. + + - GoLang (including Hugo, gin-gonic) + - Python (including Flask) + - JavaScript/NodeJS + - PHP (including Laravel) + - Ruby (including Rails) + - Static HTML + - Rust (including Rocket) + displayName: Kubero + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTM2bW0iCiAgIGhlaWdodD0iMTM2bW0iCiAgIHZpZXdCb3g9IjAgMCAxMzYgMTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc0NzQ0IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjIuMSAoOWM2ZDQxZTQsIDIwMjItMDctMTQpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJrdWJlcm8tbG9nby1oYXQtc3F1YXJlLWJvbGQuc3ZnIgogICBpbmtzY2FwZTpleHBvcnQtZmlsZW5hbWU9Imt1YmVyby1sb2dvLWhhdC1zcXVhcmUtbmVnYXRpdmUtYm9sZC5wbmciCiAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSI4MCIKICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjgwIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0ibmFtZWR2aWV3NDc0NiIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnNob3dwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMS40ODgiCiAgICAgaW5rc2NhcGU6Y3g9IjE4OS44NTIxNSIKICAgICBpbmtzY2FwZTpjeT0iMjI1LjgwNjQ1IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTM4NyIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDkyIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIzNjYiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI5MiIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzNDc0MSIgLz4KICA8ZwogICAgIGlua3NjYXBlOmxhYmVsPSJFYmVuZSAxIgogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMSI+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6Izc0NzNiZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6Izc0NzNiZjtzdHJva2Utd2lkdGg6My45NzUyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDozLjI7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDk4LjUwODcxMyw5Ni4wMzAzNjIgYyAtMi40NDQyNywwLjc2OTIyNCAtNy42NzI0ODIsMS41NDczNzkgLTExLjczODIyMiwxLjc0NzEyNyAtOC42OTkyODYsMC40MjczNzMgLTE1LjEwMDMwNywtMC42NzE0NyAtMzEuOTA5NjEyLC01LjQ3NzkxMSAtMTUuMjQyMzQyLC00LjM1ODQwOCAtMjIuNTExNjQ2LC01LjgxNDE5MyAtMjcuNjMwNjQ1LC01LjUzMzUzNSAtNi44MDg2NjYsMC4zNzMzNDUgLTcuMjQ2MDU0LDMuNzkxMjM4IC0wLjc1ODUzOSw1LjkyNzYwMiAxLjI4NjI5NCwwLjQyMzU4OSA2LjQ5MzYxLDAuOTk5NTA2IDExLjU3MTgwNywxLjI3OTc2IGwgOS4yMzMwNjcsMC41MDk2MjIgLTQuMjg2NzksMC45Nzk2NzIgYyAtNS4xNTA4NzYsMS4xNzcxNTkgLTE1LjIxMTYxMiwxLjU4OTEyNCAtMTguNjExNjAzLDAuNzYyMDk2IC0zLjczNjY1LC0wLjkwODkxNSAtNi40NDk1ODQsLTMuODg1ODY2IC02LjQ0OTU4NCwtNy4wNzcxOTEgMCwtMy40MDk5MDggMC45MTAxODksLTUuMjY5OTExIDMuMjYwMjY4LC02LjY2MjQ4NyA1LjA5NjQ2NiwtMy4wMTk5NjMgMTQuOTQ5NjMsLTEuOTI2OTQyIDM2Ljc5OTMzOSw0LjA4MjE3NyAxOC43NzE3MDgsNS4xNjI2MTkgMjEuNDA3NjYsNS41OTg5NzIgMzEuMDk2NDEsNS4xNDc4NDggNi45OTQ3MjcsLTAuMzI1NzAzIDkuMzAxMzgsLTAuNzY0MjkgMTQuNTMyODYxLC0yLjc2MzMyNCA3LjQ1MzAxLC0yLjg0Nzk2MiAxMi4xOTM1OCwtNS44Mzk1MTMgMTYuMDM3ODksLTEwLjEyMDgwNCAyLjcxMTg3LC0zLjAyMDE2IDUuNDE5MzYsLTguMTE4OTM4IDcuMDE1NiwtMTIuNDg2ODI5IDAuMTUyMTQsLTAuNDE2MjYyIDEuMDc5OCwtMS4xNDY5NDkgLTMuOTQzMDgsMS4zNTc0NDIgLTYuNjU4MiwzLjMxOTcxNyAtMTQuNzcwMzIsNC44NTYyODEgLTI3LjIzNDk5MSw0LjMxMTQ2OCBDIDgzLjkzMzEzMyw3MS41MDc4NzEgNzguMTQ0NjYsNzAuMzg5OTk3IDYyLjA4MTEzNCw2NS41NjA4MzQgMjkuNDM4ODIxLDU1Ljc0NzU2OSAxNC43MTk3NDMsNTUuNjEzNDYzIDcuNDc4OTM4LDY1LjA2MzM2MiBjIC0yLjY1ODQ4OTQsMy40Njk1NiAtMi42OTYzNzgzLDIuNDA4NDc3IC0wLjA2MDYyMiwtMS42OTg0MTcgMS4zNTY0NTI0LC0yLjExMzU4MSAzLjM2MTAwMiwtMy44OTU4MzUgNi4xMDA0MTUsLTUuNDIzOTE1IDEwLjA5MzY0NywtNS42MzAzODMgMjUuMTYwNjExLC00Ljg4MTQ2NCA1Mi44ODM0OTMsMi42Mjg2NTIgOC4zNzYxMTQsMi4yNjkwNzkgMjEuNDk0OTQzLDUuMDQzNzQ4IDIxLjg3NzM0NCw0LjYyNzE1NCAwLjEwNzcwNiwtMC4xMTc0NDEgLTQuOTkxOTY3LC0xMC41MDMxMzEgLTExLjQ2NzE5OSwtMjMuMzUzNTIzIC0yLjg0MDQwOCwtNS42MzY5MDMgLTMuMDQxNjk4LC01Ljg1NTgxNCAtNS4zNjE2OCwtNS44MzA0MyAtMS4zMjU3NTgsMC4wMTMzNSAtNC42MzYzMDcsMC40ODQ5OTYgLTcuMzU2NzQ4LDEuMDQ1NTEzIEMgNTIuOTQ2ODE0LDM5LjM1NTE5IDUwLjkxNjE1LDQwLjcyMzgxMiA0OC44NTI5OCw0Ny4zMzA1MDcgbCAtMS4yOTU0MTEsNC4xNDgxOCAwLjIyMDA0NCwtNS4wOTI5MjEgYyAwLjI3OTI3NCwtNi40NjM3MDYgMS41MTc2MzQsLTguNTAyNzY1IDcuMTA5NjQzLC0xMS43MDY1MDQgOC4yMjU5NjMsLTQuNzEyNzg4IDE5LjYyNzg5MywtNi4zOTk4NjIgMjIuMzI5NjM2LC0zLjMwMzk4IDMuMTI0OTEsMy41ODA4MTIgNy43Njc1NDMsMTUuNjkzMDMxIDEwLjYzODU1NCwyNy43NTUyMTQgbCAxLjQ2MTUxNyw2LjE0MDM2NCAzLjM4MTUwNywwLjQ2NTU2NyBjIDExLjcxMDI3LDEuNjEyMzE3IDI3LjM1OTE1LC0wLjkxNCAzMS4yNzMwMywtNS4wNDg2NzQgNC45NzIyOCwtNS4yNTI3OCAtMi45ODY0MywtOC43MzI1NTQgLTI0LjI4MjE1MywtMTAuNjE2ODEgTCA4OC44MjUzOTgsNDkuMTA5NzM0IDk1Ljk5OTAzLDQ4LjQ5NzAxOCBjIDguMzk4NTMsLTAuNzE3MzQ2IDIyLjc4OTk2LC0wLjE0ODA0NiAyNi4yMDg5NSwxLjAzNzAyOCA2LjAwMjM0LDIuMDgwMjQ2IDguODQ1NzQsNi4zMzcxNSA3LjI0ODI3LDEwLjg1MTQ1OCAtMC40NzI3MSwxLjMzNTkxNyAtMS41MjU2Miw1LjEwOTQ4OSAtMi42NTczNSw4LjI0NjE2IC0yLjk5NDEzLDguMjk4NDI1IC01LjM5MDQ4LDEzLjMzNjA4OCAtOS4yODc1OSwxOC4wMzI2NDIgLTAuOTM1OTYsMS4xMjc5NTIgLTIuMzIxMzQsMi44NjAwNzEgLTUuNzUzNzEsNC44MDMzMTQgLTcuNzgsMy42OTQ0MTkgLTkuOTIwNjgsMy43NjgyMTEgLTEzLjI0ODg4Nyw0LjU2Mjc0MiB6IgogICAgICAgaWQ9InBhdGgxNjYtNS04IgogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjc3Nzc3Njc3Nzc3Nzc3Nzc3Nzc3Nzc3NzY3NzY3Nzc3Njc3NzY3Njc3NzY2MiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iaGF0IiAvPgogIDwvZz4KPC9zdmc+Cg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - apiGroups: + - "" + - apps + resources: + - configmaps + - secrets + verbs: + - '*' + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - rbac.authorization.k8s.io + - "" + resources: + - roles + - clusterroles + - clusterrolebindings + - rolebindings + - secrets + - deployments + - namespaces + - services + - ingresses + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberoapps + - kuberoapps/status + - kuberoapps/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - apps + - "" + resources: + - deployments + - serviceaccounts + verbs: + - '*' + - apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - '*' + - apiGroups: + - networking.k8s.io + - "" + resources: + - ingresses + - rolebindings + - services + - jobs + verbs: + - '*' + - apiGroups: + - batch + resources: + - cronjobs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - opstreelabs.in + resources: + - mongodbs + verbs: + - '*' + - apiGroups: + - redis.redis.opstreelabs.in + resources: + - redis + - redisclusters + verbs: + - '*' + - apiGroups: + - postgres-operator.crunchydata.com + resources: + - postgresclusters + verbs: + - '*' + - apiGroups: + - minio.min.io + resources: + - tenants + verbs: + - '*' + - apiGroups: + - charts.operatorhub.io + resources: + - cockroachdbs + verbs: + - '*' + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - '*' + - apiGroups: + - networking.cfargotunnel.com + resources: + - tunnels + - tunnelbindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberoes + - kuberoes/status + - kuberoes/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - "" + resources: + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + - persistentvolumeclaims/finalizers + - persistentvolumes/finalizers + verbs: + - '*' + - apiGroups: + - operators.coreos.com + resources: + - clusterserviceversions + verbs: + - '*' + - apiGroups: + - cert-manager.io + resources: + - certificates + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberopipelines + - kuberopipelines/status + - kuberopipelines/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - "" + resources: + - namespaces + - secrets + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberomysqls + - kuberomysqls/status + - kuberomysqls/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberopostgresqls + - kuberopostgresqls/status + - kuberopostgresqls/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberoredis + - kuberoredis/status + - kuberoredis/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberomongodbs + - kuberomongodbs/status + - kuberomongodbs/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberoelasticsearches + - kuberoelasticsearches/status + - kuberoelasticsearches/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberocouchdbs + - kuberocouchdbs/status + - kuberocouchdbs/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberokafkas + - kuberokafkas/status + - kuberokafkas/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - secrets + - configmaps + - serviceaccounts + - services + - persistentvolumeclaims + - persistentvolumes + verbs: + - '*' + - apiGroups: + - job + resources: + - batch + verbs: + - '*' + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberomails + - kuberomails/status + - kuberomails/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberorabbitmqs + - kuberorabbitmqs/status + - kuberorabbitmqs/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - "" + resources: + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberomemcacheds + - kuberomemcacheds/status + - kuberomemcacheds/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberoprometheuses + - kuberoprometheuses/status + - kuberoprometheuses/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - "" + resources: + - clusterrolebindings + verbs: + - '*' + - apiGroups: + - application.kubero.dev + resources: + - kuberobuilds + - kuberobuilds/status + - kuberobuilds/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - batch + resources: + - jobs + verbs: + - '*' + - apiGroups: + - "" + resources: + - pods + verbs: + - '*' + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + serviceAccountName: kubero-operator-controller-manager + deployments: + - label: + control-plane: controller-manager + name: kubero-operator-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + control-plane: controller-manager + spec: + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.11.0 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + - --leader-election-id=kubero-operator + - --zap-log-level=info + image: ghcr.io/kubero-dev/kubero-operator/kuberoapp:v0.1.4 + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: "1" + memory: 1Gi + requests: + cpu: 100m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + securityContext: + runAsNonRoot: true + serviceAccountName: kubero-operator-controller-manager + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: kubero-operator-controller-manager + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - gitops + - devops + - workflow + links: + - name: Kubero Operator + url: https://github.com/kubero-dev/kubero-operator + - name: Kubero UI + url: https://github.com/kubero-dev/kubero + maintainers: + - email: gicara+kubero@gmail.com + name: Gianni Carafa + maturity: alpha + provider: + name: kubero + url: https://github.com/kubero-dev/ + version: 0.1.4 + replaces: kubero-operator.v0.1.3 diff --git a/operators/kubero-operator/0.1.4/metadata/annotations.yaml b/operators/kubero-operator/0.1.4/metadata/annotations.yaml new file mode 100644 index 00000000000..e9561fecc60 --- /dev/null +++ b/operators/kubero-operator/0.1.4/metadata/annotations.yaml @@ -0,0 +1,14 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: kubero-operator + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.34.1 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: helm.sdk.operatorframework.io/v1 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/kubero-operator/0.1.4/tests/scorecard/config.yaml b/operators/kubero-operator/0.1.4/tests/scorecard/config.yaml new file mode 100644 index 00000000000..760c2d984d2 --- /dev/null +++ b/operators/kubero-operator/0.1.4/tests/scorecard/config.yaml @@ -0,0 +1,70 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:v1.21.0 + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:v1.21.0 + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:v1.21.0 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-resources + image: quay.io/operator-framework/scorecard-test:v1.21.0 + labels: + suite: olm + test: olm-crds-have-resources-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.21.0 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-status-descriptors + image: quay.io/operator-framework/scorecard-test:v1.21.0 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}