openSUSE Commits
Threads by month
- ----- 2024 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2024
- 1 participants
- 1521 discussions
commit python-azure-cognitiveservices-search-customimagesearch for openSUSE:Factory
by Source-Sync 11 Jul '24
by Source-Sync 11 Jul '24
11 Jul '24
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-cognitiveservices-search-customimagesearch for openSUSE:Factory checked in at 2024-07-11 20:30:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-cognitiveservices-search-customimagesearch (Old)
and /work/SRC/openSUSE:Factory/.python-azure-cognitiveservices-search-customimagesearch.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-cognitiveservices-search-customimagesearch"
Thu Jul 11 20:30:28 2024 rev:7 rq:1186584 version:0.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-cognitiveservices-search-customimagesearch/python-azure-cognitiveservices-search-customimagesearch.changes 2024-05-11 18:25:27.439520286 +0200
+++ /work/SRC/openSUSE:Factory/.python-azure-cognitiveservices-search-customimagesearch.new.17339/python-azure-cognitiveservices-search-customimagesearch.changes 2024-07-11 20:30:50.411728756 +0200
@@ -1,0 +2,15 @@
+Wed Jul 10 11:36:40 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 0.2.1
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+- Drop extra LICENSE.txt as upstream now ships its own
+- Remove unzip package from BuildRequires
+- Rename HISTORY.rst to CHANGELOG.md in %files section
+- Rename LICENSE.txt to LICENSE in %files section
+- Rename README.rst to README.md in %files section
+- Switch source archive format to TAR.GZ
+- Update Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
LICENSE.txt
azure-cognitiveservices-search-customimagesearch-0.2.0.zip
New:
----
azure-cognitiveservices-search-customimagesearch-0.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-cognitiveservices-search-customimagesearch.spec ++++++
--- /var/tmp/diff_new_pack.eTLfN3/_old 2024-07-11 20:30:50.995750339 +0200
+++ /var/tmp/diff_new_pack.eTLfN3/_new 2024-07-11 20:30:50.995750339 +0200
@@ -18,14 +18,13 @@
%{?sle15_python_module_pythons}
Name: python-azure-cognitiveservices-search-customimagesearch
-Version: 0.2.0
+Version: 0.2.1
Release: 0
Summary: Microsoft Azure Cognitive Services Custom Image Search Client Library
License: MIT
Group: Development/Languages/Python
URL: https://github.com/Azure/azure-sdk-for-python
-Source: https://files.pythonhosted.org/packages/source/a/azure-cognitiveservices-se…
-Source1: LICENSE.txt
+Source: https://files.pythonhosted.org/packages/source/a/azure-cognitiveservices-se…
BuildRequires: %{python_module azure-cognitiveservices-nspkg >= 3.0.0}
BuildRequires: %{python_module azure-cognitiveservices-search-nspkg >= 3.0.0}
BuildRequires: %{python_module azure-nspkg >= 3.0.0}
@@ -34,9 +33,9 @@
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-BuildRequires: unzip
-Requires: python-msrest >= 0.5.0
+Requires: python-msrest >= 0.6.21
Requires: (python-azure-common >= 1.1 with python-azure-common < 2.0.0)
+Requires: (python-azure-mgmt-core >= 1.2.0 with python-azure-mgmt-core < 2.0.0)
Conflicts: python-azure-sdk <= 2.0.0
%if 0%{?sle_version} >= 150400
Obsoletes: python3-azure-cognitiveservices-search-customimagesearch <= 0.2.0
@@ -54,7 +53,6 @@
%setup -q -n azure-cognitiveservices-search-customimagesearch-%{version}
%build
-install -m 644 %{SOURCE1} %{_builddir}/azure-cognitiveservices-search-customimagesearch-%{version}
%pyproject_wheel
%install
@@ -70,8 +68,8 @@
}
%files %{python_files}
-%doc HISTORY.rst README.rst
-%license LICENSE.txt
+%doc CHANGELOG.md README.md
+%license LICENSE
%{python_sitelib}/azure/cognitiveservices/search/customimagesearch
%{python_sitelib}/azure_cognitiveservices_search_customimagesearch-*.dist-info
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-ai-translation-text for openSUSE:Factory checked in at 2024-07-11 20:30:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-ai-translation-text (Old)
and /work/SRC/openSUSE:Factory/.python-azure-ai-translation-text.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-ai-translation-text"
Thu Jul 11 20:30:29 2024 rev:4 rq:1186586 version:1.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-ai-translation-text/python-azure-ai-translation-text.changes 2024-05-23 15:36:48.290978534 +0200
+++ /work/SRC/openSUSE:Factory/.python-azure-ai-translation-text.new.17339/python-azure-ai-translation-text.changes 2024-07-11 20:30:51.107754478 +0200
@@ -1,0 +2,10 @@
+Wed Jul 10 11:02:50 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 1.0.1
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+- Drop extra LICENSE.txt as upstream now ships its own
+- Rename LICENSE.txt to LICENSE in %files section
+
+-------------------------------------------------------------------
Old:
----
LICENSE.txt
azure-ai-translation-text-1.0.0.tar.gz
New:
----
azure-ai-translation-text-1.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-ai-translation-text.spec ++++++
--- /var/tmp/diff_new_pack.I2U0Lo/_old 2024-07-11 20:30:51.655774730 +0200
+++ /var/tmp/diff_new_pack.I2U0Lo/_new 2024-07-11 20:30:51.659774878 +0200
@@ -18,14 +18,13 @@
%{?sle15_python_module_pythons}
Name: python-azure-ai-translation-text
-Version: 1.0.0
+Version: 1.0.1
Release: 0
Summary: Azure Text Translation Client Library for Python
License: MIT
Group: Development/Languages/Python
URL: https://github.com/Azure/azure-sdk-for-python
Source: https://files.pythonhosted.org/packages/source/a/azure-ai-translation-text/…
-Source1: LICENSE.txt
BuildRequires: %{python_module azure-ai-nspkg >= 1.0.0}
BuildRequires: %{python_module azure-ai-translation-nspkg >= 1.0.0}
BuildRequires: %{python_module pip}
@@ -63,7 +62,6 @@
%setup -q -n azure-ai-translation-text-%{version}
%build
-install -m 644 %{SOURCE1} %{_builddir}/azure-ai-translation-text-%{version}
%pyproject_wheel
%install
@@ -78,7 +76,7 @@
%files %{python_files}
%doc CHANGELOG.md README.md
-%license LICENSE.txt
+%license LICENSE
%{python_sitelib}/azure/ai/translation/text
%{python_sitelib}/azure_ai_translation_text-*.dist-info
++++++ azure-ai-translation-text-1.0.0.tar.gz -> azure-ai-translation-text-1.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/CHANGELOG.md new/azure-ai-translation-text-1.0.1/CHANGELOG.md
--- old/azure-ai-translation-text-1.0.0/CHANGELOG.md 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/CHANGELOG.md 2024-06-24 22:05:53.000000000 +0200
@@ -1,5 +1,10 @@
# Release History
+## 1.0.1 (2024-06-24)
+
+### Bugs Fixed
+ - Fixed a bug where Entra Id authentication couldn't be used with custom endpoint.
+
## 1.0.0 (2024-05-23)
### Features Added
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/PKG-INFO new/azure-ai-translation-text-1.0.1/PKG-INFO
--- old/azure-ai-translation-text-1.0.0/PKG-INFO 2024-05-22 23:51:45.871478000 +0200
+++ new/azure-ai-translation-text-1.0.1/PKG-INFO 2024-06-24 22:07:16.313734300 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: azure-ai-translation-text
-Version: 1.0.0
+Version: 1.0.1
Summary: Microsoft Azure Ai Translation Text Client Library for Python
Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk
Author: Microsoft Corporation
@@ -87,7 +87,7 @@
```python
credential = AzureKeyCredential(apikey)
-text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region)
+text_translator = TextTranslationClient(credential=credential, region=region)
```
<!-- END SNIPPET -->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/README.md new/azure-ai-translation-text-1.0.1/README.md
--- old/azure-ai-translation-text-1.0.0/README.md 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/README.md 2024-06-24 22:05:53.000000000 +0200
@@ -64,7 +64,7 @@
```python
credential = AzureKeyCredential(apikey)
-text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region)
+text_translator = TextTranslationClient(credential=credential, region=region)
```
<!-- END SNIPPET -->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_patch.py new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_patch.py
--- old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_patch.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_patch.py 2024-06-24 22:05:53.000000000 +0200
@@ -11,7 +11,6 @@
from ._client import TextTranslationClient as ServiceClientGenerated
-DEFAULT_TOKEN_SCOPE = "https://api.microsofttranslator.com/"
DEFAULT_ENTRA_ID_SCOPE = "https://cognitiveservices.azure.com"
DEFAULT_SCOPE = "/.default"
@@ -79,6 +78,12 @@
return translator_endpoint
+def is_cognitive_services_scope(audience: str) -> bool:
+ if "microsofttranslator" in audience:
+ return True
+
+ return False
+
def set_authentication_policy(credential, kwargs):
if isinstance(credential, AzureKeyCredential):
@@ -92,7 +97,7 @@
elif hasattr(credential, "get_token"):
if not kwargs.get("authentication_policy"):
if kwargs.get("region") and kwargs.get("resource_id"):
- scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/") + DEFAULT_SCOPE
+ scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE
kwargs["authentication_policy"] = TranslatorEntraIdAuthenticationPolicy(
credential,
kwargs["resource_id"],
@@ -105,8 +110,12 @@
"""Both 'resource_id' and 'region' must be provided with a TokenCredential for
regional resource authentication."""
)
+ scope: str = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE)
+ if not is_cognitive_services_scope(scope):
+ scope = scope.rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE
+
kwargs["authentication_policy"] = BearerTokenCredentialPolicy(
- credential, *[kwargs.pop("audience", DEFAULT_TOKEN_SCOPE)], kwargs
+ credential, scope
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_version.py new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_version.py
--- old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/_version.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/_version.py 2024-06-24 22:05:53.000000000 +0200
@@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-VERSION = "1.0.0"
+VERSION = "1.0.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/aio/_patch.py new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/aio/_patch.py
--- old/azure-ai-translation-text-1.0.0/azure/ai/translation/text/aio/_patch.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/azure/ai/translation/text/aio/_patch.py 2024-06-24 22:05:53.000000000 +0200
@@ -14,11 +14,11 @@
from azure.core.credentials_async import AsyncTokenCredential
from .._patch import (
- DEFAULT_TOKEN_SCOPE,
DEFAULT_ENTRA_ID_SCOPE,
DEFAULT_SCOPE,
get_translation_endpoint,
TranslatorAuthenticationPolicy,
+ is_cognitive_services_scope,
)
from ._client import TextTranslationClient as ServiceClientGenerated
@@ -72,7 +72,7 @@
elif hasattr(credential, "get_token"):
if not kwargs.get("authentication_policy"):
if kwargs.get("region") and kwargs.get("resource_id"):
- scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/") + DEFAULT_SCOPE
+ scope = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE).rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE
kwargs["authentication_policy"] = AsyncTranslatorEntraIdAuthenticationPolicy(
credential,
kwargs["resource_id"],
@@ -85,8 +85,11 @@
"""Both 'resource_id' and 'region' must be provided with a TokenCredential
for regional resource authentication."""
)
+ scope: str = kwargs.pop("audience", DEFAULT_ENTRA_ID_SCOPE)
+ if not is_cognitive_services_scope(scope):
+ scope = scope.rstrip("/").rstrip(DEFAULT_SCOPE) + DEFAULT_SCOPE
kwargs["authentication_policy"] = AsyncBearerTokenCredentialPolicy(
- credential, *[kwargs.pop("audience", DEFAULT_TOKEN_SCOPE)], kwargs
+ credential, scope
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/azure_ai_translation_text.egg-info/PKG-INFO new/azure-ai-translation-text-1.0.1/azure_ai_translation_text.egg-info/PKG-INFO
--- old/azure-ai-translation-text-1.0.0/azure_ai_translation_text.egg-info/PKG-INFO 2024-05-22 23:51:45.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/azure_ai_translation_text.egg-info/PKG-INFO 2024-06-24 22:07:16.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: azure-ai-translation-text
-Version: 1.0.0
+Version: 1.0.1
Summary: Microsoft Azure Ai Translation Text Client Library for Python
Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk
Author: Microsoft Corporation
@@ -87,7 +87,7 @@
```python
credential = AzureKeyCredential(apikey)
-text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region)
+text_translator = TextTranslationClient(credential=credential, region=region)
```
<!-- END SNIPPET -->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/samples/README.md new/azure-ai-translation-text-1.0.1/samples/README.md
--- old/azure-ai-translation-text-1.0.0/samples/README.md 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/samples/README.md 2024-06-24 22:05:53.000000000 +0200
@@ -24,36 +24,104 @@
See the [README][README] of the Text Translator client library for more information, including useful links and instructions.
-## Common scenarios samples
+# Create Client
+Text Translation service is using two types of endpoints - Global and Custom. You can find more information in the [v3 Translator reference][TranslatorReference].
-# Create Client
+## Global Endpoint
-For some of these operations you can create a new `TextTranslationClient` without any authentication. You will only need your endpoint:
+When using Text Translation service with global endpoint, the endpoint doesn't need to be provided when creating `TextTranslationClient`. When `endpoint` is
+not provided, global `api.cognitive.microsofttranslator.com` is used. For [sovereign clouds][SovereignClouds], the endpoint is always required.
-<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_endpoint -->
+### Using the Subscription Key
+
+When using `cognitive services key` and `region` with global endpoint, you can create `TextTranslationClient`:
+
+<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_credential -->
```python
-text_translator = TextTranslationClient(endpoint=endpoint)
+credential = AzureKeyCredential(apikey)
+text_translator = TextTranslationClient(credential=credential, region=region)
```
<!-- END SNIPPET -->
-The values of the `endpoint` variable can be retrieved from environment variables, configuration settings, or any other secure approach that works for your application.
+### Using the Cognitive Services Token
-For other samples an overloaded constructor is provided that uses a TextTranslationCredential. In addition to `endpoint`, this function requires configuring an `apikey` and `region` to create the credential. The values of the `endpoint`, `apiKey` and `region` variables can be retrieved from environment variables, configuration settings, or any other secure approach that works for your application.
+For the Cognitive Services Token authentication, there is currently no implementation provided in the SDK. You can implement the solution
+according to the [Token Authentication documentation][TranslatorReference]. For a simple example implementation, you can refer: [StaticAccessTokenCredential][static_access_token_credential].
+When the token is created, you can create the `TextTranslationClient`:
-The appropriate constructor is invoked in each sample to create a `TextTranslationClient` instance.
+<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_cognitive_services_token -->
-<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_credential -->
+```python
+client = TextTranslationClient(credential=credential, audience="https://api.microsofttranslator.com/")
+```
+
+<!-- END SNIPPET -->
+
+### Using the Entra Id Authentication
+
+The Authentication with Microsoft Entra ID on global endpoint requires bearer token generated by Azure AD, Region of the translator resource
+and Resource ID for your Translator resource instance. For prerequisites and more information refer to [Authentication with Microsoft Entra ID][TranslatorReference].
+
+<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_entra_id_token -->
+
+```python
+credential = DefaultAzureCredential()
+client = TextTranslationClient(credential=credential, region=region, resource_id=resource_id)
+```
+
+<!-- END SNIPPET -->
+
+## Custom Endpoint
+
+When using some selected features (for example Virtual Network) you need to use custom endpoints. More information can be found in [Virtual Network support][TranslatorReference].
+
+### Using the Subscription Key
+
+For Custom endpoint and cognitive services key combination, you don't need to provide the region:
+
+<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_custom_with_credential -->
```python
credential = AzureKeyCredential(apikey)
-text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region)
+text_translator = TextTranslationClient(credential=credential, endpoint=endpoint)
```
<!-- END SNIPPET -->
+### Using the Cognitive Services Token
+
+The Cognitive Services Token is not supported when using the Custom Endpoint.
+
+### Using the Entra Id Authentication
+
+The Authentication with Microsoft Entra ID on custom endpoint requires you to provide only bearer token generated by Azure AD:
+
+<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_custom_with_entra_id_token -->
+
+```python
+credential = DefaultAzureCredential()
+client = TextTranslationClient(credential=credential, endpoint=endpoint)
+```
+
+<!-- END SNIPPET -->
+
+## Azure AI Translator Container
+
+When using `TextTranslationClient` with the [Azure AI Translator Container][Container] without any authentication. You will only need your endpoint:
+
+<!-- SNIPPET: sample_text_translation_client.create_text_translation_client_with_endpoint -->
+
+```python
+text_translator = TextTranslationClient(endpoint=endpoint)
+```
+
+<!-- END SNIPPET -->
+
+The values of the `endpoint` variable can be retrieved from environment variables, configuration settings, or any other secure approach that works for your application.
+
# Get Languages
This sample demonstrates how to get languages that are supported by other operations.
@@ -803,3 +871,8 @@
[breaksentence_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation/azu…
[dictionarylookup_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation/azu…
[dictionaryexamples_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation/azu…
+[static_access_token_credential]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/translation/azu…
+
+[Container]: https://learn.microsoft.com/azure/ai-services/translator/containers/overview
+[TranslatorReference]: https://learn.microsoft.com/azure/ai-services/translator/reference/v3-0-ref…
+[SovereignClouds]: https://learn.microsoft.com/azure/ai-services/translator/sovereign-clouds
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/samples/sample_text_translation_client.py new/azure-ai-translation-text-1.0.1/samples/sample_text_translation_client.py
--- old/azure-ai-translation-text-1.0.0/samples/sample_text_translation_client.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/samples/sample_text_translation_client.py 2024-06-24 22:05:53.000000000 +0200
@@ -18,14 +18,16 @@
1) AZURE_TEXT_TRANSLATION_ENDPOINT - the endpoint to your Text Translation resource.
Note: the endpoint must be formatted to use the custom domain name for your resource:
https:\\<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com\
-
- The create_text_translation_client_with_credential call requires additional variables:
+
2) AZURE_TEXT_TRANSLATION_APIKEY - the API key to your Text Translation resource.
3) AZURE_TEXT_TRANSLATION_REGION - the Azure Region of your Text Translation resource.
+ 4) AZURE_TEXT_TRANSLATION_RESOURCE_ID - the Azure Resource Id path
"""
import os
+from static_access_token_credential import StaticAccessTokenCredential
+
# -------------------------------------------------------------------------
# Text translation client
@@ -33,7 +35,7 @@
def create_text_translation_client_with_endpoint():
from azure.ai.translation.text import TextTranslationClient
- endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"]
+ endpoint = "http://localhost"
# [START create_text_translation_client_with_endpoint]
text_translator = TextTranslationClient(endpoint=endpoint)
# [END create_text_translation_client_with_endpoint]
@@ -44,11 +46,58 @@
from azure.ai.translation.text import TextTranslationClient
from azure.core.credentials import AzureKeyCredential
- endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"]
apikey = os.environ["AZURE_TEXT_TRANSLATION_APIKEY"]
region = os.environ["AZURE_TEXT_TRANSLATION_REGION"]
# [START create_text_translation_client_with_credential]
credential = AzureKeyCredential(apikey)
- text_translator = TextTranslationClient(credential=credential, endpoint=endpoint, region=region)
+ text_translator = TextTranslationClient(credential=credential, region=region)
# [END create_text_translation_client_with_credential]
return text_translator
+
+def create_text_translation_client_custom_with_credential():
+ from azure.ai.translation.text import TextTranslationClient
+ from azure.core.credentials import AzureKeyCredential
+
+ endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"]
+ apikey = os.environ["AZURE_TEXT_TRANSLATION_APIKEY"]
+ # [START create_text_translation_client_custom_with_credential]
+ credential = AzureKeyCredential(apikey)
+ text_translator = TextTranslationClient(credential=credential, endpoint=endpoint)
+ # [END create_text_translation_client_custom_with_credential]
+ return text_translator
+
+def create_text_translation_client_with_cognitive_services_token():
+ from azure.ai.translation.text import TextTranslationClient
+ from azure.core.credentials import TokenCredential
+
+ apikey = os.environ["AZURE_TEXT_TRANSLATION_APIKEY"]
+ region = os.environ["AZURE_TEXT_TRANSLATION_REGION"]
+
+ credential: TokenCredential = StaticAccessTokenCredential(apikey, region)
+
+ # [START create_text_translation_client_with_cognitive_services_token]
+ client = TextTranslationClient(credential=credential, audience="https://api.microsofttranslator.com/")
+ # [END create_text_translation_client_with_cognitive_services_token]
+
+def create_text_translation_client_with_entra_id_token():
+ from azure.ai.translation.text import TextTranslationClient
+ from azure.identity import DefaultAzureCredential
+
+ region = os.environ["AZURE_TEXT_TRANSLATION_REGION"]
+ resource_id = os.environ["AZURE_TEXT_TRANSLATION_RESOURCE_ID"]
+
+ # [START create_text_translation_client_with_entra_id_token]
+ credential = DefaultAzureCredential()
+ client = TextTranslationClient(credential=credential, region=region, resource_id=resource_id)
+ # [END create_text_translation_client_with_entra_id_token]
+
+def create_text_translation_client_custom_with_entra_id_token():
+ from azure.ai.translation.text import TextTranslationClient
+ from azure.identity import DefaultAzureCredential
+
+ endpoint = os.environ["AZURE_TEXT_TRANSLATION_ENDPOINT"]
+
+ # [START create_text_translation_client_custom_with_entra_id_token]
+ credential = DefaultAzureCredential()
+ client = TextTranslationClient(credential=credential, endpoint=endpoint)
+ # [END create_text_translation_client_custom_with_entra_id_token]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/tests/test_translation.py new/azure-ai-translation-text-1.0.1/tests/test_translation.py
--- old/azure-ai-translation-text-1.0.0/tests/test_translation.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/tests/test_translation.py 2024-06-24 22:05:53.000000000 +0200
@@ -290,7 +290,7 @@
endpoint = kwargs.get("translation_text_endpoint")
apikey = kwargs.get("translation_text_apikey")
region = kwargs.get("translation_text_region")
- client = self.create_client_token(endpoint, apikey, region)
+ client = self.create_client_token(endpoint, apikey, region, "https://api.microsofttranslator.com/")
to_language = ["cs"]
input_text_elements = ["This is a test."]
@@ -312,6 +312,24 @@
from_language = "es"
to_language = ["cs"]
+ input_text_elements = ["Hola mundo"]
+ response = client.translate(body=input_text_elements, to_language=to_language, from_language=from_language)
+
+ assert len(response) == 1
+ assert len(response[0].translations) == 1
+ assert response[0].translations[0].to == "cs"
+ assert response[0].translations[0].text is not None
+
+ @pytest.mark.skip
+ @TextTranslationPreparer()
+ @recorded_by_proxy
+ def test_translate_aad_custom(self, **kwargs):
+ endpoint = kwargs.get("translation_text_custom_endpoint")
+ token_credential = self.get_mt_credential(False)
+ client = self.create_text_translation_client_custom_with_aad(token_credential, endpoint=endpoint)
+
+ from_language = "es"
+ to_language = ["cs"]
input_text_elements = ["Hola mundo"]
response = client.translate(body=input_text_elements, to_language=to_language, from_language=from_language)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/tests/test_translation_async.py new/azure-ai-translation-text-1.0.1/tests/test_translation_async.py
--- old/azure-ai-translation-text-1.0.0/tests/test_translation_async.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/tests/test_translation_async.py 2024-06-24 22:05:53.000000000 +0200
@@ -312,7 +312,7 @@
endpoint = kwargs.get("translation_text_endpoint")
apikey = kwargs.get("translation_text_apikey")
region = kwargs.get("translation_text_region")
- client = self.create_async_client_token(endpoint, apikey, region)
+ client = self.create_async_client_token(endpoint, apikey, region, "https://api.microsofttranslator.com/")
to_language = ["cs"]
input_text_elements = ["This is a test."]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-ai-translation-text-1.0.0/tests/testcase.py new/azure-ai-translation-text-1.0.1/tests/testcase.py
--- old/azure-ai-translation-text-1.0.0/tests/testcase.py 2024-05-22 23:50:36.000000000 +0200
+++ new/azure-ai-translation-text-1.0.1/tests/testcase.py 2024-06-24 22:05:53.000000000 +0200
@@ -22,15 +22,19 @@
client = TextTranslationClient(endpoint=endpoint, credential=credential, region=region)
return client
- def create_client_token(self, endpoint, apikey, region):
+ def create_client_token(self, endpoint, apikey, region, audience):
credential = StaticAccessTokenCredential(apikey, region)
- client = TextTranslationClient(endpoint=endpoint, credential=credential)
+ client = TextTranslationClient(endpoint=endpoint, credential=credential, audience=audience)
return client
def create_text_translation_client_with_aad(self, innerCredential, aadRegion, aadResourceId):
text_translator = TextTranslationClient(credential=innerCredential, resource_id=aadResourceId, region=aadRegion)
return text_translator
+ def create_text_translation_client_custom_with_aad(self, innerCredential, endpoint):
+ text_translator = TextTranslationClient(credential=innerCredential, endpoint=endpoint)
+ return text_translator
+
def create_async_getlanguage_client(self, endpoint):
from azure.ai.translation.text.aio import TextTranslationClient as TextTranslationClientAsync
@@ -44,11 +48,11 @@
client = TextTranslationClientAsync(endpoint=endpoint, credential=credential, region=region)
return client
- def create_async_client_token(self, endpoint, apikey, region):
+ def create_async_client_token(self, endpoint, apikey, region, audience):
credential = StaticAccessTokenCredential(apikey, region)
from azure.ai.translation.text.aio import TextTranslationClient as TextTranslationClientAsync
- client = TextTranslationClientAsync(endpoint=endpoint, credential=credential)
+ client = TextTranslationClientAsync(endpoint=endpoint, credential=credential, audience=audience)
return client
def create_async_text_translation_client_with_aad(self, innerCredential, aadRegion, aadResourceId):
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package fastfetch for openSUSE:Factory checked in at 2024-07-11 20:30:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fastfetch (Old)
and /work/SRC/openSUSE:Factory/.fastfetch.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fastfetch"
Thu Jul 11 20:30:27 2024 rev:35 rq:1186733 version:2.18.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/fastfetch/fastfetch.changes 2024-07-05 19:53:24.891212008 +0200
+++ /work/SRC/openSUSE:Factory/.fastfetch.new.17339/fastfetch.changes 2024-07-11 20:30:48.387653957 +0200
@@ -1,0 +2,34 @@
+Thu Jul 11 05:13:25 UTC 2024 - Gordon Leung <pirateclip(a)protonmail.com>
+
+- update to 2.18.1
+ Changes:
+ * --ts-version has been renamed to --detect-version
+ - general.detectVersion in JSON config file
+ Bugfixes:
+ * Fix and improve GPU driver detection (GPU, Linux)
+
+-------------------------------------------------------------------
+Wed Jul 10 11:42:48 UTC 2024 - Pi-Cla <pirateclip(a)protonmail.com>
+
+- update to 2.18.0
+ Changes:
+ * Fastfetch no longer prints * (which means it's the default route)
+ if defaultRouteOnly is set (LocalIP)
+ Bugfixes:
+ * Fix some memory leaks
+ * Fix compatibility with old Python versions
+ * Don't detect frequency for AMD cards (GPU, Linux)
+ - Fix possible hang with discrete AMD cards (#1077)
+ * Don't print colors in --pipe mode (Separator)
+ * Don't print (null) in property locator (PhysicalMemory)
+ * Ignore disabled PCI devices (GPU)
+ * Fix flag --opengl-library doesn't work (OpenGL)
+ Features:
+ * Detect revision of USB drives (Disk)
+ * Support fractional scale factor detection (Display, Linux)
+ * Support primary display detection for KDE and GNOME (Display, Linux)
+ * Support percent bar in custom formatting
+ * Print signal quality by default (Wifi)
+ * Detect used OpenGL library version (OpenGL)
+
+-------------------------------------------------------------------
Old:
----
fastfetch-2.17.2.tar.gz
New:
----
fastfetch-2.18.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fastfetch.spec ++++++
--- /var/tmp/diff_new_pack.7vVm5b/_old 2024-07-11 20:30:49.119681009 +0200
+++ /var/tmp/diff_new_pack.7vVm5b/_new 2024-07-11 20:30:49.123681157 +0200
@@ -17,7 +17,7 @@
Name: fastfetch
-Version: 2.17.2
+Version: 2.18.1
Release: 0
Summary: Neofetch-like tool written mostly in C
License: MIT
++++++ fastfetch-2.17.2.tar.gz -> fastfetch-2.18.1.tar.gz ++++++
++++ 5785 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package thermald for openSUSE:Factory checked in at 2024-07-11 20:30:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/thermald (Old)
and /work/SRC/openSUSE:Factory/.thermald.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "thermald"
Thu Jul 11 20:30:25 2024 rev:18 rq:1186571 version:2.5.7.17.git+fc7464a
Changes:
--------
--- /work/SRC/openSUSE:Factory/thermald/thermald.changes 2023-12-11 21:51:53.790520574 +0100
+++ /work/SRC/openSUSE:Factory/.thermald.new.17339/thermald.changes 2024-07-11 20:30:45.931563193 +0200
@@ -1,0 +2,18 @@
+Sat Jul 06 08:45:39 UTC 2024 - andrea.manzini(a)suse.com
+
+- Update to version 2.5.7.17.git+fc7464a:
+ * Use common macro for temperature conversion
+ * Account when no adaptive conditions present
+ * Remove dbus-glib-devel
+ * Add Lunar Lake M support
+ * thd_engine_default: Drop modem support
+ * main: remove deprecated API
+ * Remove dependency on lzma lib
+ * Add security reporting file
+ * Downgrade log level on "Unsupported condition"
+ * Fix seg fault when there is no config file
+ * Process a single trip in a zone with a target state
+ * Fix Terminate and Reinit method
+ * Fix incorrect ioctl numbers used for reading PSVT
+
+-------------------------------------------------------------------
Old:
----
thermal_daemon-2.5.4.0.git+63b290f.obscpio
New:
----
thermal_daemon-2.5.7.17.git+fc7464a.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ thermald.spec ++++++
--- /var/tmp/diff_new_pack.HfuJvM/_old 2024-07-11 20:30:47.151608279 +0200
+++ /var/tmp/diff_new_pack.HfuJvM/_new 2024-07-11 20:30:47.151608279 +0200
@@ -1,7 +1,7 @@
#
# spec file for package thermald
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
%global with_thermalmonitor 0%{?is_opensuse}
Name: thermald
-Version: 2.5.4.0.git+63b290f
+Version: 2.5.7.17.git+fc7464a
Release: 0
Summary: The Linux Thermal Daemon program from 01.org
License: GPL-2.0-or-later
@@ -54,11 +54,9 @@
BuildRequires: pkgconfig(Qt5Widgets)
%endif
BuildRequires: pkgconfig(dbus-1)
-BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: pkgconfig(libevdev)
-BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(upower-glib)
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.HfuJvM/_old 2024-07-11 20:30:47.195609905 +0200
+++ /var/tmp/diff_new_pack.HfuJvM/_new 2024-07-11 20:30:47.199610053 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/intel/thermal_daemon.git</param>
- <param name="changesrevision">63b290f20da115f62f5bbd39a28fa5afe0f6efc2</param></service></servicedata>
+ <param name="changesrevision">fc7464a974f6a5c0b02fa00e3d50e8a8adf99a1e</param></service></servicedata>
(No newline at EOF)
++++++ thermal_daemon-2.5.4.0.git+63b290f.obscpio -> thermal_daemon-2.5.7.17.git+fc7464a.obscpio ++++++
++++ 2038 lines of diff (skipped)
++++++ thermal_daemon.obsinfo ++++++
--- /var/tmp/diff_new_pack.HfuJvM/_old 2024-07-11 20:30:47.447619218 +0200
+++ /var/tmp/diff_new_pack.HfuJvM/_new 2024-07-11 20:30:47.451619366 +0200
@@ -1,5 +1,5 @@
name: thermal_daemon
-version: 2.5.4.0.git+63b290f
-mtime: 1691885707
-commit: 63b290f20da115f62f5bbd39a28fa5afe0f6efc2
+version: 2.5.7.17.git+fc7464a
+mtime: 1720008620
+commit: fc7464a974f6a5c0b02fa00e3d50e8a8adf99a1e
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libqxmpp for openSUSE:Factory checked in at 2024-07-11 20:30:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqxmpp (Old)
and /work/SRC/openSUSE:Factory/.libqxmpp.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqxmpp"
Thu Jul 11 20:30:24 2024 rev:25 rq:1186567 version:1.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqxmpp/libqxmpp.changes 2024-05-22 21:30:24.313435767 +0200
+++ /work/SRC/openSUSE:Factory/.libqxmpp.new.17339/libqxmpp.changes 2024-07-11 20:30:44.391506280 +0200
@@ -1,0 +2,7 @@
+Wed Jul 10 06:58:56 UTC 2024 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.7.1:
+ * OMEMO: Fix messages are dropped if decryption fails (#634)
+ * Fix build issue with MSVC: missing export of utility functions
+
+-------------------------------------------------------------------
Old:
----
libqxmpp-1.7.0.tar.gz
New:
----
libqxmpp-1.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqxmpp.spec ++++++
--- /var/tmp/diff_new_pack.Q7ttfd/_old 2024-07-11 20:30:45.007529045 +0200
+++ /var/tmp/diff_new_pack.Q7ttfd/_new 2024-07-11 20:30:45.007529045 +0200
@@ -32,7 +32,7 @@
%endif
%define sover 5
Name: libqxmpp%{?pkg_suffix}
-Version: 1.7.0
+Version: 1.7.1
Release: 0
Summary: Qt XMPP Library
License: LGPL-2.1-or-later
@@ -46,8 +46,8 @@
%endif
# c++-17 is required
%if 0%{?suse_version} < 1550
-BuildRequires: gcc13-c++
BuildRequires: gcc13-PIE
+BuildRequires: gcc13-c++
%endif
BuildRequires: pkgconfig
%if 0%{?qt5}
++++++ libqxmpp-1.7.0.tar.gz -> libqxmpp-1.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qxmpp-1.7.0/CHANGELOG.md new/qxmpp-1.7.1/CHANGELOG.md
--- old/qxmpp-1.7.0/CHANGELOG.md 2024-05-19 17:51:48.000000000 +0200
+++ new/qxmpp-1.7.1/CHANGELOG.md 2024-07-07 13:06:52.000000000 +0200
@@ -4,6 +4,12 @@
SPDX-License-Identifier: CC0-1.0
-->
+QXmpp 1.7.1 (July 07, 2024)
+---------------------------
+
+ - OMEMO: Fix messages are dropped if decryption fails (@melvo, #634)
+ - Fix build issue with MSVC: missing export of utility functions (@lnjX)
+
QXmpp 1.7.0 (May 19, 2024)
--------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qxmpp-1.7.0/CMakeLists.txt new/qxmpp-1.7.1/CMakeLists.txt
--- old/qxmpp-1.7.0/CMakeLists.txt 2024-05-19 17:51:48.000000000 +0200
+++ new/qxmpp-1.7.1/CMakeLists.txt 2024-07-07 13:06:52.000000000 +0200
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: CC0-1.0
cmake_minimum_required(VERSION 3.7)
-project(qxmpp VERSION 1.7.0)
+project(qxmpp VERSION 1.7.1)
set(SO_VERSION 5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qxmpp-1.7.0/src/base/QXmppUtils_p.h new/qxmpp-1.7.1/src/base/QXmppUtils_p.h
--- old/qxmpp-1.7.0/src/base/QXmppUtils_p.h 2024-05-19 17:51:48.000000000 +0200
+++ new/qxmpp-1.7.1/src/base/QXmppUtils_p.h 2024-07-07 13:06:52.000000000 +0200
@@ -95,9 +95,9 @@
// DOM
//
-bool isIqType(const QDomElement &, QStringView tagName, QStringView xmlns);
-QDomElement firstChildElement(const QDomElement &, QStringView tagName = {}, QStringView xmlNs = {});
-QDomElement nextSiblingElement(const QDomElement &, QStringView tagName = {}, QStringView xmlNs = {});
+QXMPP_EXPORT bool isIqType(const QDomElement &, QStringView tagName, QStringView xmlns);
+QXMPP_EXPORT QDomElement firstChildElement(const QDomElement &, QStringView tagName = {}, QStringView xmlNs = {});
+QXMPP_EXPORT QDomElement nextSiblingElement(const QDomElement &, QStringView tagName = {}, QStringView xmlNs = {});
struct DomChildElements {
QDomElement parent;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qxmpp-1.7.0/src/client/QXmppMixManager.cpp new/qxmpp-1.7.1/src/client/QXmppMixManager.cpp
--- old/qxmpp-1.7.0/src/client/QXmppMixManager.cpp 2024-05-19 17:51:48.000000000 +0200
+++ new/qxmpp-1.7.1/src/client/QXmppMixManager.cpp 2024-07-07 13:06:52.000000000 +0200
@@ -54,6 +54,23 @@
/// auto *manager = client->addNewExtension<QXmppMixManager>();
/// \endcode
///
+/// Before calling one of the following methods, you need to request the information once per
+/// connection:
+/// * participantSupport()
+/// * messageArchivingSupport()
+/// That is done via QXmppDiscoveryManager::requestInfo():
+/// \code
+/// client->findExtension<QXmppDiscoveryManager>()->requestInfo(client->configuration().domain());
+/// \endcode
+///
+/// Before calling one of the following methods, you need to request the information once per
+/// connection:
+/// * services()
+/// That is done via QXmppDiscoveryManager::requestItems():
+/// \code
+/// client->findExtension<QXmppDiscoveryManager>()->requestItems(client->configuration().domain());
+/// \endcode
+///
/// If you want to be informed about updates of the channel (e.g., its configuration or allowed
/// JIDs), make sure to subscribe to the corresponding nodes.
///
@@ -170,13 +187,14 @@
///
/// Server support for a feature.
///
+/// The information is cached until a new connection is established.
+/// That makes it possible to retrieve the latest state even while the client is disconnected.
+///
/// \var QXmppMixManager::Support::Unknown
///
/// Whether the server supports the feature is not known.
///
/// That means, there is no corresponding information from the server (yet).
-/// That is, for example, the case if the client is not connected or connected but has not received
-/// the information yet.
///
/// \var QXmppMixManager::Unsupported
///
@@ -678,8 +696,7 @@
/// Requests all JIDs which are allowed to participate in a MIX channel.
///
/// The JIDs can specify users (e.g., "alice(a)example.org") or groups of users (e.g., "example.org")
-/// to let all users join which have a JID containing the specified domain.
-/// This is only relevant/used for private channels having a user-specified JID.
+/// for allowing all users to participate that have a JID containing the specified domain.
///
/// \param channelJid JID of the channel
///
@@ -693,8 +710,8 @@
///
/// Allows a JID to participate in a MIX channel.
///
-/// The JID can specify a user (e.g., "alice(a)example.org") or groups of users (e.g., "example.org")
-/// to let all users join which have a JID containing the specified domain.
+/// The JID can specify a user (e.g., "alice(a)example.org") or a group of users (e.g., "example.org")
+/// for allowing all users to participate that have a JID containing the specified domain.
///
/// Allowing a JID is only needed if the channel does not allow anyone to participate.
/// That is the case when QXmppMixConfigItem::Node::AllowedJids exists for the channel.
@@ -801,8 +818,8 @@
///
/// Bans a JID from participating in a MIX channel.
///
-/// The JID can specify a user (e.g., "alice(a)example.org") or groups of users (e.g., "example.org")
-/// to ban all users which have a JID containing the specified domain.
+/// The JID can specify a user (e.g., "alice(a)example.org") or a group of users (e.g., "example.org")
+/// for banning all users that have a JID containing the specified domain.
///
/// Before calling this, make sure that QXmppMixConfigItem::Node::BannedJids exists for the channel.
/// Use requestChannelConfiguration() and QXmppMixConfigItem::nodes() to determine that.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qxmpp-1.7.0/src/omemo/QXmppOmemoManager.cpp new/qxmpp-1.7.1/src/omemo/QXmppOmemoManager.cpp
--- old/qxmpp-1.7.0/src/omemo/QXmppOmemoManager.cpp 2024-05-19 17:51:48.000000000 +0200
+++ new/qxmpp-1.7.1/src/omemo/QXmppOmemoManager.cpp 2024-07-07 13:06:52.000000000 +0200
@@ -1024,8 +1024,7 @@
SendError::EncryptionError });
}
- auto omemoElement = message.omemoElement();
- if (!omemoElement) {
+ if (!message.omemoElement()) {
return makeReadyTask<MessageDecryptResult>(NotEncrypted());
}
@@ -1157,9 +1156,11 @@
{
if (d->isStarted && message.omemoElement()) {
auto future = d->decryptMessage(message);
- future.then(this, [=](std::optional<QXmppMessage> optionalDecryptedMessage) mutable {
+ future.then(this, [this, message](std::optional<QXmppMessage> optionalDecryptedMessage) {
if (optionalDecryptedMessage) {
injectMessage(std::move(*optionalDecryptedMessage));
+ } else {
+ Q_EMIT client() -> messageReceived(message);
}
});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qxmpp-1.7.0/src/omemo/QXmppOmemoManager_p.cpp new/qxmpp-1.7.1/src/omemo/QXmppOmemoManager_p.cpp
--- old/qxmpp-1.7.0/src/omemo/QXmppOmemoManager_p.cpp 2024-05-19 17:51:48.000000000 +0200
+++ new/qxmpp-1.7.1/src/omemo/QXmppOmemoManager_p.cpp 2024-07-07 13:06:52.000000000 +0200
@@ -1057,18 +1057,6 @@
const auto &deviceId = itr.key();
const auto &device = itr.value();
- // Skip encrypting for a device if it does not respond for a while.
- if (const auto unrespondedSentStanzasCount = device.unrespondedSentStanzasCount; unrespondedSentStanzasCount == UNRESPONDED_STANZAS_UNTIL_ENCRYPTION_IS_STOPPED) {
- if (++(*skippedDevicesCount) == devicesCount) {
- warning(u"OMEMO element could not be created because no recipient device responded to " +
- QString::number(unrespondedSentStanzasCount) +
- u" sent stanzas");
- interface.finish(std::nullopt);
- }
-
- continue;
- }
-
auto controlDeviceProcessing = [=](bool isSuccessful = true) mutable {
if (isSuccessful) {
++(*successfullyProcessedDevicesCount);
@@ -1087,6 +1075,19 @@
}
};
+ // Skip encrypting for a device if it does not respond for a while.
+ if (const auto unrespondedSentStanzasCount = device.unrespondedSentStanzasCount; unrespondedSentStanzasCount == UNRESPONDED_STANZAS_UNTIL_ENCRYPTION_IS_STOPPED) {
+ if (++(*skippedDevicesCount) == devicesCount) {
+ warning(u"OMEMO element could not be created because no recipient device responded to " +
+ QString::number(unrespondedSentStanzasCount) + u" sent stanzas");
+ interface.finish(std::nullopt);
+ } else {
+ controlDeviceProcessing(false);
+ }
+
+ continue;
+ }
+
const auto address = Address(jid, deviceId);
auto addOmemoEnvelope = [=](bool isKeyExchange = false) mutable {
@@ -1099,7 +1100,11 @@
} else if (devices.value(jid).contains(deviceId)) {
auto &deviceBeingModified = devices[jid][deviceId];
deviceBeingModified.unrespondedReceivedStanzasCount = 0;
- ++deviceBeingModified.unrespondedSentStanzasCount;
+
+ if (auto &unrespondedSentStanzasCount = deviceBeingModified.unrespondedSentStanzasCount; unrespondedSentStanzasCount + 1 <= UNRESPONDED_STANZAS_UNTIL_ENCRYPTION_IS_STOPPED) {
+ ++unrespondedSentStanzasCount;
+ }
+
omemoStorage->addDevice(jid, deviceId, deviceBeingModified);
QXmppOmemoEnvelope omemoEnvelope;
@@ -1609,13 +1614,12 @@
warning(QStringLiteral("OMEMO envelope data could not be deserialized"));
interface.finish(std::nullopt);
} else {
- BufferPtr publicIdentityKeyBuffer;
+ BufferPtr publicIdentityKeyBuffer(ec_public_key_get_ed(pre_key_signal_message_get_identity_key(omemoEnvelopeData.get())));
- if (ec_public_key_serialize(publicIdentityKeyBuffer.ptrRef(), pre_key_signal_message_get_identity_key(omemoEnvelopeData.get())) < 0) {
+ if (const auto key = publicIdentityKeyBuffer.toByteArray(); key.isEmpty()) {
warning(QStringLiteral("Public Identity key could not be retrieved"));
interface.finish(std::nullopt);
} else {
- const auto key = publicIdentityKeyBuffer.toByteArray();
auto &device = devices[senderJid][senderDeviceId];
auto &storedKeyId = device.keyId;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package terragrunt for openSUSE:Factory checked in at 2024-07-11 20:30:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terragrunt (Old)
and /work/SRC/openSUSE:Factory/.terragrunt.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt"
Thu Jul 11 20:30:21 2024 rev:135 rq:1186563 version:0.60.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2024-07-03 20:30:55.814448470 +0200
+++ /work/SRC/openSUSE:Factory/.terragrunt.new.17339/terragrunt.changes 2024-07-11 20:30:42.999454837 +0200
@@ -1,0 +2,23 @@
+Wed Jul 10 08:35:11 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.60.1:
+ * Concurrent access write fixes (#3245)
+
+-------------------------------------------------------------------
+Wed Jul 10 08:29:04 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.60.0:
+ * Add support for Terraform 1.9 (#3239)
+
+-------------------------------------------------------------------
+Wed Jul 10 07:44:06 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.59.7:
+ * Fixed using authentication provider credentials with
+ `get_aws_account_id` (#3243)
+ * chore: Updating `CODEOWNERS` to include current Terragrunt
+ maintainers (#3233)
+ * fix: Fixing quick start docs (#3232)
+ * chore: switch to gtm for docs site (#3229)
+
+-------------------------------------------------------------------
Old:
----
terragrunt-0.59.6.obscpio
New:
----
terragrunt-0.60.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ terragrunt.spec ++++++
--- /var/tmp/diff_new_pack.hkLWIq/_old 2024-07-11 20:30:44.091495193 +0200
+++ /var/tmp/diff_new_pack.hkLWIq/_new 2024-07-11 20:30:44.095495341 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: terragrunt
-Version: 0.59.6
+Version: 0.60.1
Release: 0
Summary: Thin wrapper for Terraform for working with multiple Terraform modules
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.hkLWIq/_old 2024-07-11 20:30:44.147497263 +0200
+++ /var/tmp/diff_new_pack.hkLWIq/_new 2024-07-11 20:30:44.147497263 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/gruntwork-io/terragrunt</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.59.6</param>
+ <param name="revision">v0.60.1</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.hkLWIq/_old 2024-07-11 20:30:44.171498150 +0200
+++ /var/tmp/diff_new_pack.hkLWIq/_new 2024-07-11 20:30:44.175498298 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/gruntwork-io/terragrunt</param>
- <param name="changesrevision">6dd7aae4079762eb60b0630f68e6e2c95717aaca</param></service></servicedata>
+ <param name="changesrevision">2ff3bd78dd577feaeda5091db54edd60a8dcd15b</param></service></servicedata>
(No newline at EOF)
++++++ terragrunt-0.59.6.obscpio -> terragrunt-0.60.1.obscpio ++++++
/work/SRC/openSUSE:Factory/terragrunt/terragrunt-0.59.6.obscpio /work/SRC/openSUSE:Factory/.terragrunt.new.17339/terragrunt-0.60.1.obscpio differ: char 49, line 1
++++++ terragrunt.obsinfo ++++++
--- /var/tmp/diff_new_pack.hkLWIq/_old 2024-07-11 20:30:44.219499924 +0200
+++ /var/tmp/diff_new_pack.hkLWIq/_new 2024-07-11 20:30:44.219499924 +0200
@@ -1,5 +1,5 @@
name: terragrunt
-version: 0.59.6
-mtime: 1719492067
-commit: 6dd7aae4079762eb60b0630f68e6e2c95717aaca
+version: 0.60.1
+mtime: 1720454399
+commit: 2ff3bd78dd577feaeda5091db54edd60a8dcd15b
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.new.17339/vendor.tar.gz differ: char 25, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package polaris for openSUSE:Factory checked in at 2024-07-11 20:30:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polaris (Old)
and /work/SRC/openSUSE:Factory/.polaris.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polaris"
Thu Jul 11 20:30:17 2024 rev:29 rq:1186558 version:9.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/polaris/polaris.changes 2024-07-04 16:25:51.761182214 +0200
+++ /work/SRC/openSUSE:Factory/.polaris.new.17339/polaris.changes 2024-07-11 20:30:33.527104788 +0200
@@ -1,0 +2,6 @@
+Wed Jul 10 08:28:39 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 9.2.0:
+ * INSIGHTS-157 - PDB <> HPA check (#1057)
+
+-------------------------------------------------------------------
Old:
----
polaris-9.1.1.obscpio
New:
----
polaris-9.2.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polaris.spec ++++++
--- /var/tmp/diff_new_pack.hiTeJ2/_old 2024-07-11 20:30:34.511141153 +0200
+++ /var/tmp/diff_new_pack.hiTeJ2/_new 2024-07-11 20:30:34.511141153 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: polaris
-Version: 9.1.1
+Version: 9.2.0
Release: 0
Summary: Validation of best practices in your Kubernetes clusters
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.hiTeJ2/_old 2024-07-11 20:30:34.555142779 +0200
+++ /var/tmp/diff_new_pack.hiTeJ2/_new 2024-07-11 20:30:34.555142779 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/FairwindsOps/polaris</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">9.1.1</param>
+ <param name="revision">9.2.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.hiTeJ2/_old 2024-07-11 20:30:34.575143518 +0200
+++ /var/tmp/diff_new_pack.hiTeJ2/_new 2024-07-11 20:30:34.579143666 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/FairwindsOps/polaris</param>
- <param name="changesrevision">61e0d34e8bedb447bd3e59e6aee580e9a14c190d</param></service></servicedata>
+ <param name="changesrevision">952b6aed65ed971bf64a64c2698c3df3905248cc</param></service></servicedata>
(No newline at EOF)
++++++ polaris-9.1.1.obscpio -> polaris-9.2.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/CODEOWNERS new/polaris-9.2.0/CODEOWNERS
--- old/polaris-9.1.1/CODEOWNERS 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/CODEOWNERS 2024-07-08 19:47:54.000000000 +0200
@@ -1,2 +1,2 @@
## DO NOT EDIT - Managed by Terraform
-* @rbren @sudermanjr
+* @sudermanjr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/docs/checks/reliability.md new/polaris-9.2.0/docs/checks/reliability.md
--- old/polaris-9.1.1/docs/checks/reliability.md 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/docs/checks/reliability.md 2024-07-08 19:47:54.000000000 +0200
@@ -21,6 +21,7 @@
`topologySpreadConstraint` | `warning` | Fails when there is no topology spread constraint on the pod
`hpaMaxAvailability` | `warning` | Fails when `maxAvailable` lesser or equal than `minAvailable` (if defined) for a HorizontalPodAutoscaler
`hpaMinAvailability` | `warning` | Fails when `minAvailable` (if defined) lesser or equal to one for a HorizontalPodAutoscaler
+`pdbMinAvailableGreaterThanHPAMinReplicas` | `warning` | Fails when PDB `minAvailable` is greater than HPA `minReplicas`
## Background
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/config/checks/missingPodDisruptionBudget.yaml new/polaris-9.2.0/pkg/config/checks/missingPodDisruptionBudget.yaml
--- old/polaris-9.1.1/pkg/config/checks/missingPodDisruptionBudget.yaml 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/config/checks/missingPodDisruptionBudget.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -8,27 +8,23 @@
schema:
"$schema": http://json-schema.org/draft-07/schema#
type: object
+ required: [spec]
properties:
spec:
type: object
+ required: [template]
properties:
template:
type: object
+ required: [metadata]
properties:
metadata:
type: object
+ required: [labels]
properties:
labels:
type: object
minProperties: 1
- required:
- - labels
- required:
- - metadata
- required:
- - template
- required:
- - spec
additionalSchemaStrings:
policy/PodDisruptionBudget: |
type: object
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/config/checks/pdbMinAvailableGreaterThanHPAMinReplicas.yaml new/polaris-9.2.0/pkg/config/checks/pdbMinAvailableGreaterThanHPAMinReplicas.yaml
--- old/polaris-9.1.1/pkg/config/checks/pdbMinAvailableGreaterThanHPAMinReplicas.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/pkg/config/checks/pdbMinAvailableGreaterThanHPAMinReplicas.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,7 @@
+successMessage: PDB and HPA are correctly configured
+failureMessage: PDB minAvailable is greater than HPA minReplicas
+category: Reliability
+target: Controller
+controllers:
+ include:
+ - Deployment
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/config/checks.go new/polaris-9.2.0/pkg/config/checks.go
--- old/polaris-9.1.1/pkg/config/checks.go 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/config/checks.go 2024-07-08 19:47:54.000000000 +0200
@@ -69,6 +69,7 @@
"rolebindingClusterAdminRole",
"hpaMaxAvailability",
"hpaMinAvailability",
+ "pdbMinAvailableGreaterThanHPAMinReplicas",
}
// BuiltInChecks contains the checks that come pre-installed w/ Polaris
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/config/default.yaml new/polaris-9.2.0/pkg/config/default.yaml
--- old/polaris-9.1.1/pkg/config/default.yaml 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/config/default.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -12,6 +12,7 @@
topologySpreadConstraint: warning
hpaMaxAvailability: warning
hpaMinAvailability: warning
+ pdbMinAvailableGreaterThanHPAMinReplicas: warning
# efficiency
cpuRequestsMissing: warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/config/examples/config-full.yaml new/polaris-9.2.0/pkg/config/examples/config-full.yaml
--- old/polaris-9.1.1/pkg/config/examples/config-full.yaml 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/config/examples/config-full.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -12,6 +12,7 @@
metadataAndInstanceMismatched: warning
hpaMaxAvailability: warning
hpaMinAvailability: warning
+ pdbMinAvailableGreaterThanHPAMinReplicas: warning
# efficiency
cpuRequestsMissing: warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/kube/resource.go new/polaris-9.2.0/pkg/kube/resource.go
--- old/polaris-9.1.1/pkg/kube/resource.go 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/kube/resource.go 2024-07-08 19:47:54.000000000 +0200
@@ -181,7 +181,7 @@
err = cacheAllObjectsOfKind(ctx, firstOwner.APIVersion, firstOwner.Kind, dynamicClient, restMapper, objectCache)
}
if err != nil {
- logrus.Warnf("Error caching objects of Kind %s %v", firstOwner.Kind, err)
+ logrus.Warnf("error caching objects of Kind %s %v", firstOwner.Kind, err)
break
}
abstractObject, ok = objectCache[key]
@@ -193,7 +193,7 @@
objMeta, err := meta.Accessor(&abstractObject)
if err != nil {
- logrus.Warnf("Error retrieving parent metadata %s of API %s and Kind %s because of error: %v ", firstOwner.Name, firstOwner.APIVersion, firstOwner.Kind, err)
+ logrus.Warnf("error retrieving parent metadata %s of API %s and Kind %s because of error: %v ", firstOwner.Name, firstOwner.APIVersion, firstOwner.Kind, err)
return GenericResource{}, err
}
podSpec := GetPodSpec(abstractObject.Object)
@@ -221,7 +221,7 @@
logrus.Debugf("Caching a single %s", kind)
object, err := getObject(ctx, namespace, kind, apiVersion, name, dynamicClient, restMapper)
if err != nil {
- logrus.Warnf("Error retrieving object %s/%s/%s/%s because of error: %v", kind, apiVersion, namespace, name, err)
+ logrus.Warnf("error retrieving object %s/%s/%s/%s because of error: %v", kind, apiVersion, namespace, name, err)
return err
}
key := fmt.Sprintf("%s/%s/%s", object.GetKind(), object.GetNamespace(), object.GetName())
@@ -235,13 +235,13 @@
fqKind := schema.FromAPIVersionAndKind(apiVersion, kind)
mapping, err := restMapper.RESTMapping(fqKind.GroupKind(), fqKind.Version)
if err != nil {
- logrus.Warnf("Error retrieving mapping of API %s and Kind %s because of error: %v", apiVersion, kind, err)
+ logrus.Warnf("error retrieving mapping of API %s and Kind %s because of error: %v", apiVersion, kind, err)
return err
}
objects, err := dynamicClient.Resource(mapping.Resource).Namespace("").List(ctx, kubeAPIMetaV1.ListOptions{})
if err != nil {
- logrus.Warnf("Error retrieving parent object API %s and Kind %s because of error: %v", mapping.Resource.Version, mapping.Resource.Resource, err)
+ logrus.Warnf("error retrieving parent object API %s and Kind %s because of error: %v", mapping.Resource.Version, mapping.Resource.Resource, err)
return err
}
for idx, object := range objects.Items {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/kube/resources.go new/polaris-9.2.0/pkg/kube/resources.go
--- old/polaris-9.1.1/pkg/kube/resources.go 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/kube/resources.go 2024-07-08 19:47:54.000000000 +0200
@@ -206,7 +206,7 @@
}
err = resources.addResourcesFromYaml(string(contents))
if err != nil {
- logrus.Warnf("Skipping %s: cannot add resource from YAML: %v", path, err)
+ logrus.Warnf("skipping %s: cannot add resource from YAML: %v", path, err)
}
return nil
}
@@ -340,7 +340,7 @@
groupKind := parseGroupKind(maybeTransformKindIntoGroupKind(string(kind)))
mapping, err := restMapper.RESTMapping(groupKind)
if err != nil {
- logrus.Warnf("Error retrieving mapping of Kind %s because of error: %v", kind, err)
+ logrus.Warnf("error retrieving mapping of Kind %s because of error: %v", kind, err)
return nil, err
}
if c.Namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameNamespace {
@@ -351,7 +351,7 @@
logrus.Info("Loading " + kind)
objects, err := dynamic.Resource(mapping.Resource).Namespace(c.Namespace).List(ctx, metav1.ListOptions{})
if err != nil {
- logrus.Warnf("Error retrieving parent object API %s and Kind %s because of error: %v", mapping.Resource.Version, mapping.Resource.Resource, err)
+ logrus.Warnf("error retrieving parent object API %s and Kind %s because of error: %v", mapping.Resource.Version, mapping.Resource.Resource, err)
return nil, err
}
for _, obj := range objects.Items {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/validator/custom.go new/polaris-9.2.0/pkg/validator/custom.go
--- old/polaris-9.1.1/pkg/validator/custom.go 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/pkg/validator/custom.go 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,19 @@
+package validator
+
+import (
+ "sync"
+
+ "github.com/qri-io/jsonschema"
+)
+
+type validatorFunction func(test schemaTestCase) (bool, []jsonschema.ValError, error)
+
+var validatorMapper = map[string]validatorFunction{}
+var lock = &sync.Mutex{}
+
+func registerCustomChecks(name string, check validatorFunction) {
+ lock.Lock()
+ defer lock.Unlock()
+
+ validatorMapper[name] = check
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/validator/pdb_hpa_validator.go new/polaris-9.2.0/pkg/validator/pdb_hpa_validator.go
--- old/polaris-9.1.1/pkg/validator/pdb_hpa_validator.go 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/pkg/validator/pdb_hpa_validator.go 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,150 @@
+package validator
+
+import (
+ "fmt"
+ "strconv"
+ "strings"
+
+ "github.com/fairwindsops/polaris/pkg/kube"
+ "github.com/qri-io/jsonschema"
+ "github.com/sirupsen/logrus"
+ appsv1 "k8s.io/api/apps/v1"
+ autoscalingv1 "k8s.io/api/autoscaling/v1"
+ policyv1 "k8s.io/api/policy/v1"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/apimachinery/pkg/util/intstr"
+)
+
+func init() {
+ registerCustomChecks("pdbMinAvailableGreaterThanHPAMinReplicas", pdbMinAvailableGreaterThanHPAMinReplicas)
+}
+
+func pdbMinAvailableGreaterThanHPAMinReplicas(test schemaTestCase) (bool, []jsonschema.ValError, error) {
+ if test.ResourceProvider == nil {
+ logrus.Debug("ResourceProvider is nil")
+ return true, nil, nil
+ }
+
+ deployment := &appsv1.Deployment{}
+ err := runtime.DefaultUnstructuredConverter.FromUnstructured(test.Resource.Resource.Object, deployment)
+ if err != nil {
+ logrus.Warnf("error converting unstructured to Deployment: %v", err)
+ return true, nil, nil
+ }
+
+ attachedPDB, err := hasPDBAttached(*deployment, test.ResourceProvider.Resources["policy/PodDisruptionBudget"])
+ if err != nil {
+ logrus.Warnf("error getting PodDisruptionBudget: %v", err)
+ return true, nil, nil
+ }
+
+ attachedHPA, err := hasHPAAttached(*deployment, test.ResourceProvider.Resources["autoscaling/HorizontalPodAutoscaler"])
+ if err != nil {
+ logrus.Warnf("error getting HorizontalPodAutoscaler: %v", err)
+ return true, nil, nil
+ }
+
+ if attachedPDB != nil && attachedHPA != nil {
+ logrus.Debugf("both PDB and HPA are attached to deployment %s", deployment.Name)
+
+ pdbMinAvailable, isPercent, err := getIntOrPercentValueSafely(attachedPDB.Spec.MinAvailable)
+ if err != nil {
+ logrus.Warnf("error getting getIntOrPercentValueSafely: %v", err)
+ return true, nil, nil
+ }
+
+ if isPercent {
+ // if the value is a percentage, we need to calculate the actual value
+ if attachedHPA.Spec.MinReplicas == nil {
+ logrus.Debug("attachedHPA.Spec.MinReplicas is nil")
+ return true, nil, nil
+ }
+
+ pdbMinAvailable, err = intstr.GetScaledValueFromIntOrPercent(attachedPDB.Spec.MinAvailable, int(*attachedHPA.Spec.MinReplicas), true)
+ if err != nil {
+ logrus.Warnf("error getting minAvailable value from PodDisruptionBudget: %v", err)
+ return true, nil, nil
+ }
+ }
+
+ if attachedHPA.Spec.MinReplicas != nil && pdbMinAvailable >= int(*attachedHPA.Spec.MinReplicas) {
+ return false, []jsonschema.ValError{
+ {
+ PropertyPath: "spec.minAvailable",
+ InvalidValue: pdbMinAvailable,
+ Message: fmt.Sprintf("The minAvailable value in the PodDisruptionBudget(%s) is %d, which is greater or equal than the minReplicas value in the HorizontalPodAutoscaler(%s) (%d)", attachedPDB.Name, pdbMinAvailable, attachedHPA.Name, *attachedHPA.Spec.MinReplicas),
+ },
+ }, nil
+ }
+ }
+
+ return true, nil, nil
+}
+
+func hasPDBAttached(deployment appsv1.Deployment, pdbs []kube.GenericResource) (*policyv1.PodDisruptionBudget, error) {
+ for _, generic := range pdbs {
+ pdb := &policyv1.PodDisruptionBudget{}
+ err := runtime.DefaultUnstructuredConverter.FromUnstructured(generic.Resource.Object, pdb)
+ if err != nil {
+ return nil, fmt.Errorf("error converting unstructured to PodDisruptionBudget: %v", err)
+ }
+
+ if pdb.Spec.Selector == nil {
+ logrus.Debug("pdb.Spec.Selector is nil")
+ continue
+ }
+
+ if matchesPDBForDeployment(deployment.Spec.Template.Labels, pdb.Spec.Selector.MatchLabels) {
+ return pdb, nil
+ }
+ }
+ return nil, nil
+}
+
+// matchesPDBForDeployment checks if the labels of the deployment match the labels of the PDB
+func matchesPDBForDeployment(deploymentLabels, pdbLabels map[string]string) bool {
+ for key, value := range pdbLabels {
+ if deploymentLabels[key] == value {
+ return true
+ }
+ }
+ return false
+}
+
+func hasHPAAttached(deployment appsv1.Deployment, hpas []kube.GenericResource) (*autoscalingv1.HorizontalPodAutoscaler, error) {
+ for _, generic := range hpas {
+ hpa := &autoscalingv1.HorizontalPodAutoscaler{}
+ err := runtime.DefaultUnstructuredConverter.FromUnstructured(generic.Resource.Object, hpa)
+ if err != nil {
+ return nil, fmt.Errorf("error converting unstructured to HorizontalPodAutoscaler: %v", err)
+ }
+
+ if hpa.Spec.ScaleTargetRef.Kind == "Deployment" && hpa.Spec.ScaleTargetRef.Name == deployment.Name {
+ return hpa, nil
+ }
+ }
+ return nil, nil
+}
+
+// getIntOrPercentValueSafely is a safer version of getIntOrPercentValue based on private function intstr.getIntOrPercentValueSafely
+func getIntOrPercentValueSafely(intOrStr *intstr.IntOrString) (int, bool, error) {
+ switch intOrStr.Type {
+ case intstr.Int:
+ return intOrStr.IntValue(), false, nil
+ case intstr.String:
+ isPercent := false
+ s := intOrStr.StrVal
+ if strings.HasSuffix(s, "%") {
+ isPercent = true
+ s = strings.TrimSuffix(intOrStr.StrVal, "%")
+ } else {
+ return 0, false, fmt.Errorf("invalid type: string is not a percentage")
+ }
+ v, err := strconv.Atoi(s)
+ if err != nil {
+ return 0, false, fmt.Errorf("invalid value %q: %v", intOrStr.StrVal, err)
+ }
+ return int(v), isPercent, nil
+ }
+ return 0, false, fmt.Errorf("invalid type: neither int nor percentage")
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/pkg/validator/schema.go new/polaris-9.2.0/pkg/validator/schema.go
--- old/polaris-9.1.1/pkg/validator/schema.go 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/pkg/validator/schema.go 2024-07-08 19:47:54.000000000 +0200
@@ -369,6 +369,8 @@
passes, issues, err = check.CheckContainer(test.Container)
} else if check.Validator.SchemaURI != "" {
passes, issues, err = check.CheckObject(test.Resource.Resource.Object)
+ } else if validatorMapper[checkID] != nil {
+ passes, issues, err = validatorMapper[checkID](test)
} else {
passes, issues, err = true, []jsonschema.ValError{}, nil
}
@@ -380,7 +382,7 @@
break
}
if test.ResourceProvider == nil {
- logrus.Warnf("No ResourceProvider available, check %s will not work in this context (e.g. admission control)", checkID)
+ logrus.Warnf("no ResourceProvider available, check %s will not work in this context (e.g. admission control)", checkID)
break
}
resources := test.ResourceProvider.Resources[groupkind]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-percent.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-percent.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-percent.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-percent.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,44 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ replicas: 10
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 150% # 1.5 * 10 = 15
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 10
+ maxReplicas: 15
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-scalar.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-scalar.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-scalar.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure-gt-scalar.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 10
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure.equals.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure.equals.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure.equals.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/failure.equals.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 5
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success-lt-percent.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success-lt-percent.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success-lt-percent.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success-lt-percent.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,44 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ replicas: 10
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 50% # 0.5 * 10 = 5
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 10
+ maxReplicas: 15
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.hpa-no-match.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.hpa-no-match.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.hpa-no-match.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.hpa-no-match.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 5
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: no-match
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.lt.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.lt.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.lt.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.lt.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 2
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-hpa.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-hpa.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-hpa.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-hpa.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,24 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 5
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-match.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-match.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-match.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-match.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 5
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: no-match
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: no-match
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-min-replicas.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-min-replicas.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-min-replicas.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-min-replicas.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,42 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 2
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ maxReplicas: 5
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-pdb.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-pdb.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-pdb.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.no-pdb.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,33 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.pdb-no-match.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.pdb-no-match.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.pdb-no-match.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.pdb-no-match.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 5
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: no-match
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.percent-no-replica.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.percent-no-replica.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.percent-no-replica.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.percent-no-replica.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,43 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: zookeeper-pdb
+spec:
+ minAvailable: 50%
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: zookeeper
+---
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+ name: zookeeper-hpa
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: zookeeper
+ minReplicas: 5
+ maxReplicas: 7
+ metrics:
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.yaml new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.yaml
--- old/polaris-9.1.1/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/polaris-9.2.0/test/checks/pdbMinAvailableGreaterThanHPAMinReplicas/success.yaml 2024-07-08 19:47:54.000000000 +0200
@@ -0,0 +1,14 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: zookeeper
+spec:
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: zookeeper
+ foo: bar
+ spec:
+ containers:
+ - name: zookeeper
+ image: zookeeper
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/mutation_test.go new/polaris-9.2.0/test/mutation_test.go
--- old/polaris-9.1.1/test/mutation_test.go 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/test/mutation_test.go 2024-07-08 19:47:54.000000000 +0200
@@ -34,6 +34,8 @@
c, err := config.Parse([]byte(configYaml))
assert.NoError(t, err)
assert.Len(t, c.Mutations, 0)
+
+ _, mutatedYamlContentMap, mutationTestCasesMap := initTestCases()
for mutationStr := range mutationTestCasesMap {
if len(mutationTestCasesMap[mutationStr]) == 0 {
panic("No test cases found for " + mutationStr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-9.1.1/test/schema_test.go new/polaris-9.2.0/test/schema_test.go
--- old/polaris-9.1.1/test/schema_test.go 2024-06-27 22:10:21.000000000 +0200
+++ new/polaris-9.2.0/test/schema_test.go 2024-07-08 19:47:54.000000000 +0200
@@ -29,8 +29,6 @@
"github.com/fairwindsops/polaris/pkg/validator"
)
-var testCases = []testCase{}
-
type testCase struct {
check string
filename string
@@ -40,10 +38,7 @@
manifest string
}
-var mutatedYamlContentMap = map[string]string{}
-var mutationTestCasesMap = map[string][]testCase{}
-
-func init() {
+func initTestCases() ([]testCase, map[string]string, map[string][]testCase) {
checkToTest := os.Getenv("POLARIS_CHECK_TEST") // if set, only run tests for this check
_, baseDir, _, _ := runtime.Caller(0)
baseDir = filepath.Dir(baseDir) + "/checks"
@@ -51,6 +46,12 @@
if err != nil {
panic(err)
}
+ if checkToTest != "" {
+ fmt.Printf("POLARIS_CHECK_TEST is set... Running tests for '%s' only\n", checkToTest)
+ }
+ var testCases = []testCase{}
+ var mutatedYamlContentMap = map[string]string{}
+ var mutationTestCasesMap = map[string][]testCase{}
for _, dir := range dirs {
check := dir.Name()
if checkToTest != "" && checkToTest != check {
@@ -116,9 +117,11 @@
}
}
}
+ return testCases, mutatedYamlContentMap, mutationTestCasesMap
}
func TestChecks(t *testing.T) {
+ testCases, _, _ := initTestCases()
for _, tc := range testCases {
results, err := validator.ApplyAllSchemaChecksToResourceProvider(&tc.config, tc.resources)
if err != nil {
++++++ polaris.obsinfo ++++++
--- /var/tmp/diff_new_pack.hiTeJ2/_old 2024-07-11 20:30:34.871154458 +0200
+++ /var/tmp/diff_new_pack.hiTeJ2/_new 2024-07-11 20:30:34.875154605 +0200
@@ -1,5 +1,5 @@
name: polaris
-version: 9.1.1
-mtime: 1719519021
-commit: 61e0d34e8bedb447bd3e59e6aee580e9a14c190d
+version: 9.2.0
+mtime: 1720460874
+commit: 952b6aed65ed971bf64a64c2698c3df3905248cc
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/polaris/vendor.tar.gz /work/SRC/openSUSE:Factory/.polaris.new.17339/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package skaffold for openSUSE:Factory checked in at 2024-07-11 20:30:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skaffold (Old)
and /work/SRC/openSUSE:Factory/.skaffold.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skaffold"
Thu Jul 11 20:30:08 2024 rev:39 rq:1186555 version:2.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/skaffold/skaffold.changes 2024-05-15 21:27:58.816596712 +0200
+++ /work/SRC/openSUSE:Factory/.skaffold.new.17339/skaffold.changes 2024-07-11 20:30:29.794966868 +0200
@@ -1,0 +2,15 @@
+Wed Jul 10 08:04:39 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 2.13.0:
+ * docs: update changelog for v2.13.0 (#9471)
+ * feat: make ADC the default option for GCP authentication when
+ using go-containerregistry (#9456)
+ * chore: upgrade-go-to-1.22.4 (#9454)
+ * fix: first and last image won't be detected as known image, do
+ not add single quote to the jsonpath (#9448) (#9449)
+ * chore(logs): update log messages for better clarity (#9443)
+ * feat: Optimized fs walker and util.IsEmptyDir (#9433)
+ * fix(cmd): fixed err output for delete and deploy commands
+ (#9437)
+
+-------------------------------------------------------------------
Old:
----
skaffold-2.12.0.obscpio
New:
----
skaffold-2.13.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skaffold.spec ++++++
--- /var/tmp/diff_new_pack.Hk9eEj/_old 2024-07-11 20:30:33.043086902 +0200
+++ /var/tmp/diff_new_pack.Hk9eEj/_new 2024-07-11 20:30:33.043086902 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: skaffold
-Version: 2.12.0
+Version: 2.13.0
Release: 0
Summary: Easy and Repeatable Kubernetes Development
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Hk9eEj/_old 2024-07-11 20:30:33.079088232 +0200
+++ /var/tmp/diff_new_pack.Hk9eEj/_new 2024-07-11 20:30:33.083088380 +0200
@@ -3,19 +3,21 @@
<param name="url">https://github.com/GoogleContainerTools/skaffold</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v2.12.0</param>
+ <param name="revision">v2.13.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
<service name="set_version" mode="manual">
</service>
- <service name="tar" mode="buildtime"/>
+ <service name="go_modules" mode="manual">
+ </service>
+ <!-- services below are running at buildtime -->
+ <service name="tar" mode="buildtime">
+ </service>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
- <service name="go_modules" mode="manual">
- </service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Hk9eEj/_old 2024-07-11 20:30:33.107089267 +0200
+++ /var/tmp/diff_new_pack.Hk9eEj/_new 2024-07-11 20:30:33.111089415 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/GoogleContainerTools/skaffold</param>
- <param name="changesrevision">f386e6c552e83c3a9445fe34442aaed8dd381ab3</param></service></servicedata>
+ <param name="changesrevision">7f817f3e065287292e7e216862fc4460be192ac9</param></service></servicedata>
(No newline at EOF)
++++++ skaffold-2.12.0.obscpio -> skaffold-2.13.0.obscpio ++++++
/work/SRC/openSUSE:Factory/skaffold/skaffold-2.12.0.obscpio /work/SRC/openSUSE:Factory/.skaffold.new.17339/skaffold-2.13.0.obscpio differ: char 49, line 1
++++++ skaffold.obsinfo ++++++
--- /var/tmp/diff_new_pack.Hk9eEj/_old 2024-07-11 20:30:33.159091188 +0200
+++ /var/tmp/diff_new_pack.Hk9eEj/_new 2024-07-11 20:30:33.163091336 +0200
@@ -1,5 +1,5 @@
name: skaffold
-version: 2.12.0
-mtime: 1715695812
-commit: f386e6c552e83c3a9445fe34442aaed8dd381ab3
+version: 2.13.0
+mtime: 1720458043
+commit: 7f817f3e065287292e7e216862fc4460be192ac9
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/skaffold/vendor.tar.gz /work/SRC/openSUSE:Factory/.skaffold.new.17339/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ktop for openSUSE:Factory checked in at 2024-07-11 20:30:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ktop (Old)
and /work/SRC/openSUSE:Factory/.ktop.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ktop"
Thu Jul 11 20:30:07 2024 rev:4 rq:1186539 version:0.3.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/ktop/ktop.changes 2023-04-17 17:41:24.338258833 +0200
+++ /work/SRC/openSUSE:Factory/.ktop.new.17339/ktop.changes 2024-07-11 20:30:24.530772331 +0200
@@ -1,0 +2,10 @@
+Wed Jul 10 07:16:10 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.3.6:
+ * Bump golang.org/x/net from 0.17.0 to 0.23.0
+ * Bump google.golang.org/protobuf from 1.27.1 to 1.33.0
+ * Bump golang.org/x/net from 0.7.0 to 0.17.0
+ * Bump gopkg.in/yaml.v3 from 3.0.0-20210107192922-496545a6307b to
+ 3.0.0
+
+-------------------------------------------------------------------
Old:
----
ktop-0.3.5.obscpio
New:
----
ktop-0.3.6.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ktop.spec ++++++
--- /var/tmp/diff_new_pack.HDQ2U6/_old 2024-07-11 20:30:25.498808104 +0200
+++ /var/tmp/diff_new_pack.HDQ2U6/_new 2024-07-11 20:30:25.498808104 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ktop
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: ktop
-Version: 0.3.5
+Version: 0.3.6
Release: 0
Summary: A top-like tool for your Kubernetes clusters
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.HDQ2U6/_old 2024-07-11 20:30:25.534809435 +0200
+++ /var/tmp/diff_new_pack.HDQ2U6/_new 2024-07-11 20:30:25.538809583 +0200
@@ -1,21 +1,23 @@
<services>
- <service name="obs_scm" mode="disabled">
+ <service name="obs_scm" mode="manual">
<param name="url">https://github.com/vladimirvivien/ktop</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.3.5</param>
+ <param name="revision">v0.3.6</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
- <service name="set_version" mode="disabled">
+ <service name="set_version" mode="manual">
+ </service>
+ <service name="go_modules" mode="manual">
+ </service>
+ <!-- services below are running at buildtime -->
+ <service name="tar" mode="buildtime">
</service>
- <service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
- <service name="go_modules" mode="disabled">
- </service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.HDQ2U6/_old 2024-07-11 20:30:25.558810322 +0200
+++ /var/tmp/diff_new_pack.HDQ2U6/_new 2024-07-11 20:30:25.562810470 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/vladimirvivien/ktop</param>
- <param name="changesrevision">cb3a80f1ea70c6fbc1207c2b2340314aa19962b8</param></service></servicedata>
+ <param name="changesrevision">3b6ffec77428dfbce5750194d01d8fbe25ab96d9</param></service></servicedata>
(No newline at EOF)
++++++ ktop-0.3.5.obscpio -> ktop-0.3.6.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ktop-0.3.5/go.mod new/ktop-0.3.6/go.mod
--- old/ktop-0.3.5/go.mod 2023-04-10 03:53:25.000000000 +0200
+++ new/ktop-0.3.6/go.mod 2024-07-08 17:47:18.000000000 +0200
@@ -61,18 +61,18 @@
github.com/stretchr/testify v1.7.0 // indirect
github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca // indirect
go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect
- golang.org/x/crypto v0.1.0 // indirect
- golang.org/x/net v0.7.0 // indirect
+ golang.org/x/crypto v0.21.0 // indirect
+ golang.org/x/net v0.23.0 // indirect
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
- golang.org/x/sys v0.5.0 // indirect
- golang.org/x/term v0.5.0 // indirect
- golang.org/x/text v0.7.0 // indirect
+ golang.org/x/sys v0.18.0 // indirect
+ golang.org/x/term v0.18.0 // indirect
+ golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
google.golang.org/appengine v1.6.7 // indirect
- google.golang.org/protobuf v1.27.1 // indirect
+ google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
- gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
+ gopkg.in/yaml.v3 v3.0.0 // indirect
k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ktop-0.3.5/go.sum new/ktop-0.3.6/go.sum
--- old/ktop-0.3.5/go.sum 2023-04-10 03:53:25.000000000 +0200
+++ new/ktop-0.3.6/go.sum 2024-07-08 17:47:18.000000000 +0200
@@ -426,8 +426,8 @@
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
-golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
+golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -505,8 +505,8 @@
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
-golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
+golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -585,14 +585,14 @@
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
+golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY=
-golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
+golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -602,8 +602,8 @@
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
-golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -775,8 +775,9 @@
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
+google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -799,8 +800,9 @@
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
+gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
++++++ ktop.obsinfo ++++++
--- /var/tmp/diff_new_pack.HDQ2U6/_old 2024-07-11 20:30:25.710815939 +0200
+++ /var/tmp/diff_new_pack.HDQ2U6/_new 2024-07-11 20:30:25.714816087 +0200
@@ -1,5 +1,5 @@
name: ktop
-version: 0.3.5
-mtime: 1681091605
-commit: cb3a80f1ea70c6fbc1207c2b2340314aa19962b8
+version: 0.3.6
+mtime: 1720453638
+commit: 3b6ffec77428dfbce5750194d01d8fbe25ab96d9
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/ktop/vendor.tar.gz /work/SRC/openSUSE:Factory/.ktop.new.17339/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cilium-cli for openSUSE:Factory checked in at 2024-07-11 20:29:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cilium-cli (Old)
and /work/SRC/openSUSE:Factory/.cilium-cli.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cilium-cli"
Thu Jul 11 20:29:58 2024 rev:70 rq:1186538 version:0.16.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/cilium-cli/cilium-cli.changes 2024-07-04 16:26:04.913662544 +0200
+++ /work/SRC/openSUSE:Factory/.cilium-cli.new.17339/cilium-cli.changes 2024-07-11 20:30:21.842672992 +0200
@@ -1,0 +2,25 @@
+Wed Jul 10 07:11:49 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.16.12:
+ * Prepare for v0.16.12 release
+ * CODEOWNERS: Assign BGP/FRR source files to sig-bgp
+ * connectivity: Introduce BGP CP connectivity tests
+ * chore(deps): update all github action dependencies
+ * chore(deps): update go to v1.22.5
+ * kvstoremesh: don't disable by default
+ * chore(deps): update docker/setup-buildx-action action to v3.4.0
+ * chore(deps): update golang:1.22.5-alpine3.19 docker digest to
+ 0642d4f
+ * fix(deps): update all go dependencies main
+ * chore(deps): update golang docker tag to v1.22.5
+ * chore(deps): update docker/build-push-action action to v6.3.0
+ * Add --disable-check flag back
+ * action: Use github.action_path when accessing cilium.sh
+ * connectivity: Label test namespaces
+ * fix(deps): update module github.com/cilium/cilium to
+ v1.16.0-rc.1
+ * Update stable release to v0.16.11
+ * Dockerfile: Fix a warning
+ * Simplify Kind workflow
+
+-------------------------------------------------------------------
Old:
----
cilium-cli-0.16.11.obscpio
New:
----
cilium-cli-0.16.12.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cilium-cli.spec ++++++
--- /var/tmp/diff_new_pack.Cyv8b0/_old 2024-07-11 20:30:24.242761687 +0200
+++ /var/tmp/diff_new_pack.Cyv8b0/_new 2024-07-11 20:30:24.242761687 +0200
@@ -21,7 +21,7 @@
%define executable_name cilium
Name: cilium-cli
-Version: 0.16.11
+Version: 0.16.12
Release: 0
Summary: CLI to install, manage & troubleshoot Kubernetes clusters running Cilium
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Cyv8b0/_old 2024-07-11 20:30:24.278763018 +0200
+++ /var/tmp/diff_new_pack.Cyv8b0/_new 2024-07-11 20:30:24.282763165 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/cilium/cilium-cli</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.16.11</param>
+ <param name="revision">v0.16.12</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Cyv8b0/_old 2024-07-11 20:30:24.306764052 +0200
+++ /var/tmp/diff_new_pack.Cyv8b0/_new 2024-07-11 20:30:24.306764052 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/cilium/cilium-cli</param>
- <param name="changesrevision">9d071f99ae32af95cb15c3e0a280d222b569a1cf</param></service></servicedata>
+ <param name="changesrevision">9fffebfb38ad7ff1f80f1c1a366ec87730683bb4</param></service></servicedata>
(No newline at EOF)
++++++ cilium-cli-0.16.11.obscpio -> cilium-cli-0.16.12.obscpio ++++++
/work/SRC/openSUSE:Factory/cilium-cli/cilium-cli-0.16.11.obscpio /work/SRC/openSUSE:Factory/.cilium-cli.new.17339/cilium-cli-0.16.12.obscpio differ: char 49, line 1
++++++ cilium-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.Cyv8b0/_old 2024-07-11 20:30:24.350765678 +0200
+++ /var/tmp/diff_new_pack.Cyv8b0/_new 2024-07-11 20:30:24.354765826 +0200
@@ -1,5 +1,5 @@
name: cilium-cli
-version: 0.16.11
-mtime: 1719503043
-commit: 9d071f99ae32af95cb15c3e0a280d222b569a1cf
+version: 0.16.12
+mtime: 1720570547
+commit: 9fffebfb38ad7ff1f80f1c1a366ec87730683bb4
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/cilium-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.cilium-cli.new.17339/vendor.tar.gz differ: char 5, line 1
1
0