This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow-on-k8s-operator.git
The following commit(s) were added to refs/heads/master by this push:
new cff68ae Add test and docker build step to ci (#24)
cff68ae is described below
commit cff68ae0a488f84dae5b86aa82e25cb1de1b63a5
Author: Tomek Urbaszek <[email protected]>
AuthorDate: Sun Mar 22 19:48:31 2020 +0100
Add test and docker build step to ci (#24)
closes #21
closes #22
---
.github/workflows/ci.yml | 26 +-
.pre-commit-config.yaml | 4 +-
Dockerfile | 1 +
Makefile | 6 +-
api/v1alpha1/zz_generated.deepcopy.go | 15 --
.../crd/bases/airflow.apache.org_airflowbases.yaml | 154 +++++------
.../bases/airflow.apache.org_airflowclusters.yaml | 144 +++++-----
config/rbac/role.yaml | 294 ++++++++++-----------
config/webhook/manifests.yaml | 14 -
docs/development.md | 20 +-
yamllint-config.yaml | 5 +
11 files changed, 326 insertions(+), 357 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ec277a9..1aaa224 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -38,7 +38,16 @@ jobs:
- uses: pre-commit/[email protected]
build:
- name: Build
+ name: Build docker
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+ - name: Build
+ run: docker build . -t "ci"
+
+ tests:
+ name: Tests
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.13
@@ -46,9 +55,14 @@ jobs:
with:
go-version: 1.13
id: go
- - name: Check out code into the Go module directory
+ - name: Check out code
uses: actions/checkout@v2
- - name: Get dependencies
- run: go mod download
- - name: Build
- run: go build -v .
+ - name: Install kubebuilder
+ run: |
+ os=$(go env GOOS) && \
+ arch=$(go env GOARCH) && \
+ curl -L https://go.kubebuilder.io/dl/2.3.0/$os/$arch | tar -xz -C
/tmp/ && \
+ sudo mv /tmp/kubebuilder_2.3.0_${os}_${arch} /usr/local/kubebuilder
&& \
+ export PATH=$PATH:/usr/local/kubebuilder/bin
+ - name: Run test
+ run: make test
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 40d062a..859bee5 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -46,7 +46,7 @@ repos:
hooks:
- id: insert-license
name: Add license for all yaml files
- exclude: ^vendor/.*$
+ exclude:
^vendor/.*$|^config/crd/bases/.*$|^config/rbac/role.yaml$|^config/webhook/manifests.yaml$
types: [yaml]
args:
- --comment-style
@@ -67,7 +67,7 @@ repos:
- id: insert-license
name: Add license for all go files
files: \.go$
- exclude: ^vendor/.*$|^zz_generated.*$
+ exclude: ^vendor/.*$|api/v1alpha1/zz_generated.deepcopy.go
args:
- --comment-style
- "//"
diff --git a/Dockerfile b/Dockerfile
index 240f095..9bfc700 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -17,6 +17,7 @@
FROM golang:1.13 as builder
WORKDIR /workspace
+COPY vendor/ vendor/
# Copy the Go Modules manifests
COPY go.mod go.mod
COPY go.sum go.sum
diff --git a/Makefile b/Makefile
index 90fbeed..79bc972 100644
--- a/Makefile
+++ b/Makefile
@@ -33,14 +33,14 @@ IMG ?= controller:latest
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
CRD_OPTIONS ?= "crd:trivialVersions=true"
-all: test manager
+all: test build
# Run tests
-test: generate fmt vet manifests
+test: generate manifests
go test ./controllers/... -coverprofile cover.out
# Build manager binary
-manager: generate fmt vet
+build: generate fmt vet
go build -o bin/manager main.go
# Run against the configured Kubernetes cluster in ~/.kube/config
diff --git a/api/v1alpha1/zz_generated.deepcopy.go
b/api/v1alpha1/zz_generated.deepcopy.go
index 03c7bc3..75cff99 100644
--- a/api/v1alpha1/zz_generated.deepcopy.go
+++ b/api/v1alpha1/zz_generated.deepcopy.go
@@ -1,20 +1,5 @@
// +build !ignore_autogenerated
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
// Code generated by controller-gen. DO NOT EDIT.
package v1alpha1
diff --git a/config/crd/bases/airflow.apache.org_airflowbases.yaml
b/config/crd/bases/airflow.apache.org_airflowbases.yaml
index ad21748..488ac23 100644
--- a/config/crd/bases/airflow.apache.org_airflowbases.yaml
+++ b/config/crd/bases/airflow.apache.org_airflowbases.yaml
@@ -1,17 +1,3 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
---
apiVersion: apiextensions.k8s.io/v1beta1
@@ -108,8 +94,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchFields:
@@ -142,8 +128,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
type: object
@@ -153,8 +139,8 @@ spec:
format: int32
type: integer
required:
- - preference
- - weight
+ - preference
+ - weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
@@ -204,8 +190,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchFields:
@@ -238,14 +224,14 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
type: object
type: array
required:
- - nodeSelectorTerms
+ - nodeSelectorTerms
type: object
type: object
podAffinity:
@@ -304,8 +290,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -336,7 +322,7 @@ spec:
is running. Empty topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
weight:
description: weight associated with matching the
corresponding
@@ -344,8 +330,8 @@ spec:
format: int32
type: integer
required:
- - podAffinityTerm
- - weight
+ - podAffinityTerm
+ - weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
@@ -399,8 +385,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -430,7 +416,7 @@ spec:
topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
type: array
type: object
@@ -492,8 +478,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -524,7 +510,7 @@ spec:
is running. Empty topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
weight:
description: weight associated with matching the
corresponding
@@ -532,8 +518,8 @@ spec:
format: int32
type: integer
required:
- - podAffinityTerm
- - weight
+ - podAffinityTerm
+ - weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
@@ -587,8 +573,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -618,7 +604,7 @@ spec:
topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
type: array
type: object
@@ -668,11 +654,11 @@ spec:
and restore e.g. s3, oci-s3-compat, aws-s3,
gce-s3, etc.
type: string
required:
- - storageprovider
+ - storageprovider
type: object
required:
- - schedule
- - storage
+ - schedule
+ - storage
type: object
backupVolumeClaimTemplate:
description: BackupVolumeClaimTemplate allows a user to
specify
@@ -729,8 +715,8 @@ spec:
description: Name is the name of resource being
referenced
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
description: 'Resources represents the minimum
resources
@@ -784,8 +770,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -863,8 +849,8 @@ spec:
a valid value of
PersistentVolumeClaimCondition.Type
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
phase:
@@ -966,8 +952,8 @@ spec:
description: Name is the name of resource being
referenced
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
description: 'Resources represents the minimum
resources
@@ -1021,8 +1007,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -1100,8 +1086,8 @@ spec:
a valid value of
PersistentVolumeClaimCondition.Type
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
phase:
@@ -1118,7 +1104,7 @@ spec:
type: object
postgres:
description: 'PostgresSpec defines the attributes and desired
state
- of Postgres Component TODO - minimum spec needed .. for now
it is
+ of Postgres Component TODO - minimum spec needed .. for now it
is
version: "" need to consider empty mysql'
properties:
image:
@@ -1215,8 +1201,8 @@ spec:
description: Name is the name of resource being
referenced
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
description: 'Resources represents the minimum
resources
@@ -1270,8 +1256,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -1349,8 +1335,8 @@ spec:
a valid value of
PersistentVolumeClaimCondition.Type
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
phase:
@@ -1402,10 +1388,10 @@ spec:
description: Version defines the SQL Proxy docker image
version.
type: string
required:
- - instance
- - project
- - region
- - type
+ - instance
+ - project
+ - region
+ - type
type: object
storage:
description: Spec for NFS component.
@@ -1489,8 +1475,8 @@ spec:
description: Name is the name of resource being
referenced
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
description: 'Resources represents the minimum
resources
@@ -1544,8 +1530,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -1623,8 +1609,8 @@ spec:
a valid value of
PersistentVolumeClaimCondition.Type
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
phase:
@@ -1666,8 +1652,8 @@ spec:
format: int32
type: integer
required:
- - currenthealthy
- - desiredhealthy
+ - currenthealthy
+ - desiredhealthy
type: object
status:
description: 'Status. Values: InProgress, Ready, Unknown'
@@ -1695,10 +1681,10 @@ spec:
format: int32
type: integer
required:
- - currentcount
- - progress
- - readycount
- - replicas
+ - currentcount
+ - progress
+ - readycount
+ - replicas
type: object
type: object
type: array
@@ -1731,8 +1717,8 @@ spec:
description: Type of condition.
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
observedGeneration:
@@ -1745,9 +1731,9 @@ spec:
type: object
version: v1alpha1
versions:
- - name: v1alpha1
- served: true
- storage: true
+ - name: v1alpha1
+ served: true
+ storage: true
status:
acceptedNames:
kind: ""
diff --git a/config/crd/bases/airflow.apache.org_airflowclusters.yaml
b/config/crd/bases/airflow.apache.org_airflowclusters.yaml
index 1fc064e..71cc63b 100644
--- a/config/crd/bases/airflow.apache.org_airflowclusters.yaml
+++ b/config/crd/bases/airflow.apache.org_airflowclusters.yaml
@@ -1,17 +1,3 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
---
apiVersion: apiextensions.k8s.io/v1beta1
@@ -108,8 +94,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchFields:
@@ -142,8 +128,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
type: object
@@ -153,8 +139,8 @@ spec:
format: int32
type: integer
required:
- - preference
- - weight
+ - preference
+ - weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
@@ -204,8 +190,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchFields:
@@ -238,14 +224,14 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
type: object
type: array
required:
- - nodeSelectorTerms
+ - nodeSelectorTerms
type: object
type: object
podAffinity:
@@ -304,8 +290,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -336,7 +322,7 @@ spec:
is running. Empty topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
weight:
description: weight associated with matching the
corresponding
@@ -344,8 +330,8 @@ spec:
format: int32
type: integer
required:
- - podAffinityTerm
- - weight
+ - podAffinityTerm
+ - weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
@@ -399,8 +385,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -430,7 +416,7 @@ spec:
topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
type: array
type: object
@@ -492,8 +478,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -524,7 +510,7 @@ spec:
is running. Empty topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
weight:
description: weight associated with matching the
corresponding
@@ -532,8 +518,8 @@ spec:
format: int32
type: integer
required:
- - podAffinityTerm
- - weight
+ - podAffinityTerm
+ - weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
@@ -587,8 +573,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -618,7 +604,7 @@ spec:
topologyKey is not allowed.
type: string
required:
- - topologyKey
+ - topologyKey
type: object
type: array
type: object
@@ -672,7 +658,8 @@ spec:
description: Bucket describes the GCS bucket
type: string
once:
- description: Once syncs initially and quits (use init
container instead of sidecar)
+ description: Once syncs initially and quits (use init
container
+ instead of sidecar)
type: boolean
type: object
git:
@@ -683,7 +670,8 @@ spec:
description: Branch describes the branch name to be
synced
type: string
cred:
- description: Reference to git credentials (user,
password, ssh etc)
+ description: Reference to git credentials (user,
password, ssh
+ etc)
properties:
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
@@ -704,7 +692,7 @@ spec:
description: User for git access
type: string
required:
- - repo
+ - repo
type: object
nfspv:
description: NfsPVSpec
@@ -759,8 +747,8 @@ spec:
description: Name is the name of resource being
referenced
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
description: 'Resources represents the minimum
resources
@@ -814,8 +802,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -893,8 +881,8 @@ spec:
a valid value of
PersistentVolumeClaimCondition.Type
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
phase:
@@ -928,7 +916,7 @@ spec:
restore e.g. s3, oci-s3-compat, aws-s3, gce-s3, etc.
type: string
required:
- - storageprovider
+ - storageprovider
type: object
subdir:
description: DagSubdir is the directory under source where
the dags
@@ -1047,8 +1035,8 @@ spec:
format: int32
type: integer
required:
- - currenthealthy
- - desiredhealthy
+ - currenthealthy
+ - desiredhealthy
type: object
status:
description: 'Status. Values: InProgress, Ready,
Unknown'
@@ -1078,10 +1066,10 @@ spec:
format: int32
type: integer
required:
- - currentcount
- - progress
- - readycount
- - replicas
+ - currentcount
+ - progress
+ - readycount
+ - replicas
type: object
type: object
type: array
@@ -1115,8 +1103,8 @@ spec:
description: Type of condition.
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
createTime:
@@ -1155,8 +1143,8 @@ spec:
description: 'Tier: Required. The service tier of the
instance.'
type: string
required:
- - project
- - region
+ - project
+ - region
type: object
nodeSelector:
additionalProperties:
@@ -1264,8 +1252,8 @@ spec:
description: Name is the name of resource being
referenced
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
description: 'Resources represents the minimum
resources
@@ -1319,8 +1307,8 @@ spec:
type: string
type: array
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
matchLabels:
@@ -1398,8 +1386,8 @@ spec:
a valid value of
PersistentVolumeClaimCondition.Type
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
phase:
@@ -1543,8 +1531,8 @@ spec:
format: int32
type: integer
required:
- - currenthealthy
- - desiredhealthy
+ - currenthealthy
+ - desiredhealthy
type: object
status:
description: 'Status. Values: InProgress, Ready, Unknown'
@@ -1572,10 +1560,10 @@ spec:
format: int32
type: integer
required:
- - currentcount
- - progress
- - readycount
- - replicas
+ - currentcount
+ - progress
+ - readycount
+ - replicas
type: object
type: object
type: array
@@ -1608,8 +1596,8 @@ spec:
description: Type of condition.
type: string
required:
- - status
- - type
+ - status
+ - type
type: object
type: array
observedGeneration:
@@ -1622,9 +1610,9 @@ spec:
type: object
version: v1alpha1
versions:
- - name: v1alpha1
- served: true
- storage: true
+ - name: v1alpha1
+ served: true
+ storage: true
status:
acceptedNames:
kind: ""
diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml
index 2f05014..7c2331d 100644
--- a/config/rbac/role.yaml
+++ b/config/rbac/role.yaml
@@ -1,17 +1,3 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
---
apiVersion: rbac.authorization.k8s.io/v1
@@ -20,143 +6,143 @@ metadata:
creationTimestamp: null
name: manager-role
rules:
- - resources:
- - configmaps
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - resources:
- - secrets
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - resources:
- - serviceaccounts
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - resources:
- - services
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - airflow.apache.org
- resources:
- - airflowbases
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - airflow.apache.org
- resources:
- - airflowbases/status
- verbs:
- - get
- - patch
- - update
- - apiGroups:
- - airflow.apache.org
- resources:
- - airflowclusters
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - airflow.apache.org
- resources:
- - airflowclusters/status
- verbs:
- - get
- - patch
- - update
- - apiGroups:
- - app.k8s.io
- resources:
- - applications
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - apps
- resources:
- - statefulsets
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - policy
- resources:
- - poddisruptionbudgets
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - rbac.authorization.k8s.io
- resources:
- - rolebindings
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - storage.k8s.io
- resources:
- - storageclasses
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
+- resources:
+ - configmaps
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- resources:
+ - secrets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- resources:
+ - serviceaccounts
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- resources:
+ - services
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - airflow.apache.org
+ resources:
+ - airflowbases
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - airflow.apache.org
+ resources:
+ - airflowbases/status
+ verbs:
+ - get
+ - patch
+ - update
+- apiGroups:
+ - airflow.apache.org
+ resources:
+ - airflowclusters
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - airflow.apache.org
+ resources:
+ - airflowclusters/status
+ verbs:
+ - get
+ - patch
+ - update
+- apiGroups:
+ - app.k8s.io
+ resources:
+ - applications
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - apps
+ resources:
+ - statefulsets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - policy
+ resources:
+ - poddisruptionbudgets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - rolebindings
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - storage.k8s.io
+ resources:
+ - storageclasses
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
diff --git a/config/webhook/manifests.yaml b/config/webhook/manifests.yaml
index ec20143..e69de29 100644
--- a/config/webhook/manifests.yaml
+++ b/config/webhook/manifests.yaml
@@ -1,14 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
diff --git a/docs/development.md b/docs/development.md
index 02b43cc..b4288f6 100644
--- a/docs/development.md
+++ b/docs/development.md
@@ -17,7 +17,8 @@
# Development
You should have kubeconfig setup to point to your cluster.
-In case you want to build the Airflow Operator from the source code, e.g., to
test a fix or a feature you write, you can do so following the instructions
below.
+In case you want to build the Airflow Operator from the source code, e.g.,
+to test a fix or a feature you write, you can do so following the instructions
below.
## Cloning the repo:
```bash
@@ -26,6 +27,22 @@ $ cd $GOPATH/src/apache
$ git clone [email protected]:apache/airflow-on-k8s-operator.git
```
+## Install kubebuilder
+You have to install the
[kubebuilder](https://book.kubebuilder.io/quick-start.html):
+```shell script
+os=$(go env GOOS)
+arch=$(go env GOARCH)
+
+# download kubebuilder and extract it to tmp
+curl -L https://go.kubebuilder.io/dl/2.3.0/${os}/${arch} | tar -xz -C /tmp/
+
+# move to a long-term location and put it on your path
+# (you'll need to set the KUBEBUILDER_ASSETS env var if you put it somewhere
else)
+sudo mv /tmp/kubebuilder_2.3.0_${os}_${arch} /usr/local/kubebuilder
+export PATH=$PATH:/usr/local/kubebuilder/bin
+```
+
+
## Building and running locally:
```bash
# build
@@ -34,6 +51,7 @@ make build
# run locally
make run
```
+
## Building docker image
#### GCP
When working with GCP ensure that gcloud is setup and gcr(container registry)
is enabled for the current project.
diff --git a/yamllint-config.yaml b/yamllint-config.yaml
index bd85d17..8395ada 100644
--- a/yamllint-config.yaml
+++ b/yamllint-config.yaml
@@ -17,6 +17,11 @@
---
extends: default
+ignore: |
+ /config/crd/bases/*
+ /config/rbac/role.yaml
+ /config/webhook/manifests.yaml
+
rules:
line-length:
max: 200