Merge pull request #216 from 1Password/vzt/speedup-local-builds

Speedup local builds
This commit is contained in:
Volodymyr Zotov
2025-07-15 17:12:40 -05:00
committed by GitHub
3 changed files with 18 additions and 4 deletions

View File

@@ -19,7 +19,11 @@ Thank you for your interest in contributing to the 1Password Kubernetes Operator
# Remove the operator from K8s
make undeploy
```
- After making changes to the code:
1. Rebuild the Docker image by running `make docker-build`
2. Restart deployment `make restart`
- For testing the changes made to the `OnePasswordItem` Custom Resource Definition (CRD), you need to re-generate the object:
```sh
make manifests

View File

@@ -23,11 +23,13 @@ COPY version/ version/
# was called. For example, if we call make docker-build in a local env which has the Apple Silicon M1 SO
# the docker BUILDPLATFORM arg will be linux/arm64 when for Apple x86 it will be linux/amd64. Therefore,
# by leaving it empty we can ensure that the container and binary shipped on it will have the same platform.
RUN CGO_ENABLED=0 \
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
CGO_ENABLED=0 \
GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} \
go build \
-ldflags "-X \"github.com/1Password/onepassword-operator/version.Version=$operator_version\"" \
-a -o manager cmd/main.go
-o manager cmd/main.go
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details

View File

@@ -7,6 +7,10 @@ export MAIN_BRANCH ?= main
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
VERSION ?= 1.9.1
# DEPLOYMENT_NAME defines Kubernetes deployment name for the operator.
# It should be the same as in 'config/manager/manager.yaml'
DEPLOYMENT_NAME ?= onepassword-connect-operator
# CHANNELS define the bundle channels used in the bundle.
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")
# To re-generate a bundle for other specific channels without changing the standard setup, you can:
@@ -171,7 +175,7 @@ run: manifests generate fmt vet ## Run a controller from your host.
# More info: https://docs.docker.com/develop/develop-images/build_enhancements/
.PHONY: docker-build
docker-build: ## Build docker image with the manager.
$(CONTAINER_TOOL) build -t ${IMG} .
DOCKER_BUILDKIT=1 $(CONTAINER_TOOL) build -t ${IMG} .
.PHONY: docker-push
docker-push: ## Push docker image with the manager.
@@ -227,6 +231,10 @@ deploy: manifests kustomize set-namespace ## Deploy controller to the K8s cluste
undeploy: kustomize ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
$(KUSTOMIZE) build config/default | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f -
.PHONY: restart
restart: ## Restarts deployment so that the operator picks up changes in the deployment configuration.
$(KUBECTL) rollout restart deployment $(DEPLOYMENT_NAME)
##@ Dependencies
## Location to install dependencies to