profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/alexeldeib/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Ace Eldeib alexeldeib @Microsoft Seattle, WA

alexeldeib/acr-cli 0

Command Line Tool for interacting with Azure Container Registry Images

alexeldeib/active-directory-dotnet-deviceprofile 0

This sample demonstrates how to leverage ADAL .NET to authenticate user calls to a web API (in this case, the directory Graph) from apps that do not have the capability of offering an interactive authentication experience.

alexeldeib/aks-engine 0

AKS-Engine: Units of Kubernetes on Azure!

alexeldeib/animated-potato 0

Ansible playbooks to bootstrap Ubuntu with development tools.

pull request commentkubernetes-sigs/controller-runtime

🌱 [WIP] Conditional Controllers

I think I'm missing some background here, but what use case is this for? This seems like it would only come up in operators which can do stuff to any specified object type based on runtime inputs? That seems legit but want to clarify since we've gotten questions about this kind of feature before when "two normal controllers that both have an early return check" was the far simpler solution :)

kevindelgado

comment created time in 4 hours

pull request commentkubernetes-sigs/controller-runtime

🌱 [WIP] Conditional Controllers

/assign @DirectXMan12

kevindelgado

comment created time in 4 hours

pull request commentkubernetes-sigs/controller-runtime

🌱 [WIP] Conditional Controllers

@kevindelgado: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-apidiff-master b5f1ed858246e9464ec921a93e16614781dc0f8e link /test pull-controller-runtime-apidiff-master
pull-controller-runtime-test-master b5f1ed858246e9464ec921a93e16614781dc0f8e link /test pull-controller-runtime-test-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

kevindelgado

comment created time in 4 hours

pull request commentkubernetes-sigs/controller-runtime

:seedling: Controller Lifecycle Management design doc

Dusting the cobwebs off this with a new WIP implementation at https://github.com/kubernetes-sigs/controller-runtime/pull/1527

kevindelgado

comment created time in 4 hours

pull request commentkubernetes-sigs/controller-runtime

🌱 [WIP] Conditional Controllers

@kevindelgado: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-apidiff-master b5f1ed858246e9464ec921a93e16614781dc0f8e link /test pull-controller-runtime-apidiff-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

kevindelgado

comment created time in 4 hours

pull request commentkubernetes-sigs/controller-runtime

🌱 [WIP] Conditional Controllers

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/controller-runtime/pull/1527#" title="Author self-approved">kevindelgado</a> To complete the pull request process, please assign directxman12 after the PR has been reviewed. You can assign the PR to them by writing /assign @directxman12 in a comment when ready.

The full list of commands accepted by this bot can be found here.

<details open> Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":["directxman12"]} -->

kevindelgado

comment created time in 4 hours

PR opened kubernetes-sigs/controller-runtime

🌱 [WIP] Conditional Controllers

<!-- please add an icon to the title of this PR (see VERSIONING.md), and delete this line and similar ones --> <!-- the icon will be either ⚠ (:warning:, major), ✨ (:sparkles, minor), 🐛 (:bug:, patch), 📖 (:book:, docs), or 🌱 (:seedling:, other) -->

<!-- What does this do, and why do we need it? --> This is an updated implementation of the design to add conditional controller support from https://github.com/kubernetes-sigs/controller-runtime/pull/1192

It offers a way to configure controllers to seamlessly start/stop/restart themselves based on whether the CRD it watches exists on the cluster or not. It does so by:

  1. Implementing a stop channel on the informers map MapEntry that can be retrieved from the cache's Informers interface that fires when the informer has stopped.
  2. A new Source is created called ConditionalSource that is implemented by a ConditionalKind that has a Ready() method that blocks until the kind's type is installed on the cluster and ready to be controlled, and a StartNotifyDone() that starts the underlying source with a channel that fires when the source (and its underlying informer have stopped).
  3. Controllers maintain a list of ConditonalSources known as conditionalWatches that can be added like regular watches via the controllers Watch method. For any ConditionalSource that Watch() is called with, it uses Ready() to determine when to StartNotifyDone() it and uses the done channel returned by StartNotifyDone() to determine when the watch has started and that it should wait on Ready() again.
  4. The manager recognize a special type or Runnable known as a ConditionalRunnable that has a Ready() method to indicate when the underlying Runnable can be ran.
  5. The controller builder enables users supply a boolean conditional option to the builder's For, Owns, and Watches inputs that creates ConditionalRunnables to be ran by the manager.

