Skip to content

Commit

Permalink
Add minimal domains
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffMboya committed Jan 22, 2025
1 parent dd745c2 commit 3f0a2ef
Show file tree
Hide file tree
Showing 6 changed files with 134 additions and 6 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/lint-test.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) Magistrala
# Copyright (c) Abstract Machines
# SPDX-License-Identifier: Apache-2.0

name: Lint and Test Charts
Expand Down Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Update Helm dependencies
run: |
helm dependency update charts/magistrala
helm dependency update charts/supermq
# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
# yamllint (https://github.com/adrienverge/yamllint) which require Python
Expand Down Expand Up @@ -61,4 +61,4 @@ jobs:
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: |
ct install --target-branch ${{ github.event.repository.default_branch }} --chart-dirs charts/magistrala/charts
ct install --target-branch ${{ github.event.repository.default_branch }} --chart-dirs charts/supermq/charts
4 changes: 2 additions & 2 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) Magistrala
# Copyright (c) Abstract Machines
# SPDX-License-Identifier: Apache-2.0

name: Release Charts
Expand Down Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Update Helm dependencies
run: |
helm dependency update charts/magistrala
helm dependency update charts/supermq
- name: Run chart-releaser
uses: helm/[email protected]
Expand Down
70 changes: 70 additions & 0 deletions charts/supermq/templates/domains-deplyment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright (c) Abstract Machines
# SPDX-License-Identifier: Apache-2.0

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-domains
spec:
selector:
matchLabels:
app: {{ .Release.Name }}
component: domains
template:
metadata:
annotations:
prometheus.io/path: /metrics
prometheus.io/port: "{{ .Values.domains.http.port }}"
prometheus.io/scrape: "true"
labels:
app: {{ .Release.Name }}
component: domains
spec:
{{- with (default .Values.defaults.image.pullSecrets .Values.domains.image.pullSecrets) }}
imagePullSecrets:
{{- toYaml . | nindent 12 }}
{{- end }}
dnsPolicy: ClusterFirst
restartPolicy: Always
containers:
- name: {{ .Release.Name }}-domains
image: "{{ default (printf "%s/domains" .Values.defaults.image.rootRepository) .Values.domains.image.repository }}:{{ default .Values.defaults.image.tag .Values.domains.image.tag }}"
imagePullPolicy: {{ default .Values.defaults.image.pullPolicy .Values.domains.image.pullPolicy }}
env:
- name: SMQ_DOMAINS_LOG_LEVEL
value: {{ default .Values.defaults.logLevel .Values.domains.logLevel | quote }}
- name: SMQ_DOMAINS_GRPC_HOST
value: {{ .Values.domains.grpc.host | quote }}
- name: SMQ_DOMAINS_GRPC_PORT
value: "{{ .Values.domains.grpc.port | quote }}"
- name: SMQ_DOMAINS_HTTP_HOST
value: {{ .Values.domains.http.host | quote }}
- name: SMQ_DOMAINS_HTTP_PORT
value: "{{ .Values.domains.http.port | quote }}"
- name: SMQ_DOMAINS_DB_HOST
{{- if .Values.postgresqldomains.enabled }}
value: "{{ .Release.Name }}-postgresqldomains"
{{- else }}
value: {{ .Values.postgresqldomains.host | quote }}
{{- end }}
- name: SMQ_DOMAINS_DB_PORT
value: "{{ .Values.domains.db.port | quote }}"
- name: SMQ_DOMAINS_DB_USER
value: {{ .Values.domains.db.user | quote }}
- name: SMQ_DOMAINS_DB_PASS
value: {{ .Values.domains.db.password | quote }}
- name: SMQ_DOMAINS_DB_NAME
value: {{ .Values.domains.db.database | quote }}
- name: SMQ_ES_URL
value: {{ .Values.defaults.eventStreamURL | quote }}
- name: SMQ_JAEGER_URL
value: "http://{{ .Values.jaeger.fullnameOverride }}-collector:{{ .Values.jaeger.collector.service.otlp.http.port }}/v1/traces"
- name: SMQ_JAEGER_TRACE_RATIO
value: {{ default .Values.defaults.jaegerTraceRatio .Values.users.jaegerTraceRatio | quote }}
- name: SMQ_SEND_TELEMETRY
value: {{ default .Values.defaults.sendTelemetry .Values.users.sendTelemetry | quote }}
ports:
- containerPort: {{ .Values.domains.grpc.port }}
name: grpc
- containerPort: {{ .Values.domains.http.port }}
name: http
18 changes: 18 additions & 0 deletions charts/supermq/templates/domains-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright (c) Abstract Machines
# SPDX-License-Identifier: Apache-2.0

apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-domains
spec:
selector:
app: {{ .Release.Name }}
component: domains
ports:
- protocol: TCP
port: {{ .Values.domains.http.port }}
name: {{ .Release.Name }}-domains-http
- protocol: TCP
port: {{ .Values.domains.grpc.port }}
name: {{ .Release.Name }}-domains-grpc
2 changes: 1 addition & 1 deletion charts/supermq/templates/users-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ spec:
component: users
ports:
- protocol: TCP
port: {{ .Values.users.httpPort }}
port: {{ .Values.users.http.port }}
name: {{ .Release.Name }}-users-http
40 changes: 40 additions & 0 deletions charts/supermq/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,46 @@ defaults:
sendTelemetry: true
eventStreamURL: "supermq-nats:4222"

domains:
image:
{}
# pullSecrets: {}
# repository: "supermq/domains"
# tag: "latest"
# pullPolicy: "IfNotPresent"
# logLevel: "info"
# jaegerTraceRatio: 1.0
# sendTelemetry: true
grpc:
host: "0.0.0.0"
port: 7003
http:
host: ""0.0.0.0""
port: 9003
cache:
url: "redis://domains-redis:6379/0"
keyDuration: "10m"

postgresqldomains:
## If you want to use an external database, set this to false and change host & port
enabled: true
name: postgresql-domains
host: postgresql-domains
port: &postgresqlUsersPort 5432
database: &postgresqlUsersDatabase domains
username: &postgresqlUsersUsername supermq
password: &postgresqlUsersPassword supermq
global:
postgresql:
auth:
postgresPassword: *postgresqlUsersPassword
username: *postgresqlUsersUsername
password: *postgresqlUsersPassword
database: *postgresqlUsersDatabase
service:
ports:
postgresql: *postgresqlUsersPort

ingress:
enabled: true
annotations: {}
Expand Down

0 comments on commit 3f0a2ef

Please sign in to comment.