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

Add fb-kpimon-xapp helm charts #643

Merged
merged 1 commit into from
Jul 7, 2021
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
20 changes: 20 additions & 0 deletions fb-kpimon-xapp/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-1.0

apiVersion: v2
name: fb-kpimon-xapp
description: FB kpimon python xApp
kubeVersion: ">=1.17.0"
type: application
version: 0.0.1
appVersion: 0.0.1
keywords:
- onos
- sdn
- ric
- fb
home: https://connectivity.fb.com/
maintainers:
- name: Maveric Team
email: fbc_maveric@fb.com
20 changes: 20 additions & 0 deletions fb-kpimon-xapp/files/certs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
This folder contains self-signed certificates for use in testing. _DO NOT USE THESE
CERTIFICATES IN PRODUCTION!_

The certificates were generated with the
https://github.com/onosproject/simulators/blob/master/pkg/certs/generate_certs.sh
script as
```bash
generate-certs.sh onos-ric.opennetworking.org
```

In this folder they **must** be (re)named
* tls.cacrt
* tls.crt
* tls.key

Use
```bash
openssl x509 -in deployments/helm/onos-ric/files/certs/tls.crt -text -noout
```
to verify the contents (especially the subject).
21 changes: 21 additions & 0 deletions fb-kpimon-xapp/files/certs/tls.cacrt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDYDCCAkgCCQDe99fSN9qxSTANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJV
UzELMAkGA1UECAwCQ0ExEjAQBgNVBAcMCU1lbmxvUGFyazEMMAoGA1UECgwDT05G
MRQwEgYDVQQLDAtFbmdpbmVlcmluZzEeMBwGA1UEAwwVY2Eub3Blbm5ldHdvcmtp
bmcub3JnMB4XDTE5MDQxMTA5MDYxM1oXDTI5MDQwODA5MDYxM1owcjELMAkGA1UE
BhMCVVMxCzAJBgNVBAgMAkNBMRIwEAYDVQQHDAlNZW5sb1BhcmsxDDAKBgNVBAoM
A09ORjEUMBIGA1UECwwLRW5naW5lZXJpbmcxHjAcBgNVBAMMFWNhLm9wZW5uZXR3
b3JraW5nLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEg7CZR
X8Y+syKHaQCh6mNIL1D065trwX8RnuKM2kBwSu034zefQAPloWugSoJgJnf5fe0j
nUD8gN3Sm8XRhCkvf67pzfabgw4n8eJmHScyL/ugyExB6Kahwzn37bt3oT3gSqhr
6PUznWJ8fvfVuCHZZkv/HPRp4eyAcGzbJ4TuB0go4s6VE0WU5OCxCSlAiK3lvpVr
3DOLdYLVoCa5q8Ctl3wXDrfTLw5/Bpfrg9fF9ED2/YKIdV8KZ2ki/gwEOQqWcKp8
0LkTlfOWsdGjp4opPuPT7njMBGXMJzJ8/J1e1aJvIsoB7n8XrfvkNiWL5U3fM4N7
UZN9jfcl7ULmm7cCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAIh6FjkQuTfXddmZY
FYpoTen/VD5iu2Xxc1TexwmKeH+YtaKp1Zk8PTgbCtMEwEiyslfeHTMtODfnpUIk
DwvtB4W0PAnreRsqh9MBzdU6YZmzGyZ92vSUB3yukkHaYzyjeKM0AwgVl9yRNEZw
Y/OM070hJXXzJh3eJpLl9dlUbMKzaoAh2bZx6y3ZJIZFs/zrpGfg4lvBAvfO/59i
mxJ9bQBSN3U2Hwp6ioOQzP0LpllfXtx9N5LanWpB0cu/HN9vAgtp3kRTBZD0M1XI
Ctit8bXV7Mz+1iGqoyUhfCYcCSjuWTgAxzir+hrdn7uO67Hv4ndCoSj4SQaGka3W
eEfVeA==
-----END CERTIFICATE-----
21 changes: 21 additions & 0 deletions fb-kpimon-xapp/files/certs/tls.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDdDCCAlwCFBveh0tyYQtXayQPaXgW+5dLuK8DMA0GCSqGSIb3DQEBCwUAMHIx
CzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTESMBAGA1UEBwwJTWVubG9QYXJrMQww
CgYDVQQKDANPTkYxFDASBgNVBAsMC0VuZ2luZWVyaW5nMR4wHAYDVQQDDBVjYS5v
cGVubmV0d29ya2luZy5vcmcwHhcNMTkwNzE2MTkwNjU2WhcNMjkwNzEzMTkwNjU2
WjB7MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExEjAQBgNVBAcMCU1lbmxvUGFy
azEMMAoGA1UECgwDT05GMRQwEgYDVQQLDAtFbmdpbmVlcmluZzEnMCUGA1UEAwwe
b25vcy1jb25maWcub3Blbm5ldHdvcmtpbmcub3JnMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAs1ER/FG9COwYnyDOxxPIGJb8p9l59GLqYdnb3PH5EI6y
AfhpJDhp+Z/RN8v+/NhH6JPYquPxRKWmHhRXmwEHgYREfkqK+HikTv86H5Tq/Xzz
BqadHkopMz+Q66Wo4LoD3M+Vl/11gUU9s7SIWBmcJly9ETQN5nddeGa+v+Mg9QoS
W/8CK7Y1iCguu3h2FYju+OQ7HJ9hO5abs3XiuJJJN9hPJRr1O1UtgUzlVbj2QLcT
BDntIxPKUc3/M5IpzgLt2vgHW9VMO5vFOXsr+UyQd/lByVXTxQKS5aw0kwMUJSdN
vasV3FAz4usP9IBx5Pq3MwMQF1uO5zJ8Xo2ytlsI0wIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQB9W8/ygG87QLR37GZfutYLi9hBJQHSppCxZB2SBP1yl/Js1hHM0paP
ywlbRbmuCv7LM3CiaXdJo9w7onYha/BtJIYG0YHZqnXLjk0uufP07CBISGKXnfp0
y35YqruHjXtkoKdcqOGZsuz88iQ579PrvJpWCOon936FM7vBzKeBoNbBso52vt7b
FtKISoGAr8XwCrFYxgHOjYUP8A9d9ylaa3Hgfd7Xul2BKO3tPx/7oFxiaz40ATuQ
wN9OEsvNmP2TcrLEFKoUJBtyYV9gFCqQPuf7obwbTV5m1JW+1+NEsKNcWemdKU6x
N0u+jCC7D7so8pjqfZRouCW2dKVlIRjj
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions fb-kpimon-xapp/files/certs/tls.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCzURH8Ub0I7Bif
IM7HE8gYlvyn2Xn0Yuph2dvc8fkQjrIB+GkkOGn5n9E3y/782Efok9iq4/FEpaYe
FFebAQeBhER+Sor4eKRO/zoflOr9fPMGpp0eSikzP5DrpajgugPcz5WX/XWBRT2z
tIhYGZwmXL0RNA3md114Zr6/4yD1ChJb/wIrtjWIKC67eHYViO745Dscn2E7lpuz
deK4kkk32E8lGvU7VS2BTOVVuPZAtxMEOe0jE8pRzf8zkinOAu3a+Adb1Uw7m8U5
eyv5TJB3+UHJVdPFApLlrDSTAxQlJ029qxXcUDPi6w/0gHHk+rczAxAXW47nMnxe
jbK2WwjTAgMBAAECggEBALE57iHIk6Hu3wLfhR9DUN/k0r/+dMdywB6IGQKNcVHJ
BuxlnV08GJmsODcCevlhteiLv3hfI4Vqhv1xs4gygz2iAaQkfqfHbPXa0ZKHN53j
0bqAEAfw2jmZmN0edQPvNYQW8s4upuVmDu6+/oa8gRV1UTRgk2B2Fz65pcu3a0pi
yVeZzeAO/vD7WNP3uM7Yuv0AQTKKLvOqZmKLeDwPeC+2sbi03opYbIaEl+OJ94DX
9hCm1/vqojlzw+BHrxGS8bqXMnJnqxLep/gmbvL0Iy92SJgEBk6l8t7xzpBqSjDW
+DjDLqpda6r/Dy9b5hBZ0a/4V+fRJPz4S/k+qjp9DyECgYEA7KMQur7QZcSAWPPM
ZV5TM6+SDYn6TP9csbyB4IbOfeLdIkVKY+svVz2m7FynfQb4whtxERbMy0QjYEgc
us3p/QVjHBs/JZIdtIg5ff6qgOFAkuaCXEJKyH4wcEA091cr6HWslWCHzop2SD+T
dpvSgXJXpx1RYP/6X3sUf1mKAOMCgYEAwf1K4fOYZwyT44VPurxhmzgDWW2PKm6I
gCOZN9EN2Mvt0J5zKKoHw8ORHGN9zxLMyB11803Uwm7nceApM3FUacmLHP05Q1Vo
ukHVLoFQYwXLQzSWiZbtxcbMK3P1EU2Sg5+yfoRf6usmRIWDlr4+TIzT3a20nhV0
olOj3xFtC1ECgYBHyeiHXuAGH6j4U24MyqLfKUJbzSIcPdQ3L4MPRJZcZnjDrtW0
nmLMSq3bQvik23qYGI8iqhITEGbTDM16doGn+vxoSHPNyBgu7qzSZnH/i1Z1umyN
5KafUHkNdM0cxFtTuG9VGeXZaPQdUvw/nWItVyz0S9amYMHqOYKsZ9OQFQKBgQC6
tfYq//CBzqNQ63DPxJ0VbpYars6LApQy8RB5nqb7MVyV3MvuKakLjOHQNxpSAkBD
o8dxBEpxUZlGC4DcWInsv+U7Y6aH3l7MVqy+9AvRIzR+XNE/YJs+Lpc4g4UuwEDy
mvSLvREs5GOStAbxQe5oc2tAA/7B4Ni/nE0vWHBh4QKBgDUukLjK4i+AqCm6Z4iu
/FcKtNC2+BLxZ2sjaRVn78aQ2DXWaKWVaKwSBJOtLghOyjAzvH8VDOtvp92rQgDk
ltnoTp09B9B80dNOVqIi113Inr89N/QDNVYctqPbzizbWHlf3ENwVklwAXhmOIbN
1l0Cge8ERKGcAIl9SsTl+5Se
-----END PRIVATE KEY-----
6 changes: 6 additions & 0 deletions fb-kpimon-xapp/files/configs/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"report_period": {
"interval": 1000,
"granularity": 1000
}
}
52 changes: 52 additions & 0 deletions fb-kpimon-xapp/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "fb-kpimon-xapp.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "fb-kpimon-xapp.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.
*/}}
{{- define "fb-kpimon-xapp.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Common labels
*/}}
{{- define "fb-kpimon-xapp.labels" -}}
helm.sh/chart: {{ include "fb-kpimon-xapp.chart" . }}
{{ include "fb-kpimon-xapp.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}

{{/*
Selector labels
*/}}
{{- define "fb-kpimon-xapp.selectorLabels" -}}
app.kubernetes.io/name: {{ include "fb-kpimon-xapp.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
16 changes: 16 additions & 0 deletions fb-kpimon-xapp/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-1.0

apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "fb-kpimon-xapp.fullname" . }}-config
labels:
app: {{ template "fb-kpimon-xapp.fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
data:
config.json: |-
{{ .Files.Get "files/configs/config.json" | indent 4}}
95 changes: 95 additions & 0 deletions fb-kpimon-xapp/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-1.0

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "fb-kpimon-xapp.fullname" . }}
labels:
{{- include "fb-kpimon-xapp.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
name: {{ template "fb-kpimon-xapp.fullname" . }}
app: facebook
type: kpimon
resource: {{ template "fb-kpimon-xapp.fullname" . }}
{{- include "fb-kpimon-xapp.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
name: {{ template "fb-kpimon-xapp.fullname" . }}
app: facebook
type: kpimon
resource: {{ template "fb-kpimon-xapp.fullname" . }}
{{- include "fb-kpimon-xapp.selectorLabels" . | nindent 8 }}
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "kpimon/main.py"
- "--ca-path=/etc/onos/certs/tls.cacrt"
- "--key-path=/etc/onos/certs/tls.key"
- "--cert-path=/etc/onos/certs/tls.crt"
- "--e2t-endpoint={{ .Values.config.ric.e2tEndpoint }}"
- "--path={{ .Values.config.servicePath }}"
- "--topo-endpoint={{ .Values.config.ric.topoEndpoint }}"
ports:
- name: http
containerPort: 8080
startupProbe:
httpGet:
path: /status
port: 8080
periodSeconds: 5
failureThreshold: 60
readinessProbe:
httpGet:
path: /status
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /status
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
volumeMounts:
- name: secret
mountPath: /etc/onos/certs
readOnly: true
- name: config
mountPath: {{ .Values.config.servicePath }}
readOnly: false
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumes:
- name: secret
secret:
secretName: {{ template "fb-kpimon-xapp.fullname" . }}-secret
- name: config
configMap:
name: {{ template "fb-kpimon-xapp.fullname" . }}-config
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
18 changes: 18 additions & 0 deletions fb-kpimon-xapp/templates/secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-1.0

apiVersion: v1
kind: Secret
metadata:
name: {{ template "fb-kpimon-xapp.fullname" . }}-secret
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
data:
{{ $root := . }}
{{ range $path, $bytes := .Files.Glob "files/certs/tls.*" }}
{{ base $path }}: '{{ $root.Files.Get $path | b64enc }}'
{{ end }}
type: Opaque
26 changes: 26 additions & 0 deletions fb-kpimon-xapp/templates/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-1.0

---
apiVersion: v1
kind: Service
metadata:
name: {{ template "fb-kpimon-xapp.fullname" . }}
labels:
app: {{ template "fb-kpimon-xapp.fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
{{- include "fb-kpimon-xapp.labels" . | nindent 4 }}
spec:
type: ClusterIP
selector:
name: {{ template "fb-kpimon-xapp.fullname" . }}
app: facebook
type: kpimon
resource: {{ template "fb-kpimon-xapp.fullname" . }}
{{- include "fb-kpimon-xapp.selectorLabels" . | nindent 4 }}
ports:
- name: http
port: 8080
43 changes: 43 additions & 0 deletions fb-kpimon-xapp/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-1.0

# Default values for fb-kpimon-xapp.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

image:
repository: onosproject/fb-kpimon-xapp
tag: 0.0.1
pullPolicy: IfNotPresent
pullSecrets: []

imagePullSecrets: []
nameOverride: ""
fullnameOverride: "fb-kpimon-xapp"

config:
servicePath: "/etc/onos/config"
ric:
e2tEndpoint: "onos-e2t:5150"
topoEndpoint: "onos-topo:5150"

resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi

nodeSelector: {}

tolerations: []

affinity: {}