Commit 7bdd6c00 authored by George Papathanail's avatar George Papathanail
Browse files

feat(srm): rewrite the SRM subchart for SRM 2.0 with tf-sdk control paths

parent ba821d19
Loading
Loading
Loading
Loading
+46 −2
Changes for environments/kind/values.yaml: 46 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -16,8 +16,52 @@ srm:
      repository: labs.etsi.org:5050/oop/code/service-resource-manager
      tag: "1.1"
      pullPolicy: IfNotPresent
    env:
      natsUrl: "nats://oop-nats:4222"
    workloads:
      namespaces: [oop-apps]
    controlPaths:
      - control_path_ref: k8s-local
        adapter: kubernetes
        config:
          namespace: oop-apps
    topology: |
      version: openop.srm.bootstrap/v1
      platform_instance_id: kind-local
      control_paths:
        - ref: k8s-local
          adapter_family: compute
          adapter_type: kubernetes
          adapter_contract_version: v1
          infrastructure:
            namespace: oop-apps
      zones:
        - ref: kind-local
          name: kind local zone
          kind: resource
          state: active
          domains:
            - ref: kind-local-compute
              name: kind local compute
              kind: compute
              state: active
              capabilities:
                - ref: query-available-resources
                  name: Query Available Resources
                  kind: query_available_resources
                  state: active
                  control_path_bindings:
                    - ref: query-available-resources-via-k8s-local
                      control_path_ref: k8s-local
                      is_default: true
                      state: active
                - ref: deploy-workload
                  name: Deploy Workload
                  kind: workload
                  state: active
                  control_path_bindings:
                    - ref: deploy-workload-via-k8s-local
                      control_path_ref: k8s-local
                      is_default: true
                      state: active

oeg:
  oegcontroller:
+3 −2
Changes for oop-platform-chart/charts/srm/Chart.yaml: 3 added lines, 2 removed lines.
Original line number Diff line number Diff line
apiVersion: v2
name: srm
description: A Helm chart for SRM (Service Resource Manager)
description: Service Resource Manager 2.0
type: application
version: 1.0.0
appVersion: "1.0.1"
keywords:
  - srm
  - sunrise
  - service-resource-manager
  - tf-sdk
maintainers:
  - name: DevOps Team
+29 −40
Changes for oop-platform-chart/charts/srm/templates/_helpers.tpl: 29 added lines, 40 removed lines.
Original line number Diff line number Diff line
@@ -5,22 +5,6 @@ Expand the name of the chart.
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create a default fully qualified app name.
*/}}
{{- define "srm.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
@@ -28,36 +12,17 @@ Create chart name and version as used by the chart label.
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "srm.labels" -}}
helm.sh/chart: {{ include "srm.chart" . }}
{{ include "srm.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.commonLabels }}
{{ toYaml . }}
{{- end }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "srm.selectorLabels" -}}
app.kubernetes.io/name: {{ include "srm.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
SRM Controller labels
*/}}
{{- define "srm.controller.labels" -}}
helm.sh/chart: {{ include "srm.chart" . }}
{{ include "srm.controller.selectorLabels" . }}
app.kubernetes.io/version: {{ .Values.srmcontroller.image.tag | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.commonLabels }}
{{ toYaml . }}
{{- end }}
{{- end }}

{{/*
@@ -72,5 +37,29 @@ app.kubernetes.io/instance: {{ .Release.Name }}
Return the proper namespace
*/}}
{{- define "srm.namespace" -}}
{{- default .Release.Namespace .Values.global.namespace }}
{{- .Release.Namespace }}
{{- end }}

{{- define "srm.serviceAccountName" -}}
{{- .Values.srmcontroller.serviceAccount.name | default .Values.srmcontroller.name -}}
{{- end }}

{{- define "srm.appVersion" -}}
{{- .Values.srmcontroller.app.version | default .Chart.AppVersion -}}
{{- end }}

{{- define "srm.db.host" -}}
{{- .Values.srmcontroller.database.host | default (dig "postgresql" "host" "postgres" (.Values.global | default dict)) -}}
{{- end }}

{{- define "srm.db.port" -}}
{{- .Values.srmcontroller.database.port | default (dig "postgresql" "port" 5432 (.Values.global | default dict)) -}}
{{- end }}

{{- define "srm.db.secretName" -}}
{{- .Values.srmcontroller.database.existingSecret | default (dig "postgresql" "secretName" "postgres-credentials" (.Values.global | default dict)) -}}
{{- end }}

{{- define "srm.db.waitImage" -}}
{{- dig "images" "postgres" "postgres:18.6-alpine" (.Values.global | default dict) -}}
{{- end }}
+91 −0
Changes for oop-platform-chart/charts/srm/templates/rbac.yaml: 91 added lines, 0 removed lines.
Original line number Diff line number Diff line
{{- if and .Values.srmcontroller.enabled .Values.srmcontroller.workloads.namespaces }}
{{- $saName := include "srm.serviceAccountName" . }}
{{- $saNamespace := include "srm.namespace" . }}
{{- $labels := include "srm.controller.labels" . }}
{{- range .Values.srmcontroller.workloads.namespaces }}
{{- if $.Values.srmcontroller.workloads.createNamespaces }}
---
apiVersion: v1
kind: Namespace
metadata:
  name: {{ . }}
  labels:
    {{- $labels | nindent 4 }}
  annotations:
    helm.sh/resource-policy: keep
    {{- with $.Values.commonAnnotations }}
    {{- toYaml . | nindent 4 }}
    {{- end }}
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: {{ $saName }}-workloads
  namespace: {{ . }}
  labels:
    {{- $labels | nindent 4 }}
  {{- with $.Values.commonAnnotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
  {{- end }}
rules:
  - apiGroups: ["*"]
    resources: ["*"]
    verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: {{ $saName }}-workloads
  namespace: {{ . }}
  labels:
    {{- $labels | nindent 4 }}
  {{- with $.Values.commonAnnotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
  {{- end }}
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: {{ $saName }}-workloads
subjects:
  - kind: ServiceAccount
    name: {{ $saName }}
    namespace: {{ $saNamespace }}
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: {{ $saNamespace }}-{{ $saName }}-namespaces
  labels:
    {{- $labels | nindent 4 }}
  {{- with .Values.commonAnnotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
  {{- end }}
rules:
  - apiGroups: [""]
    resources: ["namespaces"]
    verbs: ["get", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: {{ $saNamespace }}-{{ $saName }}-namespaces
  labels:
    {{- $labels | nindent 4 }}
  {{- with .Values.commonAnnotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
  {{- end }}
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: {{ $saNamespace }}-{{ $saName }}-namespaces
subjects:
  - kind: ServiceAccount
    name: {{ $saName }}
    namespace: {{ $saNamespace }}
{{- end }}
+13 −0
Changes for oop-platform-chart/charts/srm/templates/serviceaccount.yaml: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
{{- if and .Values.srmcontroller.enabled .Values.srmcontroller.serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
  name: {{ include "srm.serviceAccountName" . }}
  namespace: {{ include "srm.namespace" . }}
  labels:
    {{- include "srm.controller.labels" . | nindent 4 }}
  {{- with .Values.commonAnnotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
  {{- end }}
{{- end }}
Loading