[ARM] Metric not found after using list metric definition

We are consuming metrics for different resources.
The way we do it is by first listing the metrics

  def listMetricsV2(resourceId: String): Future[ResourceMetrics] =
    Source
      .fromPublisher[MetricDefinition](
        underlying
          .listByResourceAsync(resourceId)
          .timeout(Duration.ofSeconds(5))
          .retryWhen(AzureClient.retrySpec)
      )
      .runFold(List.empty[MetricDefinition])(_ :+ _)
      .map(metricDefinitions =>
        ResourceMetrics(
          resourceId,
          metricDefinitions.map { metric =>
            metric.name.value -> metric
          }.toMap,
        )
      )

and then with those metrics, we query specific ones.
....
    val datapointsF: Future[Map[Instant, Double]] = metrics
      .get(metricName)
      .map { metric =>
        val query = metric
          .defineQuery()
          .startingFrom(OffsetDateTime.ofInstant(start, ZoneId.systemDefault()))
          .endsBefore(OffsetDateTime.ofInstant(end, ZoneId.systemDefault()))
          .withAggregation(aggregation.entryName)
          .withInterval(Duration.ofSeconds(period))
      }.getOrElse {
        log.debug("Requested metric was not under Azure available ones")
        }

...

So with the metric present in the listMetric response, we are getting the following errors.
com.azure.core.management.exception.ManagementException: Status code 400, "{"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Web, resource Type: serverfarms, metric: DiskQueueLength, Valid metrics: "}"

SDK Version:
"com.azure.resourcemanager" % "azure-resourcemanager"                  % "2.42.0"

@v-hongli1 Please see if you can reproduce. The resource for the monitor metrics should be AppServicePlan.

I think it happens for different services
com.azure.core.management.exception.ManagementException: Status code 400, "{"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Sql, resource Type: servers/databases, metric: dtu_consumption_percent, Valid metrics: cpu_percent,physical_data_read_percent,connection_successful,connection_failed,connection_failed_user_error,blocked_by_firewall,availability,ledger_digest_upload_success,ledger_digest_upload_failed"}"

Here is the example on how dtu_consumption_percent exists on the listMetrics response but failed when try to query the values

@jsarrelli
I reproduced your problem with a Java test case. By analyzing the exception information and combining it with the Azure Portal example, I think the setting value of .withAggregation(aggregation.entryName) is incorrect.
The parameters that can be set for Aggregation are as follows:

@

I think it happens for different services
com.azure.core.management.exception.ManagementException: Status code 400, "{"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Sql, resource Type: servers/databases, metric: dtu_consumption_percent, Valid metrics: cpu_percent,physical_data_read_percent,connection_successful,connection_failed,connection_failed_user_error,blocked_by_firewall,availability,ledger_digest_upload_success,ledger_digest_upload_failed"}"

Here is the example on how dtu_consumption_percent exists on the listMetrics response but failed when try to query the values

The available aggregations for each metric in Microsoft.Sql/servers/databases are not exactly the same, so it is necessary to filter the metrics by the available aggregations.

We are consuming metrics for different resources. The way we do it is by first listing the metrics

  def listMetricsV2(resourceId: String): Future[ResourceMetrics] =
    Source
      .fromPublisher[MetricDefinition](
        underlying
          .listByResourceAsync(resourceId)
          .timeout(Duration.ofSeconds(5))
          .retryWhen(AzureClient.retrySpec)
      )
      .runFold(List.empty[MetricDefinition])(_ :+ _)
      .map(metricDefinitions =>
        ResourceMetrics(
          resourceId,
          metricDefinitions.map { metric =>
            metric.name.value -> metric
          }.toMap,
        )
      )

and then with those metrics, we query specific ones.
....
    val datapointsF: Future[Map[Instant, Double]] = metrics
      .get(metricName)
      .map { metric =>
        val query = metric
          .defineQuery()
          .startingFrom(OffsetDateTime.ofInstant(start, ZoneId.systemDefault()))
          .endsBefore(OffsetDateTime.ofInstant(end, ZoneId.systemDefault()))
          .withAggregation(aggregation.entryName)
          .withInterval(Duration.ofSeconds(period))
      }.getOrElse {
        log.debug("Requested metric was not under Azure available ones")
        }

...

So with the metric present in the listMetric response, we are getting the following errors.
com.azure.core.management.exception.ManagementException: Status code 400, "{"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Web, resource Type: serverfarms, metric: DiskQueueLength, Valid metrics: "}"

SDK Version: "com.azure.resourcemanager" % "azure-resourcemanager" % "2.42.0"

The aggregation of Microsoft.Web/serverfarms only supports "None", "Average", "Minimum", "Maximum", "Total", "Count"

The interval of Microsoft.Web/serverfarms only supports PT1M, PT5M, PT15M, PT30M, PT1H, PT6H, PT12H, and P1D.

Please confirm that the values of Aggregation and Interval in the above code are correct.

In both cases, I'm aggregating by Average using a PT1M time grain

@jsarrelli
1.
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = cpu_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = physical_data_read_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = log_write_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = storage
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = connection_successful
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Total,Count
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = connection_failed
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Total,Count
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = connection_failed_user_error
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Total,Count
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = blocked_by_firewall
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Total,Count
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = availability
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = deadlock
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Total,Count
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = storage_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = xtp_storage_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = workers_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = sessions_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = sessions_count
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = cpu_limit
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = cpu_used
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = sqlserver_process_core_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = sqlserver_process_memory_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = sql_instance_cpu_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = sql_instance_memory_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = tempdb_data_size
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = tempdb_log_size
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = tempdb_log_used_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = app_cpu_billed
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Total
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = app_cpu_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = app_memory_percent
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = allocated_data_storage
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = full_backup_size_bytes
The intervals of metric = PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = diff_backup_size_bytes
The intervals of metric = PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = log_backup_size_bytes
The intervals of metric = PT24H
The supported aggregation types = Average,Maximum,Minimum
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = ledger_digest_upload_success
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Count
********************************************************************
The namespace of metric = Microsoft.Sql/servers/databases
The name of metric = ledger_digest_upload_failed
The intervals of metric = PT1M,PT5M,PT15M,PT30M,PT1H,PT6H,PT12H,PT24H
The supported aggregation types = Count
********************************************************************

The above are the valid combinations of time granularity and aggregation for each metric of Microsoft.Sql/servers/databases, so for this service, the combination of time granularity PT1M and aggregation Average is not applicable to all metrics.

Could you provide a more complete error message for Microsoft.Web/serverfarms ?


Thundering Herd Of Duplicate (?) Observations Queries on Startup

Starting the app with LOG_LEVEL=trace nets a lot of chatter.

 INFO  [2023-10-16T14:56:43.106Z] TRACE prefetching
 INFO  [2023-10-16T14:56:43.107Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.107Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.107Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.107Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.363Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:43.365Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:43.369Z] TRACE prefetching
 INFO  [2023-10-16T14:56:43.370Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.372Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.373Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.374Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.641Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:43.644Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:43.649Z] TRACE prefetching
 INFO  [2023-10-16T14:56:43.650Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.652Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.653Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.654Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.924Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:43.926Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:43.931Z] TRACE prefetching
 INFO  [2023-10-16T14:56:43.932Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.934Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:43.935Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:43.936Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:44.200Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:44.201Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:44.201Z] TRACE prefetching
 INFO  [2023-10-16T14:56:44.202Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:44.202Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:44.202Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:44.202Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:44.456Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:44.458Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:44.463Z] TRACE prefetching
 INFO  [2023-10-16T14:56:44.465Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:44.466Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:44.468Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:44.468Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:44.735Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:44.737Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:44.743Z] TRACE prefetching
 INFO  [2023-10-16T14:56:44.745Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:44.746Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:44.748Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:44.749Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:45.010Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:45.012Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:45.017Z] TRACE prefetching
 INFO  [2023-10-16T14:56:45.019Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:45.020Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]
 INFO  [2023-10-16T14:56:45.022Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:45.022Z] TRACE sending request data: "{\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\n  getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}"
 INFO  [2023-10-16T14:56:45.299Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:45.301Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n    query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n  ge...\""
 INFO  [2023-10-16T14:56:45.307Z] TRACE prefetching
 INFO  [2023-10-16T14:56:45.308Z] DEBUG fetchNACObservations {
  "center": "SNFAC",
  "startDate": "2023-10-02",
  "endDate": "2023-10-16"
} query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}]

