diff options
-rw-r--r-- | kubernetes/Makefile | 39 | ||||
-rw-r--r-- | kubernetes/common/Makefile | 25 | ||||
-rw-r--r-- | kubernetes/common/common-templates/.helmignore | 21 | ||||
-rw-r--r-- | kubernetes/common/common-templates/Chart.yaml | 4 | ||||
-rw-r--r-- | kubernetes/common/common-templates/templates/_name.tpl | 15 | ||||
-rw-r--r-- | kubernetes/common/common-templates/templates/_namespace.tpl | 13 | ||||
-rw-r--r-- | kubernetes/common/common-templates/values.yaml | 31 | ||||
-rw-r--r-- | kubernetes/consul/Chart.yaml | 2 | ||||
-rw-r--r-- | kubernetes/kube2msb/Chart.yaml | 2 | ||||
-rw-r--r-- | kubernetes/onap/Chart.yaml | 9 | ||||
-rw-r--r-- | kubernetes/onap/requirements.yaml | 101 | ||||
-rw-r--r-- | kubernetes/onap/resources/environments/onap-demo.yaml | 60 | ||||
-rw-r--r-- | kubernetes/onap/values.yaml | 105 |
13 files changed, 425 insertions, 2 deletions
diff --git a/kubernetes/Makefile b/kubernetes/Makefile new file mode 100644 index 0000000000..5e8350492c --- /dev/null +++ b/kubernetes/Makefile @@ -0,0 +1,39 @@ +PARENT_CHART := onap +COMMON_CHARTS_DIR := common + +# FIXME OOM-765 +ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) +OUTPUT_DIR := $(ROOT_DIR)/dist +PACKAGE_DIR := $(OUTPUT_DIR)/packages +SECRET_DIR := $(OUTPUT_DIR)/secrets + +EXCLUDES := $(COMMON_CHARTS_DIR) config oneclick readiness test dist $(PARENT_CHART) dcae +HELM_CHARTS := $(COMMON_CHARTS_DIR) $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) $(PARENT_CHART) + +.PHONY: $(EXCLUDES) $(HELM_CHARTS) + +all: $(HELM_CHARTS) + +$(HELM_CHARTS): + @echo "\n[$@]" + @make package-$@ + +make-%: + @if [ -f $*/Makefile ]; then make -C $*; fi + +dep-%: make-% + @if [ -f $*/requirements.yaml ]; then helm dep up $*; fi + +lint-%: dep-% + @if [ -f $*/Chart.yaml ]; then helm lint $*; fi + +package-%: lint-% + @mkdir -p $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then helm package -d $(PACKAGE_DIR) $*; fi + +clean: + @rm -f */requirements.lock + @rm -f *tgz */charts/*tgz + @rm -rf $(PACKAGE_DIR) +%: + @:
\ No newline at end of file diff --git a/kubernetes/common/Makefile b/kubernetes/common/Makefile new file mode 100644 index 0000000000..1900f31a44 --- /dev/null +++ b/kubernetes/common/Makefile @@ -0,0 +1,25 @@ +EXCLUDES := test +HELM_CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) + +.PHONY: $(EXCLUDES) $(HELM_CHARTS) + +all: $(HELM_CHARTS) + +$(HELM_CHARTS): + @echo "\n[$@]" + @make lint-$@ + +make-%: + @if [ -f $*/Makefile ]; then make -C $*; fi + +dep-%: make-% + @if [ -f $*/requirements.yaml ]; then helm dep up $*; fi + +lint-%: dep-% + @if [ -f $*/Chart.yaml ]; then helm lint $*; fi + +clean: + @rm -f */requirements.lock + @rm -f *tgz */charts/*tgz +%: + @:
\ No newline at end of file diff --git a/kubernetes/common/common-templates/.helmignore b/kubernetes/common/common-templates/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/kubernetes/common/common-templates/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/kubernetes/common/common-templates/Chart.yaml b/kubernetes/common/common-templates/Chart.yaml new file mode 100644 index 0000000000..01135755ba --- /dev/null +++ b/kubernetes/common/common-templates/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: Common templates for inclusion in other charts +name: common-templates +version: 2.0.0 diff --git a/kubernetes/common/common-templates/templates/_name.tpl b/kubernetes/common/common-templates/templates/_name.tpl new file mode 100644 index 0000000000..f6c221f15d --- /dev/null +++ b/kubernetes/common/common-templates/templates/_name.tpl @@ -0,0 +1,15 @@ +{{/* + Expand the name of a chart. +*/}} +{{- define "common.name" -}} + {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* + Create a default fully qualified application name. + Truncated at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "common.fullname" -}} + {{- $name := default .Chart.Name .Values.nameOverride -}} + {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}}
\ No newline at end of file diff --git a/kubernetes/common/common-templates/templates/_namespace.tpl b/kubernetes/common/common-templates/templates/_namespace.tpl new file mode 100644 index 0000000000..076fd53f7a --- /dev/null +++ b/kubernetes/common/common-templates/templates/_namespace.tpl @@ -0,0 +1,13 @@ +{{/* + Resolve the namespace to apply to a chart. The default namespace suffix + is the name of the chart. This can be overridden if necessary (eg. for subcharts) + using the following value: + + - .Values.nsPrefix : override namespace prefix + - .Values.nsSuffix : override namespace suffix +*/}} +{{- define "common.namespace" -}} + {{- $prefix := default .Release.Name .Values.nsPrefix -}} + {{- $suffix := default .Chart.Name .Values.nsSuffix -}} + {{- printf "%s-%s" $prefix $suffix -}} +{{- end -}} diff --git a/kubernetes/common/common-templates/values.yaml b/kubernetes/common/common-templates/values.yaml new file mode 100644 index 0000000000..112875753d --- /dev/null +++ b/kubernetes/common/common-templates/values.yaml @@ -0,0 +1,31 @@ +################################################################# +# Global configuration default values that can be inherited by +# all subcharts. +################################################################# +global: + # Change to an unused port prefix range to prevent port conflicts + # with other instances running within the same k8s cluster + nodePortPrefix: 302 + + # image repositories + repository: nexus3.onap.org:10001 + repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ== + + # readiness check + readinessRepository: oomk8s + readinessImage: readiness-check:1.0.0 + + # logging agent + loggingRepository: docker.elastic.co + loggingImage: beats/filebeat:5.5.0 + + # image pull policy + pullPolicy: Always + + # default mount path root directory referenced + # by persistent volumes and log files + persistence: + mountPath: /dockerdata-nfs + + # flag to enable debugging - application support required + debugEnabled: true
\ No newline at end of file diff --git a/kubernetes/consul/Chart.yaml b/kubernetes/consul/Chart.yaml index 318234db06..2d2d7ba82c 100644 --- a/kubernetes/consul/Chart.yaml +++ b/kubernetes/consul/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 -description: A Helm chart for Consul +description: ONAP Consul Heath Monitor name: consul version: 1.1.0 diff --git a/kubernetes/kube2msb/Chart.yaml b/kubernetes/kube2msb/Chart.yaml index 97a3454337..b648adc701 100644 --- a/kubernetes/kube2msb/Chart.yaml +++ b/kubernetes/kube2msb/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: A Helm chart for Kubernetes -name: kube2msb-registrator +name: kube2msb version: 0.1.0 diff --git a/kubernetes/onap/Chart.yaml b/kubernetes/onap/Chart.yaml new file mode 100644 index 0000000000..db8a30f28e --- /dev/null +++ b/kubernetes/onap/Chart.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +name: onap +version: 2.0.0 +appVersion: beijing +description: Open Network Automation Platform (ONAP) +home: https://www.onap.org/ +sources: +- https://gerrit.onap.org/r/#/admin/projects/ +icon: https://wiki.onap.org/download/thumbnails/1015829/onap_704x271%20copy.png?version=1&modificationDate=1488326334000&api=v2 diff --git a/kubernetes/onap/requirements.yaml b/kubernetes/onap/requirements.yaml new file mode 100644 index 0000000000..8f123128ad --- /dev/null +++ b/kubernetes/onap/requirements.yaml @@ -0,0 +1,101 @@ +# Referencing a named repo called 'local'. +# Can add this repo by running commands like: +# > helm serve +# > helm repo add local http://127.0.0.1:8879 +dependencies: + - name: aaf + version: ~1.1.0 + repository: '@local' + condition: aaf.enabled + - name: aai + version: ~0.1.0 + repository: '@local' + condition: aai.enabled + - name: appc + version: ~0.1.0 + repository: '@local' + condition: appc.enabled + - name: clamp + version: ~1.1.0 + repository: '@local' + condition: clamp.enabled + - name: cli + version: ~0.1.0 + repository: '@local' + condition: cli.enabled + - name: consul + version: ~1.1.0 + repository: '@local' + condition: consul.enabled + - name: dcaegen2 + version: ~1.1.0 + repository: '@local' + condition: dcaegen2.enabled + - name: esr + version: ~1.1.0 + repository: '@local' + condition: esr.enabled + - name: kube2msb + version: ~0.1.0 + repository: '@local' + condition: kube2msb.enabled + - name: log + version: ~0.1.0 + repository: '@local' + condition: log.enabled + - name: message-router + version: ~0.1.0 + repository: '@local' + condition: message-router.enabled + - name: mock + version: ~0.1.0 + repository: '@local' + condition: mock.enabled + - name: msb + version: ~0.1.0 + repository: '@local' + condition: msb.enabled + - name: multicloud + version: ~1.1.0 + repository: '@local' + condition: multicloud.enabled + - name: policy + version: ~0.1.0 + repository: '@local' + condition: policy.enabled + - name: portal + version: ~0.1.0 + repository: '@local' + condition: portal.enabled + - name: robot + version: ~0.1.0 + repository: '@local' + condition: robot.enabled + - name: sdc + version: ~0.1.0 + repository: '@local' + condition: sdc.enabled + - name: sdnc + version: ~0.1.0 + repository: '@local' + condition: sdnc.enabled + - name: so + version: ~2.0.0 + repository: '@local' + condition: so.enabled + - name: uui + version: ~1.1.0 + repository: '@local' + condition: uui.enabled + - name: vfc + version: ~0.1.0 + repository: '@local' + condition: vfc.enabled + - name: vid + version: ~0.1.0 + repository: '@local' + condition: vid.enabled + - name: vnfsdk + version: ~1.1.0 + repository: '@local' + condition: vnfsdk.enabled
\ No newline at end of file diff --git a/kubernetes/onap/resources/environments/onap-demo.yaml b/kubernetes/onap/resources/environments/onap-demo.yaml new file mode 100644 index 0000000000..67b6f401a4 --- /dev/null +++ b/kubernetes/onap/resources/environments/onap-demo.yaml @@ -0,0 +1,60 @@ +################################################################# +# Global configuration overrides. +# +# These overrides will affect all helm charts (ie. applications) +# that are listed below and are 'enabled'. +################################################################# +global: + # Change to an unused port prefix range to prevent port conflicts + # with other instances running within the same k8s cluster + nodePortPrefix: 302 + + # image repositories + repository: nexus3.onap.org:10001 + repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ== + # readiness check + readinessRepository: oomk8s + # logging agent + loggingRepository: docker.elastic.co + + # image pull policy + pullPolicy: IfNotPresent + + # override default mount path root directory + # referenced by persistent volumes and log files + persistence: + mountPath: /dockerdata-nfs + + # flag to enable debugging - application support required + debugEnabled: true + +################################################################# +# Enable/disable and configure helm charts (ie. applications) +# to customize the ONAP deployment. +################################################################# +consul: + enabled: true + +so: + enabled: true + replicaCount: 1 + liveness: + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + + # so server configuration + config: + # message router configuration + dmaapTopic: "AUTO" + # openstack configuration + openStackUserName: "vnf_user" + openStackRegion: "RegionOne" + openStackKeyStoneUrl: "http://1.2.3.4:5000" + openStackServiceTenantName: "service" + openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e" + + # configure embedded mariadb + mariadb: + config: + mariadbRootPassword: password
\ No newline at end of file diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml new file mode 100644 index 0000000000..5340c95f57 --- /dev/null +++ b/kubernetes/onap/values.yaml @@ -0,0 +1,105 @@ +################################################################# +# Global configuration overrides. +# +# These overrides will affect all helm charts (ie. applications) +# that are listed below and are 'enabled'. +################################################################# +global: + # Change to an unused port prefix range to prevent port conflicts + # with other instances running within the same k8s cluster + nodePortPrefix: 302 + + # image repositories + repository: nexus3.onap.org:10001 + repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ== + # readiness check + readinessRepository: oomk8s + # logging agent + loggingRepository: docker.elastic.co + + # image pull policy + pullPolicy: Always + + # default mount path root directory referenced + # by persistent volumes and log files + persistence: + mountPath: /dockerdata-nfs + + # flag to enable debugging - application support required + debugEnabled: false + +################################################################# +# Enable/disable and configure helm charts (ie. applications) +# to customize the ONAP deployment. +################################################################# +aaf: + enabled: false +aai: + enabled: false +appc: + enabled: false +clamp: + enabled: false +cli: + enabled: false +consul: # Consul Health Check Monitoring + enabled: false +dcaegen2: + enabled: false +esr: + enabled: false +kube2msb: + enabled: false +log: + enabled: false +message-router: + enabled: false +mock: + enabled: false +msb: + enabled: false +multicloud: + enabled: false +policy: + enabled: false +portal: + enabled: false +robot: # Robot Health Check + enabled: false +sdc: + enabled: false +sdnc: + enabled: false +so: # Service Orchestrator + enabled: true + + replicaCount: 1 + + liveness: + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + + # so server configuration + config: + # message router configuration + dmaapTopic: "AUTO" + # openstack configuration + openStackUserName: "vnf_user" + openStackRegion: "RegionOne" + openStackKeyStoneUrl: "http://1.2.3.4:5000" + openStackServiceTenantName: "service" + openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e" + + # configure embedded mariadb + mariadb: + config: + mariadbRootPassword: password +uui: + enabled: false +vfc: + enabled: false +vid: + enabled: false +vnfsdk: + enabled: false
\ No newline at end of file |