Skip to content

Commit cb15ddc

Browse files
committed
cleanup Makefile, use µget to download prebuilt binaries when available
On-behalf-of: @SAP christoph.mewes@sap.com
1 parent f026310 commit cb15ddc

11 files changed

Lines changed: 596 additions & 184 deletions

File tree

Makefile

Lines changed: 77 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,24 @@
1515
# We need bash for some conditional logic below.
1616
SHELL := /usr/bin/env bash -e
1717

18-
GO_INSTALL = ./hack/go-install.sh
19-
2018
ROOT_DIR=$(abspath .)
2119
TOOLS_DIR=hack/tools
22-
TOOLS_GOBIN_DIR := $(abspath $(TOOLS_DIR))
23-
GOBIN_DIR=$(abspath ./bin )
24-
PATH := $(GOBIN_DIR):$(TOOLS_GOBIN_DIR):$(PATH)
25-
TMPDIR := $(shell mktemp -d)
20+
BUILD_DIR=bin/
21+
ABS_TOOLS_DIR := $(abspath $(TOOLS_DIR))
22+
ABS_BUILD_DIR=$(abspath $(BUILD_DIR))
23+
PATH := $(ABS_BUILD_DIR):$(ABS_TOOLS_DIR):$(PATH)
24+
25+
export UGET_DIRECTORY = $(TOOLS_DIR)
26+
export UGET_CHECKSUMS = hack/tools.checksums
2627

2728
# Image build configuration
2829
# REV is the short git sha of latest commit.
2930
REV ?= $(shell git rev-parse --short HEAD)
3031
IMAGE_REPO ?= kube-bind
3132

32-
# Detect the path used for the install target
33-
ifeq (,$(shell go env GOBIN))
34-
INSTALL_GOBIN=$(shell go env GOPATH)/bin
35-
else
36-
INSTALL_GOBIN=$(shell go env GOBIN)
37-
endif
38-
3933
CONTROLLER_GEN_VER := v0.17.3
4034
CONTROLLER_GEN_BIN := controller-gen
41-
CONTROLLER_GEN := $(TOOLS_DIR)/$(CONTROLLER_GEN_BIN)-$(CONTROLLER_GEN_VER)
35+
CONTROLLER_GEN := $(TOOLS_DIR)/$(CONTROLLER_GEN_BIN)
4236
export CONTROLLER_GEN # so hack scripts can use it
4337

4438
KUBE_CLIENT_GEN_VER := v0.32.0
@@ -50,46 +44,46 @@ KUBE_INFORMER_GEN_BIN := informer-gen
5044
KUBE_APPLYCONFIGURATION_GEN_VER := v0.32.0
5145
KUBE_APPLYCONFIGURATION_GEN_BIN := applyconfiguration-gen
5246

53-
KUBE_CLIENT_GEN := $(GOBIN_DIR)/$(KUBE_CLIENT_GEN_BIN)-$(KUBE_CLIENT_GEN_VER)
47+
KUBE_CLIENT_GEN := $(ABS_BUILD_DIR)/$(KUBE_CLIENT_GEN_BIN)
5448
export KUBE_CLIENT_GEN
55-
KUBE_LISTER_GEN := $(GOBIN_DIR)/$(KUBE_LISTER_GEN_BIN)-$(KUBE_LISTER_GEN_VER)
49+
KUBE_LISTER_GEN := $(ABS_BUILD_DIR)/$(KUBE_LISTER_GEN_BIN)
5650
export KUBE_LISTER_GEN
57-
KUBE_INFORMER_GEN := $(GOBIN_DIR)/$(KUBE_INFORMER_GEN_BIN)-$(KUBE_INFORMER_GEN_VER)
51+
KUBE_INFORMER_GEN := $(ABS_BUILD_DIR)/$(KUBE_INFORMER_GEN_BIN)
5852
export KUBE_INFORMER_GEN
59-
KUBE_APPLYCONFIGURATION_GEN := $(GOBIN_DIR)/$(KUBE_APPLYCONFIGURATION_GEN_BIN)-$(KUBE_APPLYCONFIGURATION_GEN_VER)
53+
KUBE_APPLYCONFIGURATION_GEN := $(ABS_BUILD_DIR)/$(KUBE_APPLYCONFIGURATION_GEN_BIN)
6054
export KUBE_APPLYCONFIGURATION_GEN
6155

6256
YAML_PATCH_VER ?= v0.0.11
6357
YAML_PATCH_BIN := yaml-patch
64-
YAML_PATCH := $(TOOLS_DIR)/$(YAML_PATCH_BIN)-$(YAML_PATCH_VER)
58+
YAML_PATCH := $(TOOLS_DIR)/$(YAML_PATCH_BIN)
6559
export YAML_PATCH # so hack scripts can use it
6660

67-
GOLANGCI_LINT_VER := v2.1.6
61+
GOLANGCI_LINT_VER := 2.1.6
6862
GOLANGCI_LINT_BIN := golangci-lint
69-
GOLANGCI_LINT := $(TOOLS_GOBIN_DIR)/$(GOLANGCI_LINT_BIN)-$(GOLANGCI_LINT_VER)
63+
GOLANGCI_LINT := $(ABS_TOOLS_DIR)/$(GOLANGCI_LINT_BIN)
7064

7165
GOTESTSUM_VER := v1.8.1
7266
GOTESTSUM_BIN := gotestsum
73-
GOTESTSUM := $(abspath $(TOOLS_DIR))/$(GOTESTSUM_BIN)-$(GOTESTSUM_VER)
67+
GOTESTSUM := $(abspath $(TOOLS_DIR))/$(GOTESTSUM_BIN)
7468

7569
LOGCHECK_VER := v0.2.0
7670
LOGCHECK_BIN := logcheck
77-
LOGCHECK := $(TOOLS_GOBIN_DIR)/$(LOGCHECK_BIN)-$(LOGCHECK_VER)
71+
LOGCHECK := $(ABS_TOOLS_DIR)/$(LOGCHECK_BIN)
7872
export LOGCHECK # so hack scripts can use it
7973

8074
CODE_GENERATOR_VER := v2.4.0
8175
CODE_GENERATOR_BIN := code-generator
82-
CODE_GENERATOR := $(TOOLS_GOBIN_DIR)/$(CODE_GENERATOR_BIN)-$(CODE_GENERATOR_VER)
76+
CODE_GENERATOR := $(ABS_TOOLS_DIR)/$(CODE_GENERATOR_BIN)
8377
export CODE_GENERATOR # so hack scripts can use it
8478

85-
KCP_VER := v0.28.3
79+
KCP_VER := 0.28.3
8680
KCP_BIN := kcp
87-
KCP := $(TOOLS_GOBIN_DIR)/$(KCP_BIN)-$(KCP_VER)
81+
KCP := $(ABS_TOOLS_DIR)/$(KCP_BIN)
8882
KCP_CMD ?= $(KCP)
8983

9084
DEX_VER := v2.43.1
9185
DEX_BIN := dex
92-
DEX := $(TOOLS_GOBIN_DIR)/$(DEX_BIN)-$(DEX_VER)
86+
DEX := $(ABS_TOOLS_DIR)/$(DEX_BIN)
9387

9488
ARCH := $(shell go env GOARCH)
9589
OS := $(shell go env GOOS)
@@ -132,12 +126,16 @@ ldflags:
132126
require-%:
133127
@if ! command -v $* 1> /dev/null 2>&1; then echo "$* not found in \$$PATH"; exit 1; fi
134128

129+
.PHONY: clean
130+
clean: ## Remove all build artifacts
131+
rm -rf $(BUILD_DIR) $(TOOLS_DIR)
132+
135133
build: WHAT ?= ./cmd/... ./cli/cmd/... ./contrib/kcp/cmd/kcp-init/...
136134
build: require-jq require-go require-git verify-go-versions ## Build the project
137-
mkdir -p $(GOBIN_DIR)
135+
mkdir -p $(ABS_BUILD_DIR)
138136
set -x; for W in $(WHAT); do \
139137
pushd . && cd $${W%..}; \
140-
GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build $(BUILDFLAGS) -ldflags="$(LDFLAGS)" -o $(GOBIN_DIR) ./...; \
138+
GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build $(BUILDFLAGS) -ldflags="$(LDFLAGS)" -o $(ABS_BUILD_DIR) ./...; \
141139
popd; \
142140
done
143141
.PHONY: build
@@ -147,15 +145,17 @@ install: ## install binaries to GOBIN
147145
GOOS=$(OS) GOARCH=$(ARCH) go install -ldflags="$(LDFLAGS)" $(WHAT)
148146
.PHONY: install
149147

150-
151148
$(GOLANGCI_LINT):
152-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/golangci/golangci-lint/v2/cmd/golangci-lint $(GOLANGCI_LINT_BIN) $(GOLANGCI_LINT_VER)
149+
@hack/uget.sh \
150+
https://github.com/golangci/golangci-lint/releases/download/v{VERSION}/golangci-lint-{VERSION}-{GOOS}-{GOARCH}.tar.gz \
151+
${GOLANGCI_LINT_BIN} \
152+
${GOLANGCI_LINT_VER}
153153

154154
$(LOGCHECK):
155-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) sigs.k8s.io/logtools/logcheck $(LOGCHECK_BIN) $(LOGCHECK_VER)
155+
@GO_MODULE=true hack/uget.sh sigs.k8s.io/logtools/logcheck ${LOGCHECK_BIN} $(LOGCHECK_VER)
156156

157157
$(CODE_GENERATOR):
158-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/kcp-dev/code-generator/v2 $(CODE_GENERATOR_BIN) $(CODE_GENERATOR_VER)
158+
@GO_MODULE=true hack/uget.sh github.com/kcp-dev/code-generator/v2 ${CODE_GENERATOR_BIN} $(CODE_GENERATOR_VER)
159159

160160
lint: $(GOLANGCI_LINT) $(LOGCHECK) ## Run golangci-lint
161161
@if [ -n "$(WHAT)" ]; then \
@@ -180,23 +180,30 @@ tools: $(GOLANGCI_LINT) $(CONTROLLER_GEN) $(YAML_PATCH) $(GOTESTSUM) $(CODE_GENE
180180
.PHONY: tools
181181

182182
$(CONTROLLER_GEN):
183-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) sigs.k8s.io/controller-tools/cmd/controller-gen $(CONTROLLER_GEN_BIN) $(CONTROLLER_GEN_VER)
183+
@UNCOMPRESSED=true hack/uget.sh \
184+
https://github.com/kubernetes-sigs/controller-tools/releases/download/{VERSION}/controller-gen-{GOOS}-{GOARCH} \
185+
${CONTROLLER_GEN_BIN} \
186+
${CONTROLLER_GEN_VER} \
187+
${CONTROLLER_GEN_BIN}*
184188

185189
$(YAML_PATCH):
186-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/pivotal-cf/yaml-patch/cmd/yaml-patch $(YAML_PATCH_BIN) $(YAML_PATCH_VER)
190+
@GO_MODULE=true hack/uget.sh github.com/pivotal-cf/yaml-patch/cmd/yaml-patch $(YAML_PATCH_BIN) $(YAML_PATCH_VER)
187191

188192
$(GOTESTSUM):
189-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) gotest.tools/gotestsum $(GOTESTSUM_BIN) $(GOTESTSUM_VER)
193+
@hack/uget.sh \
194+
https://github.com/gotestyourself/gotestsum/releases/download/v{VERSION}/gotestsum_{VERSION}_{GOOS}_{GOARCH}.tar.gz \
195+
${GOTESTSUM_BIN} \
196+
${GOTESTSUM_VER} \
197+
${GOTESTSUM_BIN}
190198