This is with
$ LOG_LEVEL=trace npx expo start --go --clear

And a fresh query cache.

Actually this seems to go on forever?

does this repro with NWAC? would be good to understand if it's specific to the code in useNACObservations.ts, or if the problem lies outside there.

this didn't immediately repro for me with SNFAC in that it didn't go on forever, but it did repeat twice. weird.

Capturing startup logs, I see 53 duplicate calls for observations for SNFAC and none for NWAC.


[Android] Not able to pass through a variable as the size definition

When I use a number for the size it works fine, but using a variable causes errors.
When I run it on Android I get this error:
"Error while updating property 'size' of a view managed by: RNSpinkit"
Here is the relative code:
var deviceWidth = Dimensions.get('window').width;
var deviceHeight = Dimensions.get('window').height;

var smallSpinner = deviceWidth/2;
var largeSpinner = deviceWidth/1.75;

<Spinner type='Bounce' color='#ffffff' size={largeSpinner}/>
<Spinner type='Bounce' color='#ffffff' size={smallSpinner}/>

The same happens when using states:
getInitialState() {
        return {
            smallSpinner: deviceWidth/2,
            largeSpinner: deviceWidth/1.75
        }
    },

<Spinner type='Bounce' color='#ffffff' size={this.state.largeSpinner}/>
<Spinner type='Bounce' color='#ffffff' size={this.state.smallSpinner}/>

This works fine on iOS.

Hi @bsinc , I've located the problem, this error happens when you're using a float number for the size.
I'll try to make a pull request to fix it, and you may use parseInt before passing the value to component for this moment :)


[UI] One tab from task title to task content

For now, skipping from a task title field to the task content field needs 3 tabs, because of “write” and “preview” options. I suggest to focus to the task’s content textarea directly givent the importance of this field.

The tab index order for task forms is now improved in the master branch. You can switch between form fields in one tab.


Support of axum v 0.7

Could you please add compatibility with axum v 0.7 that was recently released?

release a version 0.13 at https://crates.io/crates/aide?


RESEARCH carbon emissions per bar of chocolate

1.67 kgCO2eq per kg of dark chocolate
4.19 kgCO2eq per kg of milk chocolate
4.1 kgCO2eq per kg of white chocolate
Source

1 bar of chocolate is 100 g


[EP-410] QA Property Fixes (phase_one)

📲 What
Addressing some properties that were flagged as incorrect during QA for phase one of our Segment implementation.
🤔 Why
Most of these are type changes from a number to a string or vice-versa.

SwiftFormat found issues:

File
Rules

Library/Tracking/KSRAnalytics.swift
unusedArguments

  Generated by :no_entry_sign: Danger


[Snyk] Upgrade org.apache.kafka:connect-json from 3.8.0 to 3.9.0

Snyk has created this PR to upgrade org.apache.kafka:connect-json from 3.8.0 to 3.9.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.

The recommended version was released on 22 days ago.

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Fails

:no_entry_sign:

PR Title '[Snyk] Upgrade org.apache.kafka:connect-json from 3.8.0 to 3.9.0': subject may not be empty, type may not be empty

Warnings

:warning:

Commit Message 'fix: upgrade org.apache.kafka:connect-json from 3.8.0 to 3.9.0
Snyk has created this PR to upgrade org.apache.kafka:connect-json from 3.8.0 to 3.9.0.
See this package in maven:
org.apache.kafka:connect-json
See this project in Snyk:
https://app.snyk.io/org/connectors-0mk/project/9988ad9d-ab92-48ba-bc21-ddf26bc88fcf?utm_source=github&utm_medium=referral&page=upgrade-pr': body's lines must not be longer than 100 characters

Pull request title should follow Conventional commits.

  Generated by :no_entry_sign: dangerJS against ca953a7230b29340a003f3056cfcad6912c2b3d2


kernel: Turn on TCP_CONG_ADVANCED which allows TCP BBR to be a module.

It looks like TCP_CONG_ADVANCED gates the TCP BBR module.
Motivation for this change
This allows people to use the TCP BBR module by twiddling sysctl. Without this, they are required to rebuild the entire kernel. I personally want to use TCP BBR which is why I'm adding this change.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Which kernel were you testing? NixOS 18.09's Linux 4.14 seems to include BBR:
[root@hydra:~]# sysctl net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr

[root@hydra:~]# sysctl -a | grep cong
net.ipv4.tcp_allowed_congestion_control = bbr reno
net.ipv4.tcp_available_congestion_control = bbr reno
net.ipv4.tcp_congestion_control = bbr

[root@hydra:~]# ls -l /nix/store/jbkvclfhacpzn0xhpn1w5552zyj0892q-linux-4.14.76/lib/modules/4.14.76/kernel/net/ipv4/tcp_bbr.ko.xz
-r--r--r-- 1 root root 4272 Jan  1  1970 /nix/store/jbkvclfhacpzn0xhpn1w5552zyj0892q-linux-4.14.76/lib/modules/4.14.76/kernel/net/ipv4/tcp_bbr.ko.xz

Hmmm - 4.18 doesn't seem to have it enabled.
% uname -r                                                                                ~
4.18.12
% sudo sysctl -a | grep cong                                                                      ~
net.ipv4.tcp_allowed_congestion_control = reno
net.ipv4.tcp_available_congestion_control = reno
net.ipv4.tcp_congestion_control = reno
% sudo sysctl net.ipv4.tcp_congestion_control=bbr                                                 ~
sysctl: setting key "net.ipv4.tcp_congestion_control": No such file or directory
net.ipv4.tcp_congestion_control = bbr

Any update? Should I write a test to cover this?

@c00w still needed? or close and solve with going to 4.19?

I'm on 19.03 with the default kernel and I'm getting this:
uname -r
4.19.34

sudo sysctl -a | grep cong
net.ipv4.tcp_allowed_congestion_control = reno
net.ipv4.tcp_available_congestion_control = reno
net.ipv4.tcp_congestion_control = reno

So, this still seems to be an issue.

I am using nixpkgs master with the hardened 4.19 kernel and
  boot.kernel.sysctl = {
    "net.core.default_qdisc"             = "fq";
    "net.ipv4.tcp_congestion_control"    = "bbr";
  };

works fine for me.
net.ipv4.tcp_allowed_congestion_control = reno bbr
net.ipv4.tcp_available_congestion_control = reno bbr
net.ipv4.tcp_congestion_control = bbr

You're right, seems like I just didn't have the module loaded, sorry.

Seems to be working with 5.0.3. I'll drop the PR
colin@akira ~ % uname -r                                                     ~
5.0.3
colin@akira ~ % modprobe tcp_bbr                                             ~
colin@akira ~ % sudo sysctl -a | grep cong                                   ~
net.ipv4.tcp_allowed_congestion_control = reno bbr
net.ipv4.tcp_available_congestion_control = reno bbr
net.ipv4.tcp_congestion_control = bbr


Document SCIP.jl within the JuliaOpt homepage

It's not currently listed in the table, or the overview figure.

Just needs a PR at https://github.com/JuliaOpt/juliaopt.github.io. The overview figure is old though, not sure what exactly to do with it.

I figured, but was busy now and wanted a reminder for later.
Manually adjusting the figure probably isn't worth it, but maybe it could be generated somehow using Plots.jl or Compose.jl...

fixed with PR #39.


fix: Consider WorkflowTemplate metadata during validation

Fixes https://github.com/argoproj/argo/issues/3989

Backported to 2.10 and 2.11


VSCode window always crashed.

VS Code Version: 1.55.1
OS Version: macOS Big Sur 11.2 (Darwin x64 20.3.0)

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

I am seeing this as well with my M1 Mac running BigSur. This happens any time a device is removed and it had a file that VS Code has open.

Please collect a crash report using these instructions: https://github.com/microsoft/vscode/wiki/Native-Crash-Issues


Add an option to skip libusb_interface_alt_setting in FlashAction

This should make it possible to flash phones like the Samsung Galaxy Ace I (Gt-S5830I) that otherwise fail to set up an interface
This should fix #278 , I was able to push a custom recovery using this patch and running heimdall flash --dont_set_libusb_interface_alt_setting --boot <image>

Just for the record (as an alternative fix), in the fork I maintain for alpine linux I opted for always skipping libusb_set_interface_alt_setting if there are no alt settings: https://git.sr.ht/~grimler/Heimdall/commit/2ecc98020c607631d1371c8596d20cce84586047


fix(n-menu): wai-aria role setting error of submenu

closes #5729

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 60.93%. Comparing base (2f4cd55) to head (e1ea7f4).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5730   +/-   ##
=======================================
  Coverage   60.93%   60.93%
=======================================
  Files        1125     1125
  Lines       23894    23894
  Branches     6248     6248
=======================================
  Hits        14561    14561
  Misses       7717     7717
  Partials     1616     1616

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


updated naming conventions for rss in bicep and generated a new bicepparam.

updated naming conventions for rss in bicep and generated a new bicepparam.

Wrong repo, sorry.


Remove all references to target attributes

We still have a lot of references to target attributes in the site, here's a full list:
$ grep -r "target\." .
./_docs/tasks/rate-limiting.md:  label1: target.service
./_docs/tasks/rate-limiting.md:When a request arrives at Mixer with `target.service=ratings` it forms the following counter key.
./_docs/tasks/rate-limiting.md:Using `target.service` in the counter key enables independent rate limits for every service.
./_docs/tasks/rate-limiting.md:In absence of `target.service` as part of the key, the same counter location is used by all services resulting in
./_docs/tasks/metrics-logs.md:new rule requests that the value be taken from the `target.labels["app"]`
./_docs/concepts/policy-and-control/attributes.md:	target.service: example
./_docs/concepts/policy-and-control/mixer-config.md:        target: target.name
./_docs/concepts/policy-and-control/mixer-config.md:  target: target.name
./_docs/concepts/policy-and-control/mixer-config.md:  service: api.name | target.name
./_docs/concepts/policy-and-control/mixer-config.md:is not defined, it will be assigned the value of the target.name attribute.
./_docs/concepts/policy-and-control/mixer-config.md:- selector: target.service == "MyService"
./_docs/concepts/policy-and-control/mixer-config.md:        target: target.name
./_docs/concepts/policy-and-control/mixer-config.md:`target.service` attributes equals "MyService". If the expression returns `true`, then
./_docs/concepts/policy-and-control/mixer-config.md:      target.name:
./_docs/concepts/policy-and-control/mixer-aspect-config.md:          label1: target.service
./_docs/concepts/policy-and-control/mixer-aspect-config.md:          label1: target.service
./_docs/reference/writing-config.md:  target: target.service
./_docs/reference/writing-config.md:    target: target.service
./_docs/reference/writing-config.md:    target: target.service
./_docs/reference/contribute/writing-a-new-topic.md:  Adding this include statement is what defines the `home` variable that is used in the link target.
./_docs/reference/config/mixer/aspects/attributes.md:      tgtIP: target.ip | "unknown"
./_docs/reference/config/mixer/mixer-config.md:      targetServiceName: target.service
./_docs/reference/config/mixer/mixer-config.md:
target.service == ratings* selects any request targeting a service whose name starts with "ratings"

./_docs/reference/config/mixer/mixer-config.md:- selector: target.service == "*"

The reference docs should be corrected in the protos in the https://github.com/istio/api repo. All of the other references should be updated here in this repo.
Additionally, we should audit our verbage: in a lot of places we say things like:
./_docs/concepts/network-and-auth/auth.md:*   Secure Naming: during the handshake process, the client side Envoy checks that the service account provided by the server side certificate is allowed to run the target service

This really should be updated to say "destination service" instead. However, we can't just blindly sed s/target/destination as other occurrences make sense to keep target.

See comment here: https://github.com/istio/istio.github.io/pull/473/files#r139961297


implement GithubProject.pr_close()

Hi,
i have implemented GithubProject.pr_close(). integration test included. Working on unit test.

recheck

recheck

rebase done

/packit copr-build


ReversingLabs TitaniumScale: New App

Please ensure your pull request (PR) adheres to the following guidelines:

Please refer to our contributing documentation for any questions on submitting a pull request, link: Contribution Guide

Pull Request Checklist
Please check if your PR fulfills the following requirements:

[x] Testing of all the changes has been performed (for bug fixes / features)
[ ] The readme.html has been reviewed and added / updated if needed (for bug fixes / features)
[x] Use the following format for the PR description: <App Name>: <PR Type> - <PR Description>
[x] Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
[ ] Verify all checks are passing.
[ ] Do NOT use the next branch of the forked repo. Create separate feature branch for raising the PR.
[ ] Do NOT submit updates to dependencies unless it fixes an issue.

Pull Request Type
Please check the type of change your PR introduces:

[x] New App
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation
[ ] Other (please describe):

Security Considerations (REQUIRED)

[ ] If you are exposing any endpoints using a REST handler,
please document them in the readme.html.
[ ] If this is a new connector or you are adding new actions

[ ] Please document in the readme.html all methods (eg, OAuth) used to authenticate
with the service that the connector is integrating with.
[ ] If any actions are unable to run on SOAR Cloud, please document this in the readme.html.

[ ] Are you introducing any new cryptography modules? If yes, please elaborate their purpose:
[x] Are you are accessing the file system? If yes, please verify that you are only accessing paths returned through
the Vault API.
[ ] Are you are marking code to be ignored by Semgrep with nosemgrep?
If yes, please provide justification in an additional comment next to the ignored code.

Release Notes (REQUIRED)

Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.

What is the current behavior? (OPTIONAL)

Describe the current behavior that you are modifying.

What is the new behavior? (OPTIONAL)

Describe the behavior or changes that are being added by this PR.

Other information (OPTIONAL)

Any other information that is important to this PR such as screenshots of how the component looks before and after the change.

Pay close attention to (OPTIONAL)

Any specific code change or test case points which must be addressed/reviewed at the time of GA release.

Screenshots (if relevant)

Thanks for contributing!

This app will deprecate the old https://github.com/splunk-soar-connectors/reversinglabs-tiscale
Until we deprecate (in a few months) the old one we would like to have a redirecting banner on the old one to point to this one.

@ivukovicRL, I am still getting the below error while pushing the code:
remote: Permission to reversinglabs/reversinglabstitaniumscale.git denied to achandya-crest.
fatal: unable to access 'https://github.com/reversinglabs/reversinglabstitaniumscale.git/': The requested URL returned error: 403


qa: pick a js standard and just comply

Easier to just comply to a standard and make it all awesome.
Standard: semistandard - because without semicolons function piping becomes hard to decipher.
Changes made to comply with the standard:

remove trailing comma
space between class method name and input signature
no block padding
no multi-space to align comments
semicolons everywhere

You will have a linter to add later ?

I have linters ready for both py and js, am still figuring out hadolint

is this not applicable to classes?

not class {} and not function {} because those are declarations, also not things like blocks if (test) { }. But const a = function(){}; is an expression so there yes.


无法正确部署

在vercel的deploy页面出现错误：“Error: Command "yarn run build" exited with 1”
日志如下：
‘[20:50:28.995] Cloning github.com/Bssn520/NotionNext2 (Branch: main, Commit: 81da5ae)
[20:50:29.133] Previous build cache not available
[20:50:29.788] Cloning completed: 792.31ms
[20:50:29.968] Running "vercel build"
[20:50:30.526] Vercel CLI 28.14.1
[20:50:30.908] Installing dependencies...
[20:50:31.286] yarn install v1.22.17
[20:50:31.345] info No lockfile found.
[20:50:31.357] [1/4] Resolving packages...
[20:50:37.568] warning react-notion-x > react-use > nano-css ><EMAIL_ADDRESS>Please use @jridgewell/sourcemap-codec instead
[20:50:38.586] warning valine > leancloud-storage ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
[20:50:38.640] warning valine > leancloud-storage > leancloud-realtime ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
[20:50:38.649] warning valine > leancloud-storage ><EMAIL_ADDRESS>Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at https://github.com/visionmedia/superagent/releases.
[20:50:38.749] warning valine > leancloud-storage > superagent ><EMAIL_ADDRESS>Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
[20:50:39.199] warning valine > leancloud-storage > leancloud-realtime > @leancloud/platform-adapters-node > @leancloud/adapters-superagent ><EMAIL_ADDRESS>Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at https://github.com/visionmedia/superagent/releases.
[20:50:39.203] warning valine > leancloud-storage > leancloud-realtime > @leancloud/platform-adapters-node > @leancloud/adapters-superagent > superagent ><EMAIL_ADDRESS>Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
[20:50:39.824] warning @waline/client > vue > @vue/compiler-sfc > magic-string ><EMAIL_ADDRESS>Please use @jridgewell/sourcemap-codec instead
[20:50:42.056] [2/4] Fetching packages...
[20:51:20.420] [3/4] Linking dependencies...
[20:51:20.423] warning "gitalk ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 0.14.x || 15.x.x".
[20:51:20.423] warning "gitalk ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 0.14.x || 15.x.x".
[20:51:20.424] warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0 || ^17.0.0".
[20:51:20.424] warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>[20:51:20.424] warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>[20:51:20.425] warning "react-facebook ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 16.x".
[20:51:20.425] warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0-0 || ^16.0.0-0".
[20:51:20.426] warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
[20:51:20.426] warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
[20:51:20.426] warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
[20:51:20.429] warning "react-notion-x > react-lazy-images ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0 || ^17.0.0".
[20:51:20.429] warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^5.0.0".
[20:51:20.429] warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>[20:51:20.431] warning "eslint-config-next > @typescript-eslint/parser > @typescript-eslint/typescript-estree ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[20:51:36.221] [4/4] Building fresh packages...
[20:51:36.727] success Saved lockfile.
[20:51:36.735] Done in 65.46s.
[20:51:36.797] Detected Next.js version: 13.1.6
[20:51:36.798] Running "yarn run build"
[20:51:37.023] yarn run v1.22.17
[20:51:37.086] $ next build
[20:51:37.474] info  - Loaded env from /vercel/path0/.env.local
[20:51:37.798] Attention: Next.js now collects completely anonymous telemetry regarding usage.
[20:51:37.799] This information is used to shape Next.js' roadmap and prioritize features.
[20:51:37.799] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
[20:51:37.800] https://nextjs.org/telemetry
[20:51:37.800]
[20:51:37.962] info  - Linting and checking validity of types...
[20:51:42.474] info  - Creating an optimized production build...
[20:51:57.557] Failed to compile.
[20:51:57.557]
[20:51:57.558] ./blog.config.js
[20:51:57.558] Error:
[20:51:57.558]   x Expression expected
[20:51:57.558]     ,-[/vercel/path0/blog.config.js:7:1]
[20:51:57.558]   7 |   THEME: process.env.NEXT_PUBLIC_THEME || 'hexo', // 主题， 支持 ['next','hexo',"fukasawa','medium','example'] @see https://preview.tangly1024.com
[20:51:57.559]   8 |   THEME_SWITCH: process.env.NEXT_PUBLIC_THEME_SWITCH || false, // 是否显示切换主题按钮
[20:51:57.559]   9 |   LANG: 'zh-CN', // e.g 'zh-CN','en-US'  see /lib/lang.js for more.
[20:51:57.559]  10 |   SINCE: , // e.g if leave this empty, current year will be used.
[20:51:57.559]     :          ^
[20:51:57.559]  11 |   APPEARANCE: 'light', // ['light', 'dark', 'auto'], // light 日间模式 ， dark夜间模式， auto根据时间和主题自动夜间模式
[20:51:57.559]  12 |
[20:51:57.560]  13 |   AUTHOR: 'Bssn007', // 作者
[20:51:57.560]     `----
[20:51:57.560]
[20:51:57.560] Caused by:
[20:51:57.560]     Syntax Error
[20:51:57.560]
[20:51:57.560] Import trace for requested module:
[20:51:57.560] ./blog.config.js
[20:51:57.560]
[20:51:57.561]
[20:51:57.561] > Build failed because of webpack errors
[20:51:57.598] error Command failed with exit code 1.
[20:51:57.599] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[20:51:57.621] Error: Command "yarn run build" exited with 1’
相应配置
相关的配置，例如notion_page_id；你的网站地址
截图
相关的页面，应该用结果
环境

操作系统: MacOS
浏览器 ：Chrome
版本 latest

已经解决了，原因应该是”false“拼写错了😂


Translate Extend Cluster to Indonesian

translating Extend Cluster in content/id/docs/concepts/extend-kubernetes

#15341

/assign @phanama

I'm super excited that you are first-time contributor to Kubernetes, congrats and thanks for your contribution! 🎉 🎉 This page is not easy to translate since it requires lots of context in Kubernetes and it's advanced usage of Kubernetes, but great work! Feel free to pick other pages to help translating 😄
One suggestion for me: there are many small commits that are not that important (i.e.  fix comment) which will be in the master branch commit body after this PR gets merged. Please squash this next time before getting the PR in, but for now it's fine since we (sig-docs-id community) are also learning.
/lgtm
/approve


Winget fails to open source package in elevated session using admin account that cannot log on locally

Brief description of your issue
I'm trying to setup winget on a new laptop, but I'm running into the following error:

Failed to open the source; try the 'source reset' command if the problem persists.
An unexpected error occurred while executing the command:
0x8a15000f : Data required by the source is missing

Steps to reproduce
My laptop was installed by the corporation with Windows 10 Enterprise. My account does not have local admin rights, but I also have an admin account that I can use for elevation. The admin account does not have the right to log on locally -- it is only for elevation purposes.
To install winget, I have to sideload it because I do not have access to the store. I signed up my account for the preview flight ring for the app installer, downloaded the appxbundle for the latest winget package, and then set it up by doing the following in PowerShell:
# From an elevated PowerShell session (my local admin account):
Add-AppxProvisionedPackage ./Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle
Add-AppxPackage ./Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle

# From a non-admin PowerShell session (my login account):
Add-AppxPackage ./Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle

Once this is set up, from my login account in a non-elevated PowerShell session I can use winget as expected; however, if I am in an elevated session using my admin account, winget always returns the error shown above.
I have reset the source as the error recommends, but the problem persists.
I have also used Get-AppxPackage to see what packages are installed for each of the two accounts. I can see a Microsoft.Winget.Source package for the logon user account, but not for the admin account. I presume that is the crux of the problem -- that the elevation account does not have a Microsof.Winget.Source package, and that winget cannot work without it.
Please advise how I can get this set up properly in my work environment.
Expected behavior
winget should work properly in both my login account as well as in an elevated session that leverages my admin account.
Actual behavior
winget only works properly in my login account.
Environment
[winget --info]
Windows Package Manager v0.2.3162 Preview
Windows: Windows.Desktop v10.0.18363.1256 (version 1909)
Package: Microsoft.DesktopAppInstaller v1.11.3162.0

That's an interesting scenario. We will have to look into the problem to see if there is a fix or a workaround.

That's an interesting scenario. We will have to look into the problem to see if there is a fix or a workaround.

I seem to have found a workaround for this, by reading through this related discussion about Windows Terminal (which also has challenges as a UWP app and run as admin in this scenario).
By running the following command in an elevated Windows PowerShell session, I am able to get the source package registered for the admin user account that cannot log on locally:
Add-AppxPackage -Register 'C:\Program Files\WindowsApps\Microsoft.Winget.Source_2021.112.1815.519_neutral_8wekyb3d8bbwe\AppManifest.xml' -DisableDevelopmentMode

Once that command completed, I was able to see the Winget source appx package in the list of packages for the elevation account, and I was also able to use winget search ..., winget install ..., etc. That doesn't solve my problem with Windows Terminal that is identified in the other thread, but it does allow me to use winget elevated, so as a workaround it seems solid.
The workaround shouldn't be necessary for a Windows package management tool though. On the Terminal thread, that team identified the benefits they were getting from distribution as a UWP packaged app. Are you realizing the same benefits to the point that you feel UWP and distribution via the store is the best vehicle for winget? Or would it be worth considering other distribution mechanisms for winget to allow it to be used more easily for all users?

I seem to have found a workaround for this, by reading through this related discussion about Windows Terminal (which also has challenges as a UWP app and run as admin in this scenario).
By running the following command in an elevated Windows PowerShell session, I am able to get the source package registered for the admin user account that cannot log on locally:
Add-AppxPackage -Register 'C:\Program Files\WindowsApps\Microsoft.Winget.Source_2021.112.1815.519_neutral_8wekyb3d8bbwe\AppManifest.xml' -DisableDevelopmentMode

Once that command completed, I was able to see the Winget source appx package in the list of packages for the elevation account, and I was also able to use winget search ..., winget install ..., etc. That doesn't solve my problem with Windows Terminal that is identified in the other thread, but it does allow me to use winget elevated, so as a workaround it seems solid.
The workaround shouldn't be necessary for a Windows package management tool though. On the Terminal thread, that team identified the benefits they were getting from distribution as a UWP packaged app. Are you realizing the same benefits to the point that you feel UWP and distribution via the store is the best vehicle for winget? Or would it be worth considering other distribution mechanisms for winget to allow it to be used more easily for all users?

I should note that even with this workaround you cannot install certain products using winget. For example, in an elevated session, if you invoke winget install Microsoft.Terminal when working in a scenario like the one I highlighted at the top of this post, that installation will fail because the elevated user account is not logged in, and Microsoft.Terminal is a modern app that requires the user to be logged in to properly install it for that user.

I should note that even with this workaround you cannot install certain products using winget. For example, in an elevated session, if you invoke winget install Microsoft.Terminal when working in a scenario like the one I highlighted at the top of this post, that installation will fail because the elevated user account is not logged in, and Microsoft.Terminal is a modern app that requires the user to be logged in to properly install it for that user.

I've tried this workaround but I still can't get winget working in a runas/elevate as another account scenario.

I have the same issue and found a workaround.
For my case, I have the issue when I run winget with a command prompt with elevated privileges with another user who is an administrator account (the account with which I logged in is not an administrator).
To work around the issue I opened the session of the same administrator account and I used winget which worked correctly, after that I tried the scenario described above and it works, but it is likely that it is only temporary .
Hope this helps you to find a solution to this issue.

I am also facing this issue when trying to deploy the latest stable version of winget (1.2.10271.0) onto an Azure VM using a PowerShell custom script extension. The Azure custom script extension runs under the context of the local system user which cannot install AppX packages. To work around this I am trying to elevate to a domain admin user using PSExec, but at that point I run into the same issue described here.
Here is the relevant snippet from the winget verbose logs when running 'winget source update --verbose-logs':
2022-03-17 13:37:51.635 [REPO] Named source to be updated, found: winget
2022-03-17 13:37:54.042 [CORE] Did not find extension: PFN = Microsoft.Winget.Source_8wekyb3d8bbwe, ID = IndexDB
2022-03-17 13:37:54.043 [CORE] Downloading to path: C:\Users\ADMINI~1\AppData\Local\Temp\WinGet\Microsoft.Winget.Source_8wekyb3d8bbwe.msix
2022-03-17 13:37:54.044 [CORE] Started applying motw to C:\Users\ADMINI~1\AppData\Local\Temp\WinGet\Microsoft.Winget.Source_8wekyb3d8bbwe.msix with zone: 3
2022-03-17 13:37:54.065 [CORE] Finished applying motw
2022-03-17 13:37:54.065 [CORE] WinINet downloading from url: https://winget.azureedge.net/cache/source.msix
2022-03-17 13:37:54.397 [CORE] Download request status success.
2022-03-17 13:37:54.397 [CORE] Download size: 3363134
2022-03-17 13:37:55.491 [CORE] Download completed.
2022-03-17 13:37:55.492 [CORE] Starting AddPackage operation #0: file:///C:/Users/ADMINI~1/AppData/Local/Temp/WinGet/Microsoft.Winget.Source_8wekyb3d8bbwe.msix SkipSmartScreen: 1
2022-03-17 13:37:55.494 [CORE] Begin waiting for operation #0
2022-03-17 13:37:55.494 [CORE] Begin blocking for operation #0
2022-03-17 13:37:58.261 [CORE] Deployment operation #0: Deployment Add operation with target volume C: on Package Microsoft.Winget.Source_2022.317.115.719_neutral__8wekyb3d8bbwe from:   failed with error 0x80073D19. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.
2022-03-17 13:37:58.261 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFBA5AE657A: (caller: 00007FFBA5AE6C09) Exception(1) tid(c9c) 80073D19 An error occurred because a user was logged off.
Msg:[Operation failed: Deployment Add operation with target volume C: on Package Microsoft.Winget.Source_2022.317.115.719_neutral__8wekyb3d8bbwe from:   failed with error 0x80073D19. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.]
2022-03-17 13:37:58.273 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(53)\WindowsPackageManager.dll!00007FFBA5C402B1: (caller: 00007FFBA5B3BC7C) LogHr(1) tid(c9c) 80073D19 An error occurred because a user was logged off.
Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFBA5AE657A: (caller: 00007FFBA5AE6C09) Exception(1) tid(c9c) 80073D19 An error occurred because a user was logged off.
Msg:[Operation failed: Deployment Add operation with target volume C: on Package Microsoft.Winget.Source_2022.317.115.719_neutral__8wekyb3d8bbwe from:   failed with error 0x80073D19. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.]
]
2022-03-17 13:37:58.273 [REPO] Source add/update failed, waiting a bit and retrying: winget
2022-03-17 13:38:01.769 [CORE] Did not find extension: PFN = Microsoft.Winget.Source_8wekyb3d8bbwe, ID = IndexDB
2022-03-17 13:38:01.770 [CORE] Downloading to path: C:\Users\ADMINI~1\AppData\Local\Temp\WinGet\Microsoft.Winget.Source_8wekyb3d8bbwe.msix
2022-03-17 13:38:01.771 [CORE] Started applying motw to C:\Users\ADMINI~1\AppData\Local\Temp\WinGet\Microsoft.Winget.Source_8wekyb3d8bbwe.msix with zone: 3
2022-03-17 13:38:01.777 [CORE] Finished applying motw
2022-03-17 13:38:01.777 [CORE] WinINet downloading from url: https://winget.azureedge.net/cache/source.msix
2022-03-17 13:38:02.107 [CORE] Download request status success.
2022-03-17 13:38:02.107 [CORE] Download size: 3363134
2022-03-17 13:38:03.220 [CORE] Download completed.
2022-03-17 13:38:03.222 [CORE] Starting AddPackage operation #1: file:///C:/Users/ADMINI~1/AppData/Local/Temp/WinGet/Microsoft.Winget.Source_8wekyb3d8bbwe.msix SkipSmartScreen: 1
2022-03-17 13:38:03.222 [CORE] Begin waiting for operation #1
2022-03-17 13:38:03.222 [CORE] Begin blocking for operation #1
2022-03-17 13:38:04.112 [CORE] Successfully completed #1
2022-03-17 13:38:04.114 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\PreIndexedPackageSourceFactory.cpp(301)\WindowsPackageManager.dll!00007FFBA5B46181: (caller: 00007FFBA5B4502A) LogHr(2) tid(c9c) 80071130 Fast Cache data not found.
The key part of this issue is the error 80073D19 An error occurred because a user was logged off. which is preventing the Microsoft.Winget.Source package from being installed for the elevated admin user.
Overall, this seems like a pretty big limitation for winget as it cannot be automatically installed and used for software deployment in Azure VMs until this issue is resolved or winget is natively baked into the OS. Instead of using the custom script extension in Azure I guess winget could potentially be installed via DSC or some other manner, but that seems overly complex and to me feels like it defeats the simplicity that winget is meant to provide.
Any thoughts or potential workarounds would be appreciated.

I have a similar issue. We are using a privileged AzureAD User (who has the role of Device Administrator) to run PowerShell with elevated rights.
I get the error:
Failed to open the source: winget
An unexpected error occurred while executing the command:
0x8a15000f : Data required by the source is missing
This is what the verbose log file look like:
2022-03-21 00:28:49.099 [CLI ] WinGet invoked with arguments: 'install' 'Notepad++.Notepad++' '--silent' '--accept-source-agreements' '--log' 'verbose'
2022-03-21 00:28:49.099 [CLI ] Found subcommand: install
2022-03-21 00:28:49.099 [CLI ] Leaf command to execute: root:install
2022-03-21 00:28:49.101 [CLI ] Executing command: install
2022-03-21 00:28:49.101 [REPO] GetCurrentSourceRefs: Source named 'microsoft.builtin.desktop.frameworks' from origin Default is hidden and is dropped.
2022-03-21 00:28:49.101 [REPO] Default source requested, multiple sources available, adding all to source references.
2022-03-21 00:28:49.101 [REPO] Adding to source references msstore
2022-03-21 00:28:49.101 [REPO] Adding to source references winget
2022-03-21 00:28:49.101 [REPO] Source past auto update time [5 mins]; it has been at least 9 mins
2022-03-21 00:28:49.102 [REPO] Source past auto update time [5 mins]; it has been at least 9 mins
2022-03-21 00:28:50.235 [CORE] Did not find extension: PFN = Microsoft.Winget.Source_8wekyb3d8bbwe, ID = IndexDB
2022-03-21 00:28:50.236 [CORE] Downloading to path: C:\Users\LOCALA\~1\AppData\Local\Temp\WinGet\Microsoft.Winget.Source_8wekyb3d8bbwe.msix
2022-03-21 00:28:50.236 [CORE] Started applying motw to C:\Users\LOCALA\~1\AppData\Local\Temp\WinGet\Microsoft.Winget.Source_8wekyb3d8bbwe.msix with zone: 3
2022-03-21 00:28:50.241 [CORE] Finished applying motw
2022-03-21 00:28:50.241 [CORE] WinINet downloading from url: https://winget.azureedge.net/cache/source.msix
2022-03-21 00:28:51.236 [CORE] Download completed.
2022-03-21 00:28:51.242 [CORE] Starting AddPackage operation #0: file:///C:/Users/LOCALA~1/AppData/Local/Temp/WinGet/Microsoft.Winget.Source_8wekyb3d8bbwe.msix SkipSmartScreen: 1
2022-03-21 00:28:51.245 [CORE] Begin waiting for operation #0
2022-03-21 00:28:51.245 [CORE] Begin blocking for operation #0
2022-03-21 00:28:51.395 [CORE] Successfully completed #0
-2022-03-21 00:28:51.396 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\PreIndexedPackageSourceFactory.cpp(301)\WindowsPackageManager.dll!00007FFE45230E91: (caller: 00007FFE4522FD3A) LogHr(1) tid(62bc) 80071130 Die Schnellcachedaten wurden nicht gefunden.

2022-03-21 00:28:51.403 [REPO] Multiple sources available, creating aggregated source.
2022-03-21 00:28:51.403 [REPO] Adding to aggregated source: msstore
2022-03-21 00:28:51.403 [REPO] Sending http GET request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/information
2022-03-21 00:28:51.840 [REPO] Response status: 200
2022-03-21 00:28:51.840 [REPO] Sending http GET request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/information
2022-03-21 00:28:51.904 [REPO] Response status: 200
2022-03-21 00:28:51.904 [REPO] Adding to aggregated source: winget
2022-03-21 00:28:51.907 [CORE] Did not find extension: PFN = Microsoft.Winget.Source_8wekyb3d8bbwe, ID = IndexDB
2022-03-21 00:28:51.907 [REPO] Package not found Microsoft.Winget.Source_8wekyb3d8bbwe
-2022-03-21 00:28:51.908 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\PreIndexedPackageSourceFactory.cpp(205)\WindowsPackageManager.dll!00007FFE452304A1: (caller: 00007FFE45225CAE) Exception(1) tid(62bc) 8A15000F
-2022-03-21 00:28:51.908 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(540)\WindowsPackageManager.dll!00007FFE45332447: (caller: 00007FFE4512BA7D) LogHr(2) tid(62bc) 8A15000F     Msg:[D:\a\_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\PreIndexedPackageSourceFactory.cpp(205)\WindowsPackageManager.dll!00007FFE452304A1: (caller: 00007FFE45225CAE) Exception(1) tid(62bc) 8A15000F ]
-2022-03-21 00:28:51.908 [REPO] Failed to open available source: winget
2022-03-21 00:28:51.911 [REPO] Sending http POST request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/manifestSearch
2022-03-21 00:28:52.277 [REPO] Response status: 200
2022-03-21 00:28:52.283 [CLI ] Caught wil::ResultException: D:\a\_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\PreIndexedPackageSourceFactory.cpp(205)\WindowsPackageManager.dll!00007FFE452304A1: (caller: 00007FFE45225CAE) Exception(1) tid(62bc) 8A15000F

WinGet-2022-03-21-00-28-49.091.log

I've run into a similar issue.  We used Privileged accounts to run Admin functions and my privileged account can not log in as a user.  It's impossible to run the winget commands with this setup.  My logged-in account has no admin rights to install apps and the admin account doesn't see the Winget executable when I use an elevated PS window.  This is definitely an issue MS needs to resolve in order to make this function in multiple scenarios.

This is a serious problem that has not been solved yet!!!

I opened the session of the same administrator account and I used winget

It would be helpful to see how you "I opened the session of the same administrator account and I used winget"


use kustomize replacement-style path splitting in set-image's additionalImageFields

Describe your problem

A lot of the same motivation from replacements in kustomize would be useful in set-image's additionalImageFields.path.
We have additionalImageFields to handle CRDs, but we don't support filtering in sequences, take this made-up-resource for example:
apiVersion: example.dev/unreleased
kind: InstanceList
metadata:
  name: my-instances
spec:
  instances:
    - name: instance1
      image: example.dev/image:alpha
    - name: instance2
      image: example.dev/image:alpha

Say I want to use kpt to change example.dev/image:alpha to docker.io/library/hello-world:latest, my options with this resource in the kpt toolchain are apply-setters, or search-replace, but really it should be done with set-image.
Using set-image it seems like it's only possible to process each item in the sequence because set-image uses<EMAIL_ADDRESS>which only supports syntax like spec/instances[]/image, but in cases like this I actually need the kustomize replacement-style filters, like spec.instances.[name=instance1].image implemented here<EMAIL_ADDRESS>

One way to make set-image universal will be to change it behavior to:
It can act on any nested object at any arbitrary level in KRM object if the nested object has a shape that contains name and image field and one can filter on the basis of name or image field to set the new values.
....
....
.... - name:
        image:

/cc @yuwenma @natasha41575

Thanks for the triage! I thought about making a feature request for the recursive image approach like that first, but went for what I submitted here instead.
In my example, recursively finding image would change the image at name=instance2, when I only wanted to change the one at instance1.  That said, I think that's also better than what set-image does right now.

Looking at you CronJob, and your .spec.jobTemplate.spec.template.spec.containers.*.image which doesn't appear in the defaults...

But, as a user I'd appreciate the control of the replacement-style filters the most.

In my example, recursively finding image would change the image at name=instance2, when I only wanted to change the one at instance1. That said, I think that's also better than what set-image does right now.

Yes, being able to target specific instance will be needed.

But, as a user I'd appreciate the control of the replacement-style filters the most.

Good to know.
We are actively collecting feedback on set-image as plan to work on version 2 of this function.
What does the workflow for updating images in your setup look like ? (Feel free to share as much as context possible, we love the details :))

I'm going beyond my actual needs a little bit just to illustrate how I'd like / expect additionalImageFields to work (even though in my specific actual use case the recursive suggestion would work fine, I just think it'd lead to confusion in cases like the one I brought up here).

My workflow, heh well... 😅
We use kpt (along with set-image) in our gitlab-ci pipelines to deploy our dynamic review environments. Our KRM lives in our repository ready to deploy for developers, then gitlab-ci runs kpt to make changes for our merge (aka pull) request review environments as well as our staging and prod environments. A new image is built in each pipeline and set-image is used to substitute :latest for :tag@sha256:digest (tag not needed I know, it's just nice for readability). Our application is partly a k8s controller which can deploy cronjobs, which is why we use additionalImageFields -- to tell our application with which image it should use when creating new cronjobs, but also in #3573 to configure a Job to migrate the existing cronjobs to the new image.
We have some other oddities around our usage of kpt in gitlab-ci that are not part of the standard workflow, but are interesting solutions nonetheless:
1. Our Kptfile is a template.
Since we use kpt to deploy dynamic environments, we use apply-setters pretty extensively. But to configure each environment, we need to set some dynamic things like a environment name, namespace, ingress url, etc. To do that, our Kptfile is an envsubst template with all function-configs as configmaps inline in the Kptfile, and we populate it in two passes to make sure nothing was undefined. That happens like this:
# Apply envsubst, but only allow replacement of defined variables.
envsubst "$(env | cut -d= -f1 | sed -e 's/^/$/')" < kubernetes/Kptfile > kubernetes/Kptfile.prep

# Envsubst again, now allowing leftover variables to be set as empty.
envsubst < kubernetes/Kptfile.prep > kubernetes/Kptfile.check

# If any variables changed in the second pass, they were undefined, and we should fail the job.
# If we fail the job, still rename the rendered Kptfile to upload as an artifact for inspection / reproducing.
if cmp --silent -- kubernetes/Kptfile.prep kubernetes/Kptfile.check; then
  rm kubernetes/Kptfile.check;
  mv kubernetes/Kptfile.prep kubernetes/Kptfile;
else
  echo "envsubst operation performed with some undefined variables. See diff:";
  diff kubernetes/Kptfile.prep kubernetes/Kptfile.check;
  rm kubernetes/Kptfile.check;
  mv kubernetes/Kptfile.prep kubernetes/Kptfile;
  exit 1;
fi

We go through all of this work since we get synchronous apply and reconcile, as well as resource pruning. We only get 1/3 of those with kubectl apply. Also, as noted in the snippet above, we save the hydrated kptfile as a pipeline artifact, so that anyone can reproduce later, to that end we also use the dynamic environment name to set the inventory id and name in a per-environment-reproduceable way.
2. We really only use go functions and --allow-exec
Since we (are probably one of the few teams who) run kpt in our continuous integration pipelines which themselves are containers running on a kube cluster, we wanted to figure out if we could run kpt without needing docker-in-docker and therefore privileged mode. This is pretty hacky, but we had two options: a) somehow use kpt function as separate ci jobs passing the intermediate KRM along between them, or b) bundle all the function binaries into one image and use --allow-exec to run them without invoking docker.
We took the second approach, since we didn't want to pay the cost of provisioning 10-ish ci containers to do what is essentially one command. So, one of the stages for our ci tooling dockerfile looks roughly like this:
FROM setup as kpt
ARG GET_KPT

WORKDIR /opt/tooling/kpt/bin
ADD ${GET_KPT} kpt
RUN chmod +x kpt

# Curated Functions
COPY --from=gcr.io/kpt-fn/apply-replacements:v0.1.1            /usr/local/bin/function /opt/tooling/kpt/bin/apply-replacements:v0.1.1
COPY --from=gcr.io/kpt-fn/apply-setters:v0.2.0                 /usr/local/bin/function /opt/tooling/kpt/bin/apply-setters:v0.2.0
COPY --from=gcr.io/kpt-fn/create-setters:v0.1.0                /usr/local/bin/function /opt/tooling/kpt/bin/create-setters:v0.1.0
COPY --from=gcr.io/kpt-fn/ensure-name-substring:v0.2.0         /usr/local/bin/function /opt/tooling/kpt/bin/ensure-name-substring:v0.2.0
COPY --from=gcr.io/kpt-fn/fix:v0.2.1                           /usr/local/bin/function /opt/tooling/kpt/bin/fix:v0.2.1
COPY --from=gcr.io/kpt-fn/gatekeeper:v0.2.1                    /usr/local/bin/validate /opt/tooling/kpt/bin/gatekeeper:v0.2.1
COPY --from=gcr.io/kpt-fn/list-setters:v0.1.0                  /usr/local/bin/function /opt/tooling/kpt/bin/list-setters:v0.1.0
COPY --from=gcr.io/kpt-fn/render-helm-chart:v0.2.0             /usr/local/bin/function /opt/tooling/kpt/bin/render-helm-chart:v0.2.0
COPY --from=gcr.io/kpt-fn/search-replace:v0.2.0                /usr/local/bin/function /opt/tooling/kpt/bin/search-replace:v0.2.0
COPY --from=gcr.io/kpt-fn/set-annotations:v0.1.4               /usr/local/bin/function /opt/tooling/kpt/bin/set-annotations:v0.1.4
COPY --from=gcr.io/kpt-fn/set-enforcement-action:v0.1.0        /usr/local/bin/function /opt/tooling/kpt/bin/set-enforcement-action:v0.1.0
COPY --from=gcr.io/kpt-fn/set-image:v0.1.1                     /usr/local/bin/function /opt/tooling/kpt/bin/set-image:v0.1.1
COPY --from=gcr.io/kpt-fn/set-labels:v0.1.5                    /usr/local/bin/function /opt/tooling/kpt/bin/set-labels:v0.1.5
COPY --from=gcr.io/kpt-fn/set-namespace:v0.4.1                 /usr/local/bin/function /opt/tooling/kpt/bin/set-namespace:v0.4.1
COPY --from=gcr.io/kpt-fn/starlark:v0.4.3                      /usr/local/bin/function /opt/tooling/kpt/bin/starlark:v0.4.3
COPY --from=gcr.io/kpt-fn/upsert-resource:v0.2.0               /usr/local/bin/function /opt/tooling/kpt/bin/upsert-resource:v0.2.0

# GCP Functions
COPY --from=gcr.io/kpt-fn/enable-gcp-services:v0.1.0           /usr/local/bin/function /opt/tooling/kpt/bin/enable-gcp-services:v0.1.0
COPY --from=gcr.io/kpt-fn/export-terraform:v0.1.0              /usr/local/bin/function /opt/tooling/kpt/bin/export-terraform:v0.1.0
COPY --from=gcr.io/kpt-fn/remove-local-config-resources:v0.1.0 /usr/local/bin/function /opt/tooling/kpt/bin/remove-local-config-resources:v0.1.0
COPY --from=gcr.io/kpt-fn/set-project-id:v0.2.0                /usr/local/bin/function /opt/tooling/kpt/bin/set-project-id:v0.2.0

# TODO: Typescript/Node based functions
#  - These are tough to import here, since we need all the node_modules, etc.
#  - Deno can probably solve this nicely now with npm package support and `deno compile`
# generate_folders
# kubeval

RUN echo '#!/usr/bin/env bash\necho "$(basename $0) is not implemented in this environment" > /dev/stderr; exit 1;' \
    > /opt/tooling/kpt/bin/not-implemented \
    && chmod +x /opt/tooling/kpt/bin/not-implemented \
    && { for NA in 'kubeval:v0.3.0' 'generate-folders:v0.1.1'; do ln -s /opt/tooling/kpt/bin/not-implemented "/opt/tooling/kpt/bin/$NA"; done }

The workdir from this stage is later copied into the image we actually run our CI pipelines in. We keep this as a bit of an implementation detail though, and we write and version control our Kptfile "template" using pipeline.*.image instead of pipeline.*.exec - that just gets changed with sed. So, in CI we actually invoke kpt roughly like this:
# Here In CI: use exec mode for pipeline stages instead of the function-images to circumvent docker-in-docker
sed --regexp-extended --expression 's|image: (["'\'']?)gcr.io/kpt-fn/(.+?)\1|exec: \1\2\1|g' --in-place kubernetes/Kptfile
# Our "exec mode" CI image doesn't support node based functions, which for us includes kubeval
yq --inplace eval 'del(.pipeline.validators[] | select(.exec | contains("kubeval")))' kubernetes/Kptfile
# Run the pipeline in the kpt file in place
kpt fn render kubernetes --truncate-output=false --allow-exec

No docker-in-docker required now, but we limited ourselves to specific versions of functions from the function catalog only.

Big write up, I've been meaning to blog about this, so I guess thanks for being a guinea pig for that :) If you want to know more about all of this feel free to sync up with me out-of-band

Thank you so much @zevisert for the detailed post.

I didn't know that we can :tag@sha256:digest, that's pretty neat. I also have a use-case where I want to preserve tag while replacing with the digest, so thank you for this detail.
Being able to surgically target a specific container image to be replaced in the package manifests is definitely needed. So thanks for the detailed explanation about your setup.
Yes, running functions in a nested containers is a big pain. We have done ton of explorations in this space. Most recent ones around using wasm as function-runtime has been very promising to avoid the docker dependency. We recently got alpha support merged in kpt and some functions also now support wasm target as well. Don't know if you noticed, we have been also working on a new component called porch (package orchestrator) which has a function-runner component that runs in a kubernetes cluster and that can also be leveraged to run functions in cluster.

Thanks for the offer for a call. I am definitely interested and would like some feedback on some of the things that are cooking, so will reach out when I a few things more concrete.
/cc @yuwenma some interesting insights related to set-image and functions in general.

No worries!

I didn't know that we can :tag@sha256:digest, that's pretty neat. I also have a use-case where I want to preserve tag while replacing with the digest, so thank you for this detail.

FWIW: set-image rejects the configMap in red, but accepts the one in green:
  pipeline:
    mutators:
     - image: gcr.io/kpt-fn/set-image:v0.1.1
        configMap:
          name: hello-world:latest
-         newName: hello-world
-         newTag: linux
+         newName: hello-world:linux
          digest: sha256:f54a58bc1aac5ea1a25d796ae155dc228b3f0e11d046ae276b39c4bf2f13d8c4

Most recent ones around using wasm as function-runtime has been very promising to avoid the docker dependency. We recently got alpha support merged in kpt and some functions also now support wasm target as well.

That sounds like a great use-case. Let me know where I can follow along.

Don't know if you noticed, we have been also working on a new component called porch (package orchestrator) which has a function-runner component that runs in a kubernetes cluster and that can also be leveraged to run functions in cluster.

I noticed porch, but we haven't tried it, or backstage either. I'm curious about it, and hope to find some time to fiddle with it soon-ish


Implement Iterator#partition() to partition it into arrays

[x] code is properly formatted (npm run fmt)
[x] tests are added/updated
[x] documentation is updated (npm run doc to regenerate documentation based on comments)
[x] description of changes is added under the Unreleased header in CHANGELOG.md

Landed in https://github.com/metarhia/common/commit/58456fad649eb5ef31327ec4bf0ff6dafa62c3ec.


Add Lego provider freemyip.com

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
Hello,
I would be grateful if you could expand the Lego support to include freemyip.com as a supported provider.
Thank you in advane

Hello,
This kind of request must be done on the lego repository.
But in this case, you are lucky because the issue already exists: https://github.com/go-acme/lego/issues/1450
And the implementation also: https://github.com/go-acme/lego/pull/1451
When a new release of lego will happen, we will update Traefik to support this DNS provider.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-yml-archive-non-versioning-archive/pull/379 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-yml-archive-non-versioning-archive.git

Docs Build status updates of commit dbd3fe9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/sql-database-engine.png
:white_check_mark:Succeeded

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Show Python Interactive window shows busy when not really busy

If you just run 'Show python interactive window' it will start and connect to the server but then sit there waiting for a cell to run.

@jmew , can you check to see how many people actually use this command? Not technically a bug yet.

@greazer about <6K out of ~80K open the window without running any code

Validated.


Implement HRIA functionality

Dependencies
Epic

[x] bcgov/BCHeritage/issues/138
[x] bcgov/BCHeritage/issues/175
[x] bcgov/BCHeritage/issues/234

Moving this to done as overall HRIA functionality complete.


please add example of how to filter

For someone coming new to this tool it is not clear how to query:

What does filter: expect?
What are possible filter operators?
How about and and or?

Once you've found it it's so simple. So I think a short example would help a lot.
Somehow I could not find that in the tests. Must have missed it. I finally found an example in other issues.
Or maybe this is documented somewhere else? If that is the case a link in the readme would help.
O.k., now I found out how pros do it: they know how to use GraphiQL to find it all. But I only found that out after I knew how the basic syntax works and I could write a working example in GraphiQL.
So I guess a simple example accompanied by a pointer to GraphiQL would be great.

I added more documentation to the README via https://github.com/mattbretl/postgraphile-plugin-connection-filter/commit/ecea302e820542e3838ed0e7d81a43d5070b0658.  I'd rather not clutter it up with an explanation of how to use GraphiQL (it's a slippery slope when you start discussing all the tooling around GraphQL), but I'd welcome any other feedback.  Thanks!

Great stuff!


Export pure() action creator

Yes, pure() should be script(), so you're right, we can probably hold off on this, but the other major use case is "send an event to all dynamically generated actors" which is best represented as:
actions: pure((ctx, e) => {
  return ctx.exampleActors.map(actor => {
    return send(e, { to: actor })
  });
})

@davidkpiano do we want to implement equivalent for SCXML's <foreach/>? the mentioned use case would be covered by such, so wondering if there are really any other use cases for pure? It's definitely easier to write actions using pure rather than with if+foreach combos, but other aspects can suffer from it, such as visualization

@davidkpiano do we want to implement equivalent for SCXML's ? the mentioned use case would be covered by such, so wondering if there are really any other use cases for pure? It's definitely easier to write actions using pure rather than with if+foreach combos, but other aspects can suffer from it, such as visualization

Might be a good idea, but it's not that straightforward to implement.
There are many more use-cases for pure(), but of course the stricter actions should be preferred.
pure() actually allows for better visualization than having that dynamic logic in a random action (we can visualize what it would be in various states), but of course, it'd be better through stricter actions. I'm not too concerned about visualization.

This PR is stale (pure() and docs already merged in)


Fix set as not favourite in amendments

in amendends if several favourited amendments are selected and the favourite star is tried to be removed an Error is thrown and the favourite state stays the same.
How to recreate:

create two new amendments
navigate into amendments
select the two new amendments with multiselect
set them as favourite
try to remove the favourites again
Error is thrown: Can't create personal note without star or note.

additional information:

the error is only thrown if at least two amendments never swtiched from favourite to not faviourite
sometimes (with for me unknown requirements) it is also not possible to set them to favourite

wanted behaviour:
it should be possible to change the favourite state if amendments are selected via multiselect

Dupe of issue #2692


toString(): Print keys in JSON

This way, it's obvious when numeric keys are being mixed with string
keys, like when importing from JSON and inserting by key.

Thanks, this makes tons of sense. I wholey agree that being explicit about key types when stringed helps explain the difference from objects, and naked strings look far too much like property names, which they are not.


update @adobe/asset-compute-sdk to latest version 2.2.1

For the asset-compute action generator.
Release: https://github.com/adobe/asset-compute-sdk/releases/tag/v2.2.1
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@purplecabbage @moritzraho FYI

Hi Alex thanks LGTM
the caret in the version should already pick up latest minors and patch versions, but it's also fine to make it explicit


experience heroes can only be given class 1, please correct. what would the experience went for all classes.

(Required) What is your Quests version / build number (do not say "latest")?
(Required) Please describe the problem and how to replicate it. Any console errors?
(Optional) Can you provide an example quest from quests.yml using Pastebin.com?

Duplicate of #109


Show non used columns and measures in visuals

The feature request
Show non used columns and measures in visuals.
After get this information, recomend to delete this columns.
You can see this solution https://www.thebiccountant.com/2021/06/27/power-bi-cleaner-gen2-is-here/
Proposed solution
This help to clean non used data and help update reports faster
Additional context
No response

Thanks for filing the issue @lifeindarkside . I'm closing this issue temporarily and moving to the Enhancements board.

Still into that.


Add Google Cloud Datalab init action.

@ojarjur PTAL

This generally looks good to me.
The only caveat is that we need to release a new Datalab image with PR 957 merged before the user will be able to connect their Datalab frontend to the kernel gateway running in the Dataproc cluster.

Confirmed it works as expected at HEAD. merging.


chore: add an extra public function to create a state client, useful …

…nts, useful if folks have authenticated and created a restclient outside of kuberhealthy.
FWIW we're working on a CLI plugin for Jenkins X which reports back on health check states from Kuberhealthy.  It's still wip and early days but it's coming along great, really loving Kuberhealthy :)
We have a number of reusable libraries in Jenkins X land, one of which authenticates with a Kubernetes API server whether you're in or out of cluster https://github.com/jenkins-x/jx-kube-client#jx-kube-client.  We use this in the JX plugins so already have a Kubernetes REST client which we'd like to use to create the KuberhealthyStateClient and continue to use the Kuberhealthy APIs to query KH states.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @integrii sure thing!  I'll add a link to the OSS project I work on, right now we are adding Kuberhealthy to the v3 of Jenkins X so will link to the relevant docs if thats ok?   It's probably more interesting that the company (CloudBees) because users who use Jenkins X will soon have Kuberhealthy installed out of the box.
Thanks for merging!  I'll give you a ping once things are integrated and show you want we have.

https://github.com/Comcast/kuberhealthy/pull/675