diff --git a/hackfest5/deploy_specs.sh b/hackfest5/deploy_specs.sh index 41226ca5cb0271774b4e396256076edfa00ca328..ca181e9b47e0e124fb707fcd8cd3a926e589b014 100755 --- a/hackfest5/deploy_specs.sh +++ b/hackfest5/deploy_specs.sh @@ -20,7 +20,6 @@ export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/" # Set the list of components, separated by spaces, you want to build images for, and deploy. -#export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_generator" export TFS_COMPONENTS="context device pathcomp service nbi webui" # Uncomment to activate Monitoring (old) @@ -66,6 +65,12 @@ export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" # Uncomment to activate E2E Orchestrator #export TFS_COMPONENTS="${TFS_COMPONENTS} e2e_orchestrator" +# Uncomment to activate VNT Manager +#export TFS_COMPONENTS="${TFS_COMPONENTS} vnt_manager" + +# Uncomment to activate OSM Client +#export TFS_COMPONENTS="${TFS_COMPONENTS} osm_client" + # Uncomment to activate DLT and Interdomain #export TFS_COMPONENTS="${TFS_COMPONENTS} interdomain dlt" #if [[ "$TFS_COMPONENTS" == *"dlt"* ]]; then @@ -84,6 +89,15 @@ export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" # export TFS_COMPONENTS="${BEFORE} qkd_app service ${AFTER}" #fi +# Uncomment to activate SIMAP Connector +#export TFS_COMPONENTS="${TFS_COMPONENTS} simap_connector" + +# Uncomment to activate Load Generator +#export TFS_COMPONENTS="${TFS_COMPONENTS} load_generator" + +# Uncomment to activate Pluggables Component +#export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" + # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" @@ -154,6 +168,22 @@ export NATS_DEPLOY_MODE="single" export NATS_REDEPLOY="" +# ----- Apache Kafka ----------------------------------------------------------- + +# Set the namespace where Apache Kafka will be deployed. +export KFK_NAMESPACE="kafka" + +# Set the port Apache Kafka server will be exposed to. +export KFK_EXT_PORT_CLIENT="9092" + +# Set Kafka installation mode to 'single'. This option is convenient for development and testing. +# See ./deploy/all.sh or ./deploy/kafka.sh for additional details +export KFK_DEPLOY_MODE="single" + +# Disable flag for re-deploying Kafka from scratch. +export KFK_REDEPLOY="" + + # ----- QuestDB ---------------------------------------------------------------- # Set the namespace where QuestDB will be deployed. @@ -187,6 +217,14 @@ export QDB_DROP_TABLES_IF_EXIST="YES" export QDB_REDEPLOY="" +# ----- Time Series Storage - Prometheus / Grafana Mimir ----------------------- + +# Set Time Series Storage installation mode to 'single' (i.e., Prometheus only). +# This option is convenient for development and testing. See ./deploy/all.sh or +# ./deploy/monitoring.sh for additional details. +export TSDB_DEPLOY_MODE="single" + + # ----- K8s Observability ------------------------------------------------------ # Set the external port Prometheus Mgmt HTTP GUI interface will be exposed to. @@ -196,13 +234,7 @@ export PROM_EXT_PORT_HTTP="9090" export GRAF_EXT_PORT_HTTP="3000" -# ----- Apache Kafka ----------------------------------------------------------- - -# Set the namespace where Apache Kafka will be deployed. -#export KFK_NAMESPACE="kafka" - -# Set the port Apache Kafka server will be exposed to. -#export KFK_SERVER_PORT="9092" +# ----- Telemetry Config ------------------------------------------------------ -# Set the flag to YES for redeploying of Apache Kafka -#export KFK_REDEPLOY="" +# Define a Load Balancer IP for Telemetry Collector components +export LOAD_BALANCER_IP="192.168.5.250" # <-- Change this to match your network diff --git a/hackfest5/redeploy-tfs.sh b/hackfest5/redeploy-tfs.sh index bb02b4e5edfec0e3d6928742f66dff2f1e766ca3..8eefccc1eeec939c8f3c0a3a895a7344f849d2c2 100755 --- a/hackfest5/redeploy-tfs.sh +++ b/hackfest5/redeploy-tfs.sh @@ -21,7 +21,7 @@ kubectl delete namespace ${NATS_NAMESPACE} --ignore-not-found kubectl delete namespace kafka --ignore-not-found printf "\n" -echo "Deployting TeraFlowSDN..." +echo "Deploying TeraFlowSDN..." # Deploy CockroachDB ./deploy/crdb.sh @@ -32,6 +32,12 @@ echo "Deployting TeraFlowSDN..." # Deploy QuestDB ./deploy/qdb.sh +# Deploy Apache Kafka +./deploy/kafka.sh + +#Deploy Monitoring (Prometheus Gateway, Prometheus) +# ./deploy/monitoring.sh + # Expose Dashboard ./deploy/expose_dashboard.sh @@ -50,3 +56,5 @@ while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c done kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server printf "\n" + +echo "Done!" diff --git a/hackfest5/service-ietf-create.sh b/hackfest5/service-ietf-create.sh new file mode 100755 index 0000000000000000000000000000000000000000..d61d93ec2eeec8b3227ab4bdd36d37a46b1b059f --- /dev/null +++ b/hackfest5/service-ietf-create.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# 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. + +cd ~/tfs-ctrl/hackfest5/data +curl -X POST \ + --header "Content-Type: application/json" \ + --data @ietf-l3vpn-service.json \ + --user "admin:admin" \ + http://127.0.0.1/restconf/data/ietf-l3vpn-svc:l3vpn-svc/vpn-services diff --git a/hackfest5/service-ietf-delete.sh b/hackfest5/service-ietf-delete.sh new file mode 100755 index 0000000000000000000000000000000000000000..0eb9468bc136d875017519dac98b661836da999d --- /dev/null +++ b/hackfest5/service-ietf-delete.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# 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. + +curl -X DELETE --user "admin:admin" \ + http://127.0.0.1/restconf/data/ietf-l3vpn-svc:l3vpn-svc/vpn-services/vpn-service=ietf-l3vpn-svc/ diff --git a/hackfest5/service-ietf-retrieve.sh b/hackfest5/service-ietf-retrieve.sh new file mode 100755 index 0000000000000000000000000000000000000000..33e614742a920e7fb15840a318f6966692d1a610 --- /dev/null +++ b/hackfest5/service-ietf-retrieve.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# 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. + +curl \ + --user "admin:admin" \ + http://127.0.0.1/restconf/data/ietf-l3vpn-svc:l3vpn-svc/vpn-services/vpn-service=ietf-l3vpn-svc/