Skip to content

Commit

Permalink
Introduce Gardenlet
Browse files Browse the repository at this point in the history
  • Loading branch information
rfranzke committed Dec 10, 2019
1 parent 0ebc6f8 commit d10dd53
Show file tree
Hide file tree
Showing 303 changed files with 10,134 additions and 3,260 deletions.
2 changes: 1 addition & 1 deletion .ci/check
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ fi

###############################################################################

PACKAGES="$(go list -mod=vendor -e ./... | grep -vE '/pkg/apis|/pkg/controllermanager/apis|/pkg/scheduler/apis|/pkg/client/garden|/pkg/openapi')"
PACKAGES="$(go list -mod=vendor -e ./... | grep -vE '/pkg/apis|/pkg/controllermanager/apis|/pkg/scheduler/apis|/pkg/gardenlet/apis|/pkg/client/garden|/pkg/openapi')"
PACKAGES_DIRS="$(echo ${PACKAGES} | sed "s|github.com/gardener/gardener|.|g")"

# Execute static code checks.
Expand Down
14 changes: 8 additions & 6 deletions .ci/component_descriptor
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ images="$(yaml2json < $images_file)"
echo "enriching creating component descriptor from ${BASE_DEFINITION_PATH}"

eval "$(jq -r ".images |
map(if (.name == \"hyperkube\") then
\"--generic-dependencies '{\\\"name\\\": \\\"\" + .name + \"\\\", \\\"version\\\": \\\"\" + .tag + \"\\\"}'\"
elif (.repository | startswith(\"eu.gcr.io/gardener-project/gardener\")) then
\"--component-dependencies '{\\\"name\\\": \\\"\" + .sourceRepository + \"\\\", \\\"version\\\": \\\"\" + .tag + \"\\\"}'\"
else
\"--container-image-dependencies '{\\\"name\\\": \\\"\" + .name + \"\\\", \\\"image_reference\\\": \\\"\" + .repository + \":\" + .tag + \"\\\", \\\"version\\\": \\\"\" + .tag + \"\\\"}'\"
map(if (.name != \"gardenlet\") then
(if (.name == \"hyperkube\") then
\"--generic-dependencies '{\\\"name\\\": \\\"\" + .name + \"\\\", \\\"version\\\": \\\"\" + .tag + \"\\\"}'\"
elif (.repository | startswith(\"eu.gcr.io/gardener-project/gardener\")) then
\"--component-dependencies '{\\\"name\\\": \\\"\" + .sourceRepository + \"\\\", \\\"version\\\": \\\"\" + .tag + \"\\\"}'\"
else
\"--container-image-dependencies '{\\\"name\\\": \\\"\" + .name + \"\\\", \\\"image_reference\\\": \\\"\" + .repository + \":\" + .tag + \"\\\", \\\"version\\\": \\\"\" + .tag + \"\\\"}'\"
end)
end) |
\"${ADD_DEPENDENCIES_CMD} \\\\\n\" +
join(\" \\\\\n\")" <<< "$images")"
Expand Down
14 changes: 13 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ENTRYPOINT ["/gardener-apiserver"]
############# controller-manager #############
FROM alpine:3.10.3 AS controller-manager

RUN apk add --update bash curl openvpn tzdata
RUN apk add --update bash curl tzdata

COPY --from=builder /go/bin/gardener-controller-manager /gardener-controller-manager
COPY charts /charts
Expand All @@ -45,3 +45,15 @@ COPY --from=builder /go/bin/gardener-scheduler /gardener-scheduler
WORKDIR /

ENTRYPOINT ["/gardener-scheduler"]

############# gardenlet #############
FROM alpine:3.10.3 AS gardenlet

RUN apk add --update bash curl openvpn tzdata

COPY --from=builder /go/bin/gardenlet /gardenlet
COPY charts /charts

WORKDIR /

ENTRYPOINT ["/gardenlet"]
16 changes: 16 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ REGISTRY := eu.gcr.io/gardener-project/gardener
APISERVER_IMAGE_REPOSITORY := $(REGISTRY)/apiserver
CONROLLER_MANAGER_IMAGE_REPOSITORY := $(REGISTRY)/controller-manager
SCHEDULER_IMAGE_REPOSITORY := $(REGISTRY)/scheduler
GARDENLET_IMAGE_REPOSITORY := $(REGISTRY)/gardenlet
IMAGE_TAG := $(shell cat VERSION)
WORKDIR := $(shell pwd)
PUSH_LATEST := true
Expand Down Expand Up @@ -45,6 +46,10 @@ start-controller-manager:
start-scheduler:
@./hack/start-scheduler

.PHONY: start-gardenlet
start-gardenlet:
@./hack/start-gardenlet

#################################################################
# Rules related to binary build, Docker image build and release #
#################################################################
Expand Down Expand Up @@ -75,6 +80,11 @@ build:
-ldflags "$(LD_FLAGS)" \
-o bin/gardener-scheduler \
cmd/gardener-scheduler/*.go
@CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build \
-mod=vendor \
-ldflags "$(LD_FLAGS)" \
-o bin/gardenlet \
cmd/gardenlet/*.go

.PHONY: build-local
build-local:
Expand All @@ -90,6 +100,7 @@ docker-images:
@docker build -t $(APISERVER_IMAGE_REPOSITORY):$(IMAGE_TAG) -t $(APISERVER_IMAGE_REPOSITORY):latest -f Dockerfile --target apiserver .
@docker build -t $(CONROLLER_MANAGER_IMAGE_REPOSITORY):$(IMAGE_TAG) -t $(CONROLLER_MANAGER_IMAGE_REPOSITORY):latest -f Dockerfile --target controller-manager .
@docker build -t $(SCHEDULER_IMAGE_REPOSITORY):$(IMAGE_TAG) -t $(SCHEDULER_IMAGE_REPOSITORY):latest -f Dockerfile --target scheduler .
@docker build -t $(GARDENLET_IMAGE_REPOSITORY):$(IMAGE_TAG) -t $(GARDENLET_IMAGE_REPOSITORY):latest -f Dockerfile --target gardenlet .

.PHONY: docker-login
docker-login:
Expand All @@ -100,21 +111,26 @@ docker-push:
@if ! docker images $(APISERVER_IMAGE_REPOSITORY) | awk '{ print $$2 }' | grep -q -F $(IMAGE_TAG); then echo "$(APISERVER_IMAGE_REPOSITORY) version $(IMAGE_TAG) is not yet built. Please run 'make docker-images'"; false; fi
@if ! docker images $(CONROLLER_MANAGER_IMAGE_REPOSITORY) | awk '{ print $$2 }' | grep -q -F $(IMAGE_TAG); then echo "$(CONROLLER_MANAGER_IMAGE_REPOSITORY) version $(IMAGE_TAG) is not yet built. Please run 'make docker-images'"; false; fi
@if ! docker images $(SCHEDULER_IMAGE_REPOSITORY) | awk '{ print $$2 }' | grep -q -F $(IMAGE_TAG); then echo "$(SCHEDULER_IMAGE_REPOSITORY) version $(IMAGE_TAG) is not yet built. Please run 'make docker-images'"; false; fi
@if ! docker images $(GARDENLET_IMAGE_REPOSITORY) | awk '{ print $$2 }' | grep -q -F $(IMAGE_TAG); then echo "$(GARDENLET_IMAGE_REPOSITORY) version $(IMAGE_TAG) is not yet built. Please run 'make docker-images'"; false; fi
@gcloud docker -- push $(APISERVER_IMAGE_REPOSITORY):$(IMAGE_TAG)
@if [[ "$(PUSH_LATEST)" == "true" ]]; then gcloud docker -- push $(APISERVER_IMAGE_REPOSITORY):latest; fi
@gcloud docker -- push $(CONROLLER_MANAGER_IMAGE_REPOSITORY):$(IMAGE_TAG)
@if [[ "$(PUSH_LATEST)" == "true" ]]; then gcloud docker -- push $(CONROLLER_MANAGER_IMAGE_REPOSITORY):latest; fi
@gcloud docker -- push $(SCHEDULER_IMAGE_REPOSITORY):$(IMAGE_TAG)
@if [[ "$(PUSH_LATEST)" == "true" ]]; then gcloud docker -- push $(SCHEDULER_IMAGE_REPOSITORY):latest; fi
@gcloud docker -- push $(GARDENLET_IMAGE_REPOSITORY):$(IMAGE_TAG)
@if [[ "$(PUSH_LATEST)" == "true" ]]; then gcloud docker -- push $(GARDENLET_IMAGE_REPOSITORY):latest; fi

.PHONY: rename-binaries
rename-binaries:
@if [[ -f bin/gardener-apiserver ]]; then cp bin/gardener-apiserver gardener-apiserver-darwin-amd64; fi
@if [[ -f bin/gardener-controller-manager ]]; then cp bin/gardener-controller-manager gardener-controller-manager-darwin-amd64; fi
@if [[ -f bin/gardener-scheduler ]]; then cp bin/gardener-scheduler gardener-scheduler-darwin-amd64; fi
@if [[ -f bin/gardenlet ]]; then cp bin/gardenlet gardenlet-darwin-amd64; fi
@if [[ -f bin/rel/gardener-apiserver ]]; then cp bin/rel/gardener-apiserver gardener-apiserver-linux-amd64; fi
@if [[ -f bin/rel/gardener-controller-manager ]]; then cp bin/rel/gardener-controller-manager gardener-controller-manager-linux-amd64; fi
@if [[ -f bin/rel/gardener-scheduler ]]; then cp bin/rel/gardener-scheduler gardener-scheduler-linux-amd64; fi
@if [[ -f bin/rel/gardenlet ]]; then cp bin/rel/gardenlet gardenlet-linux-amd64; fi

.PHONY: clean
clean:
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ To accomplish these tasks reliably and to offer a certain quality of service, Ga
Please find more information regarding the concepts and a detailed description of the architecture in our [Gardener Wiki](https://github.com/gardener/documentation/wiki/Architecture) and our [blog post on kubernetes.io](https://kubernetes.io/blog/2018/05/17/gardener/).

----

## K8s Conformance Test Coverage

Conformance test results of latest stable Gardener release, transparently visible at the CNCF test grid:
Expand All @@ -34,11 +35,11 @@ Conformance test results of latest stable Gardener release, transparently visibl

Besides the conformance tests, over 400 additional e2e tests are executed on a daily basis. Get an overview of the test results at [testgrid](https://testgrid.k8s.io/gardener-all).

## To start using or developing the Gardener locally
## Start using or developing the Gardener locally

See our documentation in the `/docs` repository, please [find the index here](docs/README.md).

## Setting up your own Gardener landscape in the cloud
## Setting up your own Gardener landscape in the Cloud

The quickest way to test drive Gardener is to install it virtually onto an existing Kubernetes cluster, just like you would install any other Kubernetes-ready application. Launch your automatic installer [here](https://gardener.cloud/installer/)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
apiVersion: {{ include "rbacversion" . }}
kind: ClusterRole
metadata:
name: garden.sapcloud.io:system:project:{{ .Values.project.name }}
name: gardener.cloud:system:project:{{ .Values.project.name }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
apiVersion: {{ include "rbacversion" . }}
kind: ClusterRole
metadata:
name: garden.sapcloud.io:system:project-member:{{ .Values.project.name }}
name: gardener.cloud:system:project-member:{{ .Values.project.name }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
apiVersion: {{ include "rbacversion" . }}
kind: ClusterRole
metadata:
name: garden.sapcloud.io:system:project-viewer:{{ .Values.project.name }}
name: gardener.cloud:system:project-viewer:{{ .Values.project.name }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
apiVersion: {{ include "rbacversion" . }}
kind: ClusterRoleBinding
metadata:
name: garden.sapcloud.io:system:project:{{ .Values.project.name }}
name: gardener.cloud:system:project:{{ .Values.project.name }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand All @@ -13,6 +13,6 @@ metadata:
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: garden.sapcloud.io:system:project:{{ .Values.project.name }}
name: gardener.cloud:system:project:{{ .Values.project.name }}
subjects:
{{ .Values.project.owner | list | toYaml }}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
apiVersion: {{ include "rbacversion" . }}
kind: ClusterRoleBinding
metadata:
name: garden.sapcloud.io:system:project-member:{{ .Values.project.name }}
name: gardener.cloud:system:project-member:{{ .Values.project.name }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand All @@ -13,7 +13,7 @@ metadata:
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: garden.sapcloud.io:system:project-member:{{ .Values.project.name }}
name: gardener.cloud:system:project-member:{{ .Values.project.name }}
{{- if .Values.project.members }}
subjects:
{{ toYaml .Values.project.members }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
apiVersion: {{ include "rbacversion" . }}
kind: ClusterRoleBinding
metadata:
name: garden.sapcloud.io:system:project-viewer:{{ .Values.project.name }}
name: gardener.cloud:system:project-viewer:{{ .Values.project.name }}
ownerReferences:
- apiVersion: /v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand All @@ -13,7 +13,7 @@ metadata:
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: garden.sapcloud.io:system:project-viewer:{{ .Values.project.name }}
name: gardener.cloud:system:project-viewer:{{ .Values.project.name }}
{{- if .Values.project.viewers }}
subjects:
{{ toYaml .Values.project.viewers }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
apiVersion: {{ include "rbacversion" . }}
kind: RoleBinding
metadata:
name: garden.sapcloud.io:system:project-member
name: gardener.cloud:system:project-member
namespace: {{ .Release.Namespace }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand All @@ -14,7 +14,7 @@ metadata:
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: garden.sapcloud.io:system:project-member
name: gardener.cloud:system:project-member
{{- if .Values.project.members }}
subjects:
{{ toYaml .Values.project.members }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
apiVersion: {{ include "rbacversion" . }}
kind: RoleBinding
metadata:
name: garden.sapcloud.io:system:project-viewer
name: gardener.cloud:system:project-viewer
namespace: {{ .Release.Namespace }}
ownerReferences:
- apiVersion: garden.sapcloud.io/v1beta1
- apiVersion: core.gardener.cloud/v1alpha1
kind: Project
blockOwnerDeletion: false
controller: true
Expand All @@ -14,7 +14,7 @@ metadata:
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: garden.sapcloud.io:system:project-viewer
name: gardener.cloud:system:project-viewer
{{- if .Values.project.viewers }}
subjects:
{{ toYaml .Values.project.viewers }}
Expand Down
4 changes: 0 additions & 4 deletions charts/gardener/Chart.yaml

This file was deleted.

1 change: 0 additions & 1 deletion charts/gardener/charts/application/charts/utils-templates

This file was deleted.

1 change: 0 additions & 1 deletion charts/gardener/charts/runtime/charts/utils-templates

This file was deleted.

Loading

0 comments on commit d10dd53

Please sign in to comment.