Skip to content
This repository was archived by the owner on Aug 12, 2025. It is now read-only.

Commit 25fc8b5

Browse files
committed
set image
1 parent d8780b0 commit 25fc8b5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+136
-88
lines changed

Makefile

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,30 @@
22

33
GIT_VERSION ?= $(shell git log -1 --format="%h")
44
RELEASE_TAG := $(shell git describe --abbrev=0 --tags ${TAG_COMMIT} 2>/dev/null || true)
5+
RELEASE_VERSION ?= $(shell cat VERSION)
6+
IS_NEW_RELEASE ?= true
57

8+
# are there uncommitted files?
69
ifneq ($(shell git status --porcelain),)
710
# next is used by GoReleaser as well when --spanshot is set
811
RELEASE_TAG := $(RELEASE_TAG)-next
12+
RELEASE_VERSION := $(RELEASE_VERSION)-dirty
13+
IS_NEW_RELEASE := false
914
endif
1015

16+
# do we consider this to be a valid new release? Or are we working going forward?
17+
ifneq ($(shell git branch --show-current),master)
18+
RELEASE_VERSION := $(RELEASE_VERSION)-next
19+
IS_NEW_RELEASE := false
20+
else
21+
ifeq ($(shell git diff HEAD~1 VERSION),)
22+
RELEASE_VERSION := $(RELEASE_VERSION)-next
23+
IS_NEW_RELEASE := false
24+
endif
25+
endif
26+
27+
VERSION ?= $(RELEASE_VERSION)
28+
1129
# which arches can we support
1230
ARCHES=arm64 amd64
1331

@@ -37,7 +55,8 @@ E2E_FOCUS := "functional tests"
3755
TOOLS_DIR := hack/tools
3856
TOOLS_BIN_DIR := $(TOOLS_DIR)/bin
3957
BIN_DIR := bin
40-
TEST_E2E_DIR := test/e2e
58+
TEST_DIR := test
59+
TEST_E2E_DIR := $(TEST_DIR)/e2e
4160

4261
# Binaries.
4362
KUSTOMIZE := $(TOOLS_BIN_DIR)/kustomize
@@ -112,16 +131,10 @@ CORE_VERSION ?= v0.3.5
112131
CORE_API ?= https://api.github.com/repos/kubernetes-sigs/cluster-api/releases
113132
CORE_URL ?= https://github.com/kubernetes-sigs/cluster-api/releases/download/$(CORE_VERSION)
114133

115-
# useful function
116-
word-dot = $(word $2,$(subst ., ,$1))
117-
118-
VERSION ?= $(RELEASE_TAG)
119-
VERSION_CONTRACT ?= v1alpha3
120-
VERSION_MAJOR ?= $(call word-dot,$(VERSION),1)
121-
VERSION_MINOR ?= $(call word-dot,$(VERSION),2)
134+
# metadata file to be included in releases
135+
METADATA_YAML ?= metadata.yaml
122136

123137
# actual releases
124-
RELEASE_VERSION ?= $(VERSION)
125138
RELEASE_BASE := out/release/infrastructure-packet
126139
RELEASE_DIR := $(RELEASE_BASE)/$(RELEASE_VERSION)
127140
FULL_RELEASE_DIR := $(realpath .)/$(RELEASE_DIR)
@@ -145,7 +158,6 @@ FULL_MANAGERLESS_MANIFEST := $(FULL_MANAGERLESS_DIR)/infrastructure-components.y
145158
MANAGERLESS_CLUSTERCTLYAML := $(MANAGERLESS_BASE)/clusterctl-$(MANAGERLESS_VERSION).yaml
146159

147160
# templates
148-
METADATA_TEMPLATE ?= templates/metadata-template.yaml
149161
CLUSTERCTL_TEMPLATE ?= templates/clusterctl-template.yaml
150162
CLUSTER_TEMPLATE ?= templates/cluster-template.yaml
151163

@@ -197,10 +209,11 @@ test: generate fmt vet crds
197209
go test ./... -coverprofile cover.out
198210

199211
# Run e2e tests
212+
.PHONY: e2e
200213
e2e:
201214
# This is the name used inside the component.yaml for the container that runs the manager
202215
# The image gets loaded inside kind from ./test/e2e/config/packet-dev.yaml
203-
$(E2E_FLAGS) $(MAKE) -C test/e2e run
216+
$(E2E_FLAGS) $(MAKE) -C $(TEST_E2E_DIR) run
204217

205218
# Build manager binary
206219
manager: $(MANAGER)
@@ -222,11 +235,11 @@ uninstall: crds
222235
# Deploy controller in the configured Kubernetes cluster in ~/.kube/config
223236
deploy: crds
224237
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
225-
$(KUSTOMIZE) build config/default | kubectl apply -f -
238+
$(KUSTOMIZE) build config/release | kubectl apply -f -
226239

227240
# Generate manifests e.g. CRD, RBAC etc.
228241
crds: controller-gen
229-
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
242+
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/resources/crd/bases
230243

231244
# Run go fmt against code
232245
fmt:
@@ -297,26 +310,27 @@ $(MANAGERLESS_DIR) $(MANAGERLESS_BASE):
297310

298311
.PHONY: semver release-clusterctl release-manifests release $(RELEASE_CLUSTERCTLYAML) $(RELEASE_MANIFEST) $(RELEASE_METADATA) $(RELEASE_CLUSTER_TEMPLATE) $(FULL_RELEASE_CLUSTERCTLYAML)
299312

313+
check-release:
314+
@echo $(IS_NEW_RELEASE)
315+
300316
semver:
301317
ifeq (,$(VERSION))
302-
$(error could not determine version to use from git tag, will not create artifacts)
318+
$(error could not determine version to use from file, will not create artifacts)
303319
endif
320+
@echo "release version $(VERSION)"
304321

305322

306323
manifest: kustomize semver release-manifests release-clusterctl release-cluster-template
307324

308-
release:
309-
goreleaser release --rm-dist --snapshot --skip-publish --debug
310-
311-
release/publish:
312-
goreleaser release --rm-dist
313-
314325
release-manifests: semver $(RELEASE_MANIFEST) $(RELEASE_METADATA) $(RELEASE_CLUSTER_TEMPLATE)
315-
$(RELEASE_MANIFEST): $(RELEASE_DIR) ## Builds the manifests to publish with a release
316-
$(KUSTOMIZE) build config/default > $@
326+
release-version:
327+
KUSTOMIZE_ENABLE_ALPHA_COMMANDS=true $(KUSTOMIZE) config set config/release image-tag $(VERSION)
328+
329+
$(RELEASE_MANIFEST): $(RELEASE_DIR) release-version ## Builds the manifests to publish with a release
330+
$(KUSTOMIZE) build config/release > $@
317331

318-
$(RELEASE_METADATA): semver $(RELEASE_DIR) $(METADATA_TEMPLATE)
319-
cat $(METADATA_TEMPLATE) | sed 's/MAJOR/$(VERSION_MAJOR)/g' | sed 's/MINOR/$(VERSION_MINOR)/g' | sed 's/CONTRACT/$(VERSION_CONTRACT)/g' > $@
332+
$(RELEASE_METADATA): semver $(RELEASE_DIR)
333+
cp $(METADATA_YAML) $@
320334

321335
release-cluster-template: semver $(RELEASE_CLUSTER_TEMPLATE)
322336
$(RELEASE_CLUSTER_TEMPLATE): $(RELEASE_DIR)
@@ -335,8 +349,8 @@ managerless-manifests: semver $(MANAGERLESS_MANIFEST) $(MANAGERLESS_METADATA)
335349
$(MANAGERLESS_MANIFEST): $(MANAGERLESS_DIR)
336350
$(KUSTOMIZE) build config/managerless > $@
337351

338-
$(MANAGERLESS_METADATA): semver $(MANAGERLESS_DIR) $(METADATA_TEMPLATE)
339-
cat $(METADATA_TEMPLATE) | sed 's/MAJOR/$(VERSION_MAJOR)/g' | sed 's/MINOR/$(VERSION_MINOR)/g' | sed 's/CONTRACT/$(VERSION_CONTRACT)/g' > $@
352+
$(MANAGERLESS_METADATA): semver $(MANAGERLESS_DIR)
353+
cp $(METADATA_YAML) $@
340354

341355
managerless-cluster-template: semver $(MANAGERLESS_CLUSTER_TEMPLATE)
342356
$(MANAGERLESS_CLUSTER_TEMPLATE): $(MANAGERLESS_DIR)

README.md

Lines changed: 2 additions & 1 deletion

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v0.3.0

config/default/manager_image_patch.yaml

Lines changed: 0 additions & 13 deletions
This file was deleted.

config/kustomization.yaml

Lines changed: 0 additions & 19 deletions
This file was deleted.

config/managerless/kustomization.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ namespace: cluster-api-provider-packet-system
99
namePrefix: cluster-api-provider-packet-
1010

1111
# Labels to add to all resources and selectors.
12-
#commonLabels:
13-
# someName: someValue
12+
commonLabels:
13+
cluster.x-k8s.io/provider: infrastructure-packet
1414

15-
bases:
16-
- ../crd
17-
- ../rbac
18-
- ../namespace
15+
resources:
16+
- ../resources/crd
17+
- ../resources/rbac
18+
- ../resources/namespace
Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,32 @@
11
# Adds namespace to all resources.
22
namespace: cluster-api-provider-packet-system
3-
43
# Value of this field is prepended to the
54
# names of all resources, e.g. a deployment named
65
# "wordpress" becomes "alices-wordpress".
76
# Note that it should also match with the prefix (text before '-') of the namespace
87
# field above.
98
namePrefix: cluster-api-provider-packet-
10-
119
# Labels to add to all resources and selectors.
1210
commonLabels:
1311
cluster.x-k8s.io/provider: infrastructure-packet
14-
15-
bases:
16-
- ../crd
17-
- ../rbac
18-
- ../namespace
19-
- ../manager
12+
resources:
13+
- ../resources/crd
14+
- ../resources/rbac
15+
- ../resources/namespace
16+
- ../resources/manager
2017
# [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix including the one in
2118
# crd/kustomization.yaml
2219
#- ../webhook
2320
# [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER'. 'WEBHOOK' components are required.
2421
#- ../certmanager
2522
# [PROMETHEUS] To enable prometheus monitor, uncomment all sections with 'PROMETHEUS'.
2623
#- ../prometheus
27-
24+
images:
25+
- name: packet-controller # images with this name
26+
newTag: v0.3.0 # {"type":"string","x-kustomize":{"setter":{"name":"image-tag","value":"v0.3.0"}}}
27+
newName: packethost/cluster-api-provider-packet # and this name
2828
patchesStrategicMerge:
29-
# Protect the /metrics endpoint by putting it behind auth.
30-
# If you want your controller-manager to expose the /metrics
31-
# endpoint w/o any authn/z, please comment the following line.
29+
# Protect the /metrics endpoint by putting it behind auth.
30+
# If you want your controller-manager to expose the /metrics
31+
# endpoint w/o any authn/z, please comment the following line.
3232
- manager_auth_proxy_patch.yaml
33-
- manager_image_patch.yaml

0 commit comments

Comments
 (0)