Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up local image builds by defining Skaffold dependencies #6781

Merged
merged 5 commits into from
Oct 10, 2022

Conversation

rfranzke
Copy link
Member

@rfranzke rfranzke commented Oct 6, 2022

How to categorize this PR?

/area dev-productivity
/kind enhancement

What this PR does / why we need it:
#6735 already started with it, however it actually introduced more problems than it solved since it didn't specify the full list of dependencies. Consequently, the images were only re-built when there were changes in the provided packages. If there were changes in other packages (actually used but not provided in skaffold.yaml) then they were not re-built.

With this PR, we define all transitive gardener/gardener package dependencies for each binary which (a) fixes the mentioned problem and (b) speeds up image builds in general.

The information was retrieved via

go list -f '{{ .Deps }}' ./cmd/gardener-apiserver

etc.

Which issue(s) this PR fixes:
Part of #6016

Special notes for your reviewer:
As you can see, there are quite some weird dependencies that shouldn't exist ideally (e.g., gardener-apiserver should not depend on pkg/resourcesmanager/*, etc.). Improving this is out of scope of this PR, however I'll add a respective task to #6016.

Release note:

NONE

@gardener-prow gardener-prow bot added area/dev-productivity Developer productivity related (how to improve development) kind/enhancement Enhancement, improvement, extension cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. labels Oct 6, 2022
@gardener-prow gardener-prow bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 6, 2022
@plkokanov
Copy link
Contributor

This means that any new package that we add will also have to be added to the appropriate dependency list, right? Is there anyway we can add a check whether that was done, or document it?

@rfranzke rfranzke force-pushed the enh/skaffold-dependencies branch from 291732a to 8e94e25 Compare October 7, 2022 11:29
@gardener-prow gardener-prow bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 7, 2022
@rfranzke
Copy link
Member Author

rfranzke commented Oct 7, 2022

Fair point @plkokanov, I have reworked the PR and added a script that checks for the correctly defined dependencies in the skaffold.yaml as part of make check. As a result, it's much more verbose now, but definitely much easier and less error-prone to maintain. Thanks for the suggestion, PTAL.

Copy link
Contributor

@plkokanov plkokanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding the check!
Just one very small nit/suggestion, otherwise lgtm.

hack/check-skaffold-deps.sh Outdated Show resolved Hide resolved
@rfranzke rfranzke requested a review from plkokanov October 10, 2022 06:07
$ ./hack/check-skaffold-deps.sh
> Check Skaffold Dependencies
>> Checking defined dependencies in Skaffold config 'gardenlet' for 'gardener-seed-admission-controller'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardener-seed-admission-controller/app
cmd/utils
pkg/apis/core
pkg/apis/core/helper
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1alpha1/helper
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/core/validation
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/extensions/validation
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/controllerutils
pkg/controllerutils/routes
pkg/extensions
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/v1alpha1
pkg/healthz
pkg/logger
pkg/resourcemanager/controller/garbagecollector/references
pkg/seedadmissioncontroller/webhooks
pkg/seedadmissioncontroller/webhooks/admission
pkg/seedadmissioncontroller/webhooks/admission/extensioncrds
pkg/seedadmissioncontroller/webhooks/admission/extensionresources
pkg/seedadmissioncontroller/webhooks/admission/podschedulername
pkg/utils
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/gardener
pkg/utils/kubernetes
pkg/utils/kubernetes/health
pkg/utils/kubernetes/unstructured
pkg/utils/retry
pkg/utils/secrets
pkg/utils/timewindow
pkg/utils/validation/admissionplugins
pkg/utils/validation/cidr
pkg/utils/validation/features
pkg/utils/version
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'controlplane' for 'gardener-controller-manager'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardener-controller-manager/app
cmd/utils
pkg/api/indexer
pkg/apis/core
pkg/apis/core/helper
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1alpha1/helper
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/extensions/v1alpha1/helper
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/seedmanagement/v1alpha1/constants
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/controllermanager/apis/config
pkg/controllermanager/apis/config/v1alpha1
pkg/controllermanager/apis/config/validation
pkg/controllermanager/controller
pkg/controllermanager/controller/bastion
pkg/controllermanager/controller/certificatesigningrequest
pkg/controllermanager/controller/cloudprofile
pkg/controllermanager/controller/controllerdeployment
pkg/controllermanager/controller/controllerregistration
pkg/controllermanager/controller/controllerregistration/controllerregistrationfinalizer
pkg/controllermanager/controller/controllerregistration/seed
pkg/controllermanager/controller/controllerregistration/seedfinalizer
pkg/controllermanager/controller/event
pkg/controllermanager/controller/exposureclass
pkg/controllermanager/controller/managedseedset
pkg/controllermanager/controller/project
pkg/controllermanager/controller/project/activity
pkg/controllermanager/controller/project/project
pkg/controllermanager/controller/project/stale
pkg/controllermanager/controller/quota
pkg/controllermanager/controller/secretbinding
pkg/controllermanager/controller/seed
pkg/controllermanager/controller/seed/backupbucketscheck
pkg/controllermanager/controller/seed/extensionscheck
pkg/controllermanager/controller/seed/lifecycle
pkg/controllermanager/controller/seed/secrets
pkg/controllermanager/controller/seed/utils
pkg/controllermanager/controller/shoot
pkg/controllermanager/controller/shoot/conditions
pkg/controllermanager/controller/shoot/hibernation
pkg/controllermanager/controller/shoot/maintenance
pkg/controllermanager/controller/shoot/quota
pkg/controllermanager/controller/shoot/reference
pkg/controllermanager/controller/shoot/retry
pkg/controllermanager/controller/shoot/statuslabel
pkg/controllermanager/features
pkg/controllerutils
pkg/controllerutils/mapper
pkg/controllerutils/predicate
pkg/controllerutils/routes
pkg/extensions
pkg/features
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/helper
pkg/gardenlet/apis/config/v1alpha1
pkg/gardenlet/features
pkg/healthz
pkg/logger
pkg/operation/botanist/component
pkg/operation/botanist/component/backupentry
pkg/operation/botanist/component/clusterautoscaler
pkg/operation/botanist/component/clusteridentity
pkg/operation/botanist/component/coredns
pkg/operation/botanist/component/dependencywatchdog
pkg/operation/botanist/component/etcd
pkg/operation/botanist/component/etcdcopybackupstask
pkg/operation/botanist/component/extensions/containerruntime
pkg/operation/botanist/component/extensions/controlplane
pkg/operation/botanist/component/extensions/dnsrecord
pkg/operation/botanist/component/extensions/extension
pkg/operation/botanist/component/extensions/infrastructure
pkg/operation/botanist/component/extensions/operatingsystemconfig
pkg/operation/botanist/component/extensions/operatingsystemconfig/downloader
pkg/operation/botanist/component/extensions/operatingsystemconfig/original
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/docker
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/gardeneruser
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/journald
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/kernelconfig
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/kubelet
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/logrotate
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/promtail
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/rootcertificates
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/varlibmount
pkg/operation/botanist/component/extensions/operatingsystemconfig/utils
pkg/operation/botanist/component/extensions/worker
pkg/operation/botanist/component/kubeapiserver
pkg/operation/botanist/component/kubecontrollermanager
pkg/operation/botanist/component/kubeproxy
pkg/operation/botanist/component/kubescheduler
pkg/operation/botanist/component/kubestatemetrics
pkg/operation/botanist/component/logging/kuberbacproxy
pkg/operation/botanist/component/monitoring
pkg/operation/botanist/component/nodelocaldns
pkg/operation/botanist/component/projectrbac
pkg/operation/botanist/component/resourcemanager
pkg/operation/botanist/component/vpa
pkg/operation/botanist/component/vpnseedserver
pkg/operation/botanist/component/vpnshoot
pkg/operation/common
pkg/operation/garden
pkg/operation/shoot
pkg/resourcemanager/controller/garbagecollector/references
pkg/resourcemanager/controller/rootcapublisher
pkg/resourcemanager/webhook/podschedulername
pkg/resourcemanager/webhook/podtopologyspreadconstraints
pkg/resourcemanager/webhook/podzoneaffinity
pkg/resourcemanager/webhook/projectedtokenmount
pkg/resourcemanager/webhook/seccompprofile
pkg/resourcemanager/webhook/tokeninvalidator
pkg/utils
pkg/utils/chart
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/gardener
pkg/utils/images
pkg/utils/imagevector
pkg/utils/kubernetes
pkg/utils/kubernetes/health
pkg/utils/kubernetes/unstructured
pkg/utils/managedresources
pkg/utils/managedresources/builder
pkg/utils/retry
pkg/utils/secrets
pkg/utils/secrets/manager
pkg/utils/timewindow
pkg/utils/version
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'controlplane' for 'gardener-apiserver'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardener-apiserver/app
cmd/utils
pkg/api
pkg/api/core/shoot
pkg/apis/authentication
pkg/apis/authentication/install
pkg/apis/authentication/v1alpha1
pkg/apis/authentication/validation
pkg/apis/core
pkg/apis/core/helper
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1alpha1/helper
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/core/validation
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/operations/validation
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/helper
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/seedmanagement/validation
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/apis/settings/validation
pkg/apiserver
pkg/apiserver/admission/initializer
pkg/apiserver/features
pkg/apiserver/storage
pkg/chartrenderer
pkg/client/core/clientset/internalversion
pkg/client/core/clientset/internalversion/scheme
pkg/client/core/clientset/internalversion/typed/core/internalversion
pkg/client/core/clientset/versioned
pkg/client/core/clientset/versioned/scheme
pkg/client/core/clientset/versioned/typed/core/v1alpha1
pkg/client/core/clientset/versioned/typed/core/v1beta1
pkg/client/core/informers/externalversions
pkg/client/core/informers/externalversions/core
pkg/client/core/informers/externalversions/core/v1alpha1
pkg/client/core/informers/externalversions/core/v1beta1
pkg/client/core/informers/externalversions/internalinterfaces
pkg/client/core/informers/internalversion
pkg/client/core/informers/internalversion/core
pkg/client/core/informers/internalversion/core/internalversion
pkg/client/core/informers/internalversion/internalinterfaces
pkg/client/core/listers/core/internalversion
pkg/client/core/listers/core/v1alpha1
pkg/client/core/listers/core/v1beta1
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/client/seedmanagement/clientset/versioned
pkg/client/seedmanagement/clientset/versioned/scheme
pkg/client/seedmanagement/clientset/versioned/typed/seedmanagement/v1alpha1
pkg/client/seedmanagement/informers/externalversions
pkg/client/seedmanagement/informers/externalversions/internalinterfaces
pkg/client/seedmanagement/informers/externalversions/seedmanagement
pkg/client/seedmanagement/informers/externalversions/seedmanagement/v1alpha1
pkg/client/seedmanagement/listers/seedmanagement/v1alpha1
pkg/client/settings/clientset/versioned
pkg/client/settings/clientset/versioned/scheme
pkg/client/settings/clientset/versioned/typed/settings/v1alpha1
pkg/client/settings/informers/externalversions
pkg/client/settings/informers/externalversions/internalinterfaces
pkg/client/settings/informers/externalversions/settings
pkg/client/settings/informers/externalversions/settings/v1alpha1
pkg/client/settings/listers/settings/v1alpha1
pkg/controllerutils
pkg/extensions
pkg/features
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/helper
pkg/gardenlet/apis/config/v1alpha1
pkg/gardenlet/apis/config/validation
pkg/logger
pkg/openapi
pkg/registry/core/backupbucket
pkg/registry/core/backupbucket/storage
pkg/registry/core/backupentry
pkg/registry/core/backupentry/storage
pkg/registry/core/cloudprofile
pkg/registry/core/cloudprofile/storage
pkg/registry/core/controllerdeployment
pkg/registry/core/controllerdeployment/storage
pkg/registry/core/controllerinstallation
pkg/registry/core/controllerinstallation/storage
pkg/registry/core/controllerregistration
pkg/registry/core/controllerregistration/storage
pkg/registry/core/exposureclass
pkg/registry/core/exposureclass/storage
pkg/registry/core/project
pkg/registry/core/project/storage
pkg/registry/core/quota
pkg/registry/core/quota/storage
pkg/registry/core/rest
pkg/registry/core/secretbinding
pkg/registry/core/secretbinding/storage
pkg/registry/core/seed
pkg/registry/core/seed/storage
pkg/registry/core/shoot
pkg/registry/core/shoot/storage
pkg/registry/core/shootstate
pkg/registry/core/shootstate/storage
pkg/registry/operations/bastion
pkg/registry/operations/bastion/storage
pkg/registry/operations/rest
pkg/registry/seedmanagement/managedseed
pkg/registry/seedmanagement/managedseed/storage
pkg/registry/seedmanagement/managedseedset
pkg/registry/seedmanagement/managedseedset/storage
pkg/registry/seedmanagement/rest
pkg/registry/settings/clusteropenidconnectpreset
pkg/registry/settings/clusteropenidconnectpreset/storage
pkg/registry/settings/openidconnectpreset
pkg/registry/settings/openidconnectpreset/storage
pkg/registry/settings/rest
pkg/resourcemanager/controller/garbagecollector/references
pkg/utils
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/gardener
pkg/utils/kubernetes
pkg/utils/kubernetes/health
pkg/utils/kubernetes/unstructured
pkg/utils/retry
pkg/utils/secrets
pkg/utils/secrets/manager
pkg/utils/time
pkg/utils/timewindow
pkg/utils/validation/admissionplugins
pkg/utils/validation/cidr
pkg/utils/validation/features
pkg/utils/version
plugin/pkg/bastion/validator
plugin/pkg/controllerregistration/resources
plugin/pkg/global/customverbauthorizer
plugin/pkg/global/deletionconfirmation
plugin/pkg/global/extensionlabels
plugin/pkg/global/extensionvalidation
plugin/pkg/global/resourcereferencemanager
plugin/pkg/managedseed/shoot
plugin/pkg/managedseed/validator
plugin/pkg/project/validator
plugin/pkg/seed/validator
plugin/pkg/shoot/binding
plugin/pkg/shoot/dns
plugin/pkg/shoot/dnsrewriting
plugin/pkg/shoot/dnsrewriting/apis/shootdnsrewriting
plugin/pkg/shoot/dnsrewriting/apis/shootdnsrewriting/install
plugin/pkg/shoot/dnsrewriting/apis/shootdnsrewriting/v1alpha1
plugin/pkg/shoot/dnsrewriting/apis/shootdnsrewriting/validation
plugin/pkg/shoot/exposureclass
plugin/pkg/shoot/managedseed
plugin/pkg/shoot/nodelocaldns
plugin/pkg/shoot/oidc
plugin/pkg/shoot/oidc/clusteropenidconnectpreset
plugin/pkg/shoot/oidc/openidconnectpreset
plugin/pkg/shoot/quotavalidator
plugin/pkg/shoot/tolerationrestriction
plugin/pkg/shoot/tolerationrestriction/apis/shoottolerationrestriction
plugin/pkg/shoot/tolerationrestriction/apis/shoottolerationrestriction/install
plugin/pkg/shoot/tolerationrestriction/apis/shoottolerationrestriction/v1alpha1
plugin/pkg/shoot/tolerationrestriction/apis/shoottolerationrestriction/validation
plugin/pkg/shoot/validator
plugin/pkg/shoot/vpa
plugin/pkg/utils
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'controlplane' for 'gardener-admission-controller'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardener-admission-controller/app
cmd/utils
pkg/admissioncontroller/apis/config
pkg/admissioncontroller/apis/config/helper
pkg/admissioncontroller/apis/config/v1alpha1
pkg/admissioncontroller/apis/config/validation
pkg/admissioncontroller/metrics
pkg/admissioncontroller/seedidentity
pkg/admissioncontroller/webhooks
pkg/admissioncontroller/webhooks/admission
pkg/admissioncontroller/webhooks/admission/auditpolicy
pkg/admissioncontroller/webhooks/admission/internaldomainsecret
pkg/admissioncontroller/webhooks/admission/kubeconfigsecret
pkg/admissioncontroller/webhooks/admission/namespacedeletion
pkg/admissioncontroller/webhooks/admission/resourcesize
pkg/admissioncontroller/webhooks/admission/seedrestriction
pkg/admissioncontroller/webhooks/auth/seed
pkg/admissioncontroller/webhooks/auth/seed/graph
pkg/apis/core
pkg/apis/core/helper
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/seedmanagement/v1alpha1/helper
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/controllerutils
pkg/controllerutils/routes
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/v1alpha1
pkg/gardenlet/bootstrap/util
pkg/healthz
pkg/logger
pkg/resourcemanager/controller/garbagecollector/references
pkg/utils
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/gardener
pkg/utils/kubernetes
pkg/utils/kubernetes/bootstraptoken
pkg/utils/retry
pkg/utils/secrets
pkg/utils/timewindow
pkg/utils/version
third_party/apiserver/pkg/apis/audit/v1alpha1
third_party/apiserver/pkg/apis/audit/v1beta1
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'controlplane' for 'gardener-scheduler'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardener-scheduler/app
cmd/utils
pkg/apis/authentication
pkg/apis/authentication/v1alpha1
pkg/apis/core
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/core/clientset/versioned
pkg/client/core/clientset/versioned/scheme
pkg/client/core/clientset/versioned/typed/core/v1alpha1
pkg/client/core/clientset/versioned/typed/core/v1beta1
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/controllerutils/predicate
pkg/controllerutils/routes
pkg/features
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/v1alpha1
pkg/healthz
pkg/logger
pkg/resourcemanager/controller/garbagecollector/references
pkg/scheduler/apis/config
pkg/scheduler/apis/config/v1alpha1
pkg/scheduler/apis/config/validation
pkg/scheduler/controller
pkg/scheduler/controller/shoot
pkg/scheduler/features
pkg/utils
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/kubernetes
pkg/utils/retry
pkg/utils/timewindow
pkg/utils/validation/cidr
pkg/utils/version
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'provider-local' for 'gardener-extension-provider-local'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
charts
cmd/gardener-extension-provider-local/app
cmd/utils
extensions/pkg/apis/config
extensions/pkg/controller
extensions/pkg/controller/backupbucket
extensions/pkg/controller/backupentry
extensions/pkg/controller/backupentry/genericactuator
extensions/pkg/controller/cmd
extensions/pkg/controller/common
extensions/pkg/controller/controlplane
extensions/pkg/controller/controlplane/genericactuator
extensions/pkg/controller/dnsrecord
extensions/pkg/controller/healthcheck
extensions/pkg/controller/healthcheck/general
extensions/pkg/controller/healthcheck/worker
extensions/pkg/controller/heartbeat
extensions/pkg/controller/heartbeat/cmd
extensions/pkg/controller/infrastructure
extensions/pkg/controller/operatingsystemconfig
extensions/pkg/controller/operatingsystemconfig/oscommon
extensions/pkg/controller/operatingsystemconfig/oscommon/actuator
extensions/pkg/controller/operatingsystemconfig/oscommon/generator
extensions/pkg/controller/operatingsystemconfig/oscommon/template
extensions/pkg/controller/worker
extensions/pkg/controller/worker/genericactuator
extensions/pkg/controller/worker/helper
extensions/pkg/predicate
extensions/pkg/util
extensions/pkg/util/secret/manager
extensions/pkg/webhook
extensions/pkg/webhook/certificates
extensions/pkg/webhook/cmd
extensions/pkg/webhook/context
extensions/pkg/webhook/controlplane
extensions/pkg/webhook/controlplane/genericmutator
extensions/pkg/webhook/shoot
pkg/api/core
pkg/api/extensions
pkg/apis/core
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1alpha1/helper
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/extensions/v1alpha1/helper
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/controllerutils
pkg/controllerutils/mapper
pkg/controllerutils/predicate
pkg/controllerutils/reconciler
pkg/extensions
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/v1alpha1
pkg/healthz
pkg/logger
pkg/operation/botanist/component
pkg/operation/botanist/component/dependencywatchdog
pkg/operation/botanist/component/etcd
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/docker
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/kubelet
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/logrotate
pkg/operation/botanist/component/extensions/operatingsystemconfig/utils
pkg/operation/botanist/component/kubeapiserver
pkg/operation/botanist/component/kubeproxy
pkg/operation/botanist/component/monitoring
pkg/operation/botanist/component/vpnseedserver
pkg/provider-local/apis/local
pkg/provider-local/apis/local/helper
pkg/provider-local/apis/local/install
pkg/provider-local/apis/local/v1alpha1
pkg/provider-local/controller/backupbucket
pkg/provider-local/controller/backupentry
pkg/provider-local/controller/backupoptions
pkg/provider-local/controller/controlplane
pkg/provider-local/controller/dnsrecord
pkg/provider-local/controller/healthcheck
pkg/provider-local/controller/infrastructure
pkg/provider-local/controller/ingress
pkg/provider-local/controller/operatingsystemconfig
pkg/provider-local/controller/service
pkg/provider-local/controller/worker
pkg/provider-local/local
pkg/provider-local/webhook/controlplane
pkg/provider-local/webhook/controlplaneexposure
pkg/provider-local/webhook/dnsconfig
pkg/provider-local/webhook/networkpolicy
pkg/provider-local/webhook/node
pkg/provider-local/webhook/shoot
pkg/resourcemanager/controller/garbagecollector/references
pkg/utils
pkg/utils/chart
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/gardener
pkg/utils/images
pkg/utils/imagevector
pkg/utils/kubernetes
pkg/utils/kubernetes/health
pkg/utils/kubernetes/unstructured
pkg/utils/managedresources
pkg/utils/managedresources/builder
pkg/utils/retry
pkg/utils/secrets
pkg/utils/secrets/manager
pkg/utils/timewindow
pkg/utils/version
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'gardenlet' for 'gardenlet'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardenlet/app
cmd/gardenlet/app/bootstrappers
cmd/utils
pkg/api/extensions
pkg/api/indexer
pkg/apis/core
pkg/apis/core/helper
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1alpha1/helper
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/core/validation
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/extensions/v1alpha1/helper
pkg/apis/extensions/validation
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/seedmanagement/v1alpha1/helper
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/client/kubernetes/clientmap
pkg/client/kubernetes/clientmap/builder
pkg/client/kubernetes/clientmap/internal
pkg/client/kubernetes/clientmap/keys
pkg/controllerutils
pkg/controllerutils/mapper
pkg/controllerutils/predicate
pkg/controllerutils/reconciler
pkg/controllerutils/routes
pkg/extensions
pkg/features
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/helper
pkg/gardenlet/apis/config/v1alpha1
pkg/gardenlet/apis/config/validation
pkg/gardenlet/bootstrap
pkg/gardenlet/bootstrap/certificate
pkg/gardenlet/bootstrap/util
pkg/gardenlet/controller
pkg/gardenlet/controller/backupbucket
pkg/gardenlet/controller/backupentry
pkg/gardenlet/controller/bastion
pkg/gardenlet/controller/controllerinstallation
pkg/gardenlet/controller/controllerinstallation/care
pkg/gardenlet/controller/controllerinstallation/controllerinstallation
pkg/gardenlet/controller/controllerinstallation/utils
pkg/gardenlet/controller/extensions
pkg/gardenlet/controller/managedseed
pkg/gardenlet/controller/networkpolicy
pkg/gardenlet/controller/networkpolicy/helper
pkg/gardenlet/controller/networkpolicy/hostnameresolver
pkg/gardenlet/controller/seed
pkg/gardenlet/controller/shoot
pkg/gardenlet/controller/shootsecret
pkg/gardenlet/features
pkg/healthz
pkg/logger
pkg/operation
pkg/operation/botanist
pkg/operation/botanist/addons/networkpolicy
pkg/operation/botanist/component/backupentry
pkg/operation/botanist/component/clusterautoscaler
pkg/operation/botanist/component/clusteridentity
pkg/operation/botanist/component/coredns
pkg/operation/botanist/component/dependencywatchdog
pkg/operation/botanist/component/etcd
pkg/operation/botanist/component/etcdcopybackupstask
pkg/operation/botanist/component/extensions/backupentry
pkg/operation/botanist/component/extensions/containerruntime
pkg/operation/botanist/component/extensions/controlplane
pkg/operation/botanist/component/extensions/crds
pkg/operation/botanist/component/extensions/dnsrecord
pkg/operation/botanist/component/extensions/extension
pkg/operation/botanist/component/extensions/infrastructure
pkg/operation/botanist/component/extensions/network
pkg/operation/botanist/component/extensions/operatingsystemconfig
pkg/operation/botanist/component/extensions/operatingsystemconfig/downloader
pkg/operation/botanist/component/extensions/operatingsystemconfig/executor
pkg/operation/botanist/component/extensions/operatingsystemconfig/original
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/containerd
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/docker
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/gardeneruser
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/journald
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/kernelconfig
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/kubelet
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/logrotate
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/promtail
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/rootcertificates
pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/varlibmount
pkg/operation/botanist/component/extensions/operatingsystemconfig/utils
pkg/operation/botanist/component/extensions/worker
pkg/operation/botanist/component/gardeneraccess
pkg/operation/botanist/component/gardenerkubescheduler
pkg/operation/botanist/component/gardenerkubescheduler/configurator
pkg/operation/botanist/component/gardenerkubescheduler/v18
pkg/operation/botanist/component/gardenerkubescheduler/v19
pkg/operation/botanist/component/gardenerkubescheduler/v20
pkg/operation/botanist/component/gardenerkubescheduler/v21
pkg/operation/botanist/component/gardenerkubescheduler/v22
pkg/operation/botanist/component/gardenerkubescheduler/v23
pkg/operation/botanist/component/hvpa
pkg/operation/botanist/component/istio
pkg/operation/botanist/component/kubeapiserver
pkg/operation/botanist/component/kubeapiserverexposure
pkg/operation/botanist/component/kubecontrollermanager
pkg/operation/botanist/component/kubeproxy
pkg/operation/botanist/component/kubescheduler
pkg/operation/botanist/component/kubestatemetrics
pkg/operation/botanist/component/logging/eventlogger
pkg/operation/botanist/component/logging/kuberbacproxy
pkg/operation/botanist/component/metricsserver
pkg/operation/botanist/component/monitoring
pkg/operation/botanist/component/namespaces
pkg/operation/botanist/component/networkpolicies
pkg/operation/botanist/component/nginxingress
pkg/operation/botanist/component/nodelocaldns
pkg/operation/botanist/component/nodeproblemdetector
pkg/operation/botanist/component/resourcemanager
pkg/operation/botanist/component/seedadmissioncontroller
pkg/operation/botanist/component/seedsystem
pkg/operation/botanist/component/shootsystem
pkg/operation/botanist/component/vpa
pkg/operation/botanist/component/vpnauthzserver
pkg/operation/botanist/component/vpnseedserver
pkg/operation/botanist/component/vpnshoot
pkg/operation/botanist/matchers
pkg/operation/care
pkg/operation/common
pkg/operation/garden
pkg/operation/seed
pkg/operation/shoot
pkg/resourcemanager/controller/garbagecollector/references
pkg/resourcemanager/controller/rootcapublisher
pkg/resourcemanager/webhook/podschedulername
pkg/resourcemanager/webhook/podtopologyspreadconstraints
pkg/resourcemanager/webhook/podzoneaffinity
pkg/resourcemanager/webhook/projectedtokenmount
pkg/resourcemanager/webhook/seccompprofile
pkg/resourcemanager/webhook/tokeninvalidator
pkg/seedadmissioncontroller/webhooks/admission
pkg/seedadmissioncontroller/webhooks/admission/extensioncrds
pkg/seedadmissioncontroller/webhooks/admission/extensionresources
pkg/seedadmissioncontroller/webhooks/admission/podschedulername
pkg/utils
pkg/utils/chart
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/gardener
pkg/utils/images
pkg/utils/imagevector
pkg/utils/kubernetes
pkg/utils/kubernetes/bootstraptoken
pkg/utils/kubernetes/client
pkg/utils/kubernetes/health
pkg/utils/kubernetes/unstructured
pkg/utils/managedresources
pkg/utils/managedresources/builder
pkg/utils/retry
pkg/utils/secrets
pkg/utils/secrets/manager
pkg/utils/time
pkg/utils/timewindow
pkg/utils/validation/admissionplugins
pkg/utils/validation/cidr
pkg/utils/validation/features
pkg/utils/version
third_party/kube-scheduler/v18/v1
third_party/kube-scheduler/v18/v1alpha2
third_party/kube-scheduler/v19/v1
third_party/kube-scheduler/v19/v1beta1
third_party/kube-scheduler/v20/v1
third_party/kube-scheduler/v20/v1beta1
third_party/kube-scheduler/v21/v1
third_party/kube-scheduler/v21/v1beta1
third_party/kube-scheduler/v22/v1
third_party/kube-scheduler/v22/v1beta2
third_party/kube-scheduler/v23/v1beta3
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):

>> Checking defined dependencies in Skaffold config 'gardenlet' for 'gardener-resource-manager'...
>>> The following actual dependencies are missing in skaffold.yaml (need to be added):
cmd/gardener-resource-manager/app
cmd/utils
pkg/apis/core
pkg/apis/core/install
pkg/apis/core/v1alpha1
pkg/apis/core/v1beta1
pkg/apis/core/v1beta1/constants
pkg/apis/core/v1beta1/helper
pkg/apis/extensions
pkg/apis/extensions/v1alpha1
pkg/apis/operations
pkg/apis/operations/install
pkg/apis/operations/v1alpha1
pkg/apis/resources
pkg/apis/resources/v1alpha1
pkg/apis/resources/v1alpha1/helper
pkg/apis/seedmanagement
pkg/apis/seedmanagement/encoding
pkg/apis/seedmanagement/install
pkg/apis/seedmanagement/v1alpha1
pkg/apis/settings
pkg/apis/settings/install
pkg/apis/settings/v1alpha1
pkg/chartrenderer
pkg/client/kubernetes
pkg/client/kubernetes/cache
pkg/controllerutils
pkg/controllerutils/mapper
pkg/controllerutils/predicate
pkg/controllerutils/reconciler
pkg/controllerutils/routes
pkg/gardenlet/apis/config
pkg/gardenlet/apis/config/v1alpha1
pkg/healthz
pkg/logger
pkg/resourcemanager/cmd
pkg/resourcemanager/controller/garbagecollector
pkg/resourcemanager/controller/garbagecollector/references
pkg/resourcemanager/controller/health
pkg/resourcemanager/controller/managedresource
pkg/resourcemanager/controller/rootcapublisher
pkg/resourcemanager/controller/secret
pkg/resourcemanager/controller/tokeninvalidator
pkg/resourcemanager/controller/tokenrequestor
pkg/resourcemanager/healthz
pkg/resourcemanager/predicate
pkg/resourcemanager/webhook/podschedulername
pkg/resourcemanager/webhook/podtopologyspreadconstraints
pkg/resourcemanager/webhook/podzoneaffinity
pkg/resourcemanager/webhook/projectedtokenmount
pkg/resourcemanager/webhook/seccompprofile
pkg/resourcemanager/webhook/tokeninvalidator
pkg/utils
pkg/utils/context
pkg/utils/errors
pkg/utils/flow
pkg/utils/kubernetes
pkg/utils/kubernetes/health
pkg/utils/retry
pkg/utils/timewindow
pkg/utils/version
vendor

>>> The following dependencies defined in skaffold.yaml are not needed actually (need to be removed):
@rfranzke rfranzke force-pushed the enh/skaffold-dependencies branch from 1ba1b8d to 929f998 Compare October 10, 2022 06:41
@gardener-prow
Copy link
Contributor

gardener-prow bot commented Oct 10, 2022

@rfranzke: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-gardener-check-vulnerabilities 929f998 link false /test pull-gardener-check-vulnerabilities

Full PR test history. Your PR dashboard. Command help for this repository.
Please help us cut down on flakes by linking this test failure to an open flake report or filing a new flake report if you can't find an existing one. Also see our testing guideline for how to avoid and hunt flakes.

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.

@plkokanov
Copy link
Contributor

/lgtm
/approve

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Oct 10, 2022
@gardener-prow
Copy link
Contributor

gardener-prow bot commented Oct 10, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: plkokanov

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

The pull request process is described here

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

@gardener-prow gardener-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 10, 2022
@gardener-prow gardener-prow bot merged commit 1729b73 into gardener:master Oct 10, 2022
@rfranzke rfranzke deleted the enh/skaffold-dependencies branch October 10, 2022 08:26
ialidzhikov added a commit to ialidzhikov/gardener-extension-registry-cache that referenced this pull request Oct 3, 2023
Currently, the ko builder does not detect changes to `go:embed` files (see GoogleContainerTools/skaffold#7836). This makes impossible the development of some scripts that are used later by `go:embed`.
This PR inspires from gardener/gardener#6735 and gardener/gardener#6781 and does the same setup for the registry-cache extension.
ialidzhikov added a commit to ialidzhikov/gardener-extension-registry-cache that referenced this pull request Oct 5, 2023
Currently, the ko builder does not detect changes to `go:embed` files (see GoogleContainerTools/skaffold#7836). This makes impossible the development of some scripts that are used later by `go:embed`.
This PR inspires from gardener/gardener#6735 and gardener/gardener#6781 and does the same setup for the registry-cache extension.
dimitar-kostadinov pushed a commit to ialidzhikov/gardener-extension-registry-cache that referenced this pull request Oct 6, 2023
Currently, the ko builder does not detect changes to `go:embed` files (see GoogleContainerTools/skaffold#7836). This makes impossible the development of some scripts that are used later by `go:embed`.
This PR inspires from gardener/gardener#6735 and gardener/gardener#6781 and does the same setup for the registry-cache extension.
gardener-prow bot pushed a commit to gardener/gardener-extension-registry-cache that referenced this pull request Oct 6, 2023
* skaffold: Rebuild when there are changes to `go:embed` files

Currently, the ko builder does not detect changes to `go:embed` files (see GoogleContainerTools/skaffold#7836). This makes impossible the development of some scripts that are used later by `go:embed`.
This PR inspires from gardener/gardener#6735 and gardener/gardener#6781 and does the same setup for the registry-cache extension.

* Add skaffold dependency

---------

Co-authored-by: Dimitar Kostadinov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/dev-productivity Developer productivity related (how to improve development) cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants