Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into nicer-error-message
Browse files Browse the repository at this point in the history
  • Loading branch information
Gerrit91 committed Jul 24, 2023
2 parents c68781d + ec2b40c commit d11eee2
Show file tree
Hide file tree
Showing 165 changed files with 7,687 additions and 5,011 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Docker Build Action
on:
pull_request:
branches:
- master
release:
types:
- published
push:
branches:
- master

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build:
name: Docker Build
runs-on: ubuntu-latest

steps:
- name: Log in to the container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}

- name: Checkout
uses: actions/checkout@v3

- name: Make tag
run: |
[ "${GITHUB_EVENT_NAME}" == 'pull_request' ] && echo "tag=${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV || true
[ "${GITHUB_EVENT_NAME}" == 'release' ] && echo "tag=${GITHUB_REF##*/}" >> $GITHUB_ENV || true
[ "${GITHUB_EVENT_NAME}" == 'push' ] && echo "tag=latest" >> $GITHUB_ENV || true
- name: Build and push image
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.tag }}
38 changes: 0 additions & 38 deletions .github/workflows/latest.yaml

This file was deleted.

41 changes: 0 additions & 41 deletions .github/workflows/pull_request.yaml

This file was deleted.

15 changes: 15 additions & 0 deletions .github/workflows/release-drafter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Release Drafter Action

on:
push:
branches:
- master

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35 changes: 0 additions & 35 deletions .github/workflows/release.yaml

This file was deleted.

30 changes: 30 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Test Action
on:
pull_request:
branches:
- master
release:
types:
- published
push:
branches:
- master

jobs:
build:
name: Test Build
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up Go 1.19
uses: actions/setup-go@v4
with:
go-version: '1.19.x'

- name: Check (lint) and Test
run: |
make test-in-docker
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
vendor
tools/vendor
VERSION
bin
helm
.vscode
hack/tools/bin/*
gardener-extension-provider-metal
!gardener-extension-provider-metal/
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
FROM golang:1.16 AS builder
FROM golang:1.19 AS builder

WORKDIR /go/src/github.com/metal-stack/gardener-extension-provider-metal
COPY . .
RUN make install

FROM alpine:3.13
FROM alpine:3.18
WORKDIR /
COPY charts /charts
COPY --from=builder /go/bin/gardener-extension-metal-hyper /gardener-extension-metal-hyper
Expand Down
34 changes: 18 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ LEADER_ELECTION := false
IGNORE_OPERATION_ANNOTATION := false
WEBHOOK_CONFIG_URL := localhost

GOLANGCI_LINT_VERSION := v1.48.0

ifeq ($(CI),true)
DOCKER_TTY_ARG=""
else
Expand All @@ -18,6 +20,9 @@ endif

export GO111MODULE := on

TOOLS_DIR := hack/tools
-include vendor/github.com/gardener/gardener/hack/tools.mk

#########################################
# Rules for local development scenarios #
#########################################
Expand Down Expand Up @@ -50,8 +55,12 @@ start-admission-metal:
# Rules related to binary build, Docker image build and release #
#################################################################

.PHONY: build
build:
go build -ldflags $(LD_FLAGS) -tags netgo ./cmd/gardener-extension-provider-metal

.PHONY: install
install: revendor
install: revendor $(HELM)
@LD_FLAGS="-w -X github.com/gardener/$(EXTENSION_PREFIX)-$(NAME)/pkg/version.Version=$(VERSION)" \
$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/install.sh ./...

Expand All @@ -70,13 +79,6 @@ docker-push:
# Rules for verification, formatting, linting, testing and cleaning #
#####################################################################

.PHONY: install-requirements
install-requirements:
@go install -mod=vendor $(REPO_ROOT)/vendor/github.com/ahmetb/gen-crd-api-reference-docs
@go install -mod=vendor $(REPO_ROOT)/vendor/github.com/golang/mock/mockgen
@go install -mod=vendor $(REPO_ROOT)/vendor/github.com/onsi/ginkgo/ginkgo
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/install-requirements.sh

.PHONY: revendor
revendor:
@GO111MODULE=on go mod vendor
Expand All @@ -95,24 +97,24 @@ check-generate:
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/check-generate.sh $(REPO_ROOT)

.PHONY: check
check:
check: $(GOIMPORTS) $(GOLANGCI_LINT) $(HELM)
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/check.sh --golangci-lint-config=./.golangci.yaml ./cmd/... ./pkg/...
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/check-charts.sh ./charts

.PHONY: generate
generate:
generate: $(HELM)
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/generate.sh ./charts/... ./cmd/... ./pkg/...

.PHONY: generate-in-docker
generate-in-docker: revendor
generate-in-docker: revendor $(HELM)
echo $(shell git describe --abbrev=0 --tags) > VERSION
docker run --rm -i$(DOCKER_TTY_ARG) -v $(PWD):/go/src/github.com/metal-stack/gardener-extension-provider-metal golang:1.16 \
docker run --rm -i$(DOCKER_TTY_ARG) -v $(PWD):/go/src/github.com/metal-stack/gardener-extension-provider-metal golang:1.19.4 \
sh -c "cd /go/src/github.com/metal-stack/gardener-extension-provider-metal \
&& make install-requirements generate \
&& make generate \
&& chown -R $(shell id -u):$(shell id -g) ."

.PHONY: format
format:
format: $(GOIMPORTS)
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/format.sh ./cmd ./pkg

.PHONY: test
Expand All @@ -121,9 +123,9 @@ test:

.PHONY: test-in-docker
test-in-docker: revendor
docker run --rm -i$(DOCKER_TTY_ARG) -v $(PWD):/go/src/github.com/metal-stack/gardener-extension-provider-metal golang:1.16 \
docker run --rm -i$(DOCKER_TTY_ARG) -v $(PWD):/go/src/github.com/metal-stack/gardener-extension-provider-metal golang:1.19.4 \
sh -c "cd /go/src/github.com/metal-stack/gardener-extension-provider-metal \
&& make install-requirements check test"
&& make install check test"

.PHONY: test-cov
test-cov:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

[![Go Report Card](https://goreportcard.com/badge/github.com/metal-stack/gardener-extension-provider-metal)](https://goreportcard.com/report/github.com/metal-stack/gardener-extension-provider-metal)

This is the implementation of the Gardener extension provider of metal-stack. It reconciles infrastructure, control plane and worker resources of `type: Metal`.
This is the implementation of the Gardener extension provider of metal-stack. It reconciles infrastructure, control plane, and worker resources of `type: Metal`.

Additionally, the project contains a validator for all metal-specific provider configs and mutating webhooks.

For more detailed documentation, please refer to the [Gardener docs](https://github.com/gardener/gardener/blob/v1.0.0/docs/extensions/extension.md).
For more detailed documentation, please refer to the [Gardener docs](https://github.com/gardener/gardener/blob/v1.0.0/docs/extensions/extension.md).
10 changes: 10 additions & 0 deletions charts/charts.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package charts

import (
"embed"
)

// InternalChart embeds the internal charts in embed.FS
//
//go:embed internal
var InternalChart embed.FS
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: {{ include "name" . }}
webhooks:
- name: mutation.metal.provider.extensions.gardener.cloud
rules:
- apiGroups:
- "core.gardener.cloud"
apiVersions:
- v1alpha1
- v1beta1
operations:
- CREATE
resources:
- shoots
failurePolicy: Fail
objectSelector:
{{- if .Values.global.webhookConfig.useObjectSelector }}
matchLabels:
provider.extensions.gardener.cloud/metal: "true"
{{- end }}
namespaceSelector: {}
sideEffects: None
admissionReviewVersions:
- v1
- v1beta1
clientConfig:
{{- if .Values.global.virtualGarden.enabled }}
url: {{ printf "https://%s.%s/webhooks/mutate" (include "name" .) (.Release.Namespace) }}
{{- else }}
service:
namespace: {{ .Release.Namespace }}
name: {{ include "name" . }}
path: /webhooks/mutate
{{- end }}
caBundle: {{ required ".Values.global.webhookConfig.caBundle is required" .Values.global.webhookConfig.caBundle | b64enc }}
Loading

0 comments on commit d11eee2

Please sign in to comment.