Currently it has been manually tested and there is a single integration test that checks the whole CRD install/uninstall/reinstall flow. I intend to add more unit tests for each individual component that has changed, but wanted to get feedback on the overall design first.

+753 -31

0 comment

19 changed files

pr created time in 4 hours

pull request commentkubernetes-sigs/controller-runtime

:seedling: Controller Lifecycle Management design doc

@kevindelgado: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-test-master f242fff9fac52123c228bec9986629b94e4da364 link /test pull-controller-runtime-test-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

kevindelgado

comment created time in 5 hours

pull request commentkubernetes-sigs/controller-runtime

:seedling: Controller Lifecycle Management design doc

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/controller-runtime/pull/1192#" title="Author self-approved">kevindelgado</a> To complete the pull request process, please ask for approval from alvaroaleman after the PR has been reviewed.

The full list of commands accepted by this bot can be found here.

<details open> Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":["alvaroaleman"]} -->

kevindelgado

comment created time in 5 hours

pull request commentkubernetes-sigs/cluster-api-provider-azure

Expose cloud provider rate limit config

@shysank: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-cluster-api-provider-azure-apidiff 05be885bc54f2f7c20a7833883a79cdf388d48fc link /test pull-cluster-api-provider-azure-apidiff

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

shysank

comment created time in 5 hours

pull request commentkubernetes-sigs/controller-runtime

:seedling: Handle unstructured CRD objects in envtest webhook mods

@vincepri: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-test-master 5211f2cd875d7a0ecd3eee3605f1b1c0280cdc8b link /test pull-controller-runtime-test-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

vincepri

comment created time in 7 hours

pull request commentkubernetes-sigs/controller-runtime

:seedling: Handle unstructured CRD objects in envtest webhook mods

@vincepri: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-test-master 5211f2cd875d7a0ecd3eee3605f1b1c0280cdc8b link /test pull-controller-runtime-test-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

vincepri

comment created time in 8 hours

pull request commentkubernetes-sigs/controller-runtime

:seedling: Handle unstructured CRD objects in envtest webhook mods

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/controller-runtime/pull/1526#" title="Author self-approved">vincepri</a>

The full list of commands accepted by this bot can be found here.

The pull request process is described here

<details > Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":[]} -->

vincepri

comment created time in 8 hours

PR opened kubernetes-sigs/controller-runtime

:seedling: Handle unstructured CRD objects in envtest webhook mods

Signed-off-by: Vince Prignano vincepri@vmware.com

<!-- please add an icon to the title of this PR (see VERSIONING.md), and delete this line and similar ones --> <!-- the icon will be either ⚠ (:warning:, major), ✨ (:sparkles, minor), 🐛 (:bug:, patch), 📖 (:book:, docs), or 🌱 (:seedling:, other) -->

<!-- What does this do, and why do we need it? -->

+25 -0

0 comment

1 changed file

pr created time in 8 hours

created tagkubernetes-sigs/controller-runtime

tagv0.9.0-beta.2

Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)

created time in 8 hours

push eventkubernetes-sigs/controller-runtime

Vince Prignano

commit sha 2bfe5cf06f444ad5a254551660d078fcb0abe380

Envtest should modify CRDs appropriately when using webhooks Before this change, the webhook code was patching mutation or admission webhooks to point to the temporary URL and CA bundle generated when the webhook server would start. Conversion webhooks are handled at the CRD level in Kubernetes, and we need to make sure to patch those client configurations as well. This patch also unexports a lot of methods that should have been private from the very beginning, so it's marked as a breaking change. Signed-off-by: Vince Prignano <vincepri@vmware.com>

view details

Kubernetes Prow Robot

commit sha e552aeea1d06f8a9b949d136d0832e3c9661fa61

Merge pull request #1525 from vincepri/envtest-conversion-webhook ⚠️ Envtest should modify CRDs appropriately when using webhooks

view details

push time in 8 hours

PR merged kubernetes-sigs/controller-runtime

Reviewers
⚠️ Envtest should modify CRDs appropriately when using webhooks approved cncf-cla: yes lgtm size/M

Before this change, the webhook code was patching mutation or admission webhooks to point to the temporary URL and CA bundle generated when the webhook server would start.

Conversion webhooks are handled at the CRD level in Kubernetes, and we need to make sure to patch those client configurations as well.

This patch also unexports a lot of methods that should have been private from the very beginning, so it's marked as a breaking change.

Signed-off-by: Vince Prignano vincepri@vmware.com

<!-- please add an icon to the title of this PR (see VERSIONING.md), and delete this line and similar ones --> <!-- the icon will be either ⚠ (:warning:, major), ✨ (:sparkles, minor), 🐛 (:bug:, patch), 📖 (:book:, docs), or 🌱 (:seedling:, other) -->

<!-- What does this do, and why do we need it? -->

/assign @alvaroaleman @DirectXMan12

+74 -18

2 comments

3 changed files

vincepri

pr closed time in 8 hours

pull request commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

@vincepri: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-test-master 761e005385f35da888a9a4c731114b50b54351d6 link /test pull-controller-runtime-test-master
pull-controller-runtime-apidiff-master 2bfe5cf06f444ad5a254551660d078fcb0abe380 link /test pull-controller-runtime-apidiff-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

vincepri

comment created time in 8 hours

pull request commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

New changes are detected. LGTM label has been removed.

vincepri

comment created time in 8 hours

pull request commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

@vincepri: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-apidiff-master 761e005385f35da888a9a4c731114b50b54351d6 link /test pull-controller-runtime-apidiff-master
pull-controller-runtime-test-master 761e005385f35da888a9a4c731114b50b54351d6 link /test pull-controller-runtime-test-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

vincepri

comment created time in 8 hours

pull request commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/controller-runtime/pull/1525#pullrequestreview-660226521" title="Approved">DirectXMan12</a>, <a href="https://github.com/kubernetes-sigs/controller-runtime/pull/1525#" title="Author self-approved">vincepri</a>

The full list of commands accepted by this bot can be found here.

The pull request process is described here

<details > Needs approval from an approver in each of these files:

  • OWNERS [DirectXMan12,vincepri]

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":[]} -->

vincepri

comment created time in 8 hours

pull request commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

@vincepri: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-apidiff-master 761e005385f35da888a9a4c731114b50b54351d6 link /test pull-controller-runtime-apidiff-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

vincepri

comment created time in 8 hours

issue commentkubernetes-sigs/controller-runtime

TokenReview.authentication.k8s.io resource helpers for Wehbook Server

@rfranzke now that the first TokenReview is merged do you think we could add another issue to track the authorization webhook? Also is that something you're interested in adding?

christopherhein

comment created time in 9 hours

issue commentkubernetes-sigs/controller-runtime

TokenReview.authentication.k8s.io resource helpers for Wehbook Server

@coderanger do you think it makes sense to make another issue to track doing the audit webhook support?

christopherhein

comment created time in 9 hours

pull request commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

@vincepri: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-controller-runtime-test-master 33d8c2eb4f8838ac565d710a58f33352da37bb8d link /test pull-controller-runtime-test-master
pull-controller-runtime-apidiff-master e2d06be7eb43c89e47e82d4f29fc8ef888389a4a link /test pull-controller-runtime-apidiff-master

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

vincepri

comment created time in 9 hours

Pull request review commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

 func (o *WebhookInstallOptions) PrepWithoutInstalling() error {  // Install installs specified webhooks to the API server func (o *WebhookInstallOptions) Install(config *rest.Config) error {-	if err := o.PrepWithoutInstalling(); err != nil {

if it's not too complicated

vincepri

comment created time in 9 hours

Pull request review commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

 func (o *WebhookInstallOptions) PrepWithoutInstalling() error {  // Install installs specified webhooks to the API server func (o *WebhookInstallOptions) Install(config *rest.Config) error {-	if err := o.PrepWithoutInstalling(); err != nil {

(i.e. don't re-call if we've already called it, but if someone's using it standalone still call)

vincepri

comment created time in 9 hours

Pull request review commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

 func (o *WebhookInstallOptions) PrepWithoutInstalling() error {  // Install installs specified webhooks to the API server func (o *WebhookInstallOptions) Install(config *rest.Config) error {-	if err := o.PrepWithoutInstalling(); err != nil {

maybe make this call conditional so we don't break people if anyone's using it manually

vincepri

comment created time in 9 hours

Pull request review commentkubernetes-sigs/controller-runtime

⚠️ Envtest should modify CRDs appropriately when using webhooks

 func renderCRDs(options *CRDInstallOptions) ([]client.Object, error) { 	return res, nil } +func modifyConversionWebhooks(crds []client.Object, webhookOptions WebhookInstallOptions) error {+	// generate host port.+	hostPort, err := webhookOptions.generateHostPort()+	if err != nil {+		return err+	}+	url := pointer.StringPtr(fmt.Sprintf("https://%s/convert", hostPort))

theoretically it could be not convert if you don't go through the builder, but I'm not sure how much we need to worry about that ATM.

vincepri

comment created time in 9 hours