Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add onprem license #141

Merged
merged 7 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 21 additions & 20 deletions charts/steadybit-platform/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,26 +41,27 @@ $ helm show values steadybit-platform

The following table lists the configurable parameters of the steadybit platform chart and their default values.

| Key | Type | Default | Description |
|------------------------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| affinity | object | `{}` | Affinities to influence platform pod assignment. |
| image.name | string | `"docker.steadybit.io/steadybit/platform"` | The container image to use of the steadybit platform. |
| image.pullPolicy | string | `"Always"` | Specifies when to pull the image container. |
| image.tag | string | `"latest"` | Tag name of the platform container image to use. |
| ingress | object | `{"annotations":null,"enabled":true,"hosts":[]}` | Ingress configuration properties |
| nodeSelector | object | `{}` | Node labels for pod assignment |
| platform.env | array | `[{"name:", "STEADYBIT_AUTH_PROVIDER", "value": "static"},{"name":"STEADYBIT_AUTH_STATIC_0_PASSWORD", "value": "{noop}admin"},{"name":"STEADYBIT_AUTH_STATIC_0_USERNAME", "value":"admin"}]` | Use this to set additional environment variables See https://docs.steadybit.io/installation-platform/3-advanced-configuration. |
| platform.extraLabels | object | `{}` | Additional labels |
| platform.tenant.key | string | `"onprem"` | Name for the tenant assigned to you. |
| platform.tenant.agentKey | string | `nil` | The secret token which your agent uses to authenticate to steadybit's servers. Get it from https://platform.steadybit.io/settings/agents/setup. |
| platform.tenant.name | string | `"onprem"` | Key for the tenant assigned to you. |
| platform.uiPort | int | `80` | (internal) Web-UI port for the user interface. |
| platform.websocketPort | int | `7878` | (internal) Websocket port for communication between platform and agents. |
| platform.publicWebsocketPort | int | `80` | The public port used for experiments - Use this if the agent access the websocket via ingress or a reverse proxy, that serves websocket and http traffic using the same port |
| platform.service.type | string | `NodePort` | Service Type to use for the platform |
| podAnnotations | object | `{}` | Additional annotations to be added to the platform pod. |
| serviceAccount.create | bool | `true` | Specifies whether a ServiceAccount should be created. |
| tolerations | list | `[]` | Tolerations to influence platform pod assignment. |
| Key | Type | Default | Description |
|------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| affinity | object | `{}` | Affinities to influence platform pod assignment. |
| image.name | string | `"docker.steadybit.io/steadybit/platform"` | The container image to use of the steadybit platform. |
| image.pullPolicy | string | `"Always"` | Specifies when to pull the image container. |
| image.tag | string | `"latest"` | Tag name of the platform container image to use. |
| ingress | object | `{"annotations":null,"enabled":true,"hosts":[]}` | Ingress configuration properties |
| nodeSelector | object | `{}` | Node labels for pod assignment |
| platform.env | array | `[{"name:", "STEADYBIT_AUTH_PROVIDER", "value": "static"},{"name":"STEADYBIT_AUTH_STATIC_0_PASSWORD", "value": "{noop}admin"},{"name":"STEADYBIT_AUTH_STATIC_0_USERNAME", "value":"admin"}]` | Use this to set additional environment variables See https://docs.steadybit.io/installation-platform/3-advanced-configuration. |
| platform.extraLabels | object | `{}` | Additional labels |
| platform.tenant.key | string | `"onprem"` | Name for the tenant assigned to you. |
| platform.tenant.agentKey | string | `nil` | The secret token which your agent uses to authenticate to steadybit's servers. Get it from https://platform.steadybit.io/settings/agents/setup. |
| platform.tenant.name | string | `"onprem"` | Key for the tenant assigned to you. |
| platform.tenant.license | string | `nil` | Key for the tenant assigned to you. |
| platform.uiPort | int | `80` | (internal) Web-UI port for the user interface. |
| platform.websocketPort | int | `7878` | (internal) Websocket port for communication between platform and agents. |
| platform.publicWebsocketPort | int | `80` | The public port used for experiments - Use this if the agent access the websocket via ingress or a reverse proxy, that serves websocket and http traffic using the same port |
| platform.service.type | string | `NodePort` | Service Type to use for the platform |
| podAnnotations | object | `{}` | Additional annotations to be added to the platform pod. |
| serviceAccount.create | bool | `true` | Specifies whether a ServiceAccount should be created. |
| tolerations | list | `[]` | Tolerations to influence platform pod assignment. |

### YAML file

Expand Down
7 changes: 7 additions & 0 deletions charts/steadybit-platform/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,13 @@ spec:
value: {{ .Values.platform.tenant.key | quote }}
- name: STEADYBIT_TENANT_NAME
value: {{ .Values.platform.tenant.name | quote }}
{{- if .Values.platform.tenant.license }}
- name: STEADYBIT_TENANT_LICENSE
valueFrom:
secretKeyRef:
name: {{ template "steadybit-platform.fullname" . }}-license
key: license
{{- end }}
{{- end }}
{{- if .Values.platform.publicWebUrl }}
- name: STEADYBIT_WEB_PUBLIC_URL
Expand Down
15 changes: 14 additions & 1 deletion charts/steadybit-platform/templates/secrets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,17 @@ type: Opaque
data:
{{- if .Values.platform.tenant.agentKey }}
key: {{ .Values.platform.tenant.agentKey | b64enc | quote }}
{{- end }}
{{- end }}
---
{{- if .Values.platform.tenant.license }}
apiVersion: v1
kind: Secret
metadata:
name: {{ template "steadybit-platform.fullname" . }}-license
namespace: {{ .Release.Namespace }}
labels:
{{- include "steadybit-platform.commonLabels" . | nindent 4 }}
type: Opaque
data:
license: {{ .Values.platform.tenant.license | b64enc | quote }}
{{- end }}
1 change: 1 addition & 0 deletions charts/steadybit-platform/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ platform:
name: onprem
# -- The secret token which your agent uses to authenticate to steadybit's servers. Get it from https://platform.steadybit.io/settings/agents/setup.
agentKey: null
license: null
agent:
auth:
# platform.tenant.agent.auth.provider -- Default is `agent-key`. Use `oauth2` if you like to use oauth2 authenication
Expand Down
Loading