diff --git a/assets/cyclops/cyclops-0.14.2.tgz b/assets/cyclops/cyclops-0.14.2.tgz new file mode 100644 index 000000000..70eb1b502 Binary files /dev/null and b/assets/cyclops/cyclops-0.14.2.tgz differ diff --git a/assets/icons/cyclops.png b/assets/icons/cyclops.png new file mode 100644 index 000000000..7d1dc1ca3 Binary files /dev/null and b/assets/icons/cyclops.png differ diff --git a/charts/cyclops/cyclops/0.14.2/.helmignore b/charts/cyclops/cyclops/0.14.2/.helmignore new file mode 100644 index 000000000..e7d1b7249 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/.helmignore @@ -0,0 +1,25 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# Ignore Notes.txt file +Notes.txt diff --git a/charts/cyclops/cyclops/0.14.2/Chart.yaml b/charts/cyclops/cyclops/0.14.2/Chart.yaml new file mode 100644 index 000000000..af2b22957 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/Chart.yaml @@ -0,0 +1,18 @@ +annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Cyclops + catalog.cattle.io/kube-version: '>=1.21-0' + catalog.cattle.io/namespace: cyclops + catalog.cattle.io/release-name: cyclops +apiVersion: v2 +appVersion: v0.15.4 +description: Cyclops Helm chart +home: https://cyclops-ui.com/ +icon: file://assets/icons/cyclops.png +keywords: +- Devops +- Kubernetes operator +kubeVersion: '>=1.21-0' +name: cyclops +type: application +version: 0.14.2 diff --git a/charts/cyclops/cyclops/0.14.2/README.md b/charts/cyclops/cyclops/0.14.2/README.md new file mode 100644 index 000000000..597195310 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/README.md @@ -0,0 +1,31 @@ +# Cyclops + +![](https://raw.githubusercontent.com/cyclops-ui/cyclops/main/web/static/img/cyclops-simplistic.png) + +Cyclops is an open-source tool that allows you to create custom Kubernetes UIs. With Cyclops, you can specify the right level of abstraction you need while deploying applications. You can specify all the Kubernetes objects that your system needs, as well as all of the fields your developers need to get their apps deployed - validations included! + +You can check [Cyclops landing page](https://cyclops-ui.com) or our [GitHub repo](https://github.com/cyclops-ui/cyclops) for documentation and more details. + +You can confirm Cyclops is healthy by checking if Cyclops pods are up and running. You can do it with the command below + +``` +kubectl get pods -n cyclops +``` + +and if Cyclops is healthy, you will get an output similar to the one below: + +``` +NAME READY STATUS RESTARTS AGE +cyclops-ctrl-8b9cff4db-p74x6 1/1 Running 0 38s +cyclops-ui-6cb54c69bf-g78d5 1/1 Running 0 38s +``` + +Cyclops UI is exposed via a Kubernetes service. You can port forward the service and use it from localhost with the command below: + +``` +kubectl port-forward svc/cyclops-ui -n cyclops 3000:3000 +``` + +You can now access Cyclops in your browser on `http://localhost:3000`. + +Alternatively, you can expose Cyclops service via ingress. diff --git a/charts/cyclops/cyclops/0.14.2/crds/cyclops-module.yaml b/charts/cyclops/cyclops/0.14.2/crds/cyclops-module.yaml new file mode 100644 index 000000000..a3a2a6a5b --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/crds/cyclops-module.yaml @@ -0,0 +1,147 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: modules.cyclops-ui.com +spec: + group: cyclops-ui.com + names: + kind: Module + listKind: ModuleList + plural: modules + singular: module + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Module is the Schema for the modules 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 + history: + items: + properties: + generation: + format: int64 + type: integer + template: + properties: + path: + type: string + repo: + type: string + sourceType: + enum: + - git + - helm + - oci + type: string + version: + type: string + required: + - path + - repo + - version + type: object + values: + x-kubernetes-preserve-unknown-fields: true + required: + - generation + - template + - values + type: object + type: array + 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: ModuleSpec defines the desired state of Module + properties: + targetNamespace: + type: string + template: + properties: + path: + type: string + repo: + type: string + sourceType: + enum: + - git + - helm + - oci + type: string + version: + type: string + required: + - path + - repo + - version + type: object + values: + x-kubernetes-preserve-unknown-fields: true + required: + - template + - values + type: object + status: + description: ModuleStatus defines the observed state of Module + properties: + iconURL: + type: string + managedGVRs: + items: + properties: + group: + type: string + resource: + type: string + version: + type: string + required: + - group + - resource + - version + type: object + type: array + reconciliationStatus: + properties: + errors: + items: + type: string + type: array + reason: + type: string + status: + default: unknown + enum: + - unknown + - succeeded + - failed + type: string + type: object + templateResolvedVersion: + type: string + required: + - reconciliationStatus + - templateResolvedVersion + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/cyclops/cyclops/0.14.2/crds/template-auth-rule.yaml b/charts/cyclops/cyclops/0.14.2/crds/template-auth-rule.yaml new file mode 100644 index 000000000..e1ff2e9e0 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/crds/template-auth-rule.yaml @@ -0,0 +1,102 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: templateauthrules.cyclops-ui.com +spec: + group: cyclops-ui.com + names: + kind: TemplateAuthRule + listKind: TemplateAuthRuleList + plural: templateauthrules + singular: templateauthrule + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: TemplateAuthRule is the Schema for the modules 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: TemplateAuthRuleSpec defines the desired state of TemplateAuthRule + properties: + password: + description: SecretKeySelector selects a key of a Secret. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + repo: + type: string + username: + description: SecretKeySelector selects a key of a Secret. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - repo + - username + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/cyclops/cyclops/0.14.2/crds/template-store.yaml b/charts/cyclops/cyclops/0.14.2/crds/template-store.yaml new file mode 100644 index 000000000..dc1cc1491 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/crds/template-store.yaml @@ -0,0 +1,60 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: templatestores.cyclops-ui.com +spec: + group: cyclops-ui.com + names: + kind: TemplateStore + listKind: TemplateStoreList + plural: templatestores + singular: templatestore + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: TemplateStore holds reference to a template that can be offered + as a starting point + 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: + properties: + path: + type: string + repo: + type: string + sourceType: + enum: + - git + - helm + - oci + type: string + version: + type: string + required: + - path + - repo + - version + type: object + type: object + served: true + storage: true diff --git a/charts/cyclops/cyclops/0.14.2/templates/_helpers.tpl b/charts/cyclops/cyclops/0.14.2/templates/_helpers.tpl new file mode 100644 index 000000000..aacd200a3 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/_helpers.tpl @@ -0,0 +1,44 @@ +{{- define "cyclops.namespace" -}} +{{- if ((.Values.global).singleNamespaceScope).enabled -}} +{{ .Values.global.singleNamespaceScope.namespace }} +{{- else if .Release.Namespace -}} +{{ .Release.Namespace }} +{{- else -}} +cyclops +{{- end -}} +{{- end -}} + +{{- define "cyclops-ctrl.host" -}} +{{ ((.Values.ui).ctrlHost) | default (printf "http://cyclops-ctrl.%s:8080" (include "cyclops.namespace" .)) | quote }} +{{- end -}} + +{{- define "cyclops-ctrl.watchNamespace" -}} +- name: WATCH_NAMESPACE +{{- if ((.Values.global).singleNamespaceScope).enabled }} + value: {{ .Values.global.singleNamespaceScope.namespace | quote }} +{{- else if (.Values.ctrl).watchNamespace }} + value: {{ .Values.ctrl.watchNamespace | quote }} +{{- else }} + value: {{ include "cyclops.namespace" . | quote }} +{{- end -}} +{{- end -}} + +{{- define "cyclops-ctrl.moduleTargetNamespace" -}} +{{- if ((.Values.global).singleNamespaceScope).enabled }} +- name: MODULE_TARGET_NAMESPACE + value: {{ .Values.global.singleNamespaceScope.namespace | quote }} +{{- else if (.Values.ctrl).moduleTargetNamespace }} +- name: MODULE_TARGET_NAMESPACE + value: {{ ((.Values.ctrl).moduleTargetNamespace) | quote }} +{{- end -}} +{{- end -}} + +{{- define "cyclops-ctrl.watchNamespaceHelm" -}} +{{- if ((.Values.global).singleNamespaceScope).enabled }} +- name: WATCH_NAMESPACE_HELM + value: {{ .Values.global.singleNamespaceScope.namespace | quote }} +{{- else if (.Values.ctrl).watchNamespaceHelm }} +- name: WATCH_NAMESPACE_HELM + value: {{ .Values.ctrl.watchNamespaceHelm | quote }} +{{- end -}} +{{- end -}} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/clusterrole.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/clusterrole.yaml new file mode 100644 index 000000000..3317c6504 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/clusterrole.yaml @@ -0,0 +1,22 @@ +{{- if not (eq ((.Values.global).singleNamespaceScope).enabled true) -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/component: ctrl + app.kubernetes.io/name: cyclops-ctrl + app.kubernetes.io/part-of: cyclops + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +rules: + - apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + - nonResourceURLs: + - '*' + verbs: + - '*' +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/clusterrolebinding.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/clusterrolebinding.yaml new file mode 100644 index 000000000..bf70f60be --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/clusterrolebinding.yaml @@ -0,0 +1,19 @@ +{{- if not (eq ((.Values.global).singleNamespaceScope).enabled true) -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/component: ctrl + app.kubernetes.io/name: cyclops-ctrl + app.kubernetes.io/part-of: cyclops + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cyclops-ctrl +subjects: + - kind: ServiceAccount + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/deployment.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/deployment.yaml new file mode 100644 index 000000000..40abbcf3c --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} + labels: + app: cyclops-ctrl +spec: + replicas: {{ ((.Values.ctrl).replicas) | default 1 }} + selector: + matchLabels: + app: cyclops-ctrl + template: + metadata: + labels: + app: cyclops-ctrl + spec: + serviceAccountName: cyclops-ctrl + containers: + - name: cyclops-ctrl + image: {{ printf "cyclopsui/cyclops-ctrl:%s" (default .Chart.AppVersion (.Values.image).tag) }} + ports: + - containerPort: 8080 + env: + - name: PORT + value: "8080" + {{- if ((.Values.global).disableTelemetry) }} + - name: DISABLE_TELEMETRY + value: {{ ((.Values.global).disableTelemetry) | quote }} + {{- end }} + {{- include "cyclops-ctrl.watchNamespace" . | nindent 12 }} + {{- include "cyclops-ctrl.moduleTargetNamespace" . | nindent 12 }} + {{- include "cyclops-ctrl.watchNamespaceHelm" . | nindent 12 }} + livenessProbe: + httpGet: + path: /healthz + port: 8082 + initialDelaySeconds: 15 + periodSeconds: 20 + readinessProbe: + httpGet: + path: /readyz + port: 8082 + initialDelaySeconds: 5 + periodSeconds: 10 diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/networkpolicy.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/networkpolicy.yaml new file mode 100644 index 000000000..760b46831 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/networkpolicy.yaml @@ -0,0 +1,24 @@ +{{- if (.Values.global).enableNetworkPolicies -}} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +spec: + podSelector: + matchLabels: + app: cyclops-ctrl + ingress: + - from: + - podSelector: + matchLabels: + app: cyclops-ui + ports: + - protocol: TCP + port: 8080 + egress: + - {} + policyTypes: + - Ingress + - Egress +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/role.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/role.yaml new file mode 100644 index 000000000..7fd9c0e7a --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/role.yaml @@ -0,0 +1,18 @@ +{{- if eq ((.Values.global).singleNamespaceScope).enabled true -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: ctrl + app.kubernetes.io/name: cyclops-ctrl + app.kubernetes.io/part-of: cyclops + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +rules: + - apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/rolebinding.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/rolebinding.yaml new file mode 100644 index 000000000..99c8963c0 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/rolebinding.yaml @@ -0,0 +1,19 @@ +{{- if eq ((.Values.global).singleNamespaceScope).enabled true -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: ctrl + app.kubernetes.io/name: cyclops-ctrl + app.kubernetes.io/part-of: cyclops + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: cyclops-ctrl +subjects: + - kind: ServiceAccount + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/service.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/service.yaml new file mode 100644 index 000000000..54400e3f5 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} + labels: + app: cyclops-ctrl +spec: + type: ClusterIP + ports: + - port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: cyclops-ctrl diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/serviceaccount.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/serviceaccount.yaml new file mode 100644 index 000000000..c4d4441bb --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ctrl/serviceaccount.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: ctrl + app.kubernetes.io/name: cyclops-ctrl + app.kubernetes.io/part-of: cyclops + name: cyclops-ctrl + namespace: {{ include "cyclops.namespace" . | quote }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/deployment.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/deployment.yaml new file mode 100644 index 000000000..16a80fde6 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cyclops-ui + namespace: {{ include "cyclops.namespace" . | quote }} + labels: + app: cyclops-ui +spec: + replicas: {{ ((.Values.ui).replicas) | default 1 }} + selector: + matchLabels: + app: cyclops-ui + template: + metadata: + labels: + app: cyclops-ui + spec: + containers: + - name: cyclops-ui + image: {{ printf "cyclopsui/cyclops-ui:%s" (default .Chart.AppVersion (.Values.image).tag) }} + ports: + - containerPort: 80 + env: + - name: REACT_APP_CYCLOPS_CTRL_HOST + value: {{ include "cyclops-ctrl.host" . }} + {{- if ((.Values.global).enableStreaming) }} + - name: REACT_APP_ENABLE_STREAMING + value: {{ ((.Values.global).enableStreaming) | quote }} + {{- end }} + - name: NODE_ENV + value: production + - name: NODE_OPTIONS + value: --openssl-legacy-provider + restartPolicy: Always diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/networkpolicy.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/networkpolicy.yaml new file mode 100644 index 000000000..d8fc16aad --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/networkpolicy.yaml @@ -0,0 +1,18 @@ +{{- if (.Values.global).enableNetworkPolicies -}} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: cyclops-ui + namespace: {{ include "cyclops.namespace" . | quote }} +spec: + podSelector: + matchLabels: + app: cyclops-ui + ingress: + - {} + egress: + - {} + policyTypes: + - Ingress + - Egress +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/service.yaml b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/service.yaml new file mode 100644 index 000000000..5f071c87b --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/cyclops-ui/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: cyclops-ui + namespace: {{ include "cyclops.namespace" . | quote }} +spec: + type: ClusterIP + ports: + - port: 3000 + targetPort: 80 + protocol: TCP + selector: + app: cyclops-ui diff --git a/charts/cyclops/cyclops/0.14.2/templates/template-store/template-store.yaml b/charts/cyclops/cyclops/0.14.2/templates/template-store/template-store.yaml new file mode 100644 index 000000000..3215adea6 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/templates/template-store/template-store.yaml @@ -0,0 +1,17 @@ +{{- range .Values.templateStore }} +--- +apiVersion: cyclops-ui.com/v1alpha1 +kind: TemplateStore +metadata: + name: {{ required "Template name is required for each template" .name }} + namespace: {{ include "cyclops.namespace" $ | quote }} + annotations: + cyclops-ui.com/icon: {{ .iconURL | default "" | quote }} +spec: + repo: {{ required "Template repo is required for each template" .repo | quote }} + path: {{ required "Template path/name is required for each template" .path | quote }} + version: {{ .version | default "" | quote }} + {{- if .sourceType }} + sourceType: {{ .sourceType | quote }} + {{- end }} +{{- end }} diff --git a/charts/cyclops/cyclops/0.14.2/values.yaml b/charts/cyclops/cyclops/0.14.2/values.yaml new file mode 100644 index 000000000..ade53f9a1 --- /dev/null +++ b/charts/cyclops/cyclops/0.14.2/values.yaml @@ -0,0 +1,72 @@ +global: + disableTelemetry: false + enableNetworkPolicies: false + enableStreaming: true + +ctrl: + replicas: 1 + +ui: + replicas: 1 + +templateStore: + - name: demo + repo: https://github.com/cyclops-ui/templates + path: demo + version: main + iconURL: https://github.com/cyclops-ui/cyclops/blob/main/cyclops-ui/src/static/img/default-template-icon.png?raw=true + sourceType: git + - name: app-template + repo: https://github.com/cyclops-ui/templates + path: app-template + version: main + iconURL: https://github.com/cyclops-ui/cyclops/blob/main/cyclops-ui/src/static/img/default-template-icon.png?raw=true + sourceType: git + - name: jenkins + repo: https://github.com/bitnami/charts + path: bitnami/jenkins + version: main + iconURL: https://bitnami.com/assets/stacks/jenkins/img/jenkins-stack-220x234.png + sourceType: git + - name: mariadb + repo: https://github.com/bitnami/charts + path: bitnami/mariadb + version: main + iconURL: https://bitnami.com/assets/stacks/mariadb/img/mariadb-stack-220x234.png + sourceType: git + - name: metabase + repo: https://github.com/cyclops-ui/templates + path: metabase + version: main + iconURL: https://www.metabase.com/images/logo.svg + sourceType: git + - name: mysql + repo: https://github.com/bitnami/charts + path: bitnami/mysql + version: main + iconURL: https://bitnami.com/assets/stacks/mysql/img/mysql-stack-220x234.png + sourceType: git + - name: postgresql + repo: https://github.com/bitnami/charts + path: bitnami/postgresql + version: main + iconURL: https://bitnami.com/assets/stacks/postgresql/img/postgresql-stack-220x234.png + sourceType: git + - name: prometheus + repo: https://github.com/bitnami/charts + path: bitnami/prometheus + version: main + iconURL: https://bitnami.com/assets/stacks/prometheus/img/prometheus-stack-220x234.png + sourceType: git + - name: rabbitmq + repo: https://github.com/bitnami/charts + path: bitnami/rabbitmq + version: main + iconURL: https://bitnami.com/assets/stacks/rabbitmq/img/rabbitmq-stack-220x234.png + sourceType: git + - name: redis + repo: https://github.com/bitnami/charts + path: bitnami/redis + version: main + iconURL: https://bitnami.com/assets/stacks/redis/img/redis-stack-220x234.png + sourceType: git diff --git a/index.yaml b/index.yaml index 2edb0e7d8..c28809cba 100644 --- a/index.yaml +++ b/index.yaml @@ -11622,6 +11622,29 @@ entries: urls: - assets/weka/csi-wekafsplugin-2.0.0.tgz version: 2.0.0 + cyclops: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Cyclops + catalog.cattle.io/kube-version: '>=1.21-0' + catalog.cattle.io/namespace: cyclops + catalog.cattle.io/release-name: cyclops + apiVersion: v2 + appVersion: v0.15.4 + created: "2025-01-15T00:19:27.395415+01:00" + description: Cyclops Helm chart + digest: a920c5e75dd62962245e69101411076ebee2a118b106978974a3c1ce8dcc4584 + home: https://cyclops-ui.com/ + icon: file://assets/icons/cyclops.png + keywords: + - Devops + - Kubernetes operator + kubeVersion: '>=1.21-0' + name: cyclops + type: application + urls: + - assets/cyclops/cyclops-0.14.2.tgz + version: 0.14.2 dxemssql: - annotations: catalog.cattle.io/certified: partner diff --git a/packages/cyclops/cyclops/upstream.yaml b/packages/cyclops/cyclops/upstream.yaml new file mode 100644 index 000000000..e05101fd4 --- /dev/null +++ b/packages/cyclops/cyclops/upstream.yaml @@ -0,0 +1,7 @@ +HelmRepo: https://cyclops-ui.com/helm +HelmChart: cyclops +Vendor: Cyclops +DisplayName: Cyclops +Namespace: cyclops +ChartMetadata: + kubeVersion: '>=1.21-0'