Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tfs/controller
1 result
Show changes
Showing
with 543 additions and 19 deletions
...@@ -46,6 +46,7 @@ message AclMatch { ...@@ -46,6 +46,7 @@ message AclMatch {
uint32 dst_port = 6; uint32 dst_port = 6;
uint32 start_mpls_label = 7; uint32 start_mpls_label = 7;
uint32 end_mpls_label = 8; uint32 end_mpls_label = 8;
string tcp_flags = 9;
} }
message AclAction { message AclAction {
......
// Copyright 2022-2024 ETSI OSG/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.
syntax = "proto3";
package analytics_frontend;
import "context.proto";
import "kpi_manager.proto";
//import "kpi_sample_types.proto";
service AnalyticsFrontendService {
rpc StartAnalyzer (Analyzer ) returns (AnalyzerId ) {}
rpc StopAnalyzer (AnalyzerId ) returns (context.Empty) {}
rpc SelectAnalyzers(AnalyzerFilter) returns (AnalyzerList ) {}
}
message AnalyzerId {
context.Uuid analyzer_id = 1;
}
enum AnalyzerOperationMode {
ANALYZEROPERATIONMODE_BATCH = 0;
ANALYZEROPERATIONMODE_STREAMING = 1;
}
message Analyzer {
string algorithm_name = 1; // The algorithm to be executed
repeated kpi_manager.KpiId input_kpi_ids = 2; // The KPI Ids to be processed by the analyzer
repeated kpi_manager.KpiId output_kpi_ids = 3; // The KPI Ids produced by the analyzer
AnalyzerOperationMode operation_mode = 4; // Operation mode of the analyzer
// In batch mode...
float batch_min_duration_s = 5; // ..., min duration to collect before executing batch
float batch_max_duration_s = 6; // ..., max duration collected to execute the batch
uint64 batch_min_size = 7; // ..., min number of samples to collect before executing batch
uint64 batch_max_size = 8; // ..., max number of samples collected to execute the batch
}
message AnalyzerFilter {
// Analyzer that fulfill the filter are those that match ALL the following fields.
// An empty list means: any value is accepted.
// All fields empty means: list all Analyzers
repeated AnalyzerId analyzer_id = 1;
repeated string algorithm_names = 2;
repeated kpi_manager.KpiId input_kpi_ids = 3;
repeated kpi_manager.KpiId output_kpi_ids = 4;
//repeated kpi_sample_types.KpiSampleType kpi_sample_type = 5; // Not implemented
//repeated context.DeviceId device_id = 6; // Not implemented
//repeated context.EndPointId endpoint_id = 7; // Not implemented
//repeated context.ServiceId service_id = 8; // Not implemented
//repeated context.SliceId slice_id = 9; // Not implemented
//repeated context.ConnectionId connection_id = 10; // Not implemented
//repeated context.LinkId link_id = 11; // Not implemented
}
message AnalyzerList {
repeated Analyzer analyzer_list = 1;
}
...@@ -16,7 +16,7 @@ syntax = "proto3"; ...@@ -16,7 +16,7 @@ syntax = "proto3";
package device; package device;
import "context.proto"; import "context.proto";
import "monitoring.proto"; import "monitoring.proto"; // to be migrated to: "kpi_manager.proto"
service DeviceService { service DeviceService {
rpc AddDevice (context.Device ) returns (context.DeviceId ) {} rpc AddDevice (context.Device ) returns (context.DeviceId ) {}
...@@ -27,8 +27,8 @@ service DeviceService { ...@@ -27,8 +27,8 @@ service DeviceService {
} }
message MonitoringSettings { message MonitoringSettings {
monitoring.KpiId kpi_id = 1; monitoring.KpiId kpi_id = 1; // to be migrated to: "kpi_manager.KpiId"
monitoring.KpiDescriptor kpi_descriptor = 2; monitoring.KpiDescriptor kpi_descriptor = 2; // to be migrated to: "kpi_manager.KpiDescriptor"
float sampling_duration_s = 3; float sampling_duration_s = 3;
float sampling_interval_s = 4; float sampling_interval_s = 4;
} }
// Copyright 2022-2024 ETSI OSG/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.
syntax = "proto3";
package kpi_manager;
import "context.proto";
import "kpi_sample_types.proto";
service KpiManagerService {
rpc SetKpiDescriptor (KpiDescriptor ) returns (KpiId ) {}
rpc DeleteKpiDescriptor (KpiId ) returns (context.Empty ) {}
rpc GetKpiDescriptor (KpiId ) returns (KpiDescriptor ) {}
rpc SelectKpiDescriptor (KpiDescriptorFilter) returns (KpiDescriptorList ) {}
}
message KpiId {
context.Uuid kpi_id = 1;
}
message KpiDescriptor {
KpiId kpi_id = 1;
string kpi_description = 2;
kpi_sample_types.KpiSampleType kpi_sample_type = 3;
context.DeviceId device_id = 4;
context.EndPointId endpoint_id = 5;
context.ServiceId service_id = 6;
context.SliceId slice_id = 7;
context.ConnectionId connection_id = 8;
context.LinkId link_id = 9;
}
message KpiDescriptorFilter {
// KPI Descriptors that fulfill the filter are those that match ALL the following fields.
// An empty list means: any value is accepted.
// All fields empty means: list all KPI Descriptors
repeated KpiId kpi_id = 1;
repeated kpi_sample_types.KpiSampleType kpi_sample_type = 2;
repeated context.DeviceId device_id = 3;
repeated context.EndPointId endpoint_id = 4;
repeated context.ServiceId service_id = 5;
repeated context.SliceId slice_id = 6;
repeated context.ConnectionId connection_id = 7;
repeated context.LinkId link_id = 8;
}
message KpiDescriptorList {
repeated KpiDescriptor kpi_descriptor_list = 1;
}
// Copyright 2022-2024 ETSI OSG/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.
syntax = "proto3";
package kpi_value_api;
import "context.proto";
import "kpi_manager.proto";
service KpiValueAPIService {
rpc StoreKpiValues (KpiValueList) returns (context.Empty) {}
rpc SelectKpiValues (KpiValueFilter) returns (KpiValueList) {}
}
message KpiValue {
kpi_manager.KpiId kpi_id = 1;
context.Timestamp timestamp = 2;
KpiValueType kpi_value_type = 3;
}
message KpiValueList {
repeated KpiValue kpi_value_list = 1;
}
message KpiValueType {
oneof value {
int32 int32Val = 1;
uint32 uint32Val = 2;
int64 int64Val = 3;
uint64 uint64Val = 4;
float floatVal = 5;
string stringVal = 6;
bool boolVal = 7;
}
}
message KpiValueFilter {
repeated kpi_manager.KpiId kpi_id = 1;
repeated context.Timestamp start_timestamp = 2;
repeated context.Timestamp end_timestamp = 3;
}
...@@ -145,12 +145,12 @@ message SubsList { ...@@ -145,12 +145,12 @@ message SubsList {
} }
message AlarmDescriptor { message AlarmDescriptor {
AlarmID alarm_id = 1; AlarmID alarm_id = 1;
string alarm_description = 2; string alarm_description = 2;
string name = 3; string name = 3;
KpiId kpi_id = 4; KpiId kpi_id = 4;
KpiValueRange kpi_value_range = 5; KpiValueRange kpi_value_range = 5;
context.Timestamp timestamp = 6; context.Timestamp timestamp = 6;
} }
message AlarmID{ message AlarmID{
...@@ -170,5 +170,5 @@ message AlarmResponse { ...@@ -170,5 +170,5 @@ message AlarmResponse {
} }
message AlarmList { message AlarmList {
repeated AlarmDescriptor alarm_descriptor = 1; repeated AlarmDescriptor alarm_descriptor = 1;
} }
...@@ -12,12 +12,11 @@ ...@@ -12,12 +12,11 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
// protocol buffers documentation: https://developers.google.com/protocol-buffers/docs/proto3
syntax = "proto3"; syntax = "proto3";
package optical_attack_detector; package optical_attack_detector;
import "context.proto"; import "context.proto";
import "monitoring.proto"; import "monitoring.proto"; // to be migrated to: "kpi_manager.proto"
service OpticalAttackDetectorService { service OpticalAttackDetectorService {
...@@ -28,5 +27,5 @@ service OpticalAttackDetectorService { ...@@ -28,5 +27,5 @@ service OpticalAttackDetectorService {
message DetectionRequest { message DetectionRequest {
context.ServiceId service_id = 1; context.ServiceId service_id = 1;
monitoring.KpiId kpi_id = 2; monitoring.KpiId kpi_id = 2; // to be migrated to: "kpi_manager.KpiId"
} }
...@@ -15,13 +15,13 @@ ...@@ -15,13 +15,13 @@
syntax = "proto3"; syntax = "proto3";
package policy; package policy;
import "monitoring.proto"; import "monitoring.proto"; // to be migrated to: "kpi_manager.proto"
// Condition // Condition
message PolicyRuleCondition { message PolicyRuleCondition {
monitoring.KpiId kpiId = 1; monitoring.KpiId kpiId = 1; // to be migrated to: "kpi_manager.KpiId"
NumericalOperator numericalOperator = 2; NumericalOperator numericalOperator = 2;
monitoring.KpiValue kpiValue = 3; monitoring.KpiValue kpiValue = 3;
} }
// Operator to be used when comparing Kpis with condition values // Operator to be used when comparing Kpis with condition values
......
// Copyright 2022-2024 ETSI OSG/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.
syntax = "proto3";
package telemetry_frontend;
import "context.proto";
import "kpi_manager.proto";
service TelemetryFrontendService {
rpc StartCollector (Collector ) returns (CollectorId ) {}
rpc StopCollector (CollectorId ) returns (context.Empty) {}
rpc SelectCollectors(CollectorFilter) returns (CollectorList) {}
}
message CollectorId {
context.Uuid collector_id = 1;
}
message Collector {
CollectorId collector_id = 1; // The Collector ID
kpi_manager.KpiId kpi_id = 2; // The KPI Id to be associated to the collected samples
float duration_s = 3; // Terminate data collection after duration[seconds]; duration==0 means indefinitely
float interval_s = 4; // Interval between collected samples
}
message CollectorFilter {
// Collector that fulfill the filter are those that match ALL the following fields.
// An empty list means: any value is accepted.
// All fields empty means: list all Collectors
repeated CollectorId collector_id = 1;
repeated kpi_manager.KpiId kpi_id = 2;
}
message CollectorList {
repeated Collector collector_list = 1;
}
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
# RCFILE=$PROJECTDIR/coverage/.coveragerc
# coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# kpi_manager/tests/test_unitary.py
# python3 kpi_manager/tests/test_unitary.py
RCFILE=$PROJECTDIR/coverage/.coveragerc
CRDB_SQL_ADDRESS=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.clusterIP}')
export CRDB_URI="cockroachdb://tfs:tfs123@${CRDB_SQL_ADDRESS}:26257/tfs_kpi_mgmt?sslmode=require"
python3 -m pytest --log-level=DEBUG --log-cli-level=DEBUG --verbose \
kpi_manager/tests/test_kpi_db.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
# RCFILE=$PROJECTDIR/coverage/.coveragerc
# coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# kpi_manager/tests/test_unitary.py
# python3 kpi_manager/tests/test_unitary.py
RCFILE=$PROJECTDIR/coverage/.coveragerc
CRDB_SQL_ADDRESS=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.clusterIP}')
export CRDB_URI="cockroachdb://tfs:tfs123@${CRDB_SQL_ADDRESS}:26257/tfs_kpi_mgmt?sslmode=require"
python3 -m pytest --log-level=DEBUG --log-cli-level=DEBUG --verbose \
kpi_manager/tests/test_kpi_manager.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
RCFILE=$PROJECTDIR/coverage/.coveragerc
CRDB_SQL_ADDRESS=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.clusterIP}')
export CRDB_URI="cockroachdb://tfs:tfs123@${CRDB_SQL_ADDRESS}:26257/tfs_kpi_mgmt?sslmode=require"
python3 -m pytest --log-level=DEBUG --log-cli-level=DEBUG --verbose \
kpi_value_writer/tests/test_metric_writer_to_prom.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
RCFILE=$PROJECTDIR/coverage/.coveragerc
# helpful pytest flags: --log-level=INFO -o log_cli=true --verbose --maxfail=1 --durations=0
python3 -m pytest --log-level=DEBUG --log-cli-level=DEBUG -o log_cli=true --verbose \
kpi_value_api/tests/test_kpi_value_api.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
RCFILE=$PROJECTDIR/coverage/.coveragerc
python3 -m pytest --log-level=DEBUG --log-cli-level=DEBUG --verbose \
kpi_value_writer/tests/test_kpi_value_writer.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
# RCFILE=$PROJECTDIR/coverage/.coveragerc
# coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# kpi_manager/tests/test_unitary.py
RCFILE=$PROJECTDIR/coverage/.coveragerc
python3 -m pytest --log-cli-level=INFO --verbose \
telemetry/database/tests/telemetryDBtests.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
# RCFILE=$PROJECTDIR/coverage/.coveragerc
# coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# kpi_manager/tests/test_unitary.py
# python3 kpi_manager/tests/test_unitary.py
RCFILE=$PROJECTDIR/coverage/.coveragerc
python3 -m pytest --log-level=INFO --log-cli-level=INFO --verbose \
telemetry/backend/tests/testTelemetryBackend.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
# RCFILE=$PROJECTDIR/coverage/.coveragerc
# coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# kpi_manager/tests/test_unitary.py
# python3 kpi_manager/tests/test_unitary.py
RCFILE=$PROJECTDIR/coverage/.coveragerc
python3 -m pytest --log-level=INFO --log-cli-level=INFO --verbose \
telemetry/frontend/tests/test_frontend.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
PROJECTDIR=`pwd`
cd $PROJECTDIR/src
# RCFILE=$PROJECTDIR/coverage/.coveragerc
# coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# kpi_manager/tests/test_unitary.py
RCFILE=$PROJECTDIR/coverage/.coveragerc
python3 -m pytest --log-cli-level=INFO --verbose \
telemetry/database/tests/managementDBtests.py
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
########################################################################################################################
# Define your deployment settings here
########################################################################################################################
# If not already set, set the name of the Kubernetes namespace to deploy to.
export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
########################################################################################################################
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/kpi-managerservice -c server
#!/bin/bash
# Copyright 2022-2024 ETSI OSG/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.
########################################################################################################################
# Define your deployment settings here
########################################################################################################################
# If not already set, set the name of the Kubernetes namespace to deploy to.
export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"}
########################################################################################################################
# Automated steps start here
########################################################################################################################
kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/kpi-value-apiservice -c server