diff --git a/.meepctl-repocfg.yaml b/.meepctl-repocfg.yaml index 7fe557f223b55d9bcc0afa7bae7083f65bc0a68e..7deae1ad26379e6f26b56bb00ecc90198ed903c9 100644 --- a/.meepctl-repocfg.yaml +++ b/.meepctl-repocfg.yaml @@ -1,195 +1,698 @@ -# Copyright (c) 2019 InterDigital Communications, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: 1.4.0 -repo: - name: AdvantEDGE - core: - meep-user: - service-account: charts/meep-user/meep-user-serviceaccount.yaml - cluster-role-binding: charts/meep-user/meep-user-clusterrolebinding.yaml - codecov: false - lint: false - - # CORE APPS (JS) - meep-frontend: - src: js-apps/meep-frontend - bin: bin/meep-frontend - codecov: false - lint: true - local-deps: - meep-ctrl-engine-api: js-packages/meep-ctrl-engine-client - meep-swagger-ui: - src: js-apps/meep-swagger-ui - bin: bin/meep-swagger-ui - codecov: false - lint: false - api-bundle: - - meep-ctrl-engine - - meep-metrics-engine - - meep-metrics-engine-notification-client - - meep-mg-manager - - meep-mg-app-client - - meep-loc-serv - - meep-loc-serv-notification-client - - # CORE APPS (GO) - meep-ctrl-engine: - src: go-apps/meep-ctrl-engine - bin: bin/meep-ctrl-engine - chart: charts/meep-ctrl-engine - codecov: true - lint: true - nodeport: 30000 - api: go-apps/meep-ctrl-engine/api/swagger.yaml - docker-data: - api: bin/meep-swagger-ui - static: bin/meep-frontend - meep-loc-serv: - src: go-apps/meep-loc-serv - bin: bin/meep-loc-serv - chart: charts/meep-loc-serv - build-flags: - - -mod=vendor - codecov: true - lint: true - nodeport: 30007 - api: go-apps/meep-loc-serv/api/swagger.yaml - meep-metrics-engine: - src: go-apps/meep-metrics-engine - bin: bin/meep-metrics-engine - chart: charts/meep-metrics-engine - build-flags: - - -mod=vendor - codecov: true - lint: true - nodeport: 30008 - api: go-apps/meep-metrics-engine/api/v2/swagger.yaml - meep-mg-manager: - src: go-apps/meep-mg-manager - bin: bin/meep-mg-manager - chart: charts/meep-mg-manager - codecov: true - lint: true - nodeport: 30005 - api: go-apps/meep-mg-manager/api/swagger.yaml - meep-mon-engine: - src: go-apps/meep-mon-engine - bin: bin/meep-mon-engine - chart: charts/meep-mon-engine - build-flags: - - -mod=vendor - codecov: true - lint: true - meep-tc-engine: - src: go-apps/meep-tc-engine - bin: bin/meep-tc-engine - chart: charts/meep-tc-engine - codecov: true - lint: true - meep-tc-sidecar: - src: go-apps/meep-tc-sidecar - bin: bin/meep-tc-sidecar - codecov: false - lint: true - meep-virt-engine: - src: go-apps/meep-virt-engine - bin: bin/meep-virt-engine - chart: charts/meep-virt-engine - template: charts/meep-virt-engine/virt-templates - codecov: true - lint: true - meep-webhook: - src: go-apps/meep-webhook - bin: bin/meep-webhook - chart: charts/meep-webhook - build-flags: - - -mod=vendor - codecov: false - lint: true - - # # CORE PACKAGES (JS) - # meep-ctrl-engine-client: - # src: js-packages/meep-ctrl-engine-client - # lint: false - # meep-metrics-engine-client: - # src: js-packages/meep-metrics-engine-client - # lint: false - - # CORE PACKAGES (GO) - meep-couch: - src: go-packages/meep-couch - lint: true - meep-ctrl-engine-client: - src: go-packages/meep-ctrl-engine-client - lint: false - meep-ctrl-engine-model: - src: go-packages/meep-ctrl-engine-model - lint: true - meep-loc-serv-client: - src: go-packages/meep-loc-serv-client - lint: false - meep-loc-serv-notification-client: - src: go-packages/meep-loc-serv-notification-client - lint: false - api: go-packages/meep-loc-serv-notification-client/api/swagger.yaml - meep-logger: - src: go-packages/meep-logger - lint: true - meep-metric-store: - src: go-packages/meep-metric-store - lint: true - meep-metrics-engine-notification-client: - src: go-packages/meep-metrics-engine-notification-client - lint: false - api: go-packages/meep-metrics-engine-notification-client/api/swagger.yaml - meep-mg-app-client: - src: go-packages/meep-mg-app-client - lint: false - api: go-packages/meep-mg-app-client/api/swagger.yaml - meep-mg-manager-client: - src: go-packages/meep-mg-manager-client - lint: false - meep-mg-manager-model: - src: go-packages/meep-mg-manager-model - lint: true - meep-model: - src: go-packages/meep-model - lint: true - meep-net-char-mgr: - src: go-packages/meep-net-char-mgr - lint: true - meep-redis: - src: go-packages/meep-redis - lint: true - meep-replay-manager: - src: go-packages/meep-replay-manager - lint: true - meep-watchdog: - src: go-packages/meep-watchdog - lint: true - dep: - docker-registry: - chart: charts/docker-registry - couchdb: - chart: charts/couchdb - influxdb: - chart: charts/influxdb - redis: - chart: charts/redis - k8s: - kube-state-metrics: - chart: charts/kube-state-metrics - grafana: - chart: charts/grafana +# Copyright (c) 2019 InterDigital Communications, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: 1.5.0 +repo: + name: AdvantEDGE + + #------------------------------ + # Deployment + #------------------------------ + deployment: + # enable the alternate HTTP server + # - serves AdvantEDGE FE on alternate port 8080 instead of default 80/443 + # - useful in conjunction with user.frontend=true && + # when limiting endpoints exposed on public network + alt-server: false + # user supplied resources + user: + # user supplied frontend UI located @ .meep/user/frontend + frontend: false + # user supplied swagger UI located @ .meep/user/swagger + swagger: false + + #------------------------------ + # Core Subsystem + #------------------------------ + core: + + # Go Applications + go-apps: + meep-mon-engine: + # location of source code + src: go-apps/meep-mon-engine + # location of binary + bin: bin/meep-mon-engine + # location of deployment chart + chart: charts/meep-mon-engine + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-mon-engine.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports linting + lint: true + # location of API specification + api: go-apps/meep-mon-engine/api/swagger.yaml + # list of dependencies pods to monitor + dependency-pods: + - meep-couchdb + - meep-docker-registry + - meep-grafana + - meep-ingress + - meep-influxdb + - meep-kube-state-metrics + - meep-open-map-tiles + - meep-postgis + - meep-redis + # list of paltform pods to monitor + core-pods: + - meep-mon-engine + - meep-platform-ctrl + - meep-virt-engine + - meep-webhook + # list of sandbox pods to monitor + sandbox-pods: + - meep-gis-engine + - meep-loc-serv + - meep-metrics-engine + - meep-mg-manager + - meep-rnis + - meep-sandbox-ctrl + - meep-tc-engine + meep-platform-ctrl: + # location of source code + src: go-apps/meep-platform-ctrl + # location of binary + bin: bin/meep-platform-ctrl + # location of deployment chart + chart: charts/meep-platform-ctrl + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-platform-ctrl.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports linting + lint: true + # location of API specification + api: go-apps/meep-platform-ctrl/api/swagger.yaml + # AdvantEDGE resources included in Docker container image + docker-data: + # location of AdvantEDGE swagger files + swagger: bin/meep-platform-swagger-ui + # location of AdvantEDGE frontend + frontend: bin/meep-frontend + meep-virt-engine: + # location of source code + src: go-apps/meep-virt-engine + # location of binary + bin: bin/meep-virt-engine + # location of deployment chart + chart: charts/meep-virt-engine + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-virt-engine.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports linting + lint: true + # AdvantEDGE resources included in Docker container image + docker-data: + # entrypoint script + 'entrypoint.sh': go-apps/meep-virt-engine/entrypoint.sh + # AdvantEDGE micro-service charts + meep-gis-engine: charts/meep-gis-engine + meep-loc-serv: charts/meep-loc-serv + meep-metrics-engine: charts/meep-metrics-engine + meep-mg-manager: charts/meep-mg-manager + meep-rnis: charts/meep-rnis + meep-sandbox-ctrl: charts/meep-sandbox-ctrl + meep-tc-engine: charts/meep-tc-engine + meep-virt-chart-templates: charts/meep-virt-chart-templates + # list of sandbox specific pods + sandbox-pods: + - meep-gis-engine + - meep-loc-serv + - meep-metrics-engine + - meep-mg-manager + - meep-rnis + - meep-sandbox-ctrl + - meep-tc-engine + meep-webhook: + # location of source code + src: go-apps/meep-webhook + # location of binary + bin: bin/meep-webhook + # location of deployment chart + chart: charts/meep-webhook + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-webhook.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + + # Javascript Applications + js-apps: + meep-frontend: + # location of source code + src: js-apps/meep-frontend + # location of binary + bin: bin/meep-frontend + # enable meepctl build + build: true + # enable meepctl dockerize + # -> bundled with meep-platform-ctrl + dockerize: false + # enable meepctl deploy/delete + # -> deployed via meep-platform-ctrl + deploy: false + # supports linting + lint: true + # local project dependencies + local-deps: + meep-platform-ctrl-api: js-packages/meep-platform-ctrl-client + meep-sandbox-ctrl-api: js-packages/meep-sandbox-ctrl-client + meep-mon-engine-api: js-packages/meep-mon-engine-client + meep-gis-engine-api: js-packages/meep-gis-engine-client + meep-platform-swagger-ui: + # location of source code + src: js-apps/meep-swagger-ui + # location of binary + bin: bin/meep-platform-swagger-ui + # enable meepctl build + build: true + # enable meepctl dockerize -> bundled with meep-platform-ctrl + dockerize: false + # enable meepctl deploy/delete -> deployed via meep-platform-ctrl + deploy: false + # supports linting + lint: false + # list of platform level swagger specs + api-bundle: + - core.go-apps.meep-platform-ctrl + - core.go-apps.meep-mon-engine + meep-sandbox-swagger-ui: + # location of source code + src: js-apps/meep-swagger-ui + # location of binary + bin: bin/meep-sandbox-swagger-ui + # enable meepctl build + build: true + # enable meepctl dockerize -> bundled with meep-sandbox-ctrl + dockerize: false + # enable meepctl deploy/delete -> deployed via meep-sandbox-ctrl + deploy: false + # supports linting + lint: false + # list of sandbox level swagger specs + api-bundle: + - sandbox.go-apps.meep-sandbox-ctrl + - sandbox.go-apps.meep-gis-engine + - sandbox.go-apps.meep-loc-serv + - packages.go-packages.meep-loc-serv-notification-client + - sandbox.go-apps.meep-rnis + - packages.go-packages.meep-rnis-notification-client + - sandbox.go-apps.meep-metrics-engine + - packages.go-packages.meep-metrics-engine-notification-client + - sandbox.go-apps.meep-mg-manager + - packages.go-packages.meep-mg-app-client + + #------------------------------ + # Sandbox Subsystem + #------------------------------ + sandbox: + + # Go Applications + go-apps: + meep-gis-engine: + # location of source code + src: go-apps/meep-gis-engine + # location of binary + bin: bin/meep-gis-engine + # location of deployment chart + chart: charts/meep-gis-engine + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-gis-engine.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + # location of API specification + api: go-apps/meep-gis-engine/api/swagger.yaml + meep-loc-serv: + # location of source code + src: go-apps/meep-loc-serv + # location of binary + bin: bin/meep-loc-serv + # location of deployment chart + chart: charts/meep-loc-serv + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-loc-serv.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + # location of API specification + api: go-apps/meep-loc-serv/api/swagger.yaml + meep-metrics-engine: + # location of source code + src: go-apps/meep-metrics-engine + # location of binary + bin: bin/meep-metrics-engine + # location of deployment chart + chart: charts/meep-metrics-engine + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-metrics-engine.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + # location of API specification + api: go-apps/meep-metrics-engine/api/v2/swagger.yaml + meep-mg-manager: + # location of source code + src: go-apps/meep-mg-manager + # location of binary + bin: bin/meep-mg-manager + # location of deployment chart + chart: charts/meep-mg-manager + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-mg-manager.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + # location of API specification + api: go-apps/meep-mg-manager/api/swagger.yaml + meep-rnis: + # location of source code + src: go-apps/meep-rnis + # location of binary + bin: bin/meep-rnis + # location of deployment chart + chart: charts/meep-rnis + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-rnis.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + # location of API specification + api: go-apps/meep-rnis/api/swagger.yaml + meep-sandbox-ctrl: + # location of source code + src: go-apps/meep-sandbox-ctrl + # location of binary + bin: bin/meep-sandbox-ctrl + # location of deployment chart + chart: charts/meep-sandbox-ctrl + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-sandbox-ctrl.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + # location of API specification + api: go-apps/meep-sandbox-ctrl/api/swagger.yaml + docker-data: + 'entrypoint.sh': go-apps/meep-sandbox-ctrl/entrypoint.sh + swagger: bin/meep-sandbox-swagger-ui + meep-tc-engine: + # location of source code + src: go-apps/meep-tc-engine + # location of binary + bin: bin/meep-tc-engine + # location of deployment chart + chart: charts/meep-tc-engine + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-tc-engine.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + meep-tc-sidecar: + # location of source code + src: go-apps/meep-tc-sidecar + # location of binary + bin: bin/meep-tc-sidecar + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: false + # supports linting + lint: true + + #------------------------------ + # Dependencies + #------------------------------ + dep: + meep-couchdb: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/couchdb + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-couchdb.yaml + meep-docker-registry: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/docker-registry + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-docker-registry.yaml + meep-grafana: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/grafana + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-grafana.yaml + meep-influxdb: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/influxdb + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-influxdb.yaml + meep-kube-state-metrics: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/kube-state-metrics + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-kube-state-metrics.yaml + meep-ingress: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/nginx-ingress + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-ingress.yaml + meep-alt-ingress: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/nginx-ingress + # uses different default values + values: charts/nginx-ingress/alt-values.yaml + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-alt-ingress.yaml + meep-redis: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/redis + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-redis.yaml + meep-open-map-tiles: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/open-map-tiles + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-open-map-tiles.yaml + meep-postgis: + # enable meepctl build -> deps are never built + build: false + # enable meepctl dockerize -> deps are never dockerized + dockerize: false + # enable meepctl deploy/delete + deploy: true + # location of deployment chart + chart: charts/postgis + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-postgis.yaml + + #------------------------------ + # Packages + #------------------------------ + packages: + + # Go Packages + go-packages: + meep-couch: + # location of source code + src: go-packages/meep-couch + # supports linting + lint: true + meep-data-key-mgr: + # location of source code + src: go-packages/meep-data-key-mgr + # supports linting + lint: true + meep-data-model: + # location of source code + src: go-packages/meep-data-model + # supports linting + lint: true + meep-http-logger: + # location of source code + src: go-packages/meep-http-logger + # supports linting + lint: true + meep-loc-serv-client: + # location of source code + src: go-packages/meep-loc-serv-client + # supports linting + lint: false + meep-loc-serv-notification-client: + # location of source code + src: go-packages/meep-loc-serv-notification-client + # supports linting + lint: false + # location of API specification + api: go-packages/meep-loc-serv-notification-client/api/swagger.yaml + meep-logger: + # location of source code + src: go-packages/meep-logger + # supports linting + lint: true + meep-metrics-engine-notification-client: + # location of source code + src: go-packages/meep-metrics-engine-notification-client + # supports linting + lint: false + # location of API specification + api: go-packages/meep-metrics-engine-notification-client/api/swagger.yaml + meep-metric-store: + # location of source code + src: go-packages/meep-metric-store + # supports linting + lint: true + meep-mg-app-client: + # location of source code + src: go-packages/meep-mg-app-client + # supports linting + lint: false + # location of API specification + api: go-packages/meep-mg-app-client/api/swagger.yaml + meep-mg-manager-client: + # location of source code + src: go-packages/meep-mg-manager-client + # supports linting + lint: false + meep-mg-manager-model: + # location of source code + src: go-packages/meep-mg-manager-model + # supports linting + lint: true + meep-model: + # location of source code + src: go-packages/meep-model + # supports linting + lint: true + meep-mq: + # location of source code + src: go-packages/meep-mq + # supports linting + lint: true + meep-net-char-mgr: + # location of source code + src: go-packages/meep-net-char-mgr + # supports linting + lint: true + meep-postgis: + # location of source code + src: go-packages/meep-postgis + # supports linting + lint: true + meep-redis: + # location of source code + src: go-packages/meep-redis + # supports linting + lint: true + meep-replay-manager: + # location of source code + src: go-packages/meep-replay-manager + # supports linting + lint: true + meep-rnis-client: + # location of source code + src: go-packages/meep-rnis-client + # supports linting + lint: false + meep-rnis-notification-client: + # location of source code + src: go-packages/meep-rnis-notification-client + # supports linting + lint: false + # location of API specification + api: go-packages/meep-rnis-notification-client/api/swagger.yaml + meep-sandbox-ctrl-client: + # location of source code + src: go-packages/meep-sandbox-ctrl-client + # supports linting + lint: false + meep-sandbox-store: + # location of source code + src: go-packages/meep-sandbox-store + # supports linting + lint: true + meep-watchdog: + # location of source code + src: go-packages/meep-watchdog + # supports linting + lint: true + + # Javascript Packages + js-packages: + meep-metrics-engine-client: + # location of source code + src: js-packages/meep-metrics-engine-client + # supports linting + lint: false + meep-mon-engine-client: + # location of source code + src: js-packages/meep-mon-engine-client + # supports linting + lint: false + meep-platform-ctrl-client: + # location of source code + src: js-packages/meep-platform-ctrl-client + # supports linting + lint: false + meep-sandbox-ctrl-client: + # location of source code + src: js-packages/meep-sandbox-ctrl-client + # supports linting + lint: false diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7ddbd6a1586a60bf50a7ae99d063735fd771c1fd..f442af8b675cfd2729622d7af7f93b2e175bd341 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,117 @@ -## How to Contribute +# How to contribute to AdvantEDGE -We welcome feedback and improvement suggestions. Please open a Git issue in the repo to report bugs or request enhancements. +_So you've decided that you would like to contribute to AdvantEDGE project... what next?
_ -At this time, we are not ready to accept pull requests. However, we plan to do so in the future. +It's great to hear that you have interest in AdvantEDGE & we'd love to accept your bug fix or other contributions; +there is however few small guidelines that you need to follow before getting started. -In the meantime, if you have interest in becoming an AdvantEDGE contributor, we would like to hear from you. +_[... But I just have a question & I don't want to read this whole thing!!!](#if-you-have-questions)_ -We can be reached at +There are three main ways of contributing to the project: by reporting an issue, by suggesting an enhancement or by contributing content.
As such, we cover these use cases below +- [Reporting an issue (bug/documentation)](#reporting-issues) +- [Suggesting an enhancement](#suggesting-enhancements) +- [Contributing content](#contributing-content) + - [Contributor License Agreement](#contributor-license-agreement) + - [Your First Content Contribution](#your-first-content-contribution) + - [Pull Requests](#pull-request) + - [But... What can I contribute on?](#what-can-i-contribute-on) + +## If You Have Questions +Please don't open a GitHub Issue to ask a question; you'll get faster result by using the resources below. + +#### Resource #1 - AdvantEDGE Wiki +We put time & efforts keeping the wiki up to date, so we recommend to look there first.
+- Project questions -- [FAQ](https://github.com/InterDigitalInc/AdvantEDGE/wiki/faq) & [Roadmap](https://github.com/InterDigitalInc/AdvantEDGE/wiki/roadmap) +- Concepts questions -- [Platform concepts](https://github.com/InterDigitalInc/AdvantEDGE/wiki/platform-concepts), [platform APIs](https://github.com/InterDigitalInc/AdvantEDGE/wiki/API-Documentation), [Frontend concepts](https://github.com/InterDigitalInc/AdvantEDGE/wiki/frontend-concepts) +- Services questions -- [platform APIs](https://github.com/InterDigitalInc/AdvantEDGE/wiki/API-Documentation), [Location service](https://github.com/InterDigitalInc/AdvantEDGE/wiki/location-service), [Application State Transfer service](https://github.com/InterDigitalInc/AdvantEDGE/wiki/state-transfer), [Metrics Engine service](https://github.com/InterDigitalInc/AdvantEDGE/wiki/metrics-engine-service) +- Setup questions -- [Hardware](https://github.com/InterDigitalInc/AdvantEDGE/wiki/hw-configuration), [Runtime environment](https://github.com/InterDigitalInc/AdvantEDGE/wiki/runtime-environment), [Development environment](https://github.com/InterDigitalInc/AdvantEDGE/wiki/development-environment) +- Deployment questions -- [meepctl CLI tool](https://github.com/InterDigitalInc/AdvantEDGE/blob/master/docs/meepctl/meepctl.md), [Build](https://github.com/InterDigitalInc/AdvantEDGE/wiki/build-advantedge), [Deploy](https://github.com/InterDigitalInc/AdvantEDGE/wiki/deploy-advantedge), [Upgrade](https://github.com/InterDigitalInc/AdvantEDGE/wiki/upgrade-advantedge), [Test](https://github.com/InterDigitalInc/AdvantEDGE/wiki/test-advantedge) +- Usage questions -- [GUI](https://github.com/InterDigitalInc/AdvantEDGE/wiki/gui-overview), [basic operation](https://github.com/InterDigitalInc/AdvantEDGE/wiki/basic-operation), [creating a first scenario](https://github.com/InterDigitalInc/AdvantEDGE/wiki/first-scenario), [scenario monitoring](https://github.com/InterDigitalInc/AdvantEDGE/wiki/scenario-monitoring), [using external nodes](https://github.com/InterDigitalInc/AdvantEDGE/wiki/external-nodes), [edge application models](https://github.com/InterDigitalInc/AdvantEDGE/wiki/edge-app-models), [edge application types](https://github.com/InterDigitalInc/AdvantEDGE/wiki/edge-app-types), [pod placement](https://github.com/InterDigitalInc/AdvantEDGE/wiki/pod-placement) + +#### Resource #2 - Email us +Of course - because we cannot document everything - if you still have a question, we can be reached at AdvantEDGE@InterDigital.com + +## Reporting issues +Whether it's a bug found while using the platform or simply a typo noticed while browsing the documentation, we appreciate that you open a GitHub issue ([here](https://github.com/InterDigitalInc/AdvantEDGE/issues)) + +#### Bug +When reporting a bug, try to be as concise & specific as possible so we can reproduce the problem. + +A Bug Report template is provided in GitHub to help documenting the problem. +#### Documentation +Use the Custom Issue template to provide a link to the page, a copy the problematic text and an indication of what the problem is. + +## Suggesting enhancements +We appreciate feature enhancements and as such, we collect feature ideas via GitHub issues ([here](https://github.com/InterDigitalInc/AdvantEDGE/issues)) + +If you are not sure about the proposed enhancement, it's always a good idea to communicate with us (AdvantEDGE@InterDigital.com using subject subject `enhancement`) to discuss the feature beforehand. + +Use the Feature Request template provided in GitHub to document the request. + +## Contributing content +Contributing content is more involving than submitting an issue or an enhancement request as it requires a CLA and learning how to operate with the project team. + +The following sub-sections cover these aspects. + +#### Contributor License Agreement +In order for us to accept content contributions, a Contributor License Agreement (CLA) is required. + +- _[CLA for individual contributor](https://github.com/InterDigitalInc/AdvantEDGE/docs/cla/interdigital-individual-cla-v1.pdf)_ +- _[CLA for corporate contributors](https://github.com/InterDigitalInc/AdvantEDGE/docs/cla/interdigital-corporate-cla-v1.pdf)_ + +Fill-in the requested information and send it to AdvantEDGE@InterDigital.com using subject `CLA` + +> Note: it is important to include your GitHub id(s) in the CLA so we know who you are when submitting a pull-request. + +#### Your First Content Contribution +In order to prepare your contribution, you will need to create your fork of the AdvantEDGE repo. To do so, simply click the Fork button in the [repo](https://github.com/InterDigitalInc/AdvantEDGE) + +Your fork is your own copy of the repo where you can modify things without impacting others; your fork's GitHub path should be `https://github.com/ +``` + +During development, keep your commit message concise and precise so we understand what the change is about. + +We accept a single contribution per branch, so if you are fixing two bugs - please create two different branches each originating from `develop` & each containing only the necessary changes for the bug they fix. + +Finally, for code contributions, we require that you run the linter (e.g. `meepctl lint all`), [Unit Tests](https://github.com/InterDigitalInc/AdvantEDGE/wiki/Test-AdvantEDGE#run-unit-tests) and [Cypress tests](https://github.com/InterDigitalInc/AdvantEDGE/wiki/Test-AdvantEDGE#run-cypress-tests) on your branch. +> Note: Keep results to include in your pull request. + +#### Pull Request +With implementation complete and linter/tests passing
+You are ready to make your pull request, [here](https://github.com/InterDigitalInc/AdvantEDGE/pulls). + +First, make sure that all necessary code is committed to your branch and that you have pushed your branch back to your fork. +``` +git add +git commit -m 'what-has-changed' +git push +``` + +If unsure, it's a good idea to double check that your branch has been pushed back to the repo using the GitHub browser client. Your fork can be accessed from [here](https://github.com/InterDigitalInc/AdvantEDGE/network/members), your branch should show up in the branch drop down of your fork and your changes should show up once the branch is selected. + +In the pull request, indicate the branch containing your changes, the nature of the changes you made, a reference to the related GitHub issue and the test results. + +_What to expect next?_
+We do peer reviews of all internal contributions - so as an external contributor you can expect that someone from the core team will review your PR. + +This is normal and is part of the process. Be patient as we may be busy addressing other issues - we will eventually get back to you with a status & possibly change requests. Please note that we reserve the right to accept or not a contribution. For internal reasons, from time to time, we may decide not to include your proposition, this has nothing to do with your skills or the value of your contribution. + +#### What can I contribute on +Making first contributions can be intimidating - after all it's often difficult to figure out where to start and learn how to interact with a new team (that's us :) ). This is normal and we are here to help. + +We recommend the following approach: +1. Start small - documentation contributions are an easy way to start as they are simpler to perform. If you used the project before (or not) and find that documentation is confusing / missing - then you may have an opportunity. Alternatively, look for [issues](https://github.com/InterDigitalInc/AdvantEDGE/issues) tagged `documentation` & `good first issue` +2. Look for the [issues](https://github.com/InterDigitalInc/AdvantEDGE/issues) tagged `good first issue` - as these are simpler and often isolated / self-contained +3. Once you are accustomed with the project, you can start tackling other larger existing issues. +4. The holly-grail of contributing would be opening an issue / getting an enhancement request approved and submitting the PR implementing it + +Anyhow, when picking an issue, it's always a good idea to comment on the issue to let others know you are looking at it; you can also email us at AdvantEDGE@InterDigital.com + +We hope this is helpful - and...
+... looking forward to hear from you! diff --git a/README.md b/README.md index aab9ad45ea14d6551708762e28c7de2823b79cc3..6b1cf6e7ad34357f9c7ccad0ddffedcb66bf8a3a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -![AdvantEDGE-logo](https://github.com/InterDigitalInc/AdvantEDGE/blob/master/docs/images/AdvantEDGE-logo_Blue-01.png) +![AdvantEDGE-logo](https://github.com/InterDigitalInc/AdvantEDGE/wiki/images/AdvantEDGE-logo_Blue-01.png) ------ +AdvantEDGE is a Mobile Edge Emulation Platform (MEEP) that runs on Docker & Kubernetes.

-AdvantEDGE provides an emulation environment, enabling experimentation with Edge Computing Technologies, Applications, and Services. The platform facilitates users to explore edge / fog deployment models and their impact to applications and services in short and agile iterations. +AdvantEDGE provides an emulation environment, enabling experimentation with Edge Computing Technologies, Applications, and Services. The platform facilitates exploring edge / fog deployment models and their impact on applications and services in short and agile iterations. ## Motivation @@ -26,15 +27,15 @@ To get started using AdvantEDGE, the following steps are needed: Step-by-step details are available in the [Wiki](https://github.com/InterDigitalInc/AdvantEDGE/wiki#getting-started) ## How to Contribute +**NEW!**
+Starting June 2020 with v1.5 release, we can start accepting contributions to the project. -We welcome feedback and improvement suggestions. Please open a Git issue in the repo to report bugs or request enhancements. +If you like this project and would like to participate in its evolution, you can find information on contributing [here](https://github.com/InterDigitalInc/AdvantEDGE/CONTRIBUTING.md) -At this time, we are not ready to accept pull requests. However, we plan to do so in the future. +We still welcome feedback and improvement suggestions via Git issue in the repo for bugs or request enhancements. -In the meantime, if you have interest in becoming an AdvantEDGE contributor, we would like to hear from you. - -We can be reached at +Hope to hear from you... ## Licensing -AdvantEDGE is licensed under under the [Apache License, Version 2.0](https://github.com/InterDigitalInc/AdvantEDGE/blob/master/LICENSE) \ No newline at end of file +AdvantEDGE is licensed under under the [Apache License, Version 2.0](https://github.com/InterDigitalInc/AdvantEDGE/blob/master/LICENSE) diff --git a/charts/couchdb/values.yaml b/charts/couchdb/values.yaml index 2324664e8571ddd160c987105c826a00f76743c9..87e10cd93ce0b88ee415530f0b89b180f7adf6b4 100755 --- a/charts/couchdb/values.yaml +++ b/charts/couchdb/values.yaml @@ -81,9 +81,10 @@ podManagementPolicy: Parallel ## to a second Service that governs how clients connect to the CouchDB cluster. service: enabled: true - type: NodePort + type: ClusterIP + #type: NodePort externalPort: 5984 - nodePort: 30984 + #nodePort: 30984 ## An Ingress resource can provide name-based virtual hosting and TLS ## termination among other things for CouchDB deployments which are accessed @@ -136,4 +137,4 @@ affinity: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/master - operator: Exists \ No newline at end of file + operator: Exists diff --git a/charts/docker-registry/.helmignore b/charts/docker-registry/.helmignore old mode 100644 new mode 100755 diff --git a/charts/docker-registry/Chart.yaml b/charts/docker-registry/Chart.yaml old mode 100644 new mode 100755 index 3a1fd0bc4a7d5de2bbaaba0e8566081713891cd6..3d9e0ce79de66b0062c7b27e5ce6263f5448812d --- a/charts/docker-registry/Chart.yaml +++ b/charts/docker-registry/Chart.yaml @@ -1,14 +1,14 @@ apiVersion: v1 -description: A Helm chart for Docker Registry -name: docker-registry -version: 1.8.0 appVersion: 2.7.1 +description: A Helm chart for Docker Registry home: https://hub.docker.com/_/registry/ icon: https://hub.docker.com/public/images/logos/mini-logo.svg -sources: - - https://github.com/docker/distribution-library-image maintainers: - - name: jpds - email: jpds@protonmail.com - - name: rendhalver - email: pete.brown@powerhrg.com +- email: jpds@protonmail.com + name: jpds +- email: pete.brown@powerhrg.com + name: rendhalver +name: docker-registry +sources: +- https://github.com/docker/distribution-library-image +version: 1.9.2 diff --git a/charts/docker-registry/OWNERS b/charts/docker-registry/OWNERS old mode 100644 new mode 100755 diff --git a/charts/docker-registry/README.md b/charts/docker-registry/README.md old mode 100644 new mode 100755 index 7b89f412f71258e0f93be00f3ae4851eff515f3e..65796f2167142c5e5fd464261dc6b891c519b13f --- a/charts/docker-registry/README.md +++ b/charts/docker-registry/README.md @@ -44,7 +44,8 @@ their default values. | `replicaCount` | k8s replicas | `1` | | `updateStrategy` | update strategy for deployment | `{}` | | `podAnnotations` | Annotations for pod | `{}` | -| `podLabels` | Labels for pod | `{}` | +| `podLabels` | Labels for pod | `{}` | +| `podDisruptionBudget` | Pod disruption budget | `{}` | | `resources.limits.cpu` | Container requested CPU | `nil` | | `resources.limits.memory` | Container requested memory | `nil` | | `priorityClassName ` | priorityClassName | `""` | @@ -65,6 +66,7 @@ their default values. | `swift.authurl` | Swift authurl | `nil` | | `swift.container` | Swift container | `nil` | | `nodeSelector` | node labels for pod assignment | `{}` | +| `affinity` | affinity settings | `{}` | | `tolerations` | pod tolerations | `[]` | | `ingress.enabled` | If true, Ingress will be created | `false` | | `ingress.annotations` | Ingress annotations | `{}` | @@ -72,6 +74,8 @@ their default values. | `ingress.path` | Ingress service path | `/` | | `ingress.hosts` | Ingress hostnames | `[]` | | `ingress.tls` | Ingress TLS configuration (YAML) | `[]` | +| `extraVolumeMounts` | Additional volumeMounts to the registry container | `[]` | +| `extraVolumes` | Additional volumes to the pod | `[]` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. diff --git a/charts/docker-registry/create-signed-cert.sh b/charts/docker-registry/create-k8s-ca-signed-cert.sh similarity index 97% rename from charts/docker-registry/create-signed-cert.sh rename to charts/docker-registry/create-k8s-ca-signed-cert.sh index 72a4bb291a3a1a794a8207d6fcf082e1916493c3..200b5f97e9e96bf03afd5a31bf374af7f18f0933 100755 --- a/charts/docker-registry/create-signed-cert.sh +++ b/charts/docker-registry/create-k8s-ca-signed-cert.sh @@ -51,7 +51,7 @@ while [[ $# -gt 0 ]]; do done [ -z ${service} ] && service=meep-docker-registry -[ -z ${secret} ] && secret=meep-docker-registry-certs +[ -z ${secret} ] && secret=meep-docker-registry [ -z ${namespace} ] && namespace=default [ -z ${certdir} ] && certdir=$(mktemp -d) diff --git a/charts/docker-registry/templates/NOTES.txt b/charts/docker-registry/templates/NOTES.txt old mode 100644 new mode 100755 index 16bcf538d35bc32837b34833073667a1f50ed916..4a9152b57ce82ce06513641fad7738ae8493597f --- a/charts/docker-registry/templates/NOTES.txt +++ b/charts/docker-registry/templates/NOTES.txt @@ -15,5 +15,5 @@ {{- else if contains "ClusterIP" .Values.service.type }} export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "docker-registry.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:5000 + kubectl -n {{ .Release.Namespace }} port-forward $POD_NAME 8080:5000 {{- end }} diff --git a/charts/docker-registry/templates/_helpers.tpl b/charts/docker-registry/templates/_helpers.tpl old mode 100644 new mode 100755 diff --git a/charts/docker-registry/templates/configmap.yaml b/charts/docker-registry/templates/configmap.yaml old mode 100644 new mode 100755 diff --git a/charts/docker-registry/templates/deployment.yaml b/charts/docker-registry/templates/deployment.yaml old mode 100644 new mode 100755 index 67f54a41911e4804440933d8676a0cd958621225..a146d763bc9b9cd3d5e732c560f30365f980d9f0 --- a/charts/docker-registry/templates/deployment.yaml +++ b/charts/docker-registry/templates/deployment.yaml @@ -1,4 +1,4 @@ -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "docker-registry.fullname" . }} @@ -8,6 +8,10 @@ metadata: release: {{ .Release.Name }} heritage: {{ .Release.Service }} spec: + selector: + matchLabels: + app: {{ template "docker-registry.name" . }} + release: {{ .Release.Name }} replicas: {{ .Values.replicaCount }} {{- if .Values.updateStrategy }} strategy: @@ -39,21 +43,6 @@ spec: securityContext: fsGroup: {{ .Values.securityContext.fsGroup }} runAsUser: {{ .Values.securityContext.runAsUser }} -{{- end }} -{{- if eq .Values.storage "filesystem" }} - initContainers: - - name: "chown" - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - command: - - /bin/sh - - -c - - chown -R 1000:1000 /var/lib/registry/ - securityContext: - runAsUser: 0 - volumeMounts: - - name: data - mountPath: /var/lib/registry/ {{- end }} containers: - name: {{ .Chart.Name }} @@ -186,7 +175,9 @@ spec: name: tls-cert readOnly: true {{- end }} - terminationGracePeriodSeconds: 5 +{{- with .Values.extraVolumeMounts }} + {{- toYaml . | nindent 12 }} +{{- end }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 8 }} @@ -225,3 +216,6 @@ spec: secret: secretName: {{ .Values.tlsSecretName }} {{- end }} +{{- with .Values.extraVolumes }} + {{- toYaml . | nindent 8 }} +{{- end }} diff --git a/charts/docker-registry/templates/ingress.yaml b/charts/docker-registry/templates/ingress.yaml old mode 100644 new mode 100755 index 6fdf784c0850d5cabfe0769a1c63c63879b15d93..7144712c3707a447071cf10f0a127ba21101fc9c --- a/charts/docker-registry/templates/ingress.yaml +++ b/charts/docker-registry/templates/ingress.yaml @@ -21,13 +21,15 @@ metadata: spec: rules: {{- range $host := .Values.ingress.hosts }} - - host: {{ $host }} - http: + - http: paths: - path: {{ $path }} backend: serviceName: {{ $serviceName }} servicePort: {{ $servicePort }} + {{- if $host }} + host: {{ $host }} + {{- end }} {{- end -}} {{- if .Values.ingress.tls }} tls: diff --git a/charts/docker-registry/templates/poddisruptionbudget.yaml b/charts/docker-registry/templates/poddisruptionbudget.yaml new file mode 100755 index 0000000000000000000000000000000000000000..38eb384021a1618e6ed142f6d60ea6e55828be65 --- /dev/null +++ b/charts/docker-registry/templates/poddisruptionbudget.yaml @@ -0,0 +1,17 @@ +{{- if .Values.podDisruptionBudget -}} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: {{ template "docker-registry.fullname" . }} + labels: + app: {{ template "docker-registry.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + selector: + matchLabels: + app: {{ template "docker-registry.name" . }} + release: {{ .Release.Name }} +{{ toYaml .Values.podDisruptionBudget | indent 2 }} +{{- end -}} diff --git a/charts/docker-registry/templates/pvc.yaml b/charts/docker-registry/templates/pvc.yaml old mode 100644 new mode 100755 index b592d4f72f5ebf7a43e1628248f2d88330b0a6e1..9b69dcbf0dce9a28c6661424eb5f9d0a73a75cee --- a/charts/docker-registry/templates/pvc.yaml +++ b/charts/docker-registry/templates/pvc.yaml @@ -1,4 +1,4 @@ -{{- if .Values.persistence.enabled}} +{{- if .Values.persistence.enabled }} {{- if not .Values.persistence.existingClaim -}} kind: PersistentVolumeClaim apiVersion: v1 diff --git a/charts/docker-registry/templates/secret.yaml b/charts/docker-registry/templates/secret.yaml old mode 100644 new mode 100755 diff --git a/charts/docker-registry/templates/service.yaml b/charts/docker-registry/templates/service.yaml old mode 100644 new mode 100755 diff --git a/charts/docker-registry/values.yaml b/charts/docker-registry/values.yaml old mode 100644 new mode 100755 index fc70ba439c6eceec7bcc152fb0255af032b3c37e..b4c6452dc9892a9c07b03f8a953f7417b6a0fe90 --- a/charts/docker-registry/values.yaml +++ b/charts/docker-registry/values.yaml @@ -20,6 +20,7 @@ image: # - name: docker service: name: registry + # type: ClusterIP type: NodePort # clusterIP: port: 5000 @@ -28,11 +29,12 @@ service: # foo.io/bar: "true" ingress: enabled: false - path: / + path: /registry(/|$)(.*) # Used to create an Ingress record. hosts: - - chart-example.local + - '' annotations: + # nginx.ingress.kubernetes.io/rewrite-target: /$2 # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} @@ -53,11 +55,11 @@ resources: {} # cpu: 100m # memory: 128Mi persistence: - enabled: true accessMode: 'ReadWriteOnce' reclaimPolicy: Retain + enabled: true size: 10Gi - location: "/docker-registry" + location: '' ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If set to "fullname", storageClassName: