Skip to content

WIP: Make manifest lists of the dns images#30

Closed
luxas wants to merge 1 commit intokubernetes:masterfrom
luxas:multiarch
Closed

WIP: Make manifest lists of the dns images#30
luxas wants to merge 1 commit intokubernetes:masterfrom
luxas:multiarch

Conversation

@luxas
Copy link
Copy Markdown
Member

@luxas luxas commented Jan 13, 2017

... and base everything on busybox to minimize the delta between amd64 and non-amd64 images

Also I tried to make the Makefiles simpler, let me know what you think @bowei and others!

A manifest list is an image that's kind of a placeholder for other arch-specific images, so basically if we have k8s-dns-dnsmasq:version in a manifest and are using docker; docker will fetch the right -arch version for us automatically!

Tested it locally, and it seems like I got it working. I also added s390x to the list

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jan 13, 2017
…ybox to minimize the delta between amd64 and non-amd64
@luxas
Copy link
Copy Markdown
Member Author

luxas commented Jan 14, 2017

cc @MrHohn also

@luxas
Copy link
Copy Markdown
Member Author

luxas commented Jan 20, 2017

ping @bowei @MrHohn please take a look as soon as possible

@docker push $(REGISTRY)/$(IMAGENAME)-$(ARCH):$(VERSION)
@cat $< > $@

.PHONY: clean
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

add manifest-tool to clean and any other generated file (I think .emptydir is created as well)

chmod +x manifest-tool

gcr-login:
ifeq ($(findstring gcr.io,$(PREFIX)),gcr.io)
Copy link
Copy Markdown
Member

@bowei bowei Jan 20, 2017

Choose a reason for hiding this comment

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

PREFIX => REGISTRY

@ARCH=$(ARCH) IMAGE=$(REGISTRY)/$(IMAGENAME)-$(ARCH):$(VERSION) ./validate.sh

./manifest-tool:
curl -sSL https://github.com/luxas/manifest-tool/releases/download/v0.3.0/manifest-tool > manifest-tool
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What does manifest-tool do? Is it essential for the build process. I would prefer to minimize external dependencies (e.g. things that need to be downloaded) for the build.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks like this is a library that creates multi-os docker manifest files.

@bowei bowei self-assigned this Jan 20, 2017
MAINTAINER Bowei Du <bowei@google.com>

ADD bin/ARG_ARCH/ARG_BIN /ARG_BIN
USER nobody:nogroup
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

will this work? DNS wants to bind to :53 which is < 1024

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

oh, didn't think about that, just harmonized the Dockerfiles automatically, will fix

@thockin
Copy link
Copy Markdown
Member

thockin commented Jan 22, 2017

I would love an equivalent changeset to https://github.com/thockin/go-build-template :)

ifeq ($(ARCH),amd64)
BASEIMAGE ?= alpine:3.4
COMPILE_IMAGE := alpine:3.4
BASEIMAGE ?= busybox:glibc
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Does this build correctly? I believe we add several packages with apk. Is apk present in busybox:glibc?

@cmluciano
Copy link
Copy Markdown

Is this still valid?

@luxas
Copy link
Copy Markdown
Member Author

luxas commented Jun 12, 2017

@cmluciano I wish it was merged long time ago, but it's still pending due to that gcr.io doesn't support v2 schema 2 (-> no manifest lists can be pushed) :(

@fejta-bot
Copy link
Copy Markdown

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 27, 2017
@luxas
Copy link
Copy Markdown
Member Author

luxas commented Dec 27, 2017

/remove-lifecycle stale

@mkumatag is looking into this now that we're unblocked...

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 27, 2017
@fejta-bot
Copy link
Copy Markdown

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 27, 2018
@fejta-bot
Copy link
Copy Markdown

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 26, 2018
@luxas
Copy link
Copy Markdown
Member Author

luxas commented May 11, 2018

Closing this as it's out of date and we're targeting that CoreDNS will get this functionality instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants