text:
chore(deps): bump nodejs 20.5.1

Applied mkpr on .github/workflows/*.yml
sed s/20\.5\.0/20.5.1/

Pull Request Test Coverage Report for Build 5814462461

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.161%

Totals

Change from base Build 5666437788:
0.0%

Covered Lines:
54

Relevant Lines:
56

💛  - Coveralls


text:
Left sidebar with form fields goes out of view

New elements are generated out of view and the initial view doesn't fit vertically on laptop screen. Fix by adding scrollbar and/or pagination.

CSS fix https://github.com/koodilehto/invoice-frontend/commit/3003faf57c9e227f6ef1b1624a5babdc1a36f7e4

source: gharchive/issue

repo: koodilehto/invoice-frontend

license: mit

license_type: permissive

license_source: bigquery


text:
[proposal] scheduler: elastic quota ignore terminating pod immediately

What is your proposal:
scheduler can be configured to ignore terminating pods immediately for elastic-quota.
Why is this needed:
We have a requirement for fast-rolling updates across various applications. However, this process can be significantly slow when waiting for terminating pods to be deleted, especially when the quota is limited.
The ElasticQuotaIgnoreTerminatingPod feature helps speed up this process, but it still necessitates waiting for the deletion grace period.
Is there a suggested solution, if so, please add it:
I propose introducing a feature gate called ElasticQuotaImmediateIgnoreTerminatingPod, which would allow to bypass the deletion grace period and ignore terminating pods immediately.

/close by #2180

repo: koordinator-sh/koordinator

license_source: github-api


text:
[feature request] add memory evict strategy in koordlet

What would you like to be added:
Why is this needed:

/assign jasonliu747

/area koordlet
/area koord-manager


text:
koord-descheduler: support to configure eviction filter separately

Ⅰ. Describe what this PR does
In the original implementation of koor-descheduler, the evictor extension point is responsible for evicting Pods and providing the evicition filter function. But in fact, evictor and filter are an orthogonal relationship. There can only be one evictor in a descheduler (to be precise, there can only be one evictor in a descheduler profile), but there can be multiple eviction filters. The evictor can use these eviction filters. The evictor plugin itself can also implement eviction filters, such as the current PodMigrationJob controller. The PodMigrationJob controller can also continue splitting, using the configured eviction filters.

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
The original configuration as following:
apiVersion: descheduler/v1alpha2
kind: DeschedulerConfiguration
deschedulingInterval: 10s
profiles:
  - name: koord-descheduler
    plugins:
      evict:
        enabled:
          - name: MigrationController
      deschedule:
        enabled:
          - name: PodLifeTime
          - name: RemoveFailedPods
      balance:
        enabled:
          - name: LowNodeLoad
    pluginConfig:
      ....

Now we can configure evictionFilter as following:
apiVersion: descheduler/v1alpha2
kind: DeschedulerConfiguration
clientConnection:
  kubeconfig: "/Users/joseph/asi/koord-2/admin.kubeconfig"
leaderElection:
  leaderElect: false
  resourceName: test-descheduler
  resourceNamespace: kube-system
deschedulingInterval: 10s
dryRun: true
profiles:
  - name: koord-descheduler
    plugins:
      evict:
        enabled:
          - name: MigrationController
      evictionFilter:   # here we can configure the eviction filters.
        enabled:
          - name: MigrationController
      deschedule:
        enabled:
          - name: PodLifeTime
          - name: RemoveFailedPods
      balance:
        enabled:
          - name: LowNodeLoad
    pluginConfig:
      ...

Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

Should evictionFilter be a subfield of evict ？
apiVersion: descheduler/v1alpha2
kind: DeschedulerConfiguration
clientConnection:
  kubeconfig: "/Users/joseph/asi/koord-2/admin.kubeconfig"
leaderElection:
  leaderElect: false
  resourceName: test-descheduler
  resourceNamespace: kube-system
deschedulingInterval: 10s
dryRun: true
profiles:
  - name: koord-descheduler
    plugins:
      evict:
        enabled:
          - name: MigrationController
        filter:   # here we can configure the eviction filters.
          - name: MigrationController

In the previous idea, Filter is indeed a part of Evictor, but in fact, I found that Evictor is a point that does not change much, but Filter is often changed. If more filter strategies are needed, the implementation of evictor should be updated frequently may be unrealistic. Eviction Filters are used by Evictor/Deschedule/Balance plugins. Evictor itself can implement filters, but it can also or allows filters to be implemented separately.

Should evictionFilter be a subfield of evict ？
apiVersion: descheduler/v1alpha2
kind: DeschedulerConfiguration
clientConnection:
  kubeconfig: "/Users/joseph/asi/koord-2/admin.kubeconfig"
leaderElection:
  leaderElect: false
  resourceName: test-descheduler
  resourceNamespace: kube-system
deschedulingInterval: 10s
dryRun: true
profiles:
  - name: koord-descheduler
    plugins:
      evict:
        enabled:
          - name: MigrationController
        filter:   # here we can configure the eviction filters.
          - name: MigrationController

In the previous idea, Filter is indeed a part of Evictor, but in fact, I found that Evictor is a point that does not change much, but Filter is often changed. If more filter strategies are needed, the implementation of evictor should be updated frequently may be unrealistic. Eviction Filters are used by Evictor/Deschedule/Balance plugins. Evictor itself can implement filters, but it can also or allows filters to be implemented separately.

Eviction Filters are used by Evictor/Deschedule/Balance plugins

In the structure, they have a parallel relationship. Is there a brief description of how the filter works in each plug-in?

Eviction Filters are used by Evictor/Deschedule/Balance plugins

In the structure, they have a parallel relationship. Is there a brief description of how the filter works in each plug-in?

@hormes  Updated the original proposal and added a more detailed description

Should evictionFilter be a subfield of evict ？
apiVersion: descheduler/v1alpha2
profiles:
  - name: koord-descheduler
    plugins:
      evict:
        enabled:
          - name: MigrationController
        filter:   # here we can configure the eviction filters.
          - name: MigrationController

In the latest implementation, the original EvictionFilter is renamed Filter, but it is still juxtaposed with Evict.

/lgtm

source: gharchive/pull-request

authors: eahydra hormes


text:
object keyword

Added an example of object keyword usage. Starting from OOP basics and object concept, I described fundamental object's usage, syntax and semantic

closed and reopened with my main account: deep-erx. This user (4LbDP) will be discontinued. Thank you.


text:
New experimental static builders named of for all types

Description
For aligning with our design goals on error handling, we would like to introduce of static functions as experimental declarations responsible for creating our types. Here's an example for the PositiveInt type:
/**
 * Converts the given [number] to a [PositiveInt], or returns `null` if the
 * [number] is strictly negative (`x < 0`).
 */
fun PositiveInt.Companion.of(number: Int): PositiveInt? {
    TODO("Not yet implemented")
}

fun main() {
    var x: PositiveInt? = PositiveInt.of(10L)
    println(x) // 10
    x = PositiveInt.of(-2)
    println(x) // null
}

Thanks to polymorphism, the return type of these functions could variate depending on their input type. Here's our strategy:

if the input is valid, we should return the intended type
if the input is invalid, we should return null.

/** Converts the given [number] to a [PositiveInt]. */
fun PositiveInt.Companion.of(number: StrictlyPositiveInt): PositiveInt {
    TODO("Not yet implemented")
}

In future versions of Kotools Types, this will be our standard way of creating types.
This change will also remove the experimental builders suffixed by OrNull and OrThrow introduced in Kotools Types 4.3.1 and deprecate the stable ones returning a Result type (discussed in #104).
Checklist

[x] Implement and test the NonZeroInt.Companion.of(Number): NonZeroInt? function, update the public API binaries and check the generated documentation.
[x] Implement and test the PositiveInt.Companion.of(Number): PositiveInt? function, update the public API binaries and check the generated documentation.
[x] Implement and test the NegativeInt.Companion.of(Number): NegativeInt? function, update the public API binaries and check the generated documentation.
[x] Implement and test the StrictlyPositiveInt.Companion.of(Number): StrictlyPositiveInt? function, update the public API binaries and check the generated documentation.
[x] Implement and test the StrictlyNegativeInt.Companion.of(Number): StrictlyNegativeInt? function, update the public API binaries and check the generated documentation.
[x] Implement and test the StrictlyPositiveDouble.Companion.of(Number): StrictlyPositiveDouble? function, update the public API binaries and check the generated documentation.
[x] Implement and test the NotBlankString.Companion.of(String): NotBlankString? function, update the public API binaries and check the generated documentation.
[x] Implement and test the NotEmptyList<E>.Companion.of(Collection<E>): NotEmptyList<E>? function, update the public API binaries and check the generated documentation.
[x] Implement and test the NotEmptySet<E>.Companion.of(Collection<E>): NotEmptySet<E>? function, update the public API binaries and check the generated documentation.
[x] Implement and test the NotEmptyMap<K, V>.Companion.of(Map<K, V>): NotEmptyMap<K, V>? function, update the public API binaries and check the generated documentation.
[x] Refactor code.
[x] Update the Unreleased section in changelog.

Side notes:

We should split this issue by type for implementing more of static functions for each type.
We should update the issues deprecating old builders and those suffixed by OrNull and OrThrow.

Here's a complete list of functions that could be implemented at this stage:
// STABLE TYPE:

// NonZeroInt.of(Number) => NonZeroInt?
// NonZeroInt.of(PositiveInt) => NonZeroInt?
// NonZeroInt.of(NegativeInt) => NonZeroInt?
// NonZeroInt.of(StrictlyPositiveInt) => NonZeroInt
// NonZeroInt.of(StrictlyNegativeInt) => NonZeroInt

// PositiveInt.of(Number) => PositiveInt?
// PositiveInt.of(NonZeroInt) => PositiveInt?
// PositiveInt.of(NegativeInt) => PositiveInt?
// PositiveInt.of(StrictlyPositiveInt) => PositiveInt

// NegativeInt.of(Number) => NegativeInt?
// NegativeInt.of(NonZeroInt) => NegativeInt?
// NegativeInt.of(PositiveInt) => NegativeInt?
// NegativeInt.of(StrictlyNegativeInt) => NegativeInt

// StrictlyPositiveInt.of(Number) => StrictlyPositiveInt?
// StrictlyPositiveInt.of(NonZeroInt) => StrictlyPositiveInt?
// StrictlyPositiveInt.of(PositiveInt) => StrictlyPositiveInt?

// StrictlyNegativeInt.of(Number) => StrictlyNegativeInt?
// StrictlyNegativeInt.of(NonZeroInt) => StrictlyNegativeInt?
// StrictlyNegativeInt.of(NegativeInt) => StrictlyNegativeInt?

// NotBlankString.of(String) => NotBlankString?

// NotEmptyList<E>.of(Array<E>) => NotEmptyList<E>?
// NotEmptyList<E>.of(Collection<E>) => NotEmptyList<E>?
// NotEmptyList<E>.of(NotEmptySet<E>) => NotEmptyList<E>

// NotEmptySet<E>.of(Array<E>) => NotEmptySet<E>?
// NotEmptySet<E>.of(Collection<E>) => NotEmptySet<E>?
// NotEmptySet<E>.of(NotEmptyList<E>) => NotEmptySet<E>

// NotEmptyMap<K, V>.of(Map<K, V>) => NotEmptyMap<K, V>?

// EXPERIMENTAL TYPES:

// StrictlyPositiveDouble.of(Number) => StrictlyPositiveDouble?

For avoiding multiple ways of creating types, we would like to revert changes introduced by this issue.
The creation of types should follow our design goals on error handling and the Kotlin standards on naming functions.

Done reverting changes.

repo: kotools/types

license: MIT


text:
New StrictlyPositiveNumber type

Description
We would like to add a StrictlyPositiveNumber type representing strictly positive numbers.
This new type should also be serializable.
/** Represents a strictly positive number. */
sealed interface StrictlyPositiveNumber<out N : Number> {
    /** The value of this number. */
    val value: N

    /** Returns the string representation of this number. */
    override fun toString(): String
}

/**
 * Returns this number as an encapsulated [StrictlyPositiveNumber] of type [N],
 * which may involve rounding or truncation, or returns an encapsulated
 * [IllegalArgumentException] if this number is negative.
 */
fun <N : Number> N.toStrictlyPositiveNumber(): Result<StrictlyPositiveNumber<N>> = TODO()

Checklist

[ ] Implement the type with its builder.
[ ] Make the type serializable.
[ ] Test on all platforms.
[ ] Refactor.
[ ] Update the Unreleased section in changelog.

We will not implement this new type for now.


text:
TypeError: Module.STDWEB_PRIVATE is undefined

I'm attempting to use Yew to build an HTML interface for my app. I get this error in the call to Yew::initialize();.
When I tracked this to Yew::initialize(), I set about attempting to discover why this works fine on a small test crate, but fails on a much larger one. My test crate only depends on Yew, which depends on stdweb transitively. My actual crate links in SpatiaLite, SQLite, and a bunch of larger libraries.
I modified Yew::initialize() to look as follows:
pub fn initialize() {
    stdweb::initialize();
    println!("Initializing JS");
    js! {
        console.log("Here");

In my test crate, where everything works, both lines print. In my larger crate, console.log doesn't trigger.
Is it possible that, in a larger crate, JS is still loading or streaming wasm is still compiling, and STDWEB_PRIVATE hasn't been defined when stdweb::initialize() finishes? Then the js! macro is called, expecting this module to be defined, only it isn't?
I don't yet know if I'm open sourcing the larger crate, but I'll happily privately make available a JS/wasm bundle if that would help with development. I could share the entire source privately, but getting all the libraries vendored is a bit hacky.
Thanks.

How are you compiling your code? Are you using cargo-web? For which target are you compiling? Is it the same on every one?
If you're using an Emscripten-based target make sure you're using Emcripten which is automatically downloaded by cargo-web, or a newer version if you're using your own.

Using cargo-web, wasm32-unknown-emscripten with a system-provided
toolchain, version 1.37.36. I haven't tested asmjs--I'm using a number
of natively-compiled dependencies, so I worry that using asmjs would
ultimately be too slow.

Hmm... your Emscripten should be new enough to work. (Too old Emscripten versions apparently don't work https://github.com/koute/stdweb/issues/95)
Are you perhaps using a conditional [target.'cfg(...)'.dependencies] anywhere? (https://github.com/koute/stdweb/issues/135)
You could also try to use the Emscripten built into cargo-web, and if that fails perhaps you could try to produce a minmal example which reproduces the problem.

Yup, #135 was it. Thanks, I checked open issues before filing this one, didn't think to check closed issues, nor did I suspect this was a cargo-web issue. It can be hard to know whether a given issue is in Yue, Stdweb, etc. I wonder if it might be more helpful to leave issues like #135 open for folks like me who hit it but don't know that it's a build tool bug?
Thanks!

I'm seeing a similar issue, but I'm not using cargo-web. Everything works if I call stdweb::initialize() from my main crate, but it gives an error about STDWEB_PRIVATE being undefined if stdweb::initialize() is only called by the library. Should I make a new issue for this or should this issue be reopened?
(I'm not using cargo-web because I'm using emscripten's GLFW implementation.)

@nstoddard If you're not using cargo-web then calling stdweb::initialize is required before calling anything else. This behavior is expected and there isn't anything we can do about it.
stdweb needs extra runtime written in JS; you can either let cargo-web automatically take care of it for you, or you need to initialize it yourself with stdweb::initialize.
(Well, technically it might be possible to have stdweb::initialize called automatically even without cargo-web - I haven't checked if it'd work - but then it'd require Rust nightly as the required feature is not stabilized IIRC.)
If your project builds when built manually but fails when building with cargo-web then feel free to open a new issue for that, as something like that definitely shouldn't happen. (Just be sure to first try out the --use-system-emscripten option to check if the issue is perhaps due to that particular Emscripten version which cargo-web uses.)

@koute Thanks, I'd thought stdweb::initialize only had to be called before using the js! macro.
It looks like my issue with cargo web was due to a conflict with the version of emscripten I installed manually, because it was still trying to use the old ~/.emscripten config file.

authors: koute ndarilek nstoddard

repo: koute/stdweb


text:
How to show Number of Diff(s)

Thanks for great data. but i want to know how to show nuber of difference in in result. for example
amit is a good boy [test1]
sumit is not a good boy. [test2]
output .............. and diffrence : 3

@saralproject
The following example meets your expectations?
Code：
    const jsDiff = require('diff')

    const one = "amit is a good boy [test1]"
    const other = "sumit is not a good boy. [test2]"

    const diff = jsDiff.diffWords(one, other)

    let Num =0

    diff.forEach((part) => {
        console.log(part)
        if(part.added) Num ++
    })
    console.log("diffrence:", Num)

Output：
{ count: 1, added: undefined, removed: true, value: 'amit' }
{ count: 1, added: true, removed: undefined, value: 'sumit' }
{ count: 3, value: ' is ' }
{ count: 2, added: true, removed: undefined, value: 'not ' }
{ count: 5, value: 'a good boy' }
{ count: 1, added: true, removed: undefined, value: '.' }
{ count: 2, value: ' [' }
{ count: 1, added: undefined, removed: true, value: 'test1' }
{ count: 1, added: true, removed: undefined, value: 'test2' }
{ count: 1, value: ']' }
diffrence: 4

Building on the previous response, you can also use the filter function to get the total number of differences
`   const jsDiff = require('diff')
const one = "amit is a good boy [test1]"
const other = "sumit is not a good boy. [test2]"

const diff = jsDiff.diffWords(one, other)

const differences = diff.filter(d => d.added || d.removed).length;
`

authors: madoBaker saralproject ygj6

repo: kpdecker/jsdiff


text:
Recipe LICENSE isn't correct

The teleport recipe claims that the package is MIT licensed:
https://github.com/kpmteam/meta-kpmpower/blob/eab9e7b2621903811282edfa5ba7c186a2ab2a28/recipes-core/teleport/teleport_11.3.20.bb#L2C2-L2C2
I doubt very much that the teleport client is MIT licensed.  The LICENSE field is the license of the resulting packages not the recipe itself.

PR #2 opened to address this

Oh if this isn't a closed binary then a proper recipe would build it from scratch :)

Thats a good point, I'm working on that, for now I am just cloning precompiled ones

authors: mdsketch rossburton

repo: kpmteam/meta-kpmpower


text:
Hoobs 4

Looks like the new hoobs doesn't play well. Just keeps wanting to install and shows no configuration page to enter settings.

Similar, but I was actually able to enter configurations, but on saving, they (all my changes) went away.

Configuration in Hoobs 4 is located under Config->Advanced (i.e., http://hoobs./config/advanced if you're on Hoobs).  It should be available on this page, too, but at least the Config->Advanced approach will give you the ability to set/update the config.

I followed the steps in Config->Advanced and I went to save my changes and it also went away after hitting save. No configurations saved. Maybe a separate Configuration Tab with easier steps like other plugins for those of us that are not that tech savy?

Should be fixed in the latest update :)

authors: BMDan Texas84 kpsuperplane sergioloera slbloomer

repo: kpsuperplane/homebridge-wiz-lan


text:
Back to Javascript?

I want to refactor this package to use Javascript in favour of Coffeescript.
Hey folks, what you think?

+1

Ok, opened PR #20. But is still WIP.

Any idea when this will be merged?

PR #20 is now merged into master and tagged as v0.5.0

authors: aliatsis justechn kr1sp1n


text:
Migrate mambaforge (deprecated) to miniforge3

Resolves #190

Superseded by #320

repo: kraemer-lab/GRAPEVNE


text:
Add missing release requirement

Before this change, we saw an error in CI when we tried to make a release:
ModuleNotFoundError: No module named 'packaging'

Ref: https://github.com/kraken-tech/django-integrity/actions/runs/9062077439/job/24895172273

the constraints still smell funny to me

Yeah -- it's possible I've missed something there.

repo: kraken-tech/django-integrity


text:
Cannot use original header on Response Modifier Plugin (I can't modify the backend)

Environment info:

KrakenD version: Version: 2.1.3
System info: docker
Hardware specs: Lenovo ThinkPad E15 Gen 2, 32GB ram
Backend technology: Node
Additional environment information:

Describe what are you trying to do:
Hello
I want to use the request.Header on Response Modifier plugin  without changing anything on the backend (I am not allowed to do it)
For example, the API Gateway receives data from the original request on Headers and the Request Modifier Plugin XPTO or the auth/validator treats the information and attaches some data to a new Header ("X-Username" for example)
I want to get the X-Username header on the Response Modifier Plugin alongside the response body from the backend. The response needs to be encrypted using data present on the original request.headers.
Is it possible?
Many thanks!
Your configuration file:
{
  {
  "$schema": "https://www.krakend.io/schema/v3.json",
  "version": 3,
  "host": "http://localhost:8081",
  "port": "8081",

  "name": "KrakenD ",
  "extra_config": {
    "router": {
      "return_error_msg": true
    },
    "security/cors": {
      "allow_methods": ["GET", "POST", "PUT", "PATCH", "DELETE"]
    }
  },
  "output_encoding": "json",
  "timeout": "2000ms",
  "cache_ttl": "300s",
  "host_v2_1": "v2.1",
  "debug_endpoint": true,
  "plugin": {
    "pattern": ".so",
    "folder": "/etc/krakend/plugins/.bin/"
  },

  "endpoints": [
    {
      "@comment": "Auth: generate token",
      "endpoint": "v2.1/auth/token",
      "method": "POST",
      "backend": [
        {
          "url_pattern": "/oidc/token",
          "host": ["URL_HERE"],
          "method": "POST",
          "encoding": "json",
          "allow": ["access_token", "expires_in", "token_type", "scope"]
        }
      ],
      "output_encoding": "json"
    },
    {
      "endpoint": "v2.1/debug",
      "method": "POST",
      "output_encoding": "json",

      "input_headers": ["Authorization", "Content-Type", "X-Username"],

      "extra_config": {
        "auth/validator": {
          "alg": "RS256",
          "jwk_url": "URL_HERE",
          "cache": true,
          "cache_duration": 600,
          "roles_key": "roles",
          "roles": ["ROLE_SERVICE"],
          "operation_debug": true,
          "propagate_claims": [["username", "X-Username"]]
        }
      },

      "backend": [
        {
          "url_pattern": "/__debug/default",
          "method": "POST",
          "encoding": "json",
          "extra_config": {
            "modifier/martian": {
              "header.Copy": {
                "scope": ["request", "response"],
                "from": "X-Username",
                "to": "X-TEST"
              }
            },
            "plugin/req-resp-modifier": {
              "name": [
                "decryption-payload-plugin",
                "get-entity-plugin",
                "encryption-response-plugin"
              ],
              "decryption-payload-plugin": {
                "HOST_ENTITY_SERVICE": "URL_HERE",
                "HOST_ENCRYPTION_SERVICE": "URL_HERE"
              },
              "encryption-response-plugin": {
                "HOST_ENTITY_SERVICE": "URL_HERE",
                "HOST_ENCRYPTION_SERVICE": "URL_HERE"
              }
            }
          }
        }
      ]
    }
  ]
}

}

Commands used:
How did you start the software?
version: "3"
services:
  krakend:
    container_name: krakend
    image: devopsfaith/krakend:watch
    volumes:
      - .:/etc/krakend
    environment:
      PORT: "8081"
      API_VERSION_2_1: "v2.1"
      HOST_ENTITY_SERVICE: "URL_HERE"
      HOST_ENCRYPTION_SERVICE: "URL_HERE"
      FC_ENABLE: "1"
      FC_SETTINGS: "/etc/krakend/settings"
      FC_TEMPLATES: "/etc/krakend/templates"
      FC_PARTIALS: "/etc/krakend/partials"
      FC_OUT: "/tmp/out.json"
    command:
      ["run", "-d", "-c", "/etc/krakend/krakend.tmpl"]
    ports:
      - 8080:8081

Logs:

Additional comments:

I used HTTP Client Plugin, this way I have both the request and the response of the backend.
https://www.krakend.io/docs/extending/http-client-plugins/

repo: krakendio/krakend-ce


text:
Error getting reference

I'm trying to get a reference from my database, but It's result in an error, see it:

That's my code:
<?php
require __DIR__.'/vendor/autoload.php';

use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;

$serviceAccount = ServiceAccount::fromArray(
  array('project_id' => 'kapp-a7ea2',
        'client_id' => '139118961877-t5hnajp1ido24a226278irvam7hhf4sd.apps.googleusercontent.com',
        'client_email' => 'thallyssonklein@gmail.com',
        'private_key' => 'AIzaSyANXOXhQ_F7-2bcuHULZLwRAJwxOytwcwg',
  )
);
$firebase = (new Factory)
    ->withServiceAccount($serviceAccount)
    ->withDatabaseUri('https://kapp-a7ea2.firebaseio.com')
    ->create();

$database = $firebase->getDatabase();

$rasteira = $database->getReference('/kapp-a7ea2/movements/Rasteira');

echo $rasteira->getValue();
//$website = 'https://api.telegram.org/bot530496822:AAEa8Xq5LMAA7_qKbEk0rlPK9cSMLDZB3cA/sendMessage?chat_id=270877409&text=';
?>

Someone can to help me to understand what's happening here?

It looks like an OpenSSL error on your remote machine. Please make sure that you have a recent version of OpenSSL is installed on the machine, and that PHP has the OpenSSL extension installed (you can check that with php -m or by looking at the output of phpinfo() in a browser).

Also, please remove the value of your private key from your code snippet, otherwise someone could grab it and access your Firebase project.

I'm deploying this application on Heroku and I can't to verify and install if isn't installed. Does not possible to add it on composer.json to be installed on deploy?

It was obviously too late for me yesterday, so I didn't read the error message carefully enough 😅. It says "supplied key param can not be coerced into a private key", which is an indication for your private key not being correct.
You must use the key provided in the service account JSON file that you can download from your Firebase project settings. The private key starts with -----BEGIN PRIVATE KEY-----\n and ends with \n-----END PRIVATE KEY-----\n.

Thank you, It's resolved. I found the service accounts tab and generated the file.

authors: ThallyssonKlein jeromegamez

repo: kreait/firebase-php


text:
Seperate Discourse API

Wir sollten schauen das wir die Discourse API seperieren um sie aus verschiedenen cogs ansprechen zu können. Damit könnten wir uns den Code ein bissechen sauberer halten. Evtl. wäre auch die Verwendung des pydiscourse eine Idee.

Eine eigene Klasse find ich gut... die Klasse von der pydiscourse Library https://github.com/bennylope/pydiscourse/blob/master/pydiscourse/client.py
ist ganz gut.

repo: kreativmonkey/wb-discord-bot


text:
fix: set fsgroup in nginx same as php-fpm

Checklist:

[ ] Have you added an explanation of what your changes do and why you'd like them to be included?
[ ] Have you updated or added documentation for the change, as applicable?
[ ] Have you tested your changes on all related environments with successful results, as applicable?

Type of Changes:

[ ] 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)

What is the current behavior? (link to any open issues here)
What is the new behavior (if this is a feature change)?
Other information:

/test k8s

/test k8s

/test k8s

/test k8s

/test k8s


text:
Javascript messages are hijacked/wrong after loading lua.vm.js

This problem occur only when invoking a script from a file, and does not show when invoking node interactively.
Suppose you have a javascript file (i.e. named 'undefTest.js') with an error inside (i.e. calling an undefined function):
functionNotDefined();

If you launch it:
$ node undefTest.js
/home/fabrizio/working/git/lua.vm.js/undefTest.js:1
functionNotDefined();
^
ReferenceError: functionNotDefined is not defined
    at Object.<anonymous> (/home/fabrizio/working/git/lua.vm.js/undefTest.js:1:1)
    at Module._compile (module.js:460:26)
   ...

But suppose in this undefTest.js you load lua.vm.js before invoking the undefined function:
var L=require('./dist/lua.vm.js').L
functionNotDefined();

Now, when launching it, node shows some different error message generated by lua.vm.js:
$ node undefTest.js
/home/fabrizio/working/git/lua.vm.js/dist/lua.vm.js:2
aughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Mod
                                                                    ^
ReferenceError: functionNotDefined is not defined
    at Object.<anonymous> (/home/fabrizio/working/git/lua.vm.js/undefTest.js:2:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

This seems to be a side effect of the following code that emscripten adds:
process['on']('uncaughtException', function(ex) {
    // suppress ExitStatus exceptions from showing an error
    if (!(ex instanceof ExitStatus)) {
      throw ex;
    }
  });

from https://github.com/kripken/emscripten/blob/07b87426f898d6e9c677db291d9088c839197291/src/shell.js#L125
It doesn't seem to be configurable, so it's not within control of this project.

Hmm thanks for finding the culprit.
That's unfortunate you can't remove an uncaughtException handler (or at least I did not find the way to do it).

That's unfortunate you can't remove an uncaughtException handler (or at least I did not find the way to do it).

I'm curious what harm it's causing you.

No harm at all... it's just annoying, especially when you do development. But understand it's emscriptem that's installing the devilish uncaughtException...
I guess we can close the ticket.

authors: daurnimator fabriziobertocci


text:
logger: move logger to cutil/logger

Fixes #134

I am so sorry for making you resolve conflicts all day

@kris-nova no problem :blue_heart: should be okay now

authors: kris-nova xmudrii

repo: kris-nova/kubicorn


text:
Document date time abbreviations

This isn't really a bug per se but there was no other fitting issue type.
I saw in the GIF regarding autocompletion that :now: was being autocompleted to
a date time and didn't realise that this wasn't coming from compe and was confused as to why it wasn't working.
I eventually realised that it was an iabbrev command and that it only expands after you enter a space i.e. :now:<space> will expand but :now: won't. Which isn't necessarily an issue, I just wanted to suggest that this be documented somewhere since from the GIF it's not clear how this works or what is available e.g. is just now? can other words work?

I'll set up more issue types, thanks.
Yeah, I forgot to add those. It's only :today: and :now:, where :today: is today's date, and now is today's date with current time.
I'll add those to readme and docs.

authors: akinsho kristijanhusak


text:
various fixes & enhancements to the spec

was trying out your spec (great work btw!) and get the weather info failed due to a unmarshaling error:  the percentage in PercentageDataPoint was defined as an int, but it's actually a float.

Added two more enhancements:  the first one introduces types to facilitate coding against the generated code (especially in a static typed language like Go).  the second adds DeletePresenceLock (i.e. calling /homes/{homeId}/presenceLock, with DELETE method).

Thanks for the PR! Will try and process it this weekend.

Thanks for the PR! Will try and process it this weekend.

no worries.  I'm going to work on OpenWindow in ZoneState next.  Have this from my own custom implementation of the API.   So feel free to hold off for a couple of days.

done.  :)
while working on this I noticed that 422 errors don't unmarshal: the body doesn't match the spec.  will investigate, but put that in a separate PR.

Merging to dev branch first, so I can run the test harness on the changes before pushing to the main branch.

This commit has now been pushed to the main branch. Thanks for your contribution!

authors: clambin kritsel


text:
README.md markdown was broken

Fixed the markup, though ordered lists do not work correctly with Github flavoured markdown, so I've transformed it into an unordered list.

Hi, thanks for the contribution.
I'm quite busy right now, but I will merged it & publish soon.
Thanks again.

Has been implemented & published in version 0.11.7.
Thanks again.

@leny, thanks for the merge :)

authors: kix leny

repo: krkn/kouto-swiss


text:
PDO Problem w/ basic example

Hi, I'm having a issue with this lib.
Using the following code:
<?php
require_once 'vendor/autoload.php';
use Dota2Api\Api;

Api::init('STEAM_API_KEY', array('MYSQL_SERVER', 'MYSQL_USER', 'MYSQL_PASS', 'MYSQL_DATABASE', 'MYSQL_PREFIX'));

$mm = new Dota2Api\Mappers\MatchMapperWeb(121995119);
$match = $mm->load();
$saver = new Dota2Api\Mappers\MatchMapperDb();
$saver->save($match);
?>

Returns:
Fatal error: Uncaught Error: Call to a member function prepare() on null in /var/www/vendor/kronusme/dota2-api/includes/Utils/Db.php:174
Stack trace: #0 /var/www/vendor/kronusme/dota2-api/includes/Utils/Db.php(197): Dota2Api\Utils\Db->_queryPDO('SELECT match_id...', Array)
#1 /var/www/vendor/kronusme/dota2-api/includes/Mappers/MatchMapperDb.php(269): Dota2Api\Utils\Db->queryFirstPDO('SELECT match_id...', Array)
#2 /var/www/vendor/kronusme/dota2-api/includes/Mappers/MatchMapperDb.php(115): Dota2Api\Mappers\MatchMapperDb::matchExists('121995119')
#3 /var/www/dota2.php(36): Dota2Api\Mappers\MatchMapperDb->save(Object(Dota2Api\Models\Match))
#4 {main} thrown in /var/www/vendor/kronusme/dota2-api/includes/Utils/Db.php on line 174

Can I get any help? I installed the *.sql and the match loads correctly, the database part that is not working.
Thanks a lot!
Edit: Forgot to mention, running PHP 7.0.0, MySQL 5.7.12.

Hi, @vegbrasil. Are you sure, you put correct db settings (login, pass, db_name)?
I have test for MatchMapperDb that saves match to the db and it passed on the latest builds.

Thanks for the fast answer, @kronusme!
Turns out my MySQL user table was corrupted, so everything was a mess. I'm really sorry!
Its now working great :+1:
Thanks a lot!

authors: kronusme vegbrasil


text:
[Feature] Make desaturating Trello cards optional

Is your feature request related to a problem? Please describe.
I like the bright colors of the labels that you can assign to cards in Trello. However, when the Strelloids add-on is enabled, both Trello labels and Strelloids custom tags are shown with less saturated colors. It looks like a desaturation filter is applied to the Trello cards.
Describe the solution you'd like
Make desaturating cards/labels/custom tags optional.
Something like:
"Accentuate card on hover?  Yes/no"
Describe alternatives you've considered
Disabling Strelloids, but I don't wanna do that (great add-on!!)
Additional context
See attachment. I don't know what the rationale was for desaturating the cards, but I'd like to disable this feature.

PS.   QW = quick win ;)

Hi @krzmig, is it possible to give an update on this feature request? Is this feasible to implement in the near future?
It's the thing bothering me the most when using your add-on.
Thanks in advance!

Hi,
i will try to add this feature in the next update, but it's probably will not be "near future" :(

Hi, i will try to add this feature in the next update, but it's probably will not be "near future" :(

Thanks for the update! Your add-on is great. I can wait for this feature to be implemented :)

authors: krzmig rubcap

repo: krzmig/strelloids


text:
Older Swift Tool Version Support

Hello,
Currently, I'm using Xcode 12 with Swift Tool Version 5.4, but the Inject's Swift Package is built with Swift Tool Version Is 5.5. So I cannot add this project to my application. Is it possible to add support for older Xcode versions (< Xcode 13)?
Thanks in advance, have a nice and safe day.

It would work but I think you'd probably want to use older InjectionIII version that had unhide logic since we dropped it recently, right @johnno1962 ?

Yeah, but if you encounter an undefined default argument symbol it will fall back to going an unhide and suggest you restart the app. Should be no problem. I test it with Xcode 11!

I guess InjectionIII is not related to the issue. Because SPM cannot add the package to the project.

@Glockx dropped down to 5.3, you should be good to go

authors: Glockx johnno1962 krzysztofzablocki

repo: krzysztofzablocki/Inject


text:
Support sections for annotations

Taking as an example AutoEquatable protocol it can be tedious to add /// sourcery: skipEquatable for each of the standard library types. Will it be possible to support sections of annotations the same ways as NS_ASSUME_NONNULL_BEGIN and NS_ASSUME_NONNULL_END, for example like this?
// sourcery: skipAnnotations begin

extension String: AutoEquatable {}
extension Int: AutoEquatable {}
...
// sourcery: skipAnnotations end

I'm going to refactor annotation scanning a bit, should be able to squeeze this in 👍

How about this syntax:
// sourcery:push skipAnnotations, somethingElse = 21

// sourcery:pop

which one you'd prefer @khanlou ?

between
// sourcery: skipAnnotations begin

and
// sourcery:begin: skipAnnotations, somethingElse = 21

i agree that sourcery:begin is safer and better in most ways.
not to be a broken record, but maybe we should steal the push/pop terminology from swiftlint? the more our tools work the same, the better it is for everyone

I first had it as push, pop but thought that that would be a very rare case and in #54 I implemented begin /  end, changing it to push pop would be simple though as I'd only need to tweak the variable to be an array of dictionaries and flatten it at the end. @ilyapuchka what do you think? push / pop or begin / end ?

i'm down for begin/end, and it even means a little less state

I think if it will be possible to add additional annotations inside annotations section then we are good. Like this:
// sourcery:begin: skipEquality

// some vars

// sourcery: useInEquality
var somevar: SomeType

// the rest
// sourcery:end

I guess nested sections are not supported by #54  and that's what you mean by push/pop?

no nested section but it ads internal properties like the example you posted

authors: ilyapuchka khanlou krzysztofzablocki

repo: krzysztofzablocki/Sourcery


text:
ModuleNotFoundError: No module named 'function'

Python 3.6
$ pytest blog-projects-master/blog_mocks/tests/
Traceback:
blog-projects-master/blog_mocks/tests/test_function_pytest.py:1: in <module>
    from function import square, main
E   ModuleNotFoundError: No module named 'function'

Hi 👋🏻 thank you for filing issue - I wrote this post for python 3.4 and python 3.7. I not longer work with Python so maybe something changed between 3.4 & 3.6?

authors: iSteal krzysztofzuraw

repo: krzysztofzuraw/blog-projects


text:
webhook validators endpoint not getting called for kfserving 0.5.1 with v1alpha2 inferenceservice

/kind bug
What steps did you take and what happened:
create a inferenceservice with v1alpha2 revision.
inferenceservice was not created successfully.
i have installed kfserving version 0.5.1 . what i have observed that sporadically the webhook validator endpoint is not called immediately.
i dont see the conversion logs properly as well .
ideally after the conversion of the v1alpha2 inferenceservice to v1beta1 the validator endpoint should be called which does happen in some cases but sometimes the validator is called after almost 1 hour.
here is the logs :
the defaulter is called here :
check the timestamp :
{"level":"info","ts":1616478179.0620055,"logger":"kfserving-v1alpha2-types","msg":"Defaulting InferenceService","namespace":"rg-93ab75bf-6ca1fe8f","name":"d09c70bc4ba30df7"}
this is :  Tuesday, March 23, 2021 1:43:02
now ideally the conversion should happen immediately
but check out the timestamp:
{"level":"info","ts":1616481999.038264,"logger":"inferenceservice-v1beta1-validation-webhook","msg":"validate update","name":"d09c70bc4ba30df7"}
{"level":"info","ts":1616481999.0382884,"logger":"inferenceservice-v1beta1-validation-webhook","msg":"validate create","name":"d09c70bc4ba30df7"}
{"level":"info","ts":1616481999.0821314,"logger":"v1beta1Controllers.InferenceService","msg":"Reconciling inference service","apiVersion":"serving.kubeflow.org/v1beta1","isvc":"d09c70bc4ba30df7"}
this timestamp corresponds to
Tuesday, March 23, 2021 2:46:39 PM
which is almost after 1 hour.
for v1beta1 inferenceservice what i have observed that the validators are getting called.
What did you expect to happen:
inferenceservice was created properly immediately .
Anything else you would like to add:
kfserving 0.5.1 is installed.  changes in the kfserving configuration :
failurePolicy is set to ignore in the webhooks in custom  kfservingconfig.
Environment:

Istio Version: 1.8
Knative Version: 0.17
KFServing Version: 0.5.1
Kubeflow version: NA
Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm] : NA
Kubernetes version: (use kubectl version): 1.18

v1alpha2 is now fully deprecated.

repo: kserve/kserve


text:
add Cars24 to adopters list

Adding Cars24 to the list of adopters

@swapkh91 Can you help sign off the commit?

@yuzisun just checked the main page, can I add the logo too?

@yuzisun added the svg logo

Welcome to the community! @swapkh91
/lgtm
/approve

repo: kserve/website


text:
ECU-R (SunSpec logo) & ECU-C stop responding after a couple of days

I'm in the process of adding extended error logging and raising errors to keep things running smoothly. It seems that the exception where the connection can be established but no further data is sent from the ECU leads to a socket that is left open. The old ECU-R is not sensitive to this, but the new one (with SunSpec logo) might be.

There might be a flaw in APSystemsSocket.py Line 106: except TimeoutError as err:
Reading a socket might return a tuple here and in fact, when the socket was able to connect to the ECU (port=open) but the ECU doesn't return any data, a "timeout" occurs which is not being captured by except TimeoutError. This results in a port which is left open. Over time this might result in port exhaustion.
Therefor it's best to capture all possible situation in one go to make sure the port is being closed. Change line 106 and restart HA.
Line 106: except Exception as err:
I hope this contributes to continuity and the ECU stays in the air longer, please let me know!
(in this same function self.add_error(msg) the msg is not being reflected in the log and might as well be left out).

Thanks alot!
Maybe i will try it later this week.
If so i will post the result :)
Have a nice day.

I allready initiated a PR for issue #71 because I think that the ECU-R pro firmware has a smaller range of ports assigned for installing the ECU using the ECUapp (not many are needed after all). Maybe to make space for modbus communication. It's a wild guess.

#71 has been merged into 1.2.13 thanks @HAEdwin

Hello, yesterday i've updated the integration to 1.2.13 thanks alot!
The integration is still running flawless with the ecur pro.
I will keep you'll updated if its stays running next view days.

Hello there!
I have checked the integration again and its frozen if i reboot the ecu by unpluging the mains for a short while tis working again.
This is what the log said....
Logger: custom_components.apsystems_ecur
Source: custom_components/apsystems_ecur/init.py:102
Integration: APSystems PV solar ECU (documentation)
First occurred: 14:51:28 (1 occurrences)
Last logged: 14:51:28
Using cached data from last successful communication from ECU. Error: index out of range.
Logger: custom_components.apsystems_ecur
Source: helpers/update_coordinator.py:222
Integration: APSystems PV solar ECU (documentation)
First occurred: 15:01:33 (1 occurrences)
Last logged: 15:01:33
Error fetching apsystems_ecur data: Error using cached data more than 5 times. See log, and try power cycling the ECU.
2022-05-03 16:24:14 WARNING (SyncWorker_5) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b''
Maybe this info will help something, i tis a bit out of my league of knowledge for now.
Setup:
Firmware: ECU_R_PRO_2.0.6
Ecu-r with sunspec logo.
Hardwired connected and a static ip.
If i can post some more info let me know.
Greetings!

@Hasharderwyk
In the past period I spent some days to see how stability can be increased. Of course I was only able to test with my own ECU (an older ECU-R without SunSpec logo on the back). In my case the number of timeouts has decreased enormously so it benefits me but I have absolutely no idea how the other ECU's react to this. In any case, you can download my code here.
https://github.com/HAEdwin/homeassistant-apsystems_ecur/archive/refs/heads/main.zip
Extract from the zip only the file: APSystemsSocket.py and overwrite the existing file at: config/custom_components/apsystems_ecur make sure you restart HA afterwards.
(You can also rename the existing file first and then copy the new file into the folder so you can easily restore the old situation)
Not sure if it will help you. What I did was trying to use another method of receiving complete dataframes, added some extra visual log information when timeouts or socket errors occur, added a delay between question and answer, added buffer flushing.
Please let me know if this has any effect on the stability.

@harderwykr  That would be great. I'm particularly interested in the log to see how often a timeout occurs and at which step in the entire process (ECU, inverters, signal strength). Besides the maintenance at night, they should not occur as often anymore.

@harderwykr Do you already have some experience with the adjustments I made? I consider this as the maximum that can be obtained, the rest is a shortcoming of the ECU. So all hopes are on this adjustment.

Hi! Its now running for the second day still without freezing. Verry nice!
I do not have much experience with HA so i am figuring out how to log this integration to get some log data for you.
Until now its working nice :)

Ok, there should be some logging in the HomeAssistant.log file. If you've installed "File Editor" you're able to browse to this file. "File Editor" is a handy Add-on.... [Settings] > [Add-ons] > [Add-on Store]

I got it running up to 4 days,but then it fails. I guess I'll have to either switch to the component using scraping of the webpage or reset the ECU every night with a smart power plug.

@dewi-ny-je How many timeouts did you get in the homeassistant.log?

In the GUI/logs I can see:
Logger: custom_components.apsystems_ecur
Source: custom_components/apsystems_ecur/__init__.py:102
Integration: APSystems PV solar ECU (documentation)
First occurred: May 22, 2022, 04:39:38 (214 occurrences)
Last logged: May 22, 2022, 22:35:14

Using cached data from last successful communication from ECU. Error: timed out
Using cached data from last successful communication from ECU. Error: [Errno 113] Host is unreachable

Logger: custom_components.apsystems_ecur
Source: helpers/update_coordinator.py:223
Integration: APSystems PV solar ECU (documentation)
First occurred: May 22, 2022, 05:04:53 (1 occurrences)
Last logged: May 22, 2022, 05:04:53

Error fetching apsystems_ecur data: Error using cached data more than 5 times. See log, and try power cycling the ECU.

This error originated from a custom integration.

Logger: custom_components.apsystems_ecur
Source: custom_components/apsystems_ecur/__init__.py:96
Integration: APSystems PV solar ECU (documentation)
First occurred: May 19, 2022, 09:18:31 (10 occurrences)
Last logged: May 19, 2022, 18:48:32

Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\t\x94\x00\x00\x02\xc5 "\x05\x19\x1566\x00\x06\x00\x0510016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'
Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\x04\xdb\x00\x00\x03\xd7 "\x05\x19\x17\x11C\x00\x06\x00\x0610016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'
Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\x03\\\x00\x00\x00\x00 "\x05\x19\x171D\x00\x00\x00\x0610016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'
Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00 "\x05\x19\x17AF\x00\x00\x00\x0610016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'
Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\x04\xdd\x00\x00\x00\x00 "\x05\x19\x18FU\x00\x00\x00\x0610016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'

The returned 0 on lifetime energy is somewhat strange. Have to investigate that. Can you open and share the homeassistant.log?

The messages which are repeated were replaced with "...".
Also, I have an automation disabling polling between 1h after sunset and 1h before sunrise.
I'm running the current integration since May 13th, which may explain why the first issue is on the 19th (4 days).
2022-05-19 09:18:31 WARNING (SyncWorker_6) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\x02\xc9\x00\x00\x00N "\x05\x19\t\x16\x00\x00\x06\x00\x0610016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'
...
2022-05-19 18:48:32 WARNING (SyncWorker_3) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: ECU returned 0 for lifetime energy, raw data=b'APS120117000121620004722301\x00\x00\x00\x00\x00\x00\x04\xdd\x00\x00\x00\x00 "\x05\x19\x18FU\x00\x00\x00\x0610016ECU_R_PRO_2.0.6A016Europe/Amsterdam\x80\x97\x1b\x03\x88P`\xc5\xa8~\xf8\x1400\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00END\n'
2022-05-22 04:39:38 WARNING (SyncWorker_5) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: timed out
2022-05-22 04:44:41 WARNING (SyncWorker_3) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: [Errno 113] Host is unreachable
...
2022-05-22 05:04:53 WARNING (SyncWorker_8) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: [Errno 113] Host is unreachable
2022-05-22 05:04:53 ERROR (MainThread) [custom_components.apsystems_ecur] Error fetching apsystems_ecur data: Error using cached data more than 5 times. See log, and try power cycling the ECU.
2022-05-22 05:09:56 WARNING (SyncWorker_8) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: [Errno 113] Host is unreachable
...
2022-05-22 22:35:14 WARNING (SyncWorker_0) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: [Errno 113] Host is unreachable

I agree with you, I've put maximum effort in optimizing/improving and personally I think this is it. So the other options scraping and modbus remain open to achieve more stability.
From what I noticed, I've got far better results with continuous polling, so I disabled the sceduled pause in polling (and set the cache count to 30 so that it jumps over the maintenance). I excluded logging from the code. If the cache is used I'll find that here for reference. For my ECU-R it is stable enough this way (polling once every minute).

@HAEdwin I tried modbus TCP too but it wasn't stable and the data returned was not always correct. After testing it I disabled it again just to be sure not to take more resources than needed. I don't remember which component I used but I think there's only one.
I haven't tried modbus via physical connection but then we are talking about a different level of complexity.
I can try using your fork which is few commits ahead and report back.
If neither works, it's probably time to merge the scraping and @tv3 I think was already interested in helping.
After all scraping could also be an option and not automatically selected depending on the ECU model and firmware version! But I feel that both techniques belong to the same integration...

@dewi-ny-je Yes, you should try my fork! because it really decreased the timeouts in my situation also includes a better use of the sockets with some cooldowns. I posted @ksheumaker a message to review/try this also. You only have to replace APSsystemsSocket.py
TV3 added the valuable scraping method, for the socket part - I'm done :) this should be it, no more tuning or else use the other method of scraping.

Rebooted yesterday at 17:38, today at 11:27 it stopped reporting with "index out of range". I'm setting the nightly reboot again

@dewi-ny-je Ok, so the ECU still respons but the integration is reporting "index out of range". It would be nice if there's more info on that, I'm not sure where that comes from. Anyway scraping would improve stability for the ECU-R-Pro users.

@HAEdwin @dewi-ny-je Any update on this issue?
I'm experiencing the same issue with my ECU-C. working for 3-4 days and then it gets unavailable.
Its almost 4 days on the dot. Turning the ECU-C off and on again fixes the issue.
I tried also HAEdwin's fork but it does the same.
I wish I could give more info or input, but I'm a noob in programming.
This is my logging from today when it happened:
2022-06-04 19:47:04 WARNING (SyncWorker_4) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: index out of range 2022-06-04 19:52:04 WARNING (SyncWorker_1) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 19:57:04 WARNING (SyncWorker_7) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 20:02:04 WARNING (SyncWorker_4) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 20:07:04 WARNING (SyncWorker_0) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 20:12:04 WARNING (SyncWorker_2) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 20:12:04 ERROR (MainThread) [custom_components.apsystems_ecur] Error fetching apsystems_ecur data: Error using cached data more than 5 times. See log, and try power cycling the ECU. 2022-06-04 20:17:04 WARNING (SyncWorker_1) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 20:22:04 WARNING (SyncWorker_2) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b'' 2022-06-04 20:27:04 WARNING (SyncWorker_4) [custom_components.apsystems_ecur] Using cached data from last successful communication from ECU. Error: could not extract checksum int from 'ECU Query' data=b''

@gratjetost I simply reboot the ecu-r pro every evening 1h after sunset.

@dewi-ny-je do you have a command for that? Because my ECU-C is connected straight to the mains power. And it has a switch on the ecu itself. So for me no option to reboot it easily. Also my ecu connection to hacs can drop in the middle of the day.

If you have an ecu-r-pro, like me, then you can use my alternative integration. Mine has been running stable for weeks.

@gratjetost

@dewi-ny-je do you have a command for that? Because my ECU-C is connected straight to the mains power on 3 fases. And it has a switch / power button on the ecu itself. So for me no option to reboot it easily. Also my ecu connection to hacs can drop in the middle of the day.

I would suggest using tv3's integration, I will switch to it as well when I have time.
Temporarily I do the reboot with a smart plug before the ecu-r pro, so I cut the power for few seconds and then I restore it

@dewi-ny-je thats what I thought, for me a smart plug is not an option due to the 3 fase connection.
@tv3 I'll give your fork a try. hopefully thats also stable!
I will keep you updated.

For ECU models other than the ECU-R starting with ID 2160 and ECU-B, I would indeed recommend the TV3 fork. I think I tried to get the most out of it but the other ECU models just don't seem to be able to handle it.

@gratjetost

@dewi-ny-je thats what I thought, for me a smart plug is not an option due to the 3 fase connection.

I don't understand. The ECU-R is a DC device with a single phase AC to DC power Brock, isn't it connected to only one phase? I also have three phases at home and solar panels on two out of three phases, but the ECU still has a wall power brick with the normal single phase plug.

@dewi-ny-je the ECU-C doesn't have a power brick. Only straight cable connection to the grid.

So for me the only option to turn it on or of is using the power button on the ECU-C itself.

For ECU models other than the ECU-R starting with ID 2160 and ECU-B, I would indeed recommend the TV3 fork. I think I tried to get the most out of it but the other ECU models just don't seem to be able to handle it.

Sorry, just to clarify a ECU-R starting with 2162 would be better on the TV3 fork?

If you have an ecu-r-pro, like me, then you can use my alternative integration. Mine has been running stable for weeks.

@tv3
it is stable indeed, but the current main branch does not return each individual panel power, only the total power and the daily energy.
The temperature is there, however.

I'll look into the missing data (after my holidays:-)). Could you supply some more details of your setup, like inverter/panel type etcetera? Also a dump of the returned json would be appreciated.

@tv3 see https://github.com/tv3/homeassistant-apsystems_ecur/issues/7

I am closing my own issue for the sake of clarity. Feel free to open a new issue if you have problems with this integration.

authors: HAEdwin Hasharderwyk dewi-ny-je gratjetost ksheumaker marcusds tv3


text:
ksonnet.io website not accessible

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
ksonnet.io website does not respond. Makes it hard to follow tutorials etc.
What you expected to happen:
To be able to open the website :)
How to reproduce it (as minimally and precisely as possible):
Try to open http://ksonnet.io i a web browser
Anything else we need to know?:
I am located in Denmark. I have tried to connect via various internet providers, and the issue does not appear to be specific to my internet connection.
Environment:

ksonnet version (use ks version): N/A, but 0.11.0
Kubernetes version (use kubectl version): N/A, but minikube v0.28.0

This should be resolved

authors: bryanl sorbra

repo: ksonnet/ksonnet


text:
Sending Apple style Crash in Standard installation

Hi,
Is there a way i could send apple style crash report in standard installation.
Or, is there a way to get apple style reports via code so that i can use my own NSURLSession to send me apple style reports?

You'd have to build your own filter set like so:
    id<KSCrashReportFilter> appleFilter = [KSCrashReportFilterAppleFmt filterWithReportStyle:KSAppleReportStyleSymbolicated];
    id<KSCrashReportFilter> gzipFilter = [KSCrashReportFilterGZipCompress filterWithCompressionLevel:-1];
    id<KSCrashReportFilter> httpSendFilter = [YourHttpSendFilterWithURL:url];
    id<KSCrashReportFilter> sink = [KSCrashReportFilterPipeline filterWithFilters:appleFilter, gzipFilter, httpSendFilter, nil];

Put that in your own KSCrashInstallation subclass, similar to KSCrashInstallationStandard and you're good to go.
I haven't made a generic HTTP send filter since everyone's needs tend to be different. But you could crib code from KSCrashReportSinkStandard.

Hey, thanks a lot for helping me out. It works 👍
I have a bunch of doubts, (sorry if they are too naive):

There's a boatload of binary images, is there any way I can strip these out during the filter phase itself? Are the binary images helpful?
The app freezes after the crash when I use my own class (a subclass of KSCrashInstallation) and not when KSCrashInstallationStandard. When I use KSCrashInstallationStandard it crashes and exits out of the app. Have I missed out something? Should I change something in my KSCrashInstallation subclass?

same issue at point 1

You could make your own filter that clears out the binary images:
report[@KSCrashField_BinaryImages] = nil;

However, be aware that the binary images are required for offline symbolication.
As for #2, are you able to trap the crash in the debugger?

The freeze problem got fixed when I updated to the latest framework.
As for #1, Yes, you are right, I'll have to go with my own filter I guess.
I need most of the apple style format, but also a bunch of information from the standard JSON format.
I should probably make a filter and make the best out of both world and copy some code off the KSCrashReportFilterAppleFmt , or subclass or extend it, right?

Worked out, Made a subclass of KSCrashReportFilterAppleFmt and added my own filterReports onCompletion,  although I had to expose -(NSDictionary*) toAppleFormat:(NSDictionary*) report and - (int) majorVersion:(NSDictionary*) report to the KSCrashReportFilterAppleFmt.h file.

@gizmoboy7 could you share your code, thanks.
like to get an apple style report, then send the report via a http post to my server.

@djwgit Here's my filter
https://gist.github.com/gizmoboy7/e7fa3248475fdd5e4b5cc8c95547596d
To send to your server, you'll need to build your own Sink which has to follow the KSCrashReportFilter protocol. I took code from KSCrashReportSinkStandard and made my own NSURLSession call in the -(void) filterReports:(NSArray *)reports onCompletion:(KSCrashReportFilterCompletion)onCompletion

Hi, can you share your demo to me. I can't understand what u mean to build Sink and KSCrashInstallation. Thank u a lot!!!!

@kstenerud,
I solved the problem by modifying KSCrashReportSinkStandard.m

add apple report filter in defaultCrashReportFilterSet
in filterReports(), read the apple format report into the http body, content type "text/plain".
then could just get apple format report on my server.

thinking, could have a member variable (reportStyle) on KSCrashInstallationStandard to specify the report format...  json format or apple format...
not sure if this is a good idea, I could get a PR for this change...
thanks for this great framework, helping others for free... :-)

@djwgit
Can you please share the file that you modified?
That will help a lot of people..
Thanks

authors: djwgit gizmoboy7 kstenerud kunalverma25 oliverwithdason zymxxx

repo: kstenerud/KSCrash


text:
Devices not created

devices are never created so when an IO job is scheduled there is a segfault.

Also the device should be between 0 and max-1

repo: ksundberg/CourseMaterials


text:
Törtpont levonás

Lehessen nem egész pontot is levonni. Például ha a fájlkezelésnél két dolog miatt vonok le pontot, akkor ne menjen negatívba a pontszám. Leginkább azért kell, mert az értékelésbe beleírja, hogy hány pont, és az kicsit sus, hogy van 2x1 pont levonás, de összességében csak egyel kevesebb az összpontszám.

Majd:tm:

Van igény általános törtpontra, vagy csak mondjuk fél pontig elég lemenni? Egyáltalán nem adok tört pontot, úgyhogy akik adnak jelentkeznek. @kisbogdan-kolos nemtom más érdekelt-e

Lehet hogy az lenne a legelegánsabb, hogy ha több pontot vonsz le, mint amennyit a szempont ér, akkor a levont pontokat normalizálja a program, hogy pont elérje a szempont pontszámát.
Pl. ha van valamire 2 pont, és levonok 2 pontot meg még kétszer egyet, akkor azokból lesz 1; 0.5 és 0.5 pont. Csak nem tudom, hogy ennek mennyire van értelme.
Amúgy a fél pont szerintem bőven elég.

a normalizálás csak akkor jó, ha minden pont konkrét névvel van ellátva, mint prog1, de pl. prog2-ből van iirc 10 pont arra, hogy OO, ott akkor annyira nem egyértelmű, hogy mit kéne normalizálni és mit nem
meglátom még, hogy mennyire macerás a dolog, de én is elégnek gondoltam a félpontot de azért megkérdeztem

v0.16.1 most lett deployolva, elméletileg megvan
megenged .1 pontossággal levonni, de a lépkedő alapból .5-el lép

authors: bodand kisbogdan-kolos


text:
Archer run issue

Hi Kuangdai,
I just ran a simulation for a 3390x1000x1000 km cartesian model at 0.5 Hz mesh which had an associated 3D model of file size ~ 2.5 GB. From the log output, axisem managed to produce all the normal output (prior to starting the timeloop) and then crashed at the start of the timesteps.
Here are the axisem log, archer output and archer error text files.
05hzScatter.e7476279.txt
05hzScatter.o7476279.txt
output_axisem3d_05Hz.txt
I have emailed a tar file containing all input parameters/3D models as theyre too large to attach uncompressed and it wont support a tar file upload on here.
Best wishes,
Will

You are using a large buffer size (1000) for wavefield output.
Use either a small buffer size or run it on more nodes.

Thanks, all sorted.


text:
using grafana charts for loki

What's in this PR?
Changing the helm install  config for loki chart.
Why?
Loki chart is now part of grafana charts, and separate chart has been deprecated

My apologies, I forgot to integrate this PR, will be fixed as part of https://github.com/kube-logging/kube-logging.github.io/pull/168
Thanks a lot for the patch, I'll pay more attention in the future.

authors: drpdishant fekete-robert


text:
handle preserve-unknown-fields

via https://twitter.com/matteojoliveau/status/1490747666707496961
A CRD that sets x-kubernetes-preserve-unknown-fields can effectively put whatever they want into the schema without specifying it in the schema.
Currently, kopium does not generate anything for this CRD, and this property is not handled at all.
We should handle the property, and where it is seen, it should include an arbitrary json value that can be flattened into the struct as a member:
struct FooSpecWithPreserveProperty {
    #[serde(flatten)]
    pub unknowns: serde_json::Value,
}

This is probably not that bad to for a new contributor to try out as it's mostly just work in the analyzer.
In particular, it requires more logic in the initial type examination to handle the extra property, but probably a bit subtlety since we are not actually examining a member to get the this member and type: we get it from the object instead (if the object has the property, we need this extra overflow type that always looks like the above).
It also needs a test crd, maybe the image.kpack.io thing from the tweet if we can find it, all i can find is a doc spec for it but not the crd.

This is especially relevant for things that expect arbitrary labels, like the very common matchLabels property.
                  matchLabels:
                    type: object
                    x-kubernetes-preserve-unknown-fields: true

This currently creates an empty struct.
Complete CRD is available at https://gist.github.com/alex-hunt-materialize/2743b1e2e58a49c4df0a11ecb39f46ab (generated by the Linkerd 2.11 helm chart).

Would it potentially make sense to have separate handling for "simple" cases like the above, where there are no named properties of the object?
In this case, it would make sense to have it be a BTreeMap<String, serde_json::Value> rather than a separate struct (really a BTreeMap<String, String>, but nothing in the CRD actually tells us that).
I suspect that the majority of x-kubernetes-preserve-unknown-fields: true use cases are "simple" like that, and this would avoid the need to mess with serde(flatten) or to have additional struct nesting for the client.

Yeah, I think you are right. The common map case is the more important one here, and we can leave the degenerate case for another issue (because it's a bit hairy, we can't have the top level spec type be a BTreeMap because we can't impl on that)
Incidentally, we had a similar question on how to proceed with the basic case https://github.com/kube-rs/kube-rs/issues/844#issuecomment-1078539203 (for now we only did the map case).

Another case that needs to be handled: status objects. The istio destinationrule crd (now included) defines this status object:
          status:
            type: object
            x-kubernetes-preserve-unknown-fields: true

which fails because it sets #[kube(status = "DestinationRuleStatus")] so it also needs some trivial wrapper struct.

authors: alex-hunt-materialize clux

repo: kube-rs/kopium


text:
extending fields in the Telemetry/Alert feed

Feature Request
Short Description
Currently, the process name is part of the telemetry/alert feeds. We need process full path as part of the same feed.

Sample Log feed
== Log / 2021-12-12 19:48:37.737160 ==
Cluster Name: Default
Host Name: pandora
Namespace Name: default
Pod Name: log4j-kubearmor
Container ID: 7ccca0b0a09ba86c96d581f695a534d0ec1d7a844f30efc16e0e72568a84cc39
Container Name: log4j-kubearmor
Type: ContainerLog
Source: jspawnhelper
Operation: Process
Resource: /bin/touch /tmp/log4jServerp0wn3d
Data: syscall=SYS_EXECVE
Result: Passed

Note the field Source ... This is the process name. We need process path as well.

Sample Alert feed
== Alert / 2021-12-12 19:57:07.871126 ==
Cluster Name: Default
Host Name: pandora
Namespace Name: default
Pod Name: log4j-kubearmor
Container ID: 7ccca0b0a09ba86c96d581f695a534d0ec1d7a844f30efc16e0e72568a84cc39
Container Name: log4j-kubearmor
Policy Name: do-not-allow-exec-from-java
Severity: 5
Message: disallowed execing from java process
Type: MatchedPolicy
Source: jspawnhelper
Operation: Process
Resource: /bin/touch /tmp/log4jServerp0wn3d
Data: syscall=SYS_EXECVE
Action: Block
Result: Passed

Note the field Source ... This is the process name. We need process path as well.

Tasks:

[ ] get complete process path along with process name ... have these are two different fields
[ ] For host-policies we have PPID and PID fields with process IDs .. apart from IDs we need corresponding process names/paths.
[x] we receive following field when open is attempted, syscall=SYS_OPENAT fd=100 flags=/path/to/file ... the flags should be the flags as mentioned in the man page.

Is your feature request related to a problem? Describe the use case.
The Process Path would be needed if a policy discovery has to be made based on the parent process.
Describe the solution you'd like
Add ProcessPath or Source Path as a field in the telemetry/alert feeds.
CC: @weirdwiz

Tasks:

[ ] get complete process path along with process name ... have these are two different fields
[ ] For host-policies we have PPID and PID fields with process IDs .. apart from IDs we need corresponding process names/paths.

Sample host policy alert:
{
  "Timestamp": 1639803960,
  "UpdatedTime": "2021-12-18T05:06:00.077564Z",
  "ClusterName": "Default",
  "HostName": "pandora",
  "HostPID": 3390423,
  "PPID": 168556,
  "PID": 3390423,
  "UID": 1000,
  "PolicyName": "hsp-kubearmor-dev-proc-path-block",
  "Severity": "1",
  "Type": "MatchedHostPolicy",
  "Source": "zsh",
  "Operation": "Process",
  "Resource": "/usr/bin/sleep",
  "Data": "syscall=SYS_EXECVE",
  "Action": "Block",
  "Result": "Permission denied"
}

== Alert / 2021-12-29 16:33:52.353004 == Cluster Name: default Host Name: minikube Namespace Name: multiubuntu Pod Name: ubuntu-1-deployment-5d6b975744-mcvdg Container ID: 71984adde96f74292d770ea47b953dc9c44ef49d229d619de73a6db57773e6fe Container Name: ubuntu-1-container Policy Name: ksp-group-1-proc-path-block Severity: 5 Message: block the sleep command Type: MatchedPolicy Source: /bin/bash Operation: Process Resource: /bin/sleep 1 Data: syscall=SYS_EXECVE Action: Block Result: Permission denied
In my case field Source already shows the SourcePath. @nyrahul Can you elaborate more on this ?

In my case field Source already shows the SourcePath. @nyrahul Can you elaborate more on this ?

I think the full path will show up in most cases i.e., if the process does not specify a process name then by default the process path will be used by OS kerne. However, there are few processes which allow you to change the process name. The examples I quoted are such processes. In my example, zsh seems to be altering the process name, thus you can try with zsh.

This issue is related to #501.

Fixed in #632

repo: kubearmor/KubeArmor


text:
New Feature  MongoDB Cluster Disaster Recovery

Background
We have more than one DBCenters(Assume 3), DBCenter A ,DBCenter B,DBCenter C .
We want to do Disaster Recovery
Purse
Any time one DBCenters failed(Power off or something bad happened) .
Our MongoDB cluster is valid .
Method
We want to design a MongoDB cluster made up of three nodes distributed in three DBCenters. That is one MongoDB instance in DBCenter A , one MongoDB instance in DBCenter B,one MongoDB instance in DBCenter B . We need expose every MongoDB instance service to external their own cluster(using nodePort ? )  , Design a MongoDB config file which contains the three nodes.
We can finish this feature by following steps:

Use KubeDB deploy a single MongoDB Instance( not cluster ) in each DBCenters, using the config we customered by this.
Expose Service to external(suppose we use nodePort : 30002 )

Problem
We have use '--auth' option MongoDB instance , if We want to group all three nodes as a MongoDB cluster , we need the same keyfile .
But KubeDB do not Mount keyfile if we startup an instance not using ReplicaSet mode .

@weenxin did you tried setting spec.podTemplate.spec.affinity or spec.podTempltae.spec.nodeSelector? It should allow you to schedule multiple pod of your MongoDB cluster to schedule in different nodes.
Ref:

nodeSelector
affinity

thanks for your reply ,   @hossainemruz .
But in our user story ,  each DBCetner is a Kubernetes cluster . and to split each other , we don't want to use Kubernetes federal .

Maybe the feature is more generally worded as being able to manage MongoDB instances replica set config for externally managed MongoDB instances.
This way you could have a mix of Kubernetes and VM as a way to not only do cluster disaster recovery, but migrate a VM managed cluster onto kubernetes.
This is a situation I am currently investigating, but the disaster recovery case is a sweet bonus.

authors: Freyert hossainemruz weenxin

repo: kubedb/project


text:
ignore: Add macOS, Windows and Go ignore files

The ignore is from https://github.com/github/gitignore.
/assign @YujiOshima
Signed-off-by: Ce Gao gaoce@caicloud.io

/lgtm

authors: YujiOshima gaocegege

repo: kubeflow/hp-tuning


text:
Add kfctl third party licenses

This PR adds third party license notices for all kfctl dependencies for distribution of kfctl.
Related to https://github.com/kubeflow/testing/issues/539

This change is

/lgtm
/approve

/test kubeflow-kfctl-presubmit

authors: jlewi zhenghuiwang

repo: kubeflow/kfctl


text:
Renames ModelUri to Storageuri

Fixes #281
Does not modify ExplainerUri, that will be a separate change
This change is mostly search/replace - but does require a new container to get built (side-car container name has changed)

This change is

/assign yuzisun
/assign jinchihe

Verified that kfserving continues to work after this many files change :)
Note: you do have to point to a manual storage-initializer image as it won't get built by CI until its checked in.
/assign @yuzisun

awesome! we are get closer with v1alpha2 :)
/lgtm
/approve

authors: rakelkar yuzisun

repo: kubeflow/kfserving


text:
Use mkdocs-material to generate docs and deploy to github pages

🛑 Important:
Please open an issue to discuss significant work before you start. We appreciate your contributions and don't want your efforts to go to waste!
For guidelines on how to contribute, please review the CONTRIBUTING.md document.
Purpose of this PR
Provide a clear and concise description of the changes. Explain the motivation behind these changes and link to relevant issues or discussions.
Proposed changes:

Use mkdocs-material to generate static website
Add a new github action workflow for mkdocs to deploy website to github pages

Change Category
Indicate the type of change by marking the applicable boxes:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that could affect existing functionality)
[x] Documentation update

Rationale

Checklist
Before submitting your PR, please review the following:

[x] I have conducted a self-review of my own code.
[x] I have updated documentation accordingly.
[ ] I have added tests that prove my changes are effective or that my feature works.
[ ] Existing unit tests pass locally with my changes.

Additional Notes

/assign @yuchaoran2011

@andreyvelich there is a small precedent for having an external website for some docs, namely the KFP SDK.
The main reason to consider using a separate site would be if there are going to be lots of different versions with significant changes between them (as we don't really have the ability to version each component separately on the Kubeflow website).
But obviously, we should try and make it work on the Kubeflow website, if possible.

@andreyvelich What is the process for migrating documentation to the Kubeflow docs? Which repository should we raise a PR in? Do we have control over approving future documentation changes?
Since @ChenYi015 has done most of the work, it would be helpful to provide him with pointers so he can convert this into a Kubeflow Docs PR.

@vara-bonthu you can make a PR on the website repo https://github.com/kubeflow/website
It's pretty much the same as MkDocs (uses markdown) but uses Hugo with the Docsy theme.
It should be very straightforward to just copy what has been proposed here into a new section under "components".

@andreyvelich there is a small precedent for having an external website for some docs, namely the KFP SDK.

@thesuperzapper Yes, I am aware of these docs. This is mostly done because KFP is using automation to generate SDK docs from their SDK client: https://github.com/kubeflow/pipelines/tree/master/docs. It is hard to auto generate SDK docs in kubeflow/website repo since we run SDK generator script in the source repo (e.g. pipelines, training-operator)

The main reason to consider using a separate site would be if there are going to be lots of different versions

Yes, this is valid point that components might need to be versioned separately from the website version. We discussed before with @StefanoFioravanzo that ideally docs for the components should live in their repo, and we should configure our Hugo website to render them. But we haven't got a chance to discuss how we can do it.
The main goal is to make sure our user can easily navigate in Kubeflow ecosystem of different project.

What is the process for migrating documentation to the Kubeflow docs? Which repository should we raise a PR in? Do we have control over approving future documentation changes?

You should raise a PR under content/en/docs/components/spark-operator website directory.
Yes, you will have full control to approve your PR, since we will create OWNERs file under this directory.
E.g. like in Training Operator: https://github.com/kubeflow/website/blob/master/content/en/docs/components/training/OWNERS

@ChenYi015 Are you looking to raise a PR to this repo https://github.com/kubeflow/website/tree/master/content/en/docs/components? Let me know if you need a help so that I can move the docs to the new repo.

@ChenYi015 is this PR still needed since you opened a new PR to the website repo?

@ChenYi015 already opened this PR: https://github.com/kubeflow/website/pull/3767

@ChenYi015 already opened this PR: kubeflow/website#3767

@andreyvelich
Yeah, that's my point. Can't we close this in favor of https://github.com/kubeflow/website/pull/3767?

That sounds good.
@ChenYi015 Do you want to modify this PR to update the README to redirect users to the Spark Operators docs on Kubeflow website: https://www.kubeflow.org/docs/components/ ?

That sounds good. @ChenYi015 Do you want to modify this PR to update the README to redirect users to the Spark Operators docs on Kubeflow website: https://www.kubeflow.org/docs/components/ ?

That's a good point. We can do that once the docs are published under Kubeflow docs. Let's wait until this PR#3767 is merged

That sounds good. @ChenYi015 Do you want to modify this PR to update the README to redirect users to the Spark Operators docs on Kubeflow website: https://www.kubeflow.org/docs/components/ ?

That's a good point. We can do that once the docs are published under Kubeflow docs. Let's wait until this PR#3767 is merged

@vara-bonthu  I have redirected links in README to the kubeflow spark operator docs.

That sounds good. @ChenYi015 Do you want to modify this PR to update the README to redirect users to the Spark Operators docs on Kubeflow website: https://www.kubeflow.org/docs/components/ ?

That's a good point. We can do that once the docs are published under Kubeflow docs. Let's wait until this PR#3767 is merged

@vara-bonthu I have redirected links in README to the kubeflow spark operator docs.

Thank you @ChenYi015!
Do we want to remove these docs from Spark Operator GitHub repo since we have them on Kubeflow website: https://www.kubeflow.org/docs/components/spark-operator/ ?

That sounds good. @ChenYi015 Do you want to modify this PR to update the README to redirect users to the Spark Operators docs on Kubeflow website: https://www.kubeflow.org/docs/components/ ?

That's a good point. We can do that once the docs are published under Kubeflow docs. Let's wait until this PR#3767 is merged

@vara-bonthu I have redirected links in README to the kubeflow spark operator docs.

Thank you @ChenYi015! Do we want to remove these docs from Spark Operator GitHub repo since we have them on Kubeflow website: https://www.kubeflow.org/docs/components/spark-operator/ ?

@andreyvelich I had removed the docs except for docs/api-docs.md.

/hold

@vara-bonthu @ChenYi015 Do we want to add the community meeting notes to the readme as I mentioned here: https://github.com/kubeflow/spark-operator/pull/2047#discussion_r1654263177 ?

@vara-bonthu @ChenYi015 Do we want to add the community meeting notes to the readme as I mentioned here: #2047 (comment) ?

@andreyvelich I had added a link to the community call in the README.

authors: ChenYi015 andreyvelich hbelmiro thesuperzapper vara-bonthu

repo: kubeflow/spark-operator


text:
document API Server flags for istio_dex config

Fixes: #1778
Why is this needed?
It saves people a click and gives a sample config to follow during deployment

This change is

/assign

Thanks for the review @sarahmaddox , I'll address them in a commit

You should probably mention that to use this feature you need to set the featureflag TokenRequest.

Preview: https://deploy-preview-1779--competent-brattain-de2d6d.netlify.com/docs/started/k8s/kfctl-istio-dex/

Thanks @swiftdiaries
/lgtm
/approve

authors: Kyrremann sarahmaddox swiftdiaries

repo: kubeflow/website


text:
Feature/master as edge and traefik updates

Change content and motivation
Allow for using master as edge:

With this pull request master will always be labeled "Edge". This could be changed when we move to terraform-cloudflare module instead of ansible - due to limitations in terraform scripting)
Update traefik to use configmap instead of being installed locally on each node
Move traefik webui to 8081 so it does not collide with kubernetes api-server if installed on master
Add tolerations to DaemonSet so it tolerates being installed on master

GitHub cross-links

Fixes:

Docs:

Waiting for CI to pass before reviewing. I am positive to all changes, but I have a question regarding the master always labelled as edge. Why does it have to be so without cloudflare in terraform?

@andersla can you call the master_act_as_edge variable just master_as_edge?

:)
Marco Capuccini notifications@github.com skrev: (17 maj 2017 09:53:47 CEST)

@andersla can you call the master_act_as_edge variable just
master_as_edge?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/kubenow/KubeNow/pull/183#issuecomment-302014455

Hälsar Anders

Very nice! Thanks @andersla, and don't forget to update the var name in the docs too.

authors: andersla mcapuccini

repo: kubenow/KubeNow


text:
Remove unneeded TODOs and unused code

What this PR does / why we need it:
Remove unneeded TODOs and unused code for apply.
Does this PR introduce a user-facing change?:
NONE

/assign @kron4eg

/retest

/test pull-kubeone-lint

repo: kubermatic/kubeone


text:
Revert Revert "Idempotent Swapping"

This puts back the better qualified Idempotent Swapping, but
adds two variables which control whether or not swapping is
enabled during testing.  This addresses a short-term issue of
occasionally failing integration tests under some scenarios,
but not others.
The integration OOM-test isn't properly failing because
the cgroup memory control doesn't account for swap usage
(by design) in limit_in_bytes.
Fixing this for the long-term requires repairing the
test to also set memory.memsw.limit_in_bytes=0
(in addition to memory.limit_in_bytes=5m).
N/B: Normally these things are passed down from k8s,
which is why the same fix isn't currently needed
for the e2e tests - hence the new variable is True by
default.
Signed-off-by: Chris Evich cevich@redhat.com

@runcom @mrunalp @edsantiago PTAL

/test all

/test ami

No hurry to get this in till after 1.0.1

/retest integration_rhel

(rebase * --force push)
/test all

Thanks for the review Ed.

I'm completely confused about this or the reasons behind it, and I don't feel qualified to comment on the end goal itself. So, just one typo comment and one overall observation.

It's quite simple...mrunal reverted the "idempotent-swap" commit because (somehow) that made a particular test pass (the how/why is a long-story)...despite it reverting back to the old/fugly swap-enabling tasks.  It was a short-term measure to get us over the 1.0 hump.  This PR is here to put things back in place.
At the same time, adding the switches to more finely control where/when swap is used.  Of course the real fix (for the test) is still needed - but that bout of arguing doesn't need to get in the way of having some sanity around swap setup.
Clear as wet mud? 😀

Okay, all fixed.  Saving the CI testing for later (otherwise I'd be tempted to look at the results).

/test ami

@mrunalp @runcom  @rhatdan PTAL when appropriate, this one's ready.  Though IMHO, somewhere in the test needs to set memory.memsw.limit_in_bytes=0 in addition to the 5MB memory limit for a "more proper" fix.  This PR just makes it easy to switch swap on/off for tests.

(rebase & --force push)

Travis on Go "Tip" :
The command "make .gitvalidation" exited with 0.
10.46s$ make gofmt
!!! 'gofmt -s' needs to be run on the following files:
./server/runtime_status.go
./server/container_create.go
./cmd/kpod/parse.go
make: *** [gofmt] Error 1

/test ami

/test ami

/test ami

Provisioning failure 😢
/retest ami_fedora

note to me: provisioning failure and clone-k8's failure.

/test ami

@mrunalp what do you want to do with this one?

I don't see a use case for running e2e with disabling swap. If @cevich really needs it, then we can get it in making sure that it is turned off by default just like in Openshift and Kube upstream e2e tests.

(rebased and --force pushed)

thinking...

@mrunalp @rhatdan Having swap enabled, alters the kernel's VM allocater in subtle but significant ways.  Ignoring that, opens a nasty, nasty, little hole for Sméagol to hide in.  Given sufficient memory, any app. validated with swap on, is virtually guaranteed to work with it off.    The reverse is not true, and given the "oportunity", it's far cheaper to uncover these bugs in test, than in the field.  So my preference is to always test with swap enabled.
That said, this PR simply provides the choice.  IIRC, it defaults to existing behavior (e2e: on, integration: off).  It's not my preference, but at least it makes it easy to switch on/off for further development/debugging.

@cevich If you try starting kube, this is what you see:
[root@localhost kubernetes]# CGROUP_DRIVER=systemd CONTAINER_RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT='/var/run/crio.sock  --runtime-request-timeout=15m' ./hack/local-up-cluster.sh
WARNING : The kubelet is configured to not fail if swap is enabled; production deployments should disable swap.

@mrunalp Interesting, thanks for sharing, I wonder why that is, seems totally backwards to me.  Hmmm.
Though with that in hand, it seems like this PR should be closed, and a new one opened to do the reverse: Verify/assert swap is disabled and kill off this this lurking gremlin (which happens to be conveniently broken)?
To be extra anal, may be a good idea to add integration and e2e tests to that effect as well (in case they run w/o ansible)?

@cevich We should ensure that swap is disabled. Closing this PR.

@mrunalp Roger-dodger, I'll open a new PR.  Thanks again for the details.

Opened https://github.com/kubernetes-incubator/cri-o/pull/1329

authors: cevich mrunalp rhatdan

repo: kubernetes-incubator/cri-o


text:
Add AWS Service Discovery provider

Hi guys,
AWS engineer here. First of all thank you for the successful integration with Route 53 API. Good job!
I would like to propose an alternative AWS provider to current one. It uses the recently published Amazon Auto Naming API that is more suitable for service discovery use case. You can read more about the service discovery in the Amazon API Reference
I would like to emphasize a few important features of the provider:

It natively supports recent addition of multiple targets per endpoint - in Auto Naming API terms you can have multiple instances per service.
It is more safe to use compared to managing DNS records in hosted zone. All services are isolated in separate namespaces. In case there is a bug in ExternalDNS code there is no risk of taking the whole domain (with possibly all DNS records) down.

Please let me know what you think.

Any update on this? Is there any way how I could help with the review? I am ready to answer your questions. Just want to know there is a chance this contribution to be accepted.

@vanekjar I think your feature generally looks interesting, also for us (Zalando). Apparently nobody had time to review yet, sorry for that.

@ideahitme What do you think can we merge it? I think all questions and concerns have been answered.

Unfortunately not yet, I will answer all comment later this week

@ideahitme any update?

@hjacobs still need to put a bit of work, I will try to help out with adding missing parts

Suggested additions: https://github.com/vanekjar/external-dns/pull/1

@ideahitme Thank you again for the proposed idea. Based on your code I finalized the story of AWS-SD registry. The ownership information (labels) is stored in service description instead of creatorRequestId, because this one is limited to length of 64 characters.
Please have a look at the latest commit if it is implemented correctly. If I get a green from you I would squash all the commits to fix the problem with CLA validation.

/lgtm

/lgtm

@njuettner, when do you plan to merge it?

@linki @njuettner can we just merge it? (we have two LGTMs)

@njuettner @linki this new provider probably deserves a new External DNS release?

authors: herrhound hjacobs ideahitme njuettner vanekjar

repo: kubernetes-incubator/external-dns


text:
Adds initial support for RFC2136 dynamic DNS updates

Adds initial support for RFC2136 dynamic DNS updates.
Fixes #510
Based on https://github.com/rancher/external-dns/blob/master/providers/rfc2136/rfc2136.go
(https://github.com/rancher/external-dns/blob/master/LICENSE)

@niriak thanks for the PR! :smile:

@niriak thank you for your PR 🎉 ! Pease sign the CLA first, then we'll have a look on your PR 🙂.

Sorry, I wasn't aware of any CLA to sign and won't do that for now.

authors: hjacobs niriak njuettner