-
Notifications
You must be signed in to change notification settings - Fork 493
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
Speed up local image builds by defining Skaffold dependencies #6781
Conversation
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? |
291732a
to
8e94e25
Compare
Fair point @plkokanov, I have reworked the PR and added a script that checks for the correctly defined dependencies in the |
There was a problem hiding this 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 > 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):
1ba1b8d
to
929f998
Compare
@rfranzke: The following test failed, say
Full PR test history. Your PR dashboard. Command help for this repository. 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. |
/lgtm |
[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 |
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.
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.
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.
* 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]>
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 onpkg/resourcesmanager/*
, etc.). Improving this is out of scope of this PR, however I'll add a respective task to #6016.Release note: