Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions build/apiserverbuilder/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2018 The Kubernetes Authors.
#
# Licensed 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.

# Build an image containing apiserver-builder for generating docs

FROM golang:1.10-stretch

ENV URL https://github.com/kubernetes-incubator/apiserver-builder/releases/download/v1.9-alpha.2
ENV BIN apiserver-builder-v1.9-alpha.2-linux-amd64.tar.gz
ENV DEST /usr/local/apiserver-builder/bin/
RUN curl -L $URL/$BIN -o /tmp/$BIN
RUN mkdir -p /usr/local/apiserver-builder
RUN tar -xzvf /tmp/$BIN -C /usr/local/apiserver-builder/

ENV PATH /usr/local/apiserver-builder/bin/:$PATH

RUN apt-get update
RUN apt-get install less -y
RUN apt-get install nano -yu

COPY docs.sh /usr/local/bin/docs.sh

CMD docs.sh
53 changes: 53 additions & 0 deletions build/apiserverbuilder/docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash

# Copyright 2018 The Kubernetes Authors.
#
# Licensed 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.

set -e
set -x

# Copy over the files from the host repo
export D=$DIR/$OUTPUT
mkdir -p $D

# Copy the api definitions
cp -r /host/repo/pkg $DIR/pkg

# Copy the docs
if [ -d "/host/repo/$OUTPUT" ]; then
cp -r /host/repo/$OUTPUT/* $D
fi
if [ ! -d "$DIR/boilerplate.go.txt" ]; then
touch $DIR/boilerplate.go.txt
else
cp /host/repo/boilerplate.go.txt $DIR/boilerplate.go.txt
fi

cd $DIR

# Generate the artifacts
apiserver-boot init repo --domain $DOMAIN
apiserver-boot build generated clean
apiserver-boot build generated

# Generate the input .md files for the docs
go build -o bin/apiserver cmd/apiserver/main.go
bin/apiserver --etcd-servers=http://localhost:2379 --secure-port=9443 --print-openapi --delegated-auth=false > $OUTPUT/openapi-spec/swagger.json
gen-apidocs --build-operations=false --use-tags=false --allow-errors --config-dir=$OUTPUT

# Copy the input files to the host
if [ ! -d "/host/repo/$OUTPUT" ]; then
mkdir -p /host/repo/$OUTPUT
fi
cp -r $OUTPUT/* /host/repo/$OUTPUT
14 changes: 14 additions & 0 deletions build/test.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
#!/usr/bin/env bash

# Copyright 2018 The Kubernetes Authors.
#
# Licensed 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.

cp -r /workspace/_output/kubebuilder /tmp/kubebuilder/

# Tests won't work on darwin
Expand Down
14 changes: 14 additions & 0 deletions build/thirdparty/darwin/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2018 The Kubernetes Authors.
#
# Licensed 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.

# Build the following into binaries for darwin and then host them in a tar.gz file in an alpine image
# - apiserver
# - kubectl
Expand Down
14 changes: 14 additions & 0 deletions build/thirdparty/linux/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2018 The Kubernetes Authors.
#
# Licensed 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.

# Build the following into binaries for linux and then host them in a tar.gz file in an alpine image
# - apiserver
# - kubectl
Expand Down
11 changes: 6 additions & 5 deletions cmd/kubebuilder/build/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,29 @@ package build

import (
"github.com/spf13/cobra"
"github.com/kubernetes-sigs/kubebuilder/cmd/kubebuilder/docs"
"github.com/kubernetes-sigs/kubebuilder/cmd/kubebuilder/generate"
)

var buildCmd = &cobra.Command{
Use: "build",
Short: "Command group for building source into artifacts.",
Long: `Command group for building source into artifacts.`,
Example: `# Generate code and build the apiserver and controller-manager binaries into bin/
kubebuilder build executables
kubebuilder build docs

# Rebuild generated code
kubebuilder build generated
`,
Run: RunBuild,
Deprecated: "`build generated` and `build docs` have been moved to `generate` and `docs`",
}

func AddBuild(cmd *cobra.Command) {
cmd.AddCommand(buildCmd)

AddBuildExecutables(buildCmd)
// AddBuildContainer(buildCmd)
AddDocs(buildCmd)
AddGenerate(buildCmd)
buildCmd.AddCommand(docs.GetDocs())
buildCmd.AddCommand(generate.GetGenerate())
}

func RunBuild(cmd *cobra.Command, args []string) {
Expand Down
99 changes: 0 additions & 99 deletions cmd/kubebuilder/build/build_executables.go

This file was deleted.

Loading