Skip to content

Commit a4e5a41

Browse files
georgkramuenke
authored andcommitted
Add Codezero chart (rancher#1125)
Co-authored-by: Kai Ramuenke <[email protected]> Co-authored-by: Kai Ramuenke <[email protected]>
1 parent 10a8768 commit a4e5a41

34 files changed

+1233
-0
lines changed
18.6 KB
Binary file not shown.

assets/icons/codezero.png

8.47 KB
Loading
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
annotations:
2+
catalog.cattle.io/certified: partner
3+
catalog.cattle.io/display-name: Codezero
4+
catalog.cattle.io/kube-version: '>=1.27-0'
5+
catalog.cattle.io/release-name: codezero
6+
apiVersion: v2
7+
appVersion: 2.20.0
8+
description: Codezero 2.x system for Kubernetes
9+
icon: file://assets/icons/codezero.png
10+
kubeVersion: '>=1.27-0'
11+
name: codezero
12+
type: application
13+
version: 1.11.5
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Helm charts for Codezero Space Agent
2+
3+
For further information regarding Codezero, please refer to the [Codezero documentation](https://docs.codezero.io).
4+
5+
## Installing the Chart
6+
7+
```sh
8+
helm repo add --force-update codezero https://charts.codezero.io
9+
helm install --create-namespace --namespace=codezero \
10+
--set space.name='<TEAMSPACE NAME>' \
11+
--set org.id='<ORG_ID>' \
12+
--set org.apikey='<ORG_API_KEY>' \
13+
codezero codezero/codezero
14+
```
15+
16+
## Upgrading the Chart
17+
18+
```sh
19+
helm repo add --force-update codezero https://charts.codezero.io
20+
helm upgrade --namespace=codezero codezero codezero/codezero
21+
```
22+
23+
## Uninstalling the Chart
24+
25+
```sh
26+
helm -n codezero uninstall codezero
27+
kubectl delete ns codezero
28+
```
29+
30+
## Configuration Options
31+
32+
| Name | Default | Description |
33+
| -------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
34+
| `image.repository` | `""` | Override default image repository for all codezero deployments. |
35+
| `image.tag` | `""` | Override default image tag for all codezero deployments |
36+
| `org.apikey` | `""` | Your Organization API Key |
37+
| `org.id` | `""` | Your Organization ID |
38+
| `org.secret` | `""` | Provide custom secret for `org.id` and `org.apikey`. Secret data must have the keys `CZ_HUB_ORG_ID` and `CZ_HUB_ORG_APIKEY`. Takes precedence over `org.id` and `org.apikey` helm values.
39+
| `opa.url` | `""` | URL of your Open Policy Agent |
40+
| `opa.enabled` | `false` | If true enable OPA |
41+
| `operator.image.tag` | `""` | Override default image tag for operator deployment |
42+
| `operator.image.repository` | `""` | Override default image repository for operator deployment |
43+
| `operator.labels` | `{}` | Set operator deployment labels |
44+
| `operator.podLabels` | `{}` | Set operator pod labels |
45+
| `router.image.tag` | `""` | Override default image tag for router deployment |
46+
| `router.image.repository` | `""` | Override default image repository for router deployment |
47+
| `router.labels` | `{}` | Sets router deployment labels |
48+
| `router.privilegedAccess` | `false` | If true router pods are deployed with an empty securityContext |
49+
| `router.podAnnotations` | `{}` | Set pod annotations |
50+
| `router.podLabels` | `{}` | Sets pod labels |
51+
| `router.replicas` | `1` | Number of replicas for router deployments on Serves |
52+
| `router.serviceLabels` | `{}` | Set router service labels |
53+
| `router.topologySpreadConstraints` | `[]` | Pod Topology Spread Constraints of router deployments |
54+
| `space.name` | `""` | Name of Teamspace |
55+
| `spaceagent.externalHost` | `""` | For cases where codezero's loadbalancer host is not public and custom networking/ingress is used to make the spaceagent publicly accessible |
56+
| `spaceagent.image.tag` | `""` | Override default image tag for spaceagent deployment |
57+
| `spaceagent.image.repository` | `""` | Override default image repository for spaceagent deployment |
58+
| `spaceagent.logLevel` | `info` | Set logging verbosity, valid log levels are: debug, info, warn, error. |
59+
| `spaceagent.labels` | `{}` | Set spaceagent deployment labels |
60+
| `spaceagent.podLabels` | `{}` | Set spaceagent pod labels |
61+
| `spaceagent.replicas` | `1` | Number of replicas for the Space Agent deployment` |
62+
| `spaceagent.redis.secret` | `""` | Required when `spaceagent.replicas` is greater than 1. Name of the K8s Secret that contains the Redis connection parameters with the following `data` keys: `host`, `password`. The Secret must be in the Space Agent's namespace. |
63+
| `spaceagent.service.annotations` | `{}` | Set annotations for the spaceagent service, e.g. to set cloud provider specific annotations for loadbalancer creation.
64+
| `spaceagent.service.loadBalancerIP` | `""` | Sets the IP address for the spaceagent service. If the IP address is the public IP for contacting the spaceagent set `spaceagent.externalHost` to the same value |
65+
| `spaceagent.topologySpreadConstraints` | `[]` | Pod Topology Spread Constraints of Space Agent deployment |
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Codezero
2+
3+
Codezero introduces an innovative overlay network that transforms VMs / Kubernetes clusters into Teamspaces, enhancing collaborative development.
4+
5+
**Teamspaces**: These are specialized development environments where developers can work together seamlessly. Teamspaces facilitate real-time collaboration by allowing developers to:
6+
7+
- **Consume Services**: Developers can access and utilize services listed in a Service Catalog. This Catalog includes services running either within a Kubernetes cluster / VM or on a team member's local machine, ensuring that all team members have access to the necessary components for development and testing.
8+
- **Serve Local Variants**: Team members can temporarily share their own local versions (or Variants) of Services. By serving these local variants through the Service Catalog, developers can test and iterate on their work in a shared environment, promoting rapid feedback and integration.
9+
10+
This simplifies the development process and bridges the gap between Local development and Remote deployment, allowing developers to focus more on coding and less on managing network configurations.
11+
12+
## Rancher Installation
13+
14+
1. Log in to https://hub.codezero.io, navigate to "API Keys" and note the Organization ID and API Key.
15+
1. Go to Apps in the Rancher UI. In the Chart section click on the Codezero chart and then on Install.
16+
1. Select a namespace for Codezero Space Agent to be installed (recommended new namespace: codezero) and click "Next".
17+
1. Paste the Organization ID and API Key from the Codezero API Keys page (see step 1).
18+
1. Enter a name for the new Teamspace, e.g. the name of the cluster and click Next.
19+
1. Click on the Install button to complete installation of the agent.
20+
21+
To perform an upgrade, click on Edit/Upgrade.
8.47 KB
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
questions:
2+
- variable: org.id
3+
required: true
4+
description: "Your organization ID"
5+
label: Organization ID
6+
type: string
7+
group: "Settings"
8+
- variable: org.apikey
9+
required: true
10+
description: "Your organization API key"
11+
label: Organization API Key
12+
type: string
13+
group: "Settings"
14+
- variable: space.name
15+
required: true
16+
description: "Name of teamspace"
17+
label: Teamspace Name
18+
type: string
19+
group: "Settings"
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{{- define "codezero.name" -}}
2+
codezero
3+
{{- end }}
4+
5+
{{/*
6+
Create chart name and version as used by the chart label.
7+
*/}}
8+
{{- define "codezero.chart" -}}
9+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
10+
{{- end }}
11+
12+
{{/*
13+
Common labels
14+
*/}}
15+
{{- define "codezero.labels" -}}
16+
helm.sh/chart: {{ include "codezero.chart" . }}
17+
{{- if .Chart.AppVersion }}
18+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
19+
{{- end }}
20+
app.kubernetes.io/managed-by: {{ .Release.Service }}
21+
app.kubernetes.io/part-of: codezero
22+
{{- with .Values.labels }}
23+
{{ . | toYaml }}
24+
{{- end }}
25+
{{- end }}
26+
27+
{{/*
28+
Pod labels
29+
*/}}
30+
{{- define "codezero.podLabels" -}}
31+
{{ include "codezero.labels" . }}
32+
{{- with .Values.podLabels }}
33+
{{ . | toYaml }}
34+
{{- end }}
35+
{{- end }}
36+
37+
{{/*
38+
Pod annotations
39+
*/}}
40+
{{- define "codezero.podAnnotations" -}}
41+
{{- with .Values.podAnnotations }}
42+
{{ . | toYaml }}
43+
{{- end }}
44+
{{- end }}
45+
46+
{{/*
47+
Return a remote image path based on `.` (passed as root) and e.g. `.Values.spaceagent.image` ( passed as image )
48+
*/}}
49+
{{- define "image-path" -}}
50+
{{ .image.repository | default .root.Values.image.repository | default "c6oio" }}/{{ .image.name }}:{{ .image.tag | default .root.Values.image.tag | default .root.Chart.AppVersion }}
51+
{{- end -}}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{{- if ne .Release.Namespace "codezero" }}
2+
{{- fail "Codezero has to be installed in codezero namespace" }}
3+
{{- end }}
4+
5+
{{- define "operator.name" -}}
6+
operator
7+
{{- end }}
8+
9+
{{/*
10+
Common labels
11+
*/}}
12+
{{- define "operator.labels" -}}
13+
{{ include "codezero.labels" . }}
14+
{{ include "operator.selectorLabels" . }}
15+
{{- with .Values.operator.labels }}
16+
{{ . | toYaml }}
17+
{{- end }}
18+
{{- end }}
19+
20+
{{/*
21+
Selector labels
22+
*/}}
23+
{{- define "operator.selectorLabels" -}}
24+
app.kubernetes.io/name: {{ include "operator.name" . }}
25+
app.kubernetes.io/instance: {{ .Release.Name }}
26+
{{- end }}
27+
28+
{{/*
29+
Pod labels
30+
*/}}
31+
{{- define "operator.podLabels" -}}
32+
{{ include "codezero.podLabels" . }}
33+
{{ include "operator.selectorLabels" . }}
34+
{{- with .Values.operator.podLabels }}
35+
{{ . | toYaml }}
36+
{{- end }}
37+
{{- end }}
38+
39+
{{/*
40+
Pod annotations
41+
*/}}
42+
{{- define "operator.podAnnotations" -}}
43+
{{ include "codezero.podAnnotations" . }}
44+
{{- with .Values.operator.podAnnotations }}
45+
{{ . | toYaml }}
46+
{{- end }}
47+
{{- end }}

0 commit comments

Comments
 (0)