191199
$(KUBE_CLIENT_GEN):
192-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_VER)
200+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_VER)
193201
$(KUBE_LISTER_GEN):
194-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_VER)
202+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_VER)
195203
$(KUBE_INFORMER_GEN):
196-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_VER)
204+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_VER)
197205
$(KUBE_APPLYCONFIGURATION_GEN):
198-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_VER)
199-
206+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_VER)
200207

201208
codegen: $(CONTROLLER_GEN) $(YAML_PATCH) $(CODE_GENERATOR) $(KUBE_CLIENT_GEN) $(KUBE_LISTER_GEN) $(KUBE_INFORMER_GEN) $(KUBE_APPLYCONFIGURATION_GEN) ## Generate code
202209
go mod download
@@ -232,13 +239,15 @@ imports: $(GOLANGCI_LINT) verify-go-versions ## Fix imports and format code
232239
fi
233240

234241
$(TOOLS_DIR)/verify_boilerplate.py:
235-
mkdir -p $(TOOLS_DIR)
236-
curl --fail --retry 3 -L -o $(TOOLS_DIR)/verify_boilerplate.py https://raw.githubusercontent.com/kubernetes/repo-infra/master/hack/verify_boilerplate.py
237-
chmod +x $(TOOLS_DIR)/verify_boilerplate.py
242+
@UNCOMPRESSED=true hack/uget.sh \
243+
https://raw.githubusercontent.com/kubernetes/repo-infra/master/hack/verify_boilerplate.py \
244+
verify_boilerplate.py \
245+
201dcad9616c117927232ee0bc499ff38a27023e \
246+
verify_boilerplate.py
238247

239248
.PHONY: verify-boilerplate
240249
verify-boilerplate: $(TOOLS_DIR)/verify_boilerplate.py
241-
$(TOOLS_DIR)/verify_boilerplate.py --boilerplate-dir=hack/boilerplate --skip dex
250+
$(TOOLS_DIR)/verify_boilerplate.py --boilerplate-dir=hack/boilerplate --skip dex --skip hack/uget.sh
242251

243252
ifdef ARTIFACT_DIR
244253
GOTESTSUM_ARGS += --junitfile=$(ARTIFACT_DIR)/junit.xml
@@ -257,23 +266,34 @@ else
257266
E2E_PARALLELISM_FLAG :=
258267
endif
259268

269+
# dex does not publish binaries for their releases, and their go.mod file
270+
# is missing "/v2" and so dex cannot be installed as a Go dependency. Cloning
271+
# the repo and building it by hand is the best of the worst approaches remaining.
272+
DEX_TMP_DIR = $(TOOLS_DIR)/dex-clone-$(DEX_VER)
260273
$(DEX):
261274
mkdir -p $(TOOLS_DIR)
262-
git clone --branch $(DEX_VER) --depth 1 https://github.com/dexidp/dex $(TOOLS_DIR)/dex-clone-$(DEX_VER) || true
263-
cd $(TOOLS_DIR)/dex-clone-$(DEX_VER) && GOWORK=off make build
264-
cp -a $(TOOLS_DIR)/dex-clone-$(DEX_VER)/bin/dex $(DEX)
265-
ln -sf $(DEX) $(TOOLS_GOBIN_DIR)/dex
275+
git clone --branch $(DEX_VER) --depth 1 https://github.com/dexidp/dex $(DEX_TMP_DIR) || true
276+
cd $(DEX_TMP_DIR) && GOWORK=off make build
277+
cp -a $(DEX_TMP_DIR)/bin/dex $(DEX)
278+
rm -rf $(DEX_TMP_DIR)
266279

280+
.PHONY: dex
281+
dex: $(DEX)
282+
283+
.PHONY: run-dex
267284
run-dex: $(DEX)
268285
$(DEX) serve hack/dex-config-dev.yaml
269286

270287
$(KCP):
271-
mkdir -p $(TOOLS_DIR)
272-
curl --fail --retry 3 -L "https://github.com/kcp-dev/kcp/releases/download/$(KCP_VER)/kcp_$(KCP_VER:v%=%)_$(OS)_$(ARCH).tar.gz" | \
273-
tar xz -C "$(TOOLS_DIR)" --strip-components="1" bin/kcp
274-
mv $(TOOLS_DIR)/kcp $(KCP)
275-
ln -sf $(KCP) $(TOOLS_GOBIN_DIR)/kcp
288+
@hack/uget.sh \
289+
https://github.com/kcp-dev/kcp/releases/download/v{VERSION}/kcp_{VERSION}_{GOOS}_{GOARCH}.tar.gz \
290+
$(KCP_BIN) \
291+
$(KCP_VER)
276292

293+
.PHONY: kcp
294+
kcp: $(KCP)
295+
296+
.PHONY: run-kcp
277297
run-kcp: $(KCP)
278298
$(KCP_CMD) start --bind-address=127.0.0.1
279299

@@ -375,7 +395,7 @@ deploy-docs: venv ## Deploy docs
375395
. $(VENV)/activate; \
376396
REMOTE=$(REMOTE) BRANCH=$(BRANCH) docs/scripts/deploy-docs.sh
377397

378-
# Example: make IMAGE_REPO=ghcr.io/<username> image-local
398+
# Example: make IMAGE_REPO=ghcr.io/<username> image-local
379399
.PHONY: image-local
380400
image-local:
381401
@echo "Building images locally with tag $(REV)"
@@ -410,7 +430,7 @@ kind-load:
410430
helm-build-local: ## Build and package Helm charts locally for testing
411431
@echo "Building Helm charts locally..."
412432
@command -v helm >/dev/null 2>&1 || { echo "helm not found. Install from: https://helm.sh/docs/intro/install/"; exit 1; }
413-
433+
414434
@# Set chart version to semver format for local builds (0.0.0-<git-sha>)
415435
CHART_VERSION="0.0.0-$(REV)"; \
416436
for chart_dir in deploy/charts/*/; do \
@@ -439,7 +459,7 @@ helm-clean: ## Clean up built helm charts
439459
helm-push-local: ## Push Helm charts to IMAGE_REPO registry
440460
@echo "Pushing Helm charts to registry: $(IMAGE_REPO)"
441461
@command -v helm >/dev/null 2>&1 || { echo "helm not found. Install from: https://helm.sh/docs/intro/install/"; exit 1; }
442-
462+
443463
CHART_VERSION="0.0.0-$(REV)"; \
444464
export HELM_EXPERIMENTAL_OCI=1; \
445465
for chart_file in ./bin/*-$$CHART_VERSION.tgz; do \

contrib/kcp/Makefile

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,17 @@
1616
SHELL := /usr/bin/env bash -e
1717

1818
ROOT_DIR=$(abspath ../..)
19-
GO_INSTALL = $(ROOT_DIR)/hack/go-install.sh
20-
TOOLS_GOBIN_DIR = $(ROOT_DIR)/hack/tools
21-
GOBIN_DIR = $(ROOT_DIR)/bin
22-
PATH := $(GOBIN_DIR):$(TOOLS_GOBIN_DIR):$(PATH)
23-
TMPDIR := $(shell mktemp -d)
24-
25-
# Detect the path used for the install target
26-
ifeq (,$(shell go env GOBIN))
27-
INSTALL_GOBIN=$(shell go env GOPATH)/bin
28-
else
29-
INSTALL_GOBIN=$(shell go env GOBIN)
30-
endif
19+
UGET = $(ROOT_DIR)/hack/uget.sh
20+
ABS_TOOLS_DIR = $(ROOT_DIR)/hack/tools
21+
ABS_BUILD_DIR = $(ROOT_DIR)/bin
22+
PATH := $(ABS_BUILD_DIR):$(ABS_TOOLS_DIR):$(PATH)
3123

24+
export UGET_DIRECTORY = $(ABS_TOOLS_DIR)
25+
export UGET_CHECKSUMS = $(ROOT_DIR)/hack/tools.checksums
3226

3327
KCP_APIGEN_VER := v0.28.0
3428
KCP_APIGEN_BIN := apigen
35-
KCP_APIGEN_GEN := $(TOOLS_GOBIN_DIR)/$(KCP_APIGEN_BIN)-$(KCP_APIGEN_VER)
29+
KCP_APIGEN_GEN := $(ABS_TOOLS_DIR)/$(KCP_APIGEN_BIN)
3630
export KCP_APIGEN_GEN # so hack scripts can use it
3731

3832
all: build
@@ -44,7 +38,7 @@ require-%:
4438

4539
# KCP tool installation targets
4640
$(KCP_APIGEN_GEN):
47-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/kcp-dev/kcp/sdk/cmd/apigen $(KCP_APIGEN_BIN) $(KCP_APIGEN_VER)
41+
@GO_MODULE=true $(UGET) github.com/kcp-dev/kcp/sdk/cmd/apigen $(KCP_APIGEN_BIN) $(KCP_APIGEN_VER)
4842

4943
# KCP runtime targets
5044
run-kcp: $(KCP) ## Start KCP server

docs/content/contributing/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ contribution. See the [DCO](https://github.com/kube-bind/kube-bind/tree/main/DCO
1717
### Prerequisites
1818

1919
1. Clone this repository.
20-
2. [Install Go](https://golang.org/doc/install) (currently 1.22).
20+
2. [Install Go](https://golang.org/doc/install) (kube-bind requires 1.24+).
2121
3. Install [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl).
2222

2323
## Finding Areas to Contribute

docs/content/setup/kcp-setup.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ make run-kcp
3535
Clone and configure dex:
3636

3737
```bash
38-
git clone https://github.com/dexidp/dex.git
39-
cd dex && make build
38+
make dex
4039
```
4140

4241
Configure dex (`examples/config-dev.yaml`):
@@ -53,7 +52,7 @@ staticClients:
5352
Start dex:
5453
5554
```bash
56-
./bin/dex serve examples/config-dev.yaml
55+
./hack/tools/dex serve examples/config-dev.yaml
5756
```
5857

5958
### 3. Bootstrap kcp

docs/content/setup/quickstart.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
description: >
3-
Get started with kube bind.
3+
Get started with kube-bind.
44
---
55

66
# Quickstart
@@ -35,9 +35,7 @@ the oauth2 workflow.
3535

3636
We use dex to manage OIDC, following the steps below you can run a local OIDC issuer using dex:
3737

38-
* First, clone the dex repo: `git clone https://github.com/dexidp/dex.git`
39-
* `cd dex` and then build the dex binary `make build`
40-
* The binary will be created in `bin/dex`
38+
* First, build dex: `make dex`, the binary will be created in `hack/tools/dex`.
4139
* Adjust the config file(`examples/config-dev.yaml`) for dex by specifying the server callback method:
4240
```yaml
4341
staticClients:
@@ -47,9 +45,9 @@ We use dex to manage OIDC, following the steps below you can run a local OIDC is
4745
name: 'Kube Bind'
4846
secret: ZXhhbXBsZS1hcHAtc2VjcmV0
4947
```
50-
* Run dex: `./bin/dex serve examples/config-dev.yaml`
48+
* Run dex: `./hack/tools/dex serve examples/config-dev.yaml`
5149

52-
Next you should be able to run the backend. For it you need a kubernetes cluster (e.g. kind)
50+
Next you should be able to run the backend. For it you need a Kubernetes cluster (e.g. kind)
5351
accessible.
5452

5553
***Note: make sure before running the backend that you have the dex server up and running as mentioned above

0 commit comments

Comments
 (0)