commit
202d7a87b7
|
|
@ -0,0 +1,4 @@
|
|||
# Configuration for devbots-needs-triage - https://devbots.xyz/documentation/needs-triage/
|
||||
|
||||
enabled: true
|
||||
label: "needs triage"
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
name: "📚 Documentation issue"
|
||||
about: Suggest changes to project's documentation
|
||||
title: ''
|
||||
labels: 'documentation'
|
||||
projects: ''
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**Relevant links**
|
||||
Link(s) to the section(s) of documentation that are outdated or otherwise wrong
|
||||
|
||||
**Description**
|
||||
Description of the changes you would like to see
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Configuration for probot-stale - https://github.com/probot/stale
|
||||
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 30
|
||||
|
||||
# Number of days of inactivity before a stale Issue or Pull Request is closed.
|
||||
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
|
||||
daysUntilClose: 30
|
||||
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- frozen
|
||||
|
||||
# Set to true to ignore issues in a milestone (defaults to false)
|
||||
exemptMilestones: true
|
||||
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
|
||||
issues:
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had recent activity.
|
||||
It will be closed if no further activity occurs.
|
||||
If this issue is still affecting you, just comment with any updates and we'll keep it open.
|
||||
Thank you for your contributions.
|
||||
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: >
|
||||
Closing this issue after a prolonged period of inactivity.
|
||||
If this issue is still present in the latest release, please create a new issue with up-to-date information. Thank you!
|
||||
|
||||
pulls:
|
||||
# Comment to post when marking a pull request as stale.
|
||||
markComment: >
|
||||
This pull request has been automatically marked as stale because it has not had recent activity.
|
||||
It will be closed if no further activity occurs.
|
||||
If this pull request is still relevant, just comment with any updates and we'll keep it open.
|
||||
Thank you for your contributions.
|
||||
|
||||
# Comment to post when closing a stale pull request. Set to `false` to disable
|
||||
closeComment: >
|
||||
Closing this pull request after a prolonged period of inactivity.
|
||||
If this issue is still present in the latest release, please ask for this pull request to be reopened. Thank you!
|
||||
|
||||
# Limit the number of actions per hour, from 1-30. Default is 30
|
||||
limitPerRun: 30
|
||||
|
|
@ -23,18 +23,15 @@ jobs:
|
|||
submodules: recursive # Fetch the Docsy theme
|
||||
fetch-depth: 0
|
||||
|
||||
# Checks out a copy of your repository on the ubuntu-latest machine
|
||||
# Checks if the previous commit introduced any changes to website files
|
||||
- name: Check for changes
|
||||
run: |
|
||||
if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -E "^website*"; then
|
||||
git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -E "^website*"
|
||||
echo "IS_CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -E "^website*")" >> $GITHUB_ENV
|
||||
else
|
||||
echo "IS_CHANGED=empty" >> $GITHUB_ENV
|
||||
fi
|
||||
IS_CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -Ec "^website*" || :)
|
||||
[[ $IS_CHANGED -gt 0 ]] && echo "IS_CHANGED=true" >> $GITHUB_ENV || echo "IS_CHANGED=false" >> $GITHUB_ENV
|
||||
|
||||
# Sets up the appropriate version of Hugo
|
||||
- name: Setup Hugo
|
||||
if: env.IS_CHANGED != 'empty'
|
||||
if: env.IS_CHANGED == 'true'
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: '0.62.2'
|
||||
|
|
@ -42,14 +39,14 @@ jobs:
|
|||
|
||||
# Sets up node - required by Hugo
|
||||
- name: Setup Node
|
||||
if: env.IS_CHANGED != 'empty'
|
||||
if: env.IS_CHANGED == 'true'
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
# Installs dependencies required by docsy theme
|
||||
- name: Install docsy dependencies
|
||||
if: env.IS_CHANGED != 'empty'
|
||||
if: env.IS_CHANGED == 'true'
|
||||
run: |
|
||||
cd website
|
||||
npm install
|
||||
|
|
@ -57,17 +54,24 @@ jobs:
|
|||
sudo npm install -D --save autoprefixer
|
||||
sudo npm install -D --save postcss-cli
|
||||
cd ../
|
||||
|
||||
- name: Update last modified date in modified docs
|
||||
if: env.IS_CHANGED == 'true'
|
||||
run: |
|
||||
git diff --name-only --diff-filter=d ${{ github.event.before }} ${{ github.sha }} | grep -E "^website*" \
|
||||
| sed -e 's/\(.*\)/"\1"/' | xargs sed -i "/date:/c\date: $(date +'%Y-%m-%d')"
|
||||
|
||||
# Runs makefile goal - checks changes to /website folder and generates docs
|
||||
- name: Run Makefile goal
|
||||
if: env.IS_CHANGED != 'empty'
|
||||
if: env.IS_CHANGED == 'true'
|
||||
env:
|
||||
DEFAULT_BRANCH: master
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: make generate-docs
|
||||
|
||||
# Create push request with generated docs
|
||||
# Creates pull request with generated docs
|
||||
- name: Create Pull Request
|
||||
if: env.IS_CHANGED != 'empty'
|
||||
if: env.IS_CHANGED == 'true'
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
commit-message: Auto-updated docs
|
||||
|
|
|
|||
|
|
@ -7,6 +7,11 @@ on:
|
|||
types: [opened, synchronize, ready_for_review, reopened]
|
||||
branches:
|
||||
- master
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
MINIKUBE_MEMORY_AMOUNT: 6144
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
if: github.event.pull_request.draft == false
|
||||
|
|
@ -43,13 +48,17 @@ jobs:
|
|||
sudo apt-get install socat
|
||||
sudo mkdir -p $HOME/.kube $HOME/.minikube
|
||||
sudo chown -R $USER $HOME/.kube $HOME/.minikube
|
||||
make minikube-start MINIKUBE_DRIVER='docker' CPUS_NUMBER=2
|
||||
make minikube-start \
|
||||
MINIKUBE_DRIVER='docker' \
|
||||
MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \
|
||||
CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }}
|
||||
|
||||
- name: Jenkins Operator - e2e
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Jenkins Operator - Helm Chart tests
|
||||
run: |
|
||||
git reset --hard
|
||||
make helm-lint
|
||||
eval $(bin/minikube docker-env)
|
||||
make helm-e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,77 @@
|
|||
name: Publish nightly snapshot
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
skipTests:
|
||||
description: "Flag for skipping the tests. If set to true (without quotation marks), the workflow will skip tests and go straight to releasing the nightly build. Use with caution!"
|
||||
required: false
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
MINIKUBE_MEMORY_AMOUNT: 6144
|
||||
|
||||
jobs:
|
||||
publish-image:
|
||||
name: Publish nightly snapshot
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up env vars
|
||||
run: |
|
||||
echo "GO111MODULE=on" >> $GITHUB_ENV
|
||||
echo "CHANGE_MINIKUBE_NONE_USER=true" >> $GITHUB_ENV
|
||||
echo "MINIKUBE_WANTUPDATENOTIFICATION=false" >> $GITHUB_ENV
|
||||
echo "MINIKUBE_WANTREPORTERRORPROMPT=false" >> $GITHUB_ENV
|
||||
echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
- name: Ensure Golang runtime dependencies
|
||||
run: make go-dependencies
|
||||
|
||||
- name: Verify code formatting
|
||||
run: make verify
|
||||
|
||||
- name: Prepare environment for e2e
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install socat
|
||||
sudo mkdir -p $HOME/.kube $HOME/.minikube
|
||||
sudo chown -R $USER $HOME/.kube $HOME/.minikube
|
||||
make minikube-start \
|
||||
MINIKUBE_DRIVER='docker' \
|
||||
MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \
|
||||
CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }}
|
||||
|
||||
- name: Jenkins Operator - e2e
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Jenkins Operator - Helm Chart tests
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: |
|
||||
git reset --hard
|
||||
make helm-lint
|
||||
eval $(bin/minikube docker-env)
|
||||
make helm-e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
||||
|
||||
- name: Release Container Runtime
|
||||
run: |
|
||||
git reset --hard
|
||||
make container-runtime-snapshot-push
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
name: Release Helm chart
|
||||
|
||||
# Run this workflow manually
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
chartVersion:
|
||||
description: "Helm chart version to release. eg. 0.4.1"
|
||||
required: true
|
||||
appVersion:
|
||||
description: "Operator app version without quotes, eg. 0.5.1 . If not provided, the one in Chart.yaml won't be overwritten."
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
release-helm-chart:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Deploy Helm chart
|
||||
run: |
|
||||
sed -i '0,/version:.*/s//version: ${{ github.event.inputs.chartVersion }}/' chart/jenkins-operator/Chart.yaml
|
||||
|
||||
if [ ${{ github.event.inputs.appVersion }} ] ; then
|
||||
sed -i '/appVersion:.*/s//appVersion: "${{ github.event.inputs.appVersion }}"/' chart/jenkins-operator/Chart.yaml
|
||||
fi
|
||||
|
||||
make helm-release-latest
|
||||
|
||||
# Creates pull request with new chart version
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
commit-message: Release Helm chart ${{ github.event.inputs.chartVersion }}
|
||||
branch: helm-chart-release-${{ github.event.inputs.chartVersion }}
|
||||
title: Release ${{ github.event.inputs.chartVersion }} Helm Chart
|
||||
body: |
|
||||
Release ${{ github.event.inputs.chartVersion }} Helm Chart
|
||||
|
|
@ -2,5 +2,4 @@
|
|||
|
||||
You can find the Jenkins Code of Conduct [on jenkins.io](https://jenkins.io/project/conduct/).
|
||||
|
||||
It applies to the entire `jenkinsci` GitHub organization, among other community spaces.
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
It applies to the entire `jenkinsci` GitHub organization, among other community spaces.
|
||||
|
|
@ -4,7 +4,7 @@ Thanks for taking the time to contribute!
|
|||
|
||||
## Code of Conduct
|
||||
|
||||
This project and everyone participating in it is governed by the [Atom Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
|
||||
This project and everyone participating in it is governed by the [Jenkins Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
|
||||
|
||||
## We Develop with GitHub
|
||||
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
|
||||
|
|
@ -41,3 +41,10 @@ Design proposal is simply a document that states what you propose to do includin
|
|||
- Breaking changes
|
||||
|
||||
Keep in mind that a proposal is not a pitch, it needs to be technical.
|
||||
|
||||
### Proposing changes to Helm Chart
|
||||
When issuing a PR that modifies the project's Helm Chart, please do not include in your PR changes that would release a new package version when merged.
|
||||
|
||||
Specifically, please do not update `chart/index.yaml` and `chart/jenkins-operator/Chart.yaml` files and do not build chart archive package.
|
||||
|
||||
For the sake of PR's brevity and security, Project's maintainers will issue a separate PR that releases new version of the Chart after your PR has been merged.
|
||||
|
|
@ -3,6 +3,8 @@ ARG GO_VERSION
|
|||
# Build the manager binary
|
||||
FROM golang:$GO_VERSION as builder
|
||||
ARG CTIMEVAR
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
|
||||
WORKDIR /workspace
|
||||
# Copy the Go Modules manifests
|
||||
|
|
@ -21,7 +23,7 @@ COPY version/ version/
|
|||
COPY main.go main.go
|
||||
|
||||
# Build
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -ldflags "-w $CTIMEVAR" -o manager main.go
|
||||
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH GO111MODULE=on go build -ldflags "-w $CTIMEVAR" -o manager main.go
|
||||
|
||||
# Use distroless as minimal base image to package the manager binary
|
||||
# Refer to https://github.com/GoogleContainerTools/distroless for more details
|
||||
|
|
|
|||
138
Makefile
138
Makefile
|
|
@ -95,8 +95,9 @@ e2e: deepcopy-gen manifests ## Runs e2e tests, you can use EXTRA_ARGS
|
|||
-jenkins-api-hostname=$(JENKINS_API_HOSTNAME) -jenkins-api-port=$(JENKINS_API_PORT) -jenkins-api-use-nodeport=$(JENKINS_API_USE_NODEPORT) $(E2E_TEST_ARGS)
|
||||
|
||||
.PHONY: helm-e2e
|
||||
IMAGE_NAME := $(DOCKER_REGISTRY):$(GITCOMMIT)
|
||||
helm-e2e: helm container-runtime-build ## Runs helm e2e tests, you can use EXTRA_ARGS
|
||||
IMAGE_NAME := $(DOCKER_REGISTRY):$(GITCOMMIT)-amd64
|
||||
|
||||
helm-e2e: helm container-runtime-build-amd64 ## Runs helm e2e tests, you can use EXTRA_ARGS
|
||||
@echo "+ $@"
|
||||
RUNNING_TESTS=1 go test -parallel=1 "./test/helm/" -ginkgo.v -tags "$(BUILDTAGS) cgo" -v -timeout 60m -run "$(E2E_TEST_SELECTOR)" -image-name=$(IMAGE_NAME) $(E2E_TEST_ARGS)
|
||||
|
||||
|
|
@ -206,46 +207,66 @@ endif
|
|||
container-runtime-login: ## Log in into the Docker repository
|
||||
@echo "+ $@"
|
||||
|
||||
.PHONY: container-runtime-build
|
||||
container-runtime-build: check-env deepcopy-gen ## Build the container
|
||||
.PHONY: container-runtime-build-%
|
||||
container-runtime-build-%: ## Build the container
|
||||
@echo "+ $@"
|
||||
$(CONTAINER_RUNTIME_COMMAND) build \
|
||||
--build-arg GO_VERSION=$(GO_VERSION) \
|
||||
--build-arg CTIMEVAR="$(CTIMEVAR)" \
|
||||
-t $(DOCKER_REGISTRY):$(GITCOMMIT) . \
|
||||
--file Dockerfile $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(CONTAINER_RUNTIME_COMMAND) buildx build \
|
||||
--output=type=docker --platform linux/$* \
|
||||
--build-arg GO_VERSION=$(GO_VERSION) \
|
||||
--build-arg CTIMEVAR="$(CTIMEVAR)" \
|
||||
--tag $(DOCKER_REGISTRY):$(GITCOMMIT)-$* . \
|
||||
--file Dockerfile $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
|
||||
.PHONY: container-runtime-build
|
||||
container-runtime-build: check-env deepcopy-gen container-runtime-build-amd64 container-runtime-build-arm64
|
||||
|
||||
.PHONY: container-runtime-images
|
||||
container-runtime-images: ## List all local containers
|
||||
@echo "+ $@"
|
||||
$(CONTAINER_RUNTIME_COMMAND) images $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
|
||||
define buildx-create-command
|
||||
$(CONTAINER_RUNTIME_COMMAND) buildx create \
|
||||
--driver=docker-container \
|
||||
--use
|
||||
endef
|
||||
|
||||
## Parameter is version
|
||||
define container-runtime-push-command
|
||||
$(CONTAINER_RUNTIME_COMMAND) buildx build \
|
||||
--output=type=registry --platform linux/amd64,linux/arm64 \
|
||||
--build-arg GO_VERSION=$(GO_VERSION) \
|
||||
--build-arg CTIMEVAR="$(CTIMEVAR)" \
|
||||
--tag $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(1) . \
|
||||
--file Dockerfile $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
endef
|
||||
|
||||
.PHONY: container-runtime-push
|
||||
container-runtime-push: ## Push the container
|
||||
container-runtime-push: check-env deepcopy-gen ## Push the container
|
||||
@echo "+ $@"
|
||||
$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(BUILD_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(BUILD_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(call buildx-create-command)
|
||||
$(call container-runtime-push-command,$(BUILD_TAG))
|
||||
|
||||
.PHONY: container-runtime-snapshot-push
|
||||
container-runtime-snapshot-push:
|
||||
container-runtime-snapshot-push: check-env deepcopy-gen
|
||||
@echo "+ $@"
|
||||
$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(GITCOMMIT) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(GITCOMMIT) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(call buildx-create-command)
|
||||
$(call container-runtime-push-command,$(GITCOMMIT))
|
||||
|
||||
.PHONY: container-runtime-release-version
|
||||
container-runtime-release-version: ## Release image with version tag (in addition to build tag)
|
||||
container-runtime-release-version: check-env deepcopy-gen ## Release image with version tag (in addition to build tag)
|
||||
@echo "+ $@"
|
||||
$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(VERSION_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(VERSION_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(call buildx-create-command)
|
||||
$(call container-runtime-push-command,$(VERSION_TAG))
|
||||
|
||||
.PHONY: container-runtime-release-latest
|
||||
container-runtime-release-latest: ## Release image with latest tags (in addition to build tag)
|
||||
container-runtime-release-latest: check-env deepcopy-gen ## Release image with latest tags (in addition to build tag)
|
||||
@echo "+ $@"
|
||||
$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(LATEST_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(LATEST_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
|
||||
$(call buildx-create-command)
|
||||
$(call container-runtime-push-command,$(LATEST_TAG))
|
||||
|
||||
.PHONY: container-runtime-release
|
||||
container-runtime-release: container-runtime-build container-runtime-release-version container-runtime-release-latest ## Release image with version and latest tags (in addition to build tag)
|
||||
container-runtime-release: container-runtime-release-version container-runtime-release-latest ## Release image with version and latest tags (in addition to build tag)
|
||||
@echo "+ $@"
|
||||
|
||||
# if this session isn't interactive, then we don't want to allocate a
|
||||
|
|
@ -284,10 +305,10 @@ HAS_GEN_CRD_API_REFERENCE_DOCS := $(shell ls gen-crd-api-reference-docs 2> /dev/
|
|||
scheme-doc-gen: ## Generate Jenkins CRD scheme doc
|
||||
@echo "+ $@"
|
||||
ifndef HAS_GEN_CRD_API_REFERENCE_DOCS
|
||||
@wget https://github.com/ahmetb/$(GEN_CRD_API)/releases/download/v0.1.2/$(GEN_CRD_API)_linux_amd64.tar.gz
|
||||
@wget https://github.com/ahmetb/$(GEN_CRD_API)/releases/download/v0.1.2/$(GEN_CRD_API)_$(PLATFORM)_amd64.tar.gz
|
||||
@mkdir -p $(GEN_CRD_API)
|
||||
@tar -C $(GEN_CRD_API) -zxf $(GEN_CRD_API)_linux_amd64.tar.gz
|
||||
@rm $(GEN_CRD_API)_linux_amd64.tar.gz
|
||||
@tar -C $(GEN_CRD_API) -zxf $(GEN_CRD_API)_$(PLATFORM)_amd64.tar.gz
|
||||
@rm $(GEN_CRD_API)_$(PLATFORM)_amd64.tar.gz
|
||||
endif
|
||||
$(GEN_CRD_API)/$(GEN_CRD_API) -config gen-crd-api-config.json -api-dir $(PKG)/api/$(API_VERSION) -template-dir $(GEN_CRD_API)/template -out-file documentation/$(VERSION)/jenkins-$(API_VERSION)-scheme.md
|
||||
|
||||
|
|
@ -333,7 +354,7 @@ endif
|
|||
minikube-start: minikube check-minikube ## Start minikube
|
||||
@echo "+ $@"
|
||||
bin/minikube status && exit 0 || \
|
||||
bin/minikube start --kubernetes-version $(MINIKUBE_KUBERNETES_VERSION) --dns-domain=$(CLUSTER_DOMAIN) --extra-config=kubelet.cluster-domain=$(CLUSTER_DOMAIN) --driver=$(MINIKUBE_DRIVER) --memory 4096 --cpus $(CPUS_NUMBER)
|
||||
bin/minikube start --kubernetes-version $(MINIKUBE_KUBERNETES_VERSION) --dns-domain=$(CLUSTER_DOMAIN) --extra-config=kubelet.cluster-domain=$(CLUSTER_DOMAIN) --driver=$(MINIKUBE_DRIVER) --memory $(MEMORY_AMOUNT) --cpus $(CPUS_NUMBER)
|
||||
|
||||
.PHONY: crc-start
|
||||
crc-start: check-crc ## Start CodeReady Containers Kubernetes cluster
|
||||
|
|
@ -345,7 +366,7 @@ HAS_SEMBUMP := $(shell which $(PROJECT_DIR)/bin/sembump)
|
|||
sembump: # Download sembump locally if necessary
|
||||
@echo "+ $@"
|
||||
ifndef HAS_SEMBUMP
|
||||
mkdir bin
|
||||
mkdir -p $(PROJECT_DIR)/bin
|
||||
wget -O $(PROJECT_DIR)/bin/sembump https://github.com/justintout/sembump/releases/download/v0.1.0/sembump-$(PLATFORM)-amd64
|
||||
chmod +x $(PROJECT_DIR)/bin/sembump
|
||||
endif
|
||||
|
|
@ -358,16 +379,19 @@ bump-version: sembump ## Bump the version in the version file. Set BUMP to [ pat
|
|||
@echo "Bumping VERSION.txt from $(VERSION) to $(NEW_VERSION)"
|
||||
echo $(NEW_VERSION) > VERSION.txt
|
||||
@echo "Updating version from $(VERSION) to $(NEW_VERSION) in README.md"
|
||||
sed -i s/$(VERSION)/$(NEW_VERSION)/g README.md
|
||||
sed -i s/$(VERSION)/$(NEW_VERSION)/g deploy/operator.yaml
|
||||
sed -i s/$(VERSION)/$(NEW_VERSION)/g deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
sed -i.bak 's/$(VERSION)/$(NEW_VERSION)/g' README.md
|
||||
sed -i.bak 's/$(VERSION)/$(NEW_VERSION)/g' config/manager/manager.yaml
|
||||
sed -i.bak 's/$(VERSION)/$(NEW_VERSION)/g' deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
rm */*/**.bak
|
||||
rm */**.bak
|
||||
rm *.bak
|
||||
cp config/service_account.yaml deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/rbac/leader_election_role.yaml >> config/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/rbac/leader_election_role_binding.yaml >> config/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)=$(API_VERSION).yaml
|
||||
cat config/rbac/role.yaml >> config/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)=$(API_VERSION).yaml
|
||||
cat config/rbac/role_binding.yaml >> config/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/manager/manager.yaml >> config/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
git add VERSION.txt README.md config/manager/manager.yaml config/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/rbac/leader_election_role.yaml >> deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/rbac/leader_election_role_binding.yaml >> deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/rbac/role.yaml >> deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/rbac/role_binding.yaml >> deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
cat config/manager/manager.yaml >> deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
git add VERSION.txt README.md config/manager/manager.yaml deploy/$(ALL_IN_ONE_DEPLOY_FILE_PREFIX)-$(API_VERSION).yaml
|
||||
git commit -vaem "Bump version to $(NEW_VERSION)"
|
||||
@echo "Run make tag to create and push the tag for new version $(NEW_VERSION)"
|
||||
|
||||
|
|
@ -405,20 +429,15 @@ helm-lint: helm
|
|||
@echo "+ $@"
|
||||
bin/helm lint chart/jenkins-operator
|
||||
|
||||
.PHONY: helm-package
|
||||
helm-package: helm
|
||||
.PHONY: helm-release-latest
|
||||
helm-release-latest: helm
|
||||
@echo "+ $@"
|
||||
mkdir -p /tmp/jenkins-operator-charts
|
||||
mv chart/jenkins-operator/*.tgz /tmp/jenkins-operator-charts
|
||||
cd chart && bin/helm package jenkins-operator
|
||||
cd chart && ../bin/helm package jenkins-operator
|
||||
mv chart/jenkins-operator-*.tgz chart/jenkins-operator/
|
||||
bin/helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/ --merge chart/index.yaml
|
||||
mv /tmp/jenkins-operator-charts/*.tgz chart/jenkins-operator/
|
||||
rm -rf /tmp/jenkins-operator-charts/
|
||||
|
||||
.PHONY: helm-deploy
|
||||
helm-deploy: helm-package
|
||||
@echo "+ $@"
|
||||
bin/helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/
|
||||
cd chart/ && mv jenkins-operator-*.tgz jenkins-operator
|
||||
|
||||
# Download and build hugo extended locally if necessary
|
||||
HUGO_PATH = $(shell pwd)/bin/hugo
|
||||
|
|
@ -439,17 +458,10 @@ generate-docs: hugo ## Re-generate docs directory from the website directory
|
|||
cd website && npm install
|
||||
$(HUGO_PATH)/hugo -s website -d ../docs
|
||||
|
||||
.PHONY: all-in-one-build
|
||||
FILENAME := config/all_in_one_$(API_VERSION).yaml
|
||||
all-in-one-build: ## Re-generate all-in-one yaml
|
||||
.PHONY: run-docs
|
||||
run-docs: hugo
|
||||
@echo "+ $@"
|
||||
> $(FILENAME)
|
||||
cat config/service_account.yaml >> $(FILENAME)
|
||||
cat config/rbac/leader_election_role.yaml >> $(FILENAME)
|
||||
cat config/rbac/leader_election_role_binding.yaml >> $(FILENAME)
|
||||
cat config/rbac/role.yaml >> $(FILENAME)
|
||||
cat config/rbac/role_binding.yaml >> $(FILENAME)
|
||||
cat config/manager/manager.yaml >> $(FILENAME)
|
||||
cd website && $(HUGO_PATH)/hugo server -D
|
||||
|
||||
##################### FROM OPERATOR SDK ########################
|
||||
# Install CRDs into a cluster
|
||||
|
|
@ -470,7 +482,7 @@ undeploy:
|
|||
$(KUSTOMIZE) build config/default | kubectl delete -f -
|
||||
|
||||
# Generate manifests e.g. CRD, RBAC etc.
|
||||
manifests: controller-gen all-in-one-build
|
||||
manifests: controller-gen
|
||||
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
|
||||
|
||||
# Generate code
|
||||
|
|
@ -527,3 +539,15 @@ kubebuilder:
|
|||
mkdir -p ${ENVTEST_ASSETS_DIR}
|
||||
test -f ${ENVTEST_ASSETS_DIR}/setup-envtest.sh || curl -sSLo ${ENVTEST_ASSETS_DIR}/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/v0.7.0/hack/setup-envtest.sh
|
||||
source ${ENVTEST_ASSETS_DIR}/setup-envtest.sh; fetch_envtest_tools $(ENVTEST_ASSETS_DIR); setup_envtest_env $(ENVTEST_ASSETS_DIR);
|
||||
|
||||
# install cert-manager v1.5.1
|
||||
install-cert-manager: minikube-start
|
||||
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.yaml
|
||||
|
||||
uninstall-cert-manager: minikube-start
|
||||
kubectl delete -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.yaml
|
||||
|
||||
# Deploy the operator locally along with webhook using helm charts
|
||||
deploy-webhook: container-runtime-build-amd64
|
||||
@echo "+ $@"
|
||||
bin/helm upgrade jenkins chart/jenkins-operator --install --set-string operator.image=${IMAGE_NAME} --set webhook.enabled=true --set jenkins.enabled=false
|
||||
|
|
|
|||
1
PROJECT
1
PROJECT
|
|
@ -7,6 +7,7 @@ resources:
|
|||
group: jenkins.io
|
||||
kind: Jenkins
|
||||
version: v1alpha2
|
||||
webhookVersion: v1
|
||||
version: 3-alpha
|
||||
plugins:
|
||||
manifests.sdk.operatorframework.io/v2: {}
|
||||
|
|
|
|||
42
README.md
42
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# Jenkins Operator
|
||||
|
||||
[](https://github.com/jenkinsci/kubernetes-operator/releases/tag/v0.5.0)
|
||||
[](https://github.com/jenkinsci/kubernetes-operator/releases/tag/v0.7.0)
|
||||
[](https://github.com/jenkinsci/kubernetes-operator/actions/workflows/auto-tests.yaml)
|
||||
[](https://goreportcard.com/report/github.com/jenkinsci/kubernetes-operator)
|
||||
[](https://hub.docker.com/r/virtuslab/jenkins-operator/tags)
|
||||
|
|
@ -28,7 +28,7 @@ Jenkins uses [plugins](https://plugins.jenkins.io/) like CasC to extend it's sol
|
|||
- Integration with Kubernetes ([Jenkins kubernetes-plugin](https://github.com/jenkinsci/kubernetes-plugin))
|
||||
- Pipelines as Code ([Jenkins pipelines](https://jenkins.io/doc/book/pipeline/))
|
||||
- Extensibility via Groovy Scripts (similar to [Jenkins script console](https://wiki.jenkins.io/display/JENKINS/Jenkins+Script+Console)) or ([configuration as code plugin](https://github.com/jenkinsci/configuration-as-code-plugin))
|
||||
- Secure Defaults and Hardening (see [the security section](https://jenkinsci.github.io/kubernetes-operator/docs/security/) of the documentation)
|
||||
- Secure Defaults and Hardening (see [the security section](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/security/) of the documentation)
|
||||
|
||||
## Problem statement and goals
|
||||
|
||||
|
|
@ -36,11 +36,10 @@ The main reason why we decided to implement the **Jenkins Operator** is the fact
|
|||
We want to make Jenkins more robust, suitable for dynamic and multi-tenant environments.
|
||||
|
||||
Some of the problems we want to solve:
|
||||
- [installing plugins with incompatible versions or security vulnerabilities](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customization/#install-plugins)
|
||||
- [better configuration as code](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customization/)
|
||||
- [security and hardening out of the box](https://jenkinsci.github.io/kubernetes-operator/docs/security/)
|
||||
- [make errors more visible for end users](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/diagnostics/)
|
||||
- [backup and restore for jobs history](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/)
|
||||
- [installing plugins with incompatible versions or security vulnerabilities](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/#install-plugins/)
|
||||
- [better configuration as code](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/)
|
||||
- [security and hardening out of the box](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/security/)
|
||||
- [make errors more visible for end users](https://jenkinsci.github.io/kubernetes-operator/docs/troubleshooting/)
|
||||
- orphaned jobs with no JNLP connection
|
||||
- handle graceful shutdown properly
|
||||
- proper end to end tests for Jenkins lifecycle
|
||||
|
|
@ -50,25 +49,39 @@ Some of the problems we want to solve:
|
|||
Go to [**our documentation website**](https://jenkinsci.github.io/kubernetes-operator/) for more information.
|
||||
|
||||
Selected content:
|
||||
1. [Installation](https://jenkinsci.github.io/kubernetes-operator/docs/installation/)
|
||||
1. [How it works](https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/)
|
||||
2. [Getting Started](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/)
|
||||
3. [How it works](https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/)
|
||||
4. [Security](https://jenkinsci.github.io/kubernetes-operator/docs/security/)
|
||||
3. [Security](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/security/)
|
||||
4. [Troubleshooting](https://jenkinsci.github.io/kubernetes-operator/docs/troubleshooting/)
|
||||
5. [Developer Guide](https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/)
|
||||
5. [Jenkins Custom Resource Definition Schema](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/schema/)
|
||||
6. [FAQ](https://jenkinsci.github.io/kubernetes-operator/docs/faq/)
|
||||
7. [Jenkins Custom Resource Definition Schema](https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/schema/)
|
||||
|
||||
## Common Issues and Workarounds
|
||||
|
||||
- Multibranch Pipelines and Backup Issues: https://github.com/jenkinsci/kubernetes-operator/issues/104#issuecomment-554289768
|
||||
|
||||
## Community
|
||||
Main channel of communication on topics related to Jenkins Operator is [Jenkins Operator Category](https://community.jenkins.io/c/contributing/jenkins-operator/20) on [Jenkins Community Discourse](https://community.jenkins.io/).
|
||||
|
||||
We have a dedicated channel called `#jenkins-operator` on [virtuslab-oss.slack.com](https://virtuslab-oss.slack.com)
|
||||
Fill out ([Invite form](https://forms.gle/X3X8qA1XMirdBuEH7)) and come say hi !
|
||||
Here you can ask questions about the project, discuss best practices on using it, and talk to other users of the Operator, contributors and project's maintainers.
|
||||
|
||||
We also have a dedicated channel called `#jenkins-operator` on [virtuslab-oss.slack.com](https://virtuslab-oss.slack.com).
|
||||
Fill out ([Invite form](https://forms.gle/X3X8qA1XMirdBuEH7)) and come say hi!
|
||||
|
||||
## Snapshots between releases
|
||||
|
||||
We are trying our best to resolve issues quickly, but they have to wait to be released. If you can't wait for an official
|
||||
docker image release and acknowledge the risk, you can use our unofficial images, which are built nightly.
|
||||
|
||||
You can find the project's Docker Hub repository [here](https://hub.docker.com/r/virtuslab/jenkins-operator).
|
||||
|
||||
Look for the images with tag "{git-hash}", where {git-hash} is the hash of the master commit that interests you.
|
||||
|
||||
## Contribution
|
||||
|
||||
Feel free to file [issues](https://github.com/jenkinsci/kubernetes-operator/issues) or [pull requests](https://github.com/jenkinsci/kubernetes-operator/pulls).
|
||||
Feel free to file [issues](https://github.com/jenkinsci/kubernetes-operator/issues) or [pull requests](https://github.com/jenkinsci/kubernetes-operator/pulls),
|
||||
but please consult [CONTRIBUTING](https://github.com/jenkinsci/kubernetes-operator/blob/master/CONTRIBUTING.md) document beforehand.
|
||||
|
||||
Before any big pull request please consult the maintainers to ensure a common direction.
|
||||
|
||||
|
|
@ -76,6 +89,7 @@ Before any big pull request please consult the maintainers to ensure a common di
|
|||
|
||||
- [Jenkins World 2019 Lisbon](assets/Jenkins_World_Lisbon_2019%20-Jenkins_Kubernetes_Operator.pdf)
|
||||
- [Jenkins Online Meetup 2020](assets/Jenkins_Online_Meetup-Jenkins_Kubernetes_Operator.pdf)
|
||||
- [Jenkins Online Meetup 2021](https://www.youtube.com/watch?v=BsYYVkophsk)
|
||||
|
||||
## About the authors
|
||||
|
||||
|
|
|
|||
25
ROADMAP.md
25
ROADMAP.md
|
|
@ -4,37 +4,28 @@ This document outlines the vision and technical roadmap for [jenkinsci/kubernete
|
|||
|
||||
## Project Vision
|
||||
|
||||
With Jenkins Operator project we want to enable our community to run Jenkins in cloud-native environments like Kubernetes, OpenShift and others. Also, support most of the public cloud providers (AWS, Azure, GCP) in terms of additional capabilities like backups, observability and cloud security.
|
||||
|
||||
With Jenkins Operator project we want to enable our community to run Jenkins in cloud-native environments. Also, support most of the public cloud providers (AWS, Azure, GCP) in terms of additional capabilities like backups, observability and cloud security.
|
||||
|
||||
With declarative configuration and full lifecycle management based on [Operator Framework](https://operatorframework.io/) this can become the de facto standard for running Jenkins on top of Kubernetes.
|
||||
|
||||
|
||||
Now, we have a dedicated team which can bring more engineering effort to the project.
|
||||
|
||||
## Technical Roadmap
|
||||
|
||||
- Upgrade Operator SDK [#494](https://github.com/jenkinsci/kubernetes-operator/issues/494)
|
||||
- https://github.com/operator-framework/operator-sdk/releases/tag/v1.3.0
|
||||
- Modularise codebase and define areas of responsibility (AWS, Azure, OpenShift)
|
||||
- Break down Jenkins Custom Resource into smaller parts, support multiple Custom Resource Definitions [#495](https://github.com/jenkinsci/kubernetes-operator/issues/495)
|
||||
- Introduce more granular schema for configuring Jenkins
|
||||
- Introduce independent reconciliation controllers
|
||||
- Refactor e2e tests to support testing individual reconciliation controller
|
||||
- Refactor e2e tests to support testing individual reconciliation controllers
|
||||
- Migrate Jenkins instance from Pod to Deployment [#497](https://github.com/jenkinsci/kubernetes-operator/issues/497)
|
||||
- Unblock easier integration with 3rd party systems e.g. sidecars injection
|
||||
- Improve contribution process and establish governance model [#496](https://github.com/jenkinsci/kubernetes-operator/issues/496)
|
||||
- Improve CONTRIBUTING.md
|
||||
- Introduce architecture decision proposals process
|
||||
- Introduce governance model
|
||||
- Migrate Jenkins instance from Pod to Deployment [#497](https://github.com/jenkinsci/kubernetes-operator/issues/497)
|
||||
- Unblock easier integration with 3rd party systems e.g. sidecars injection
|
||||
- Engage with community more
|
||||
- After releasing Operator version with new API, gather feedback from users on where the Operator should go next
|
||||
- Reference Architecture - Jenkins on Kubernetes
|
||||
- Bridge the gap between Jenkins and Kubernetes
|
||||
- https://www.jenkins.io/blog/2020/12/04/gsod-project-report/
|
||||
- Pay technical debt
|
||||
- Review existing issues on GitHub and prioritise them
|
||||
- Introduce project board to track milestones
|
||||
- Fix existing bugs
|
||||
|
||||
|
||||
## Have a Question?
|
||||
|
||||
In case of further question feel free to create an issue or contact us directly.
|
||||
In case of questions, feel free to create a thread on [Jenkins Operator Category](https://community.jenkins.io/c/contributing/jenkins-operator/20) of Jenkins Community Discourse or contact us directly.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
v0.5.0
|
||||
v0.7.0
|
||||
|
|
|
|||
|
|
@ -18,6 +18,10 @@ type JenkinsSpec struct {
|
|||
// +optional
|
||||
SeedJobs []SeedJob `json:"seedJobs,omitempty"`
|
||||
|
||||
// ValidateSecurityWarnings enables or disables validating potential security warnings in Jenkins plugins via admission webhooks.
|
||||
//+optional
|
||||
ValidateSecurityWarnings bool `json:"validateSecurityWarnings,omitempty"`
|
||||
|
||||
// Notifications defines list of a services which are used to inform about Jenkins status
|
||||
// Can be used to integrate chat services like Slack, Microsoft Teams or Mailgun
|
||||
// +optional
|
||||
|
|
@ -342,20 +346,20 @@ type JenkinsMaster struct {
|
|||
// BasePlugins contains plugins required by operator
|
||||
// +optional
|
||||
// Defaults to :
|
||||
// - name: configuration-as-code
|
||||
// version: "1346.ve8cfa_3473c94"
|
||||
// - name: git
|
||||
// version: "4.10.3"
|
||||
// - name: job-dsl
|
||||
// version: "1.78.1"
|
||||
// - name: kubernetes
|
||||
// version: "1.28.6"
|
||||
// - name: workflow-job
|
||||
// version: "2.40"
|
||||
// version: "1.31.3"
|
||||
// - name: kubernetes-credentials-provider
|
||||
// version: "0.20"
|
||||
// - name: workflow-aggregator
|
||||
// version: "2.6"
|
||||
// - name: git
|
||||
// version: "4.5.0"
|
||||
// - name: job-dsl
|
||||
// version: "1.77"
|
||||
// - name: configuration-as-code
|
||||
// version: "1.46"
|
||||
// - name: kubernetes-credentials-provider
|
||||
// version: "0.15"
|
||||
// - name: workflow-job
|
||||
// version: "1145.v7f2433caa07f"
|
||||
BasePlugins []Plugin `json:"basePlugins,omitempty"`
|
||||
|
||||
// Plugins contains plugins required by user
|
||||
|
|
@ -368,6 +372,10 @@ type JenkinsMaster struct {
|
|||
// PriorityClassName for Jenkins master pod
|
||||
// +optional
|
||||
PriorityClassName string `json:"priorityClassName,omitempty"`
|
||||
|
||||
// HostAliases for Jenkins master pod and SeedJob agent
|
||||
// +optional
|
||||
HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`
|
||||
}
|
||||
|
||||
// Service defines Kubernetes service attributes
|
||||
|
|
|
|||
|
|
@ -0,0 +1,348 @@
|
|||
/*
|
||||
Copyright 2021.
|
||||
|
||||
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.
|
||||
*/
|
||||
|
||||
package v1alpha2
|
||||
|
||||
import (
|
||||
"compress/gzip"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/log"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/plugins"
|
||||
|
||||
"golang.org/x/mod/semver"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
ctrl "sigs.k8s.io/controller-runtime"
|
||||
logf "sigs.k8s.io/controller-runtime/pkg/log"
|
||||
"sigs.k8s.io/controller-runtime/pkg/webhook"
|
||||
)
|
||||
|
||||
var (
|
||||
jenkinslog = logf.Log.WithName("jenkins-resource") // log is for logging in this package.
|
||||
SecValidator = *NewSecurityValidator()
|
||||
_ webhook.Validator = &Jenkins{}
|
||||
initialSecurityWarningsDownloadSucceded = false
|
||||
)
|
||||
|
||||
const (
|
||||
Hosturl = "https://ci.jenkins.io/job/Infra/job/plugin-site-api/job/generate-data/lastSuccessfulBuild/artifact/plugins.json.gzip"
|
||||
CompressedFilePath = "/tmp/plugins.json.gzip"
|
||||
PluginDataFile = "/tmp/plugins.json"
|
||||
shortenedCheckingPeriod = 1 * time.Hour
|
||||
defaultCheckingPeriod = 12 * time.Minute
|
||||
)
|
||||
|
||||
func (in *Jenkins) SetupWebhookWithManager(mgr ctrl.Manager) error {
|
||||
return ctrl.NewWebhookManagedBy(mgr).
|
||||
For(in).
|
||||
Complete()
|
||||
}
|
||||
|
||||
// TODO(user): change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
|
||||
// +kubebuilder:webhook:path=/validate-jenkins-io-jenkins-io-v1alpha2-jenkins,mutating=false,failurePolicy=fail,sideEffects=None,groups=jenkins.io.jenkins.io,resources=jenkins,verbs=create;update,versions=v1alpha2,name=vjenkins.kb.io,admissionReviewVersions={v1,v1beta1}
|
||||
|
||||
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
|
||||
func (in *Jenkins) ValidateCreate() error {
|
||||
if in.Spec.ValidateSecurityWarnings {
|
||||
jenkinslog.Info("validate create", "name", in.Name)
|
||||
return Validate(*in)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
|
||||
func (in *Jenkins) ValidateUpdate(old runtime.Object) error {
|
||||
if in.Spec.ValidateSecurityWarnings {
|
||||
jenkinslog.Info("validate update", "name", in.Name)
|
||||
return Validate(*in)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (in *Jenkins) ValidateDelete() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
type SecurityValidator struct {
|
||||
PluginDataCache PluginsInfo
|
||||
isCached bool
|
||||
Attempts int
|
||||
checkingPeriod time.Duration
|
||||
}
|
||||
|
||||
type PluginsInfo struct {
|
||||
Plugins []PluginInfo `json:"plugins"`
|
||||
}
|
||||
|
||||
type PluginInfo struct {
|
||||
Name string `json:"name"`
|
||||
SecurityWarnings []Warning `json:"securityWarnings"`
|
||||
}
|
||||
|
||||
type Warning struct {
|
||||
Versions []Version `json:"versions"`
|
||||
ID string `json:"id"`
|
||||
Message string `json:"message"`
|
||||
URL string `json:"url"`
|
||||
Active bool `json:"active"`
|
||||
}
|
||||
|
||||
type Version struct {
|
||||
FirstVersion string `json:"firstVersion"`
|
||||
LastVersion string `json:"lastVersion"`
|
||||
}
|
||||
|
||||
type PluginData struct {
|
||||
Version string
|
||||
Kind string
|
||||
}
|
||||
|
||||
// Validates security warnings for both updating and creating a Jenkins CR
|
||||
func Validate(r Jenkins) error {
|
||||
if !SecValidator.isCached {
|
||||
return errors.New("plugins data has not been fetched")
|
||||
}
|
||||
|
||||
pluginSet := make(map[string]PluginData)
|
||||
var faultyBasePlugins string
|
||||
var faultyUserPlugins string
|
||||
basePlugins := plugins.BasePlugins()
|
||||
|
||||
for _, plugin := range basePlugins {
|
||||
// Only Update the map if the plugin is not present or a lower version is being used
|
||||
if pluginData, ispresent := pluginSet[plugin.Name]; !ispresent || semver.Compare(makeSemanticVersion(plugin.Version), pluginData.Version) == 1 {
|
||||
pluginSet[plugin.Name] = PluginData{Version: plugin.Version, Kind: "base"}
|
||||
}
|
||||
}
|
||||
|
||||
for _, plugin := range r.Spec.Master.Plugins {
|
||||
if pluginData, ispresent := pluginSet[plugin.Name]; !ispresent || semver.Compare(makeSemanticVersion(plugin.Version), pluginData.Version) == 1 {
|
||||
pluginSet[plugin.Name] = PluginData{Version: plugin.Version, Kind: "user-defined"}
|
||||
}
|
||||
}
|
||||
|
||||
for _, plugin := range SecValidator.PluginDataCache.Plugins {
|
||||
if pluginData, ispresent := pluginSet[plugin.Name]; ispresent {
|
||||
var hasVulnerabilities bool
|
||||
for _, warning := range plugin.SecurityWarnings {
|
||||
for _, version := range warning.Versions {
|
||||
firstVersion := version.FirstVersion
|
||||
lastVersion := version.LastVersion
|
||||
if len(firstVersion) == 0 {
|
||||
firstVersion = "0" // setting default value in case of empty string
|
||||
}
|
||||
if len(lastVersion) == 0 {
|
||||
lastVersion = pluginData.Version // setting default value in case of empty string
|
||||
}
|
||||
// checking if this warning applies to our version as well
|
||||
if compareVersions(firstVersion, lastVersion, pluginData.Version) {
|
||||
jenkinslog.Info("Security Vulnerability detected in "+pluginData.Kind+" "+plugin.Name+":"+pluginData.Version, "Warning message", warning.Message, "For more details,check security advisory", warning.URL)
|
||||
hasVulnerabilities = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if hasVulnerabilities {
|
||||
if pluginData.Kind == "base" {
|
||||
faultyBasePlugins += "\n" + plugin.Name + ":" + pluginData.Version
|
||||
} else {
|
||||
faultyUserPlugins += "\n" + plugin.Name + ":" + pluginData.Version
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(faultyBasePlugins) > 0 || len(faultyUserPlugins) > 0 {
|
||||
var errormsg string
|
||||
if len(faultyBasePlugins) > 0 {
|
||||
errormsg += "security vulnerabilities detected in the following base plugins: " + faultyBasePlugins
|
||||
}
|
||||
if len(faultyUserPlugins) > 0 {
|
||||
errormsg += "security vulnerabilities detected in the following user-defined plugins: " + faultyUserPlugins
|
||||
}
|
||||
return errors.New(errormsg)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// NewMonitor creates a new worker and instantiates all the data structures required
|
||||
func NewSecurityValidator() *SecurityValidator {
|
||||
return &SecurityValidator{
|
||||
isCached: false,
|
||||
Attempts: 0,
|
||||
checkingPeriod: shortenedCheckingPeriod,
|
||||
}
|
||||
}
|
||||
|
||||
func (in *SecurityValidator) MonitorSecurityWarnings(securityWarningsFetched chan bool) {
|
||||
jenkinslog.Info("Security warnings check: enabled\n")
|
||||
for {
|
||||
in.checkForSecurityVulnerabilities(securityWarningsFetched)
|
||||
<-time.After(in.checkingPeriod)
|
||||
}
|
||||
}
|
||||
|
||||
func (in *SecurityValidator) checkForSecurityVulnerabilities(securityWarningsFetched chan bool) {
|
||||
err := in.fetchPluginData()
|
||||
if err != nil {
|
||||
jenkinslog.Info("Cache plugin data", "failed to fetch plugin data", err)
|
||||
in.checkingPeriod = shortenedCheckingPeriod
|
||||
return
|
||||
}
|
||||
in.isCached = true
|
||||
in.checkingPeriod = defaultCheckingPeriod
|
||||
|
||||
// should only be executed once when the operator starts
|
||||
if !initialSecurityWarningsDownloadSucceded {
|
||||
securityWarningsFetched <- in.isCached
|
||||
initialSecurityWarningsDownloadSucceded = true
|
||||
}
|
||||
}
|
||||
|
||||
// Downloads extracts and reads the JSON data in every 12 hours
|
||||
func (in *SecurityValidator) fetchPluginData() error {
|
||||
jenkinslog.Info("Initializing/Updating the plugin data cache")
|
||||
var err error
|
||||
for in.Attempts = 0; in.Attempts < 5; in.Attempts++ {
|
||||
err = in.download()
|
||||
if err != nil {
|
||||
jenkinslog.V(log.VDebug).Info("Cache Plugin Data", "failed to download file", err)
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for in.Attempts = 0; in.Attempts < 5; in.Attempts++ {
|
||||
err = in.extract()
|
||||
if err != nil {
|
||||
jenkinslog.V(log.VDebug).Info("Cache Plugin Data", "failed to extract file", err)
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for in.Attempts = 0; in.Attempts < 5; in.Attempts++ {
|
||||
err = in.cache()
|
||||
if err != nil {
|
||||
jenkinslog.V(log.VDebug).Info("Cache Plugin Data", "failed to read plugin data file", err)
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (in *SecurityValidator) download() error {
|
||||
out, err := os.Create(CompressedFilePath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer out.Close()
|
||||
|
||||
req, err := http.NewRequest(http.MethodGet, Hosturl, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
|
||||
Client := http.Client{
|
||||
Timeout: 1 * time.Minute,
|
||||
}
|
||||
|
||||
response, err := Client.Do(req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer response.Body.Close()
|
||||
|
||||
_, err = io.Copy(out, response.Body)
|
||||
return err
|
||||
}
|
||||
|
||||
func (in *SecurityValidator) extract() error {
|
||||
reader, err := os.Open(CompressedFilePath)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer reader.Close()
|
||||
archive, err := gzip.NewReader(reader)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer archive.Close()
|
||||
writer, err := os.Create(PluginDataFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer writer.Close()
|
||||
|
||||
_, err = io.Copy(writer, archive)
|
||||
return err
|
||||
}
|
||||
|
||||
// Loads the JSON data into memory and stores it
|
||||
func (in *SecurityValidator) cache() error {
|
||||
jsonFile, err := os.Open(PluginDataFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer jsonFile.Close()
|
||||
byteValue, err := ioutil.ReadAll(jsonFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = json.Unmarshal(byteValue, &in.PluginDataCache)
|
||||
return err
|
||||
}
|
||||
|
||||
// returns a semantic version that can be used for comparison, allowed versioning format vMAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH
|
||||
func makeSemanticVersion(version string) string {
|
||||
if version[0] != 'v' {
|
||||
version = "v" + version
|
||||
}
|
||||
return semver.Canonical(version)
|
||||
}
|
||||
|
||||
// Compare if the current version lies between first version and last version
|
||||
func compareVersions(firstVersion string, lastVersion string, pluginVersion string) bool {
|
||||
firstSemVer := makeSemanticVersion(firstVersion)
|
||||
lastSemVer := makeSemanticVersion(lastVersion)
|
||||
pluginSemVer := makeSemanticVersion(pluginVersion)
|
||||
if semver.Compare(pluginSemVer, firstSemVer) == -1 || semver.Compare(pluginSemVer, lastSemVer) == 1 {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
|
@ -0,0 +1,177 @@
|
|||
package v1alpha2
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
func TestMakeSemanticVersion(t *testing.T) {
|
||||
t.Run("only major version specified", func(t *testing.T) {
|
||||
got := makeSemanticVersion("1")
|
||||
assert.Equal(t, got, "v1.0.0")
|
||||
})
|
||||
|
||||
t.Run("major and minor version specified", func(t *testing.T) {
|
||||
got := makeSemanticVersion("1.2")
|
||||
assert.Equal(t, got, "v1.2.0")
|
||||
})
|
||||
|
||||
t.Run("major,minor and patch version specified", func(t *testing.T) {
|
||||
got := makeSemanticVersion("1.2.3")
|
||||
assert.Equal(t, got, "v1.2.3")
|
||||
})
|
||||
|
||||
t.Run("semantic versions begin with a leading v and no patch version", func(t *testing.T) {
|
||||
got := makeSemanticVersion("v2.5")
|
||||
assert.Equal(t, got, "v2.5.0")
|
||||
})
|
||||
|
||||
t.Run("semantic versions with prerelease versions", func(t *testing.T) {
|
||||
got := makeSemanticVersion("2.1.2-alpha.1")
|
||||
assert.Equal(t, got, "v2.1.2-alpha.1")
|
||||
})
|
||||
|
||||
t.Run("semantic versions with prerelease versions", func(t *testing.T) {
|
||||
got := makeSemanticVersion("0.11.2-9.c8b45b8bb173")
|
||||
assert.Equal(t, got, "v0.11.2-9.c8b45b8bb173")
|
||||
})
|
||||
|
||||
t.Run("semantic versions with build suffix", func(t *testing.T) {
|
||||
got := makeSemanticVersion("1.7.9+meta")
|
||||
assert.Equal(t, got, "v1.7.9")
|
||||
})
|
||||
|
||||
t.Run("invalid semantic version", func(t *testing.T) {
|
||||
got := makeSemanticVersion("google-login-1.2")
|
||||
assert.Equal(t, got, "")
|
||||
})
|
||||
}
|
||||
|
||||
func TestCompareVersions(t *testing.T) {
|
||||
t.Run("Plugin Version lies between first and last version", func(t *testing.T) {
|
||||
got := compareVersions("1.2", "1.6", "1.4")
|
||||
assert.Equal(t, got, true)
|
||||
})
|
||||
t.Run("Plugin Version is greater than the last version", func(t *testing.T) {
|
||||
got := compareVersions("1", "2", "3")
|
||||
assert.Equal(t, got, false)
|
||||
})
|
||||
t.Run("Plugin Version is less than the first version", func(t *testing.T) {
|
||||
got := compareVersions("1.4", "2.5", "1.1")
|
||||
assert.Equal(t, got, false)
|
||||
})
|
||||
|
||||
t.Run("Plugins Versions have prerelease version and it lies between first and last version", func(t *testing.T) {
|
||||
got := compareVersions("1.2.1-alpha", "1.2.1", "1.2.1-beta")
|
||||
assert.Equal(t, got, true)
|
||||
})
|
||||
|
||||
t.Run("Plugins Versions have prerelease version and it is greater than the last version", func(t *testing.T) {
|
||||
got := compareVersions("v2.2.1-alpha", "v2.5.1-beta.1", "v2.5.1-beta.2")
|
||||
assert.Equal(t, got, false)
|
||||
})
|
||||
}
|
||||
|
||||
func TestValidate(t *testing.T) {
|
||||
t.Run("Validating when plugins data file is not fetched", func(t *testing.T) {
|
||||
userplugins := []Plugin{{Name: "script-security", Version: "1.77"}, {Name: "git-client", Version: "3.9"}, {Name: "git", Version: "4.8.1"}, {Name: "plain-credentials", Version: "1.7"}}
|
||||
jenkinscr := *createJenkinsCR(userplugins, true)
|
||||
got := jenkinscr.ValidateCreate()
|
||||
assert.Equal(t, got, errors.New("plugins data has not been fetched"))
|
||||
})
|
||||
|
||||
SecValidator.isCached = true
|
||||
t.Run("Validating a Jenkins CR with plugins not having security warnings and validation is turned on", func(t *testing.T) {
|
||||
SecValidator.PluginDataCache = PluginsInfo{Plugins: []PluginInfo{
|
||||
{Name: "security-script"},
|
||||
{Name: "git-client"},
|
||||
{Name: "git"},
|
||||
{Name: "google-login", SecurityWarnings: createSecurityWarnings("", "1.2")},
|
||||
{Name: "sample-plugin", SecurityWarnings: createSecurityWarnings("", "0.8")},
|
||||
{Name: "mailer"},
|
||||
{Name: "plain-credentials"}}}
|
||||
userplugins := []Plugin{{Name: "script-security", Version: "1.77"}, {Name: "git-client", Version: "3.9"}, {Name: "git", Version: "4.8.1"}, {Name: "plain-credentials", Version: "1.7"}}
|
||||
jenkinscr := *createJenkinsCR(userplugins, true)
|
||||
got := jenkinscr.ValidateCreate()
|
||||
assert.Nil(t, got)
|
||||
})
|
||||
|
||||
t.Run("Validating a Jenkins CR with some of the plugins having security warnings and validation is turned on", func(t *testing.T) {
|
||||
SecValidator.PluginDataCache = PluginsInfo{Plugins: []PluginInfo{
|
||||
{Name: "security-script", SecurityWarnings: createSecurityWarnings("1.2", "2.2")},
|
||||
{Name: "workflow-cps", SecurityWarnings: createSecurityWarnings("2.59", "")},
|
||||
{Name: "git-client"},
|
||||
{Name: "git"},
|
||||
{Name: "sample-plugin", SecurityWarnings: createSecurityWarnings("0.8", "")},
|
||||
{Name: "command-launcher", SecurityWarnings: createSecurityWarnings("1.2", "1.4")},
|
||||
{Name: "plain-credentials"},
|
||||
{Name: "google-login", SecurityWarnings: createSecurityWarnings("1.1", "1.3")},
|
||||
{Name: "mailer", SecurityWarnings: createSecurityWarnings("1.0.3", "1.1.4")},
|
||||
}}
|
||||
userplugins := []Plugin{{Name: "google-login", Version: "1.2"}, {Name: "mailer", Version: "1.1"}, {Name: "git", Version: "4.8.1"}, {Name: "command-launcher", Version: "1.6"}, {Name: "workflow-cps", Version: "2.59"}}
|
||||
jenkinscr := *createJenkinsCR(userplugins, true)
|
||||
got := jenkinscr.ValidateCreate()
|
||||
assert.Equal(t, got, errors.New("security vulnerabilities detected in the following user-defined plugins: \nworkflow-cps:2.59\ngoogle-login:1.2\nmailer:1.1"))
|
||||
})
|
||||
|
||||
t.Run("Updating a Jenkins CR with some of the plugins having security warnings and validation is turned on", func(t *testing.T) {
|
||||
SecValidator.PluginDataCache = PluginsInfo{Plugins: []PluginInfo{
|
||||
{Name: "handy-uri-templates-2-api", SecurityWarnings: createSecurityWarnings("2.1.8-1.0", "2.2.8-1.0")},
|
||||
{Name: "workflow-cps", SecurityWarnings: createSecurityWarnings("2.59", "")},
|
||||
{Name: "resource-disposer", SecurityWarnings: createSecurityWarnings("0.7", "1.2")},
|
||||
{Name: "git"},
|
||||
{Name: "jjwt-api"},
|
||||
{Name: "blueocean-github-pipeline", SecurityWarnings: createSecurityWarnings("1.2.0-alpha-2", "1.2.0-beta-5")},
|
||||
{Name: "command-launcher", SecurityWarnings: createSecurityWarnings("1.2", "1.4")},
|
||||
{Name: "plain-credentials"},
|
||||
{Name: "ghprb", SecurityWarnings: createSecurityWarnings("1.1", "1.43")},
|
||||
{Name: "mailer", SecurityWarnings: createSecurityWarnings("1.0.3", "1.1.4")},
|
||||
}}
|
||||
|
||||
userplugins := []Plugin{{Name: "google-login", Version: "1.2"}, {Name: "mailer", Version: "1.1"}, {Name: "git", Version: "4.8.1"}, {Name: "command-launcher", Version: "1.6"}, {Name: "workflow-cps", Version: "2.59"}}
|
||||
oldjenkinscr := *createJenkinsCR(userplugins, true)
|
||||
|
||||
userplugins = []Plugin{{Name: "handy-uri-templates-2-api", Version: "2.1.8-1.0"}, {Name: "resource-disposer", Version: "0.8"}, {Name: "jjwt-api", Version: "0.11.2-9.c8b45b8bb173"}, {Name: "blueocean-github-pipeline", Version: "1.2.0-beta-3"}, {Name: "ghprb", Version: "1.39"}}
|
||||
newjenkinscr := *createJenkinsCR(userplugins, true)
|
||||
got := newjenkinscr.ValidateUpdate(&oldjenkinscr)
|
||||
assert.Equal(t, got, errors.New("security vulnerabilities detected in the following user-defined plugins: \nhandy-uri-templates-2-api:2.1.8-1.0\nresource-disposer:0.8\nblueocean-github-pipeline:1.2.0-beta-3\nghprb:1.39"))
|
||||
})
|
||||
|
||||
t.Run("Validation is turned off", func(t *testing.T) {
|
||||
userplugins := []Plugin{{Name: "google-login", Version: "1.2"}, {Name: "mailer", Version: "1.1"}, {Name: "git", Version: "4.8.1"}, {Name: "command-launcher", Version: "1.6"}, {Name: "workflow-cps", Version: "2.59"}}
|
||||
jenkinscr := *createJenkinsCR(userplugins, false)
|
||||
got := jenkinscr.ValidateCreate()
|
||||
assert.Nil(t, got)
|
||||
|
||||
userplugins = []Plugin{{Name: "google-login", Version: "1.2"}, {Name: "mailer", Version: "1.1"}, {Name: "git", Version: "4.8.1"}, {Name: "command-launcher", Version: "1.6"}, {Name: "workflow-cps", Version: "2.59"}}
|
||||
newjenkinscr := *createJenkinsCR(userplugins, false)
|
||||
got = newjenkinscr.ValidateUpdate(&jenkinscr)
|
||||
assert.Nil(t, got)
|
||||
})
|
||||
}
|
||||
|
||||
func createJenkinsCR(userPlugins []Plugin, validateSecurityWarnings bool) *Jenkins {
|
||||
jenkins := &Jenkins{
|
||||
TypeMeta: JenkinsTypeMeta(),
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "jenkins",
|
||||
Namespace: "test",
|
||||
},
|
||||
Spec: JenkinsSpec{
|
||||
Master: JenkinsMaster{
|
||||
Plugins: userPlugins,
|
||||
DisableCSRFProtection: false,
|
||||
},
|
||||
ValidateSecurityWarnings: validateSecurityWarnings,
|
||||
},
|
||||
}
|
||||
|
||||
return jenkins
|
||||
}
|
||||
|
||||
func createSecurityWarnings(firstVersion string, lastVersion string) []Warning {
|
||||
return []Warning{{Versions: []Version{{FirstVersion: firstVersion, LastVersion: lastVersion}}, ID: "null", Message: "unit testing", URL: "null", Active: false}}
|
||||
}
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
//go:build !ignore_autogenerated
|
||||
// +build !ignore_autogenerated
|
||||
|
||||
/*
|
||||
|
|
@ -23,7 +24,7 @@ package v1alpha2
|
|||
import (
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
rbacv1 "k8s.io/api/rbac/v1"
|
||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
|
|
@ -356,6 +357,13 @@ func (in *JenkinsMaster) DeepCopyInto(out *JenkinsMaster) {
|
|||
*out = make([]Plugin, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.HostAliases != nil {
|
||||
in, out := &in.HostAliases, &out.HostAliases
|
||||
*out = make([]corev1.HostAlias, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsMaster.
|
||||
|
|
@ -528,6 +536,65 @@ func (in *Plugin) DeepCopy() *Plugin {
|
|||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PluginData) DeepCopyInto(out *PluginData) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginData.
|
||||
func (in *PluginData) DeepCopy() *PluginData {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PluginData)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PluginInfo) DeepCopyInto(out *PluginInfo) {
|
||||
*out = *in
|
||||
if in.SecurityWarnings != nil {
|
||||
in, out := &in.SecurityWarnings, &out.SecurityWarnings
|
||||
*out = make([]Warning, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginInfo.
|
||||
func (in *PluginInfo) DeepCopy() *PluginInfo {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PluginInfo)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PluginsInfo) DeepCopyInto(out *PluginsInfo) {
|
||||
*out = *in
|
||||
if in.Plugins != nil {
|
||||
in, out := &in.Plugins, &out.Plugins
|
||||
*out = make([]PluginInfo, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginsInfo.
|
||||
func (in *PluginsInfo) DeepCopy() *PluginsInfo {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PluginsInfo)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Restore) DeepCopyInto(out *Restore) {
|
||||
*out = *in
|
||||
|
|
@ -593,6 +660,22 @@ func (in *SecretRef) DeepCopy() *SecretRef {
|
|||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *SecurityValidator) DeepCopyInto(out *SecurityValidator) {
|
||||
*out = *in
|
||||
in.PluginDataCache.DeepCopyInto(&out.PluginDataCache)
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityValidator.
|
||||
func (in *SecurityValidator) DeepCopy() *SecurityValidator {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(SecurityValidator)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *SeedJob) DeepCopyInto(out *SeedJob) {
|
||||
*out = *in
|
||||
|
|
@ -679,3 +762,38 @@ func (in *Slack) DeepCopy() *Slack {
|
|||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Version) DeepCopyInto(out *Version) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Version.
|
||||
func (in *Version) DeepCopy() *Version {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Version)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Warning) DeepCopyInto(out *Warning) {
|
||||
*out = *in
|
||||
if in.Versions != nil {
|
||||
in, out := &in.Versions, &out.Versions
|
||||
*out = make([]Version, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Warning.
|
||||
func (in *Warning) DeepCopy() *Warning {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Warning)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,61 @@
|
|||
apiVersion: v1
|
||||
entries:
|
||||
jenkins-operator:
|
||||
- apiVersion: v2
|
||||
appVersion: 0.7.0
|
||||
created: "2021-12-08T14:21:18.243261+01:00"
|
||||
dependencies:
|
||||
- condition: webhook.enabled
|
||||
name: cert-manager
|
||||
repository: https://charts.jetstack.io
|
||||
version: 1.5.1
|
||||
description: Kubernetes native operator which fully manages Jenkins on Kubernetes
|
||||
digest: 6b36f47d6647231bd21581bea6b23c3660acb11073ebde2cb47f9a700101c462
|
||||
icon: https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/assets/jenkins-operator-icon.png
|
||||
name: jenkins-operator
|
||||
urls:
|
||||
- https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.6.0.tgz
|
||||
version: 0.6.0
|
||||
- apiVersion: v2
|
||||
appVersion: 0.6.0
|
||||
created: "2021-08-11T15:40:10.659538+02:00"
|
||||
description: Kubernetes native operator which fully manages Jenkins on Kubernetes
|
||||
digest: e79615d988cc0c0bb64996394268ff87d232797b72ab9ad9a7891e9999daee9f
|
||||
icon: https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/assets/jenkins-operator-icon.png
|
||||
name: jenkins-operator
|
||||
urls:
|
||||
- https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.5.3.tgz
|
||||
version: 0.5.3
|
||||
- apiVersion: v2
|
||||
appVersion: 0.6.0
|
||||
created: "2021-06-11T13:50:32.677639006+02:00"
|
||||
description: Kubernetes native operator which fully manages Jenkins on Kubernetes
|
||||
digest: 48fbf15c3ffff7003623edcde0bec39dc37d0a62303f08066960d5fac799af90
|
||||
icon: https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/assets/jenkins-operator-icon.png
|
||||
name: jenkins-operator
|
||||
urls:
|
||||
- https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.5.2.tgz
|
||||
version: 0.5.2
|
||||
- apiVersion: v2
|
||||
appVersion: 0.6.0
|
||||
created: "2021-06-11T13:50:32.677639006+02:00"
|
||||
description: Kubernetes native operator which fully manages Jenkins on Kubernetes
|
||||
digest: 6f92759aaa7baafe5fe3a07f237b2c31b6921ca20cba145ee168c8fdb331d294
|
||||
icon: https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/assets/jenkins-operator-icon.png
|
||||
name: jenkins-operator
|
||||
urls:
|
||||
- https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.5.1.tgz
|
||||
version: 0.5.1
|
||||
- apiVersion: v2
|
||||
appVersion: 0.6.0
|
||||
created: "2021-06-11T13:50:32.697552742+02:00"
|
||||
description: Kubernetes native operator which fully manages Jenkins on Kubernetes
|
||||
digest: aae33e13b8fcab6957b8ded2a2ae08025db38e1d86bbec8f8d9595b9eb904df1
|
||||
icon: https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/assets/jenkins-operator-icon.png
|
||||
name: jenkins-operator
|
||||
urls:
|
||||
- https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.5.0.tgz
|
||||
version: 0.5.0
|
||||
- apiVersion: v2
|
||||
appVersion: 0.5.0
|
||||
created: "2021-02-19T12:36:08.931516+01:00"
|
||||
|
|
@ -248,4 +303,4 @@ entries:
|
|||
urls:
|
||||
- https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.0.1.tgz
|
||||
version: 0.0.1
|
||||
generated: "2021-02-19T12:36:08.928123+01:00"
|
||||
generated: "2021-12-08T14:21:18.228218+01:00"
|
||||
|
|
|
|||
|
|
@ -20,3 +20,7 @@
|
|||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
|
||||
# Ignore packaged charts
|
||||
jenkins-operator-*.tgz
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
dependencies:
|
||||
- name: cert-manager
|
||||
repository: https://charts.jetstack.io
|
||||
version: v1.5.1
|
||||
digest: sha256:3220f5584bd04a8c8d4b2a076d49cc046211a463bb9a12ebbbae752be9b70bb1
|
||||
generated: "2021-08-18T01:07:49.505353718+05:30"
|
||||
|
|
@ -1,6 +1,11 @@
|
|||
apiVersion: v2
|
||||
appVersion: "0.5.0"
|
||||
appVersion: "0.7.0"
|
||||
description: Kubernetes native operator which fully manages Jenkins on Kubernetes
|
||||
name: jenkins-operator
|
||||
version: 0.4.3
|
||||
version: 0.6.0
|
||||
icon: https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/assets/jenkins-operator-icon.png
|
||||
dependencies:
|
||||
- name: cert-manager
|
||||
version: "1.5.1"
|
||||
condition: webhook.enabled
|
||||
repository: https://charts.jetstack.io
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,11 +1,13 @@
|
|||
{{ define "jenkins-operator.role" }}
|
||||
{{ $namespace := . }}
|
||||
---
|
||||
kind: Role
|
||||
kind: {{ if eq $namespace "" }}ClusterRole{{ else }}Role{{ end }}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
{{- if ne $namespace "" }}
|
||||
namespace: {{ $namespace }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- apps
|
||||
|
|
@ -171,4 +173,4 @@ rules:
|
|||
- get
|
||||
- list
|
||||
- watch
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ spec:
|
|||
name: {{ .Values.jenkins.configuration.secretRefName }}
|
||||
{{- else if .Values.jenkins.configuration.secretData }}
|
||||
name: jenkins-{{ .Values.jenkins.name }}
|
||||
{{- else }}
|
||||
name: ""
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
configurations: []
|
||||
|
|
@ -36,6 +38,8 @@ spec:
|
|||
name: {{ .Values.jenkins.configuration.secretRefName }}
|
||||
{{- else if .Values.jenkins.configuration.secretData }}
|
||||
name: jenkins-{{ .Values.jenkins.name }}
|
||||
{{- else }}
|
||||
name: ""
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
configurations: []
|
||||
|
|
@ -81,6 +85,9 @@ spec:
|
|||
{{- with .Values.jenkins.notifications }}
|
||||
notifications: {{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.jenkins.serviceAccount }}
|
||||
serviceAccount: {{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
master:
|
||||
{{- with .Values.jenkins.labels }}
|
||||
labels: {{ toYaml . | nindent 6 }}
|
||||
|
|
@ -95,18 +102,13 @@ spec:
|
|||
plugins: {{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.jenkins.priorityClassName }}
|
||||
priorityClassName: {{- .Values.jenkins.priorityClassName }}
|
||||
{{- else }}
|
||||
priorityClassName: ""
|
||||
priorityClassName: {{ .Values.jenkins.priorityClassName }}
|
||||
{{- end }}
|
||||
disableCSRFProtection: {{ .Values.jenkins.disableCSRFProtection }}
|
||||
containers:
|
||||
- name: jenkins-master
|
||||
image: {{ .Values.jenkins.image }}
|
||||
imagePullPolicy: {{ .Values.jenkins.imagePullPolicy }}
|
||||
{{- with .Values.jenkins.imagePullSecrets }}
|
||||
imagePullSecrets: {{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- with .Values.jenkins.livenessProbe }}
|
||||
livenessProbe: {{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
|
|
@ -139,10 +141,14 @@ spec:
|
|||
{{- with .Values.jenkins.volumes }}
|
||||
volumes: {{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.jenkins.imagePullSecrets }}
|
||||
imagePullSecrets: {{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.jenkins.securityContext}}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
validateSecurityWarnings: {{ .Values.jenkins.validateSecurityWarnings }}
|
||||
{{- with .Values.jenkins.seedJobs }}
|
||||
seedJobs: {{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,16 @@ spec:
|
|||
protocol: TCP
|
||||
command:
|
||||
- /manager
|
||||
args: []
|
||||
args:
|
||||
{{- if .Values.webhook.enabled }}
|
||||
- --validate-security-warnings
|
||||
{{- end }}
|
||||
{{- if .Values.webhook.enabled }}
|
||||
volumeMounts:
|
||||
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
||||
name: webhook-certs
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
value: {{ .Values.jenkins.namespace }}
|
||||
|
|
@ -55,3 +64,11 @@ spec:
|
|||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.webhook.enabled }}
|
||||
volumes:
|
||||
- name: webhook-certs
|
||||
secret:
|
||||
defaultMode: 420
|
||||
secretName: jenkins-{{ .Values.webhook.certificate.name }}
|
||||
terminationGracePeriodSeconds: 10
|
||||
{{- end }}
|
||||
|
|
@ -1,4 +1,15 @@
|
|||
{{ template "jenkins-operator.role" .Release.Namespace }}
|
||||
{{ if ne .Release.Namespace .Values.jenkins.namespace }}
|
||||
{{ template "jenkins-operator.role" .Values.jenkins.namespace }}
|
||||
{{ if eq .Values.jenkins.namespace "" }}
|
||||
{{- /*
|
||||
# This is a special case when .Values.jenkins.namespace is equal to empty
|
||||
# string which leads to WATCH_NAMESPACE env of jenkins-operator to be set to
|
||||
# empty string and leads to operator actually watching all namespaces. In this
|
||||
# case we need to create clusterrole and clusterrolebinding instead of role and
|
||||
# rolebinding
|
||||
*/ -}}
|
||||
{{- template "jenkins-operator.role" .Values.jenkins.namespace }}
|
||||
{{ else }}
|
||||
{{- template "jenkins-operator.role" .Release.Namespace }}
|
||||
{{- if ne .Release.Namespace .Values.jenkins.namespace -}}
|
||||
{{- template "jenkins-operator.role" .Values.jenkins.namespace }}
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
|
|
@ -1,3 +1,25 @@
|
|||
{{ if eq .Values.jenkins.namespace "" }}
|
||||
{{- /*
|
||||
# This is a special case when .Values.jenkins.namespace is equal to empty
|
||||
# string which leads to WATCH_NAMESPACE env of jenkins-operator to be set to
|
||||
# empty string and leads to operator actually watching all namespaces. In this
|
||||
# case we need to create clusterrole and clusterrolebinding instead of role and
|
||||
# rolebinding
|
||||
*/ -}}
|
||||
---
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: jenkins-operator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: jenkins-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
{{ else }}
|
||||
---
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
|
|
@ -27,4 +49,5 @@ roleRef:
|
|||
kind: Role
|
||||
name: jenkins-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
{{- if .Values.webhook.enabled }}
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: jenkins-{{ .Values.webhook.certificate.name }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
spec:
|
||||
duration: {{ .Values.webhook.certificate.duration }}
|
||||
renewBefore: {{ .Values.webhook.certificate.renewbefore }}
|
||||
secretName: jenkins-{{ .Values.webhook.certificate.name }}
|
||||
dnsNames:
|
||||
- jenkins-webhook-service.{{ .Release.Namespace }}.svc
|
||||
- jenkins-webhook-service.{{ .Release.Namespace }}.svc.cluster.local
|
||||
issuerRef:
|
||||
kind: Issuer
|
||||
name: selfsigned
|
||||
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: selfsigned
|
||||
namespace: {{ .Release.Namespace }}
|
||||
spec:
|
||||
selfSigned: {}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: jenkins-{{ .Values.webhook.certificate.name }}
|
||||
type: opaque
|
||||
|
||||
{{- end }}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{{- if .Values.webhook.enabled }}
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingWebhookConfiguration
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-webhook
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/jenkins-{{ .Values.webhook.certificate.name }}
|
||||
webhooks:
|
||||
- admissionReviewVersions:
|
||||
- v1
|
||||
- v1beta1
|
||||
clientConfig:
|
||||
service:
|
||||
name: jenkins-webhook-service
|
||||
namespace: {{ .Release.Namespace }}
|
||||
path: /validate-jenkins-io-v1alpha2-jenkins
|
||||
failurePolicy: Fail
|
||||
name: vjenkins.kb.io
|
||||
timeoutSeconds: 30
|
||||
rules:
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
apiVersions:
|
||||
- v1alpha2
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
resources:
|
||||
- jenkins
|
||||
scope: "Namespaced"
|
||||
sideEffects: None
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: jenkins-webhook-service
|
||||
namespace: {{ .Release.Namespace }}
|
||||
spec:
|
||||
ports:
|
||||
- port: 443
|
||||
targetPort: 9443
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "jenkins-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
---
|
||||
{{- end }}
|
||||
|
|
@ -18,6 +18,7 @@ jenkins:
|
|||
# namespace is the namespace where the resources will be deployed
|
||||
# It's not recommended to use default namespace
|
||||
# Create new namespace for jenkins (called e.g. jenkins)
|
||||
# Note: this affects roles and rolebindings for jenkins operator itself
|
||||
namespace: default
|
||||
|
||||
# labels are injected into metadata labels field
|
||||
|
|
@ -29,7 +30,7 @@ jenkins:
|
|||
# image is the name (and tag) of the Jenkins instance
|
||||
# Default: jenkins/jenkins:lts
|
||||
# It's recommended to use LTS (tag: "lts") version
|
||||
image: jenkins/jenkins:2.263.2-lts-alpine
|
||||
image: jenkins/jenkins:2.319.3-lts
|
||||
|
||||
# env contains jenkins container environment variables
|
||||
env: []
|
||||
|
|
@ -46,6 +47,10 @@ jenkins:
|
|||
# See https://github.com/jenkinsci/kubernetes-operator/pull/193 for more info
|
||||
disableCSRFProtection: false
|
||||
|
||||
|
||||
# validateSecurityWarnings enables or disables validating potential security warnings in Jenkins plugins via admission webhooks.
|
||||
validateSecurityWarnings: false
|
||||
|
||||
# imagePullSecrets is used if you want to pull images from private repository
|
||||
# See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#pulling-docker-images-from-private-repositories for more info
|
||||
imagePullSecrets: []
|
||||
|
|
@ -54,6 +59,11 @@ jenkins:
|
|||
# See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/ for more info
|
||||
notifications: []
|
||||
|
||||
# Enables customization of the Service Account attached to the master Jenkins instance via annotations
|
||||
# https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/schema/#github.com/jenkinsci/kubernetes-operator/api/v1alpha2.ServiceAccount
|
||||
serviceAccount:
|
||||
annotations: {}
|
||||
|
||||
# basePlugins are plugins installed and required by the operator
|
||||
# Shouldn't contain plugins defined by user
|
||||
# You can change their versions here
|
||||
|
|
@ -62,35 +72,21 @@ jenkins:
|
|||
# Example:
|
||||
#
|
||||
# basePlugins:
|
||||
# - name: configuration-as-code
|
||||
# version: "1346.ve8cfa_3473c94"
|
||||
# - name: git
|
||||
# version: 4.10.3
|
||||
# - name: job-dsl
|
||||
# version: "1.78.1"
|
||||
# - name: kubernetes
|
||||
# version: 1.29.2
|
||||
# - name: workflow-job
|
||||
# version: "2.40"
|
||||
# version: 1.31.3
|
||||
# - name: kubernetes-credentials-provider
|
||||
# version: 0.20
|
||||
# - name: workflow-aggregator
|
||||
# version: "2.6"
|
||||
# - name: git
|
||||
# version: 4.5.0
|
||||
# - name: job-dsl
|
||||
# version: "1.77"
|
||||
# - name: configuration-as-code
|
||||
# version: "1.47"
|
||||
# - name: kubernetes-credentials-provider
|
||||
# version: 0.15
|
||||
basePlugins:
|
||||
- name: kubernetes
|
||||
version: "1.29.2"
|
||||
- name: workflow-job
|
||||
version: "2.40"
|
||||
- name: workflow-aggregator
|
||||
version: "2.6"
|
||||
- name: git
|
||||
version: "4.5.0"
|
||||
- name: job-dsl
|
||||
version: "1.77"
|
||||
- name: configuration-as-code
|
||||
version: "1.47"
|
||||
- name: kubernetes-credentials-provider
|
||||
version: "0.15"
|
||||
# - name: workflow-job
|
||||
# version: "1145.v7f2433caa07f"
|
||||
basePlugins: []
|
||||
|
||||
# plugins are plugins required by the user
|
||||
# You can define plugins here
|
||||
|
|
@ -104,8 +100,7 @@ jenkins:
|
|||
plugins: []
|
||||
|
||||
# seedJobs is placeholder for jenkins seed jobs
|
||||
# For seed job creation tutorial, check https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#prepare-job-definitions-and-pipelines
|
||||
# See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs for additional info
|
||||
# For seed job creation tutorial, check https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/
|
||||
# Example:
|
||||
#
|
||||
# seedJobs:
|
||||
|
|
@ -120,10 +115,10 @@ jenkins:
|
|||
# See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ for details
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1500m
|
||||
cpu: 1000m
|
||||
memory: 3Gi
|
||||
requests:
|
||||
cpu: 1
|
||||
cpu: 250m
|
||||
memory: 500Mi
|
||||
|
||||
# volumes used by Jenkins
|
||||
|
|
@ -134,6 +129,9 @@ jenkins:
|
|||
claimName: jenkins-backup
|
||||
|
||||
# volumeMounts are mounts for Jenkins pod
|
||||
# Note that attempting to overwrite default mount settings for restricted,
|
||||
# non-configurable volumeMounts will result in Operator error
|
||||
# See https://jenkinsci.github.io/kubernetes-operator/docs/installation/#note-on-restricted-jenkins-controller-pod-volumemounts for details
|
||||
volumeMounts: []
|
||||
|
||||
# defines authorization strategy of the operator for the Jenkins API
|
||||
|
|
@ -150,29 +148,29 @@ jenkins:
|
|||
# slave Jenkins service
|
||||
# See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/schema/#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service for details
|
||||
#slaveService:
|
||||
|
||||
|
||||
# LivenessProbe for Jenkins Master pod
|
||||
livenessProbe:
|
||||
failureThreshold: 12
|
||||
failureThreshold: 20
|
||||
httpGet:
|
||||
path: /login
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 80
|
||||
initialDelaySeconds: 100
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
timeoutSeconds: 8
|
||||
# ReadinessProbe for Jenkins Master pod
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
failureThreshold: 60
|
||||
httpGet:
|
||||
path: /login
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 30
|
||||
initialDelaySeconds: 120
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
timeoutSeconds: 8
|
||||
|
||||
# backup is section for configuring operator's backup feature
|
||||
# By default backup feature is enabled and pre-configured
|
||||
|
|
@ -222,11 +220,11 @@ jenkins:
|
|||
# resources used by backup container
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1500m
|
||||
memory: 1Gi
|
||||
cpu: 1000m
|
||||
memory: 2Gi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
memory: 500Mi
|
||||
|
||||
# env contains container environment variables
|
||||
# PVC backup provider handles these variables:
|
||||
|
|
@ -269,7 +267,7 @@ operator:
|
|||
replicaCount: 1
|
||||
|
||||
# image is the name (and tag) of the Jenkins Operator image
|
||||
image: virtuslab/jenkins-operator:v0.5.0
|
||||
image: virtuslab/jenkins-operator:v0.7.0
|
||||
|
||||
# imagePullPolicy defines policy for pulling images
|
||||
imagePullPolicy: IfNotPresent
|
||||
|
|
@ -287,3 +285,22 @@ operator:
|
|||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
|
||||
webhook:
|
||||
# TLS certificates for webhook
|
||||
certificate:
|
||||
name: webhook-certificate
|
||||
|
||||
# validity of the certificate
|
||||
duration: 2160h
|
||||
|
||||
# time after which the certificate will be automatically renewed
|
||||
renewbefore: 360h
|
||||
# enable or disable the validation webhook
|
||||
enabled: false
|
||||
|
||||
# This startupapicheck is a Helm post-install hook that waits for the webhook
|
||||
# endpoints to become available.
|
||||
cert-manager:
|
||||
startupapicheck:
|
||||
enabled: false
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
KUBERNETES_PROVIDER=docker-desktop
|
||||
|
||||
KUBECTL_CONTEXT=docker-desktop
|
||||
|
||||
JENKINS_API_HOSTNAME_COMMAND=echo localhost
|
||||
JENKINS_API_PORT=0
|
||||
JENKINS_API_USE_NODEPORT=true
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
KUBERNETES_PROVIDER=minikube
|
||||
|
||||
MINIKUBE_KUBERNETES_VERSION=v1.17.4
|
||||
MINIKUBE_KUBERNETES_VERSION=v1.21.1
|
||||
MINIKUBE_DRIVER=virtualbox
|
||||
MINIKUBE_VERSION=1.17.1
|
||||
MINIKUBE_VERSION=1.21.0
|
||||
KUBECTL_CONTEXT=minikube
|
||||
|
||||
JENKINS_API_HOSTNAME_COMMAND=bin/minikube ip
|
||||
|
|
|
|||
|
|
@ -1,284 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
---
|
||||
# permissions to do leader election.
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: leader-election-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- coordination.k8s.io
|
||||
resources:
|
||||
- configmaps
|
||||
- leases
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- patch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: leader-election-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: leader-election-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: jenkins-operator
|
||||
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: jenkins-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- daemonsets
|
||||
- deployments
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
- jenkins-operator
|
||||
resources:
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- build.openshift.io
|
||||
resources:
|
||||
- buildconfigs
|
||||
- builds
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- secrets
|
||||
- services
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/portforward
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- image.openshift.io
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- rolebindings
|
||||
- roles
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "route.openshift.io"
|
||||
resources:
|
||||
- routes
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "image.openshift.io"
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "build.openshift.io"
|
||||
resources:
|
||||
- builds
|
||||
- buildconfigs
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: jenkins-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: jenkins-operator
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
control-plane: controller-manager
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
serviceAccountName: jenkins-operator
|
||||
securityContext:
|
||||
runAsUser: 65532
|
||||
containers:
|
||||
- command:
|
||||
- /manager
|
||||
args:
|
||||
- --leader-elect
|
||||
image: virtuslab/jenkins-operator:v0.5.0
|
||||
name: jenkins-operator
|
||||
imagePullPolicy: IfNotPresent
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8081
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 20
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: 8081
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 30Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 20Mi
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
terminationGracePeriodSeconds: 10
|
||||
|
|
@ -157,11 +157,11 @@ spec:
|
|||
type: object
|
||||
basePlugins:
|
||||
description: 'BasePlugins contains plugins required by operator
|
||||
Defaults to : - name: kubernetes version: "1.28.6" - name: workflow-job
|
||||
version: "2.40" - name: workflow-aggregator version: "2.6" -
|
||||
name: git version: "4.5.0" - name: job-dsl version: "1.77" -
|
||||
name: configuration-as-code version: "1.46" - name: kubernetes-credentials-provider
|
||||
version: "0.15"'
|
||||
Defaults to : - name: kubernetes version: "1.31.3" - name:
|
||||
workflow-job version: "1145.v7f2433caa07f" - name: workflow-aggregator version:
|
||||
"2.6" - name: git version: "4.10.3" - name: job-dsl version:
|
||||
"1.78.1" - name: configuration-as-code version: "1346.ve8cfa_3473c94" - name:
|
||||
kubernetes-credentials-provider version: "0.20"'
|
||||
items:
|
||||
description: Plugin defines Jenkins plugin.
|
||||
properties:
|
||||
|
|
@ -1104,6 +1104,22 @@ spec:
|
|||
description: DisableCSRFProtection allows you to toggle CSRF Protection
|
||||
on Jenkins
|
||||
type: boolean
|
||||
hostAliases:
|
||||
description: HostAliases for Jenkins master pod and SeedJob agent
|
||||
items:
|
||||
description: HostAlias holds the mapping between IP and hostnames
|
||||
that will be injected as an entry in the pod's hosts file.
|
||||
properties:
|
||||
hostnames:
|
||||
description: Hostnames for the above IP address.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
ip:
|
||||
description: IP address of the host file entry.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
imagePullSecrets:
|
||||
description: 'ImagePullSecrets is an optional list of references
|
||||
to secrets in the same namespace to use for pulling any of the
|
||||
|
|
@ -3316,6 +3332,10 @@ spec:
|
|||
More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types'
|
||||
type: string
|
||||
type: object
|
||||
validateSecurityWarnings:
|
||||
description: ValidateSecurityWarnings enables or disables validating
|
||||
potential security warnings in Jenkins plugins via admission webhooks.
|
||||
type: boolean
|
||||
required:
|
||||
- jenkinsAPISettings
|
||||
- master
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
namespace: default
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
|
|
@ -24,7 +23,7 @@ spec:
|
|||
- /manager
|
||||
args:
|
||||
- --leader-elect
|
||||
image: virtuslab/jenkins-operator:v0.5.0
|
||||
image: virtuslab/jenkins-operator:v0.7.0
|
||||
name: jenkins-operator
|
||||
imagePullPolicy: IfNotPresent
|
||||
securityContext:
|
||||
|
|
|
|||
|
|
@ -9,5 +9,4 @@ roleRef:
|
|||
name: leader-election-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: default
|
||||
namespace: default
|
||||
name: jenkins-operator
|
||||
|
|
|
|||
|
|
@ -3,170 +3,164 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: jenkins-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- daemonsets
|
||||
- deployments
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
- jenkins-operator
|
||||
resources:
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- build.openshift.io
|
||||
resources:
|
||||
- buildconfigs
|
||||
- builds
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- secrets
|
||||
- services
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/portforward
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- image.openshift.io
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- rolebindings
|
||||
- roles
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "route.openshift.io"
|
||||
resources:
|
||||
- routes
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "image.openshift.io"
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "build.openshift.io"
|
||||
resources:
|
||||
- builds
|
||||
- buildconfigs
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- daemonsets
|
||||
- deployments
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
- jenkins-operator
|
||||
resources:
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- build.openshift.io
|
||||
resources:
|
||||
- buildconfigs
|
||||
- builds
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- secrets
|
||||
- services
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/portforward
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- image.openshift.io
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- rolebindings
|
||||
- roles
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- route.openshift.io
|
||||
resources:
|
||||
- routes
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
apiVersion: jenkins.io/v1alpha2
|
||||
kind: Jenkins
|
||||
metadata:
|
||||
|
|
@ -18,7 +19,7 @@ spec:
|
|||
disableCSRFProtection: false
|
||||
containers:
|
||||
- name: jenkins-master
|
||||
image: jenkins/jenkins:2.263.3-lts-alpine
|
||||
image: jenkins/jenkins:2.319.1-lts-alpine
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 12
|
||||
|
|
@ -52,4 +53,4 @@ spec:
|
|||
targets: "cicd/jobs/*.jenkins"
|
||||
description: "Jenkins Operator repository"
|
||||
repositoryBranch: master
|
||||
repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
|
||||
repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
|
||||
|
|
@ -3,4 +3,3 @@ apiVersion: v1
|
|||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
namespace: default
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingWebhookConfiguration
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: validating-webhook-configuration
|
||||
webhooks:
|
||||
- admissionReviewVersions:
|
||||
- v1
|
||||
- v1beta1
|
||||
clientConfig:
|
||||
service:
|
||||
name: webhook-service
|
||||
namespace: system
|
||||
path: /validate-jenkins-io-jenkins-io-v1alpha2-jenkins
|
||||
failurePolicy: Fail
|
||||
name: vjenkins.kb.io
|
||||
rules:
|
||||
- apiGroups:
|
||||
- jenkins.io.jenkins.io
|
||||
apiVersions:
|
||||
- v1alpha2
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
resources:
|
||||
- jenkins
|
||||
sideEffects: None
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: webhook-service
|
||||
namespace: system
|
||||
spec:
|
||||
ports:
|
||||
- port: 443
|
||||
targetPort: 9443
|
||||
selector:
|
||||
control-plane: controller-manager
|
||||
|
|
@ -388,7 +388,7 @@ func (r *JenkinsReconciler) setDefaults(jenkins *v1alpha2.Jenkins) (requeue bool
|
|||
changed = true
|
||||
jenkinsContainer.Env = append(jenkinsContainer.Env, corev1.EnvVar{
|
||||
Name: constants.JavaOpsVariableName,
|
||||
Value: "-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 -Djenkins.install.runSetupWizard=false -Djava.awt.headless=true",
|
||||
Value: "-XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=80.0 -Djenkins.install.runSetupWizard=false -Djava.awt.headless=true",
|
||||
})
|
||||
}
|
||||
if len(jenkins.Spec.Master.BasePlugins) == 0 {
|
||||
|
|
|
|||
|
|
@ -4,165 +4,275 @@ kind: ServiceAccount
|
|||
metadata:
|
||||
name: jenkins-operator
|
||||
---
|
||||
kind: Role
|
||||
# permissions to do leader election.
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: leader-election-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- coordination.k8s.io
|
||||
resources:
|
||||
- configmaps
|
||||
- leases
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- patch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: leader-election-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: leader-election-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: jenkins-operator
|
||||
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
- configmaps
|
||||
- secrets
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- get
|
||||
- create
|
||||
- update
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- deployments
|
||||
- daemonsets
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- roles
|
||||
- rolebindings
|
||||
verbs:
|
||||
- create
|
||||
- update
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/portforward
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- "*"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- watch
|
||||
- list
|
||||
- create
|
||||
- patch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resourceNames:
|
||||
- jenkins-operator
|
||||
resources:
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "route.openshift.io"
|
||||
resources:
|
||||
- routes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- apiGroups:
|
||||
- "image.openshift.io"
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "build.openshift.io"
|
||||
resources:
|
||||
- builds
|
||||
- buildconfigs
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- daemonsets
|
||||
- deployments
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
- jenkins-operator
|
||||
resources:
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- build.openshift.io
|
||||
resources:
|
||||
- buildconfigs
|
||||
- builds
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- secrets
|
||||
- services
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/portforward
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- image.openshift.io
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- jenkins/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- rolebindings
|
||||
- roles
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- route.openshift.io
|
||||
resources:
|
||||
- routes
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
---
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: manager-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: jenkins-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: jenkins-operator
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: jenkins-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: jenkins-operator
|
||||
control-plane: controller-manager
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: jenkins-operator
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
serviceAccountName: jenkins-operator
|
||||
securityContext:
|
||||
runAsUser: 65532
|
||||
containers:
|
||||
- name: jenkins-operator
|
||||
image: virtuslab/jenkins-operator:v0.5.0
|
||||
command:
|
||||
- jenkins-operator
|
||||
args: []
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: OPERATOR_NAME
|
||||
value: "jenkins-operator"
|
||||
- command:
|
||||
- /manager
|
||||
args:
|
||||
- --leader-elect
|
||||
image: virtuslab/jenkins-operator:v0.7.0
|
||||
name: jenkins-operator
|
||||
imagePullPolicy: IfNotPresent
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8081
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 20
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: 8081
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 30Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 20Mi
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
terminationGracePeriodSeconds: 10
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: jenkins-webhook-certificate
|
||||
namespace: default
|
||||
spec:
|
||||
duration: 2160h
|
||||
renewBefore: 360h
|
||||
secretName: jenkins-webhook-certificate
|
||||
dnsNames:
|
||||
- jenkins-webhook-service.default.svc
|
||||
- jenkins-webhook-service.default.svc.cluster.local
|
||||
issuerRef:
|
||||
kind: Issuer
|
||||
name: selfsigned
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: selfsigned
|
||||
namespace: default
|
||||
spec:
|
||||
selfSigned: {}
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingWebhookConfiguration
|
||||
metadata:
|
||||
name: jenkins-webhook
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: default/jenkins-webhook-certificate
|
||||
webhooks:
|
||||
- admissionReviewVersions:
|
||||
- v1
|
||||
- v1beta1
|
||||
clientConfig:
|
||||
service:
|
||||
name: jenkins-webhook-service
|
||||
namespace: default
|
||||
path: /validate-jenkins-io-v1alpha2-jenkins
|
||||
failurePolicy: Fail
|
||||
name: vjenkins.kb.io
|
||||
timeoutSeconds: 30
|
||||
rules:
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
apiVersions:
|
||||
- v1alpha2
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
resources:
|
||||
- jenkins
|
||||
scope: "Namespaced"
|
||||
sideEffects: None
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: jenkins-webhook-service
|
||||
namespace: default
|
||||
spec:
|
||||
ports:
|
||||
- port: 443
|
||||
targetPort: 9443
|
||||
selector:
|
||||
control-plane: controller-manager
|
||||
---
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: jenkins-webhook-certificate
|
||||
namespace: default
|
||||
spec:
|
||||
duration: 2160h
|
||||
renewBefore: 360h
|
||||
secretName: jenkins-webhook-certificate
|
||||
dnsNames:
|
||||
- jenkins-webhook-service.default.svc
|
||||
- jenkins-webhook-service.default.svc.cluster.local
|
||||
issuerRef:
|
||||
kind: Issuer
|
||||
name: selfsigned
|
||||
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: selfsigned
|
||||
namespace: default
|
||||
spec:
|
||||
selfSigned: {}
|
||||
|
|
@ -151,10 +151,10 @@ spec:
|
|||
type: object
|
||||
basePlugins:
|
||||
description: 'BasePlugins contains plugins required by operator
|
||||
Defaults to : - name: kubernetes version: 1.15.7 - name: workflow-job
|
||||
Defaults to : - name: kubernetes version: 1.29.6 - name: workflow-job
|
||||
version: "2.39" - name: workflow-aggregator version: "2.6" - name:
|
||||
git version: 3.10.0 - name: job-dsl version: "1.74" - name: configuration-as-code
|
||||
version: "1.19" - name: kubernetes-credentials-provider version: 0.12.1'
|
||||
git version: 4.7.2 - name: job-dsl version: "1.74" - name: configuration-as-code
|
||||
version: "1.51" - name: kubernetes-credentials-provider version: 0.18-1'
|
||||
items:
|
||||
description: Plugin defines Jenkins plugin
|
||||
properties:
|
||||
|
|
|
|||
|
|
@ -1,85 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: jenkinsimages.jenkins.io
|
||||
spec:
|
||||
group: jenkins.io
|
||||
names:
|
||||
kind: JenkinsImage
|
||||
listKind: JenkinsImageList
|
||||
plural: jenkinsimages
|
||||
singular: jenkinsimage
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: JenkinsImage is the Schema for the jenkinsimages API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: JenkinsImageSpec defines the desired state of JenkinsImage
|
||||
properties:
|
||||
image:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
plugins:
|
||||
items:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- image
|
||||
- plugins
|
||||
type: object
|
||||
status:
|
||||
description: JenkinsImageStatus defines the observed state of JenkinsImage
|
||||
properties:
|
||||
image:
|
||||
type: string
|
||||
installedPlugins:
|
||||
items:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
md5sum:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
version: v1alpha2
|
||||
versions:
|
||||
- name: v1alpha2
|
||||
served: true
|
||||
storage: true
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
apiVersion: jenkins.io/v1alpha2
|
||||
kind: Jenkins
|
||||
metadata:
|
||||
name: example
|
||||
spec:
|
||||
master:
|
||||
containers:
|
||||
- name: jenkins-master
|
||||
image: jenkins/jenkins:2.263.2-lts-alpine
|
||||
seedJobs:
|
||||
- id: jenkins-operator
|
||||
targets: "cicd/jobs/*.jenkins"
|
||||
description: "Jenkins Operator repository"
|
||||
repositoryBranch: master
|
||||
repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: jenkins.jenkins.io
|
||||
spec:
|
||||
group: jenkins.io
|
||||
names:
|
||||
kind: Jenkins
|
||||
listKind: JenkinsList
|
||||
plural: jenkins
|
||||
singular: jenkins
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name : v1alpha2
|
||||
served: true
|
||||
storage: true
|
||||
- name : v1alpha1
|
||||
served: true
|
||||
storage: false
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: jenkinsimages.jenkins.io
|
||||
spec:
|
||||
group: jenkins.io
|
||||
names:
|
||||
kind: JenkinsImage
|
||||
listKind: JenkinsImageList
|
||||
plural: jenkinsimages
|
||||
singular: jenkinsimage
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: JenkinsImage is the Schema for the jenkinsimages API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: JenkinsImageSpec defines the desired state of JenkinsImage
|
||||
properties:
|
||||
image:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
plugins:
|
||||
items:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- image
|
||||
- plugins
|
||||
type: object
|
||||
status:
|
||||
description: JenkinsImageStatus defines the observed state of JenkinsImage
|
||||
properties:
|
||||
image:
|
||||
type: string
|
||||
installedPlugins:
|
||||
items:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
md5sum:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
version: v1alpha2
|
||||
versions:
|
||||
- name: v1alpha2
|
||||
served: true
|
||||
storage: true
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
apiVersion: jenkins.io/v1alpha2
|
||||
kind: JenkinsImage
|
||||
metadata:
|
||||
name: simple-jenkinsimage
|
||||
spec:
|
||||
image:
|
||||
name: jenkins/jenkins
|
||||
tag: 2.263.1-lts-alpine
|
||||
plugins:
|
||||
- name: kubernetes
|
||||
version: "1.28.6"
|
||||
- name: workflow-job
|
||||
version: "2.40"
|
||||
- name: workflow-aggregator
|
||||
version: "2.6"
|
||||
- name: git
|
||||
version: "4.5.0"
|
||||
- name: job-dsl
|
||||
version: "1.77"
|
||||
- name: configuration-as-code
|
||||
version: "1.46"
|
||||
- name: kubernetes-credentials-provider
|
||||
version: "0.15"
|
||||
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: jenkinsimages.jenkins.io
|
||||
spec:
|
||||
group: jenkins.io
|
||||
names:
|
||||
kind: JenkinsImage
|
||||
listKind: JenkinsImageList
|
||||
plural: jenkinsimages
|
||||
singular: jenkinsimage
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: JenkinsImage is the Schema for the jenkinsimages API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: JenkinsImageSpec defines the desired state of JenkinsImage
|
||||
properties:
|
||||
image:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
plugins:
|
||||
items:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- image
|
||||
- plugins
|
||||
type: object
|
||||
status:
|
||||
description: JenkinsImageStatus defines the observed state of JenkinsImage
|
||||
properties:
|
||||
image:
|
||||
type: string
|
||||
installedPlugins:
|
||||
items:
|
||||
description: Defines Jenkins Plugin structure
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
md5sum:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
version: v1alpha2
|
||||
versions:
|
||||
- name: v1alpha2
|
||||
served: true
|
||||
storage: true
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
apiVersion: jenkins.io/v1alpha2
|
||||
kind: Jenkins
|
||||
metadata:
|
||||
annotations:
|
||||
jenkins.io/openshift-mode: 'true'
|
||||
name: jenkins
|
||||
spec:
|
||||
master:
|
||||
containers:
|
||||
- name: jenkins-master
|
||||
command:
|
||||
- /usr/bin/go-init
|
||||
- '-main'
|
||||
- /usr/libexec/s2i/run
|
||||
env:
|
||||
- name: OPENSHIFT_ENABLE_OAUTH
|
||||
value: 'true'
|
||||
- name: OPENSHIFT_ENABLE_REDIRECT_PROMPT
|
||||
value: 'true'
|
||||
- name: DISABLE_ADMINISTRATIVE_MONITORS
|
||||
value: 'false'
|
||||
- name: KUBERNETES_MASTER
|
||||
value: 'https://kubernetes.default:443'
|
||||
- name: KUBERNETES_TRUST_CERTIFICATES
|
||||
value: 'true'
|
||||
- name: JENKINS_SERVICE_NAME
|
||||
value: jenkins-operator-http-jenkins
|
||||
- name: JNLP_SERVICE_NAME
|
||||
value: jenkins-operator-slave-jenkins
|
||||
- name: JENKINS_UC_INSECURE
|
||||
value: 'false'
|
||||
- name: JENKINS_HOME
|
||||
value: /var/lib/jenkins
|
||||
- name: JAVA_OPTS
|
||||
value: >-
|
||||
-XX:+UnlockExperimentalVMOptions -XX:+UnlockExperimentalVMOptions
|
||||
-XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1
|
||||
-Djenkins.install.runSetupWizard=false -Djava.awt.headless=true
|
||||
image: 'quay.io/openshift/origin-jenkins:latest'
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /login
|
||||
port: 8080
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 420
|
||||
periodSeconds: 360
|
||||
timeoutSeconds: 240
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /login
|
||||
port: 8080
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 3
|
||||
periodSeconds: 0
|
||||
timeoutSeconds: 240
|
||||
resources:
|
||||
limits:
|
||||
cpu: 600m
|
||||
memory: 4Gi
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 3Gi
|
||||
service:
|
||||
port: 8080
|
||||
type: ClusterIP
|
||||
slaveService:
|
||||
port: 50000
|
||||
type: ClusterIP
|
||||
serviceAccount:
|
||||
annotations:
|
||||
serviceaccounts.openshift.io/oauth-redirectreference.jenkins: '{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"jenkins-operator"}}'
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,20 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: jenkins.jenkins.io
|
||||
spec:
|
||||
group: jenkins.io
|
||||
names:
|
||||
kind: Jenkins
|
||||
listKind: JenkinsList
|
||||
plural: jenkins
|
||||
singular: jenkins
|
||||
scope: Namespaced
|
||||
version: v1alpha2
|
||||
versions:
|
||||
- name : v1alpha2
|
||||
served: true
|
||||
storage: true
|
||||
- name : v1alpha1
|
||||
served: true
|
||||
storage: false
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,20 +0,0 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: jenkins.jenkins.io
|
||||
spec:
|
||||
group: jenkins.io
|
||||
names:
|
||||
kind: Jenkins
|
||||
listKind: JenkinsList
|
||||
plural: jenkins
|
||||
singular: jenkins
|
||||
scope: Namespaced
|
||||
version: v1alpha2
|
||||
versions:
|
||||
- name : v1alpha2
|
||||
served: true
|
||||
storage: true
|
||||
- name : v1alpha1
|
||||
served: true
|
||||
storage: false
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
channels:
|
||||
- currentCSV: jenkins-operator.v0.3.0
|
||||
name: alpha
|
||||
defaultChannel: alpha
|
||||
packageName: jenkins-operator
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: jenkins-operator
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: jenkins-operator
|
||||
spec:
|
||||
serviceAccountName: jenkins-operator
|
||||
containers:
|
||||
- name: jenkins-operator
|
||||
image: virtuslab/jenkins-operator:v0.5.0
|
||||
command:
|
||||
- jenkins-operator
|
||||
args: []
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: OPERATOR_NAME
|
||||
value: "jenkins-operator"
|
||||
117
deploy/role.yaml
117
deploy/role.yaml
|
|
@ -1,117 +0,0 @@
|
|||
---
|
||||
kind: Role
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
- configmaps
|
||||
- secrets
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- get
|
||||
- create
|
||||
- update
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- deployments
|
||||
- daemonsets
|
||||
- replicasets
|
||||
- statefulsets
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- roles
|
||||
- rolebindings
|
||||
verbs:
|
||||
- create
|
||||
- update
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/portforward
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- "*"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- watch
|
||||
- list
|
||||
- create
|
||||
- patch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resourceNames:
|
||||
- jenkins-operator
|
||||
resources:
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "route.openshift.io"
|
||||
resources:
|
||||
- routes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- apiGroups:
|
||||
- "image.openshift.io"
|
||||
resources:
|
||||
- imagestreams
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- "build.openshift.io"
|
||||
resources:
|
||||
- builds
|
||||
- buildconfigs
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
---
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: jenkins-operator
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: jenkins-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: jenkins-operator
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingWebhookConfiguration
|
||||
metadata:
|
||||
name: jenkins-webhook
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: default/jenkins-webhook-certificate
|
||||
webhooks:
|
||||
- admissionReviewVersions:
|
||||
- v1
|
||||
- v1beta1
|
||||
clientConfig:
|
||||
service:
|
||||
name: jenkins-webhook-service
|
||||
namespace: default
|
||||
path: /validate-jenkins-io-v1alpha2-jenkins
|
||||
failurePolicy: Fail
|
||||
name: vjenkins.kb.io
|
||||
timeoutSeconds: 30
|
||||
rules:
|
||||
- apiGroups:
|
||||
- jenkins.io
|
||||
apiVersions:
|
||||
- v1alpha2
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
resources:
|
||||
- jenkins
|
||||
scope: "Namespaced"
|
||||
sideEffects: None
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: jenkins-webhook-service
|
||||
namespace: default
|
||||
spec:
|
||||
ports:
|
||||
- port: 443
|
||||
targetPort: 9443
|
||||
selector:
|
||||
name: jenkins-operator
|
||||
---
|
||||
|
||||
|
|
@ -104,20 +104,18 @@ Jenkins Operator is a Kubernetes native operator which fully manages Jenkins on
|
|||
<img src="/kubernetes-operator/img/logo.svg" style="height: 75%; margin-left: -75%; margin-top: 50%;" alt="Logo"/>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-8 order-xs-2 order-sm-2 order-md-2">
|
||||
<h1>The main reason why we decided to write the <b>jenkins-operator</b> is the fact that we faced a lot of problems with standard Jenkins deployment. We want to make Jenkins more robust, suitable for dynamic and multi-tenant environments.</h1>
|
||||
<h1>The main reason why we decided to develop the <b>Jenkins Operator</b> is the fact that we faced a lot of problems with standard Jenkins deployment. We want to make Jenkins more robust, suitable for dynamic and multi-tenant environments.</h1>
|
||||
<p class="lead mt-2">
|
||||
<br />
|
||||
Some of the problems we want to solve:
|
||||
<ul>
|
||||
<li>Volumes handling (AWS EBS volume attach/detach issue when using PVC)</li>
|
||||
<li>Installing plugins with incompatible versions or security vulnerabilities</li>
|
||||
<li>Better configuration as code</li>
|
||||
<li>Lack of end to end tests</li>
|
||||
<li>Handle graceful shutdown properly</li>
|
||||
<li>Handling graceful shutdown properly</li>
|
||||
<li>Security and hardening out of the box</li>
|
||||
<li>Orphaned jobs with no jnlp connection</li>
|
||||
<li>Make errors more visible for end users</li>
|
||||
<li>Backup and restore for jobs history</li>
|
||||
<li>Making errors more visible for end users</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
|
|
|||
|
|
@ -202,10 +202,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/blog/releases/in-depth-monoliths-detailed-spec.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Another%20Great%20Release" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Another%20Great%20Release" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -202,10 +202,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/blog/news/first-post/index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Easy%20documentation%20with%20Docsy" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Easy%20documentation%20with%20Docsy" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -202,10 +202,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/blog/news/second-post.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=The%20second%20blog%20post" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=The%20second%20blog%20post" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -117,10 +117,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/blog/news/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">News</a>
|
||||
<a href="/kubernetes-operator/blog/news/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">News</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-blog-news">
|
||||
<li class="collapse " id="kubernetes-operator-blog-news">
|
||||
|
||||
|
||||
|
||||
|
|
@ -152,10 +152,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/blog/releases/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Releases</a>
|
||||
<a href="/kubernetes-operator/blog/releases/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Releases</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-blog-releases">
|
||||
<li class="collapse " id="kubernetes-operator-blog-releases">
|
||||
|
||||
|
||||
|
||||
|
|
@ -192,10 +192,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/blog/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Docsy%20Blog" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Docsy%20Blog" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -192,10 +192,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/blog/news/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=News%20About%20Docsy" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=News%20About%20Docsy" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -192,10 +192,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/blog/releases/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=New%20Releases" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=New%20Releases" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/" />
|
||||
<meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta property="og:updated_time" content="2021-10-20T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Developer Guide">
|
||||
<meta itemprop="description" content="Jenkins Operator for developers
|
||||
"><meta name="twitter:card" content="summary"/>
|
||||
|
|
@ -118,52 +118,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -218,7 +172,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -228,25 +182,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -258,13 +230,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -276,12 +242,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -301,71 +261,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -548,77 +597,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -688,6 +666,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -727,17 +776,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -750,10 +799,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse show" id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -763,6 +812,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -790,10 +856,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Developer%20Guide/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Developer%20Guide" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Developer%20Guide" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -808,20 +874,20 @@
|
|||
<ul>
|
||||
<li><a href="#prerequisites">Prerequisites</a></li>
|
||||
<li><a href="#clone-repository-and-download-dependencies">Clone repository and download dependencies</a></li>
|
||||
<li><a href="#build-and-run-with-a-minikube">Build and run with a minikube</a>
|
||||
<li><a href="#build-and-run-with-a-minikube">Build and run with a minikube</a></li>
|
||||
<li><a href="#build-and-run-with-docker-desktop">Build and run with Docker Desktop</a>
|
||||
<ul>
|
||||
<li><a href="#debug-jenkins-operator">Debug Jenkins Operator</a></li>
|
||||
<li><a href="#stop-or-delete-minikube-cluster">Stop or delete minikube cluster</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#build-and-run-with-a-remote-kubernetes-cluster">Build and run with a remote Kubernetes cluster</a></li>
|
||||
<li><a href="#testing">Testing</a>
|
||||
<ul>
|
||||
<li><a href="#running-e2e-tests">Running E2E tests</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#tips-tricks">Tips & Tricks</a>
|
||||
<ul>
|
||||
<li><a href="#building-docker-image-on-minikube-for-e2e-tests">Building docker image on minikube (for e2e tests)</a></li>
|
||||
<li><a href="#when-pkg-apis-jenkinsio-jenkins-types-go-has-changed">When <code>pkg/apis/jenkinsio/*/jenkins_types.go</code> has changed</a></li>
|
||||
<li><a href="#building-docker-image-on-minikube">Building docker image on minikube</a></li>
|
||||
<li><a href="#when-api-v1alpha2-jenkins-types-go-has-changed">When <code>api/v1alpha2/jenkins_types.go</code> has changed</a></li>
|
||||
<li><a href="#getting-the-jenkins-url-and-basic-credentials">Getting the Jenkins URL and basic credentials</a></li>
|
||||
<li><a href="#webhook">Webhook</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#self-learning">Self-learning</a></li>
|
||||
</ul></li>
|
||||
|
|
@ -873,11 +939,11 @@
|
|||
<h2 id="prerequisites">Prerequisites</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/operator-framework/operator-sdk">operator_sdk</a> version v0.17.0</li>
|
||||
<li><a href="https://github.com/operator-framework/operator-sdk">operator_sdk</a> version 1.3.0</li>
|
||||
<li><a href="https://git-scm.com/downloads">git</a></li>
|
||||
<li><a href="https://golang.org/dl/">go</a> version v1.14+</li>
|
||||
<li><a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/">goimports, golint, checkmake and staticcheck</a></li>
|
||||
<li><a href="https://kubernetes.io/docs/tasks/tools/install-minikube/">minikube</a> version v1.1.0+ (preferred Hypervisor - <a href="https://www.virtualbox.org/wiki/Downloads">virtualbox</a>)</li>
|
||||
<li><a href="https://golang.org/dl/">go</a> version 1.15.6</li>
|
||||
<li>goimports, golint, checkmake and staticcheck</li>
|
||||
<li><a href="https://kubernetes.io/docs/tasks/tools/install-minikube/">minikube</a> version 1.21.0 (preferred Hypervisor - <a href="https://www.virtualbox.org/wiki/Downloads">virtualbox</a>) (automatically downloaded)</li>
|
||||
<li><a href="https://docs.docker.com/install/">docker</a> version 17.03+</li>
|
||||
</ul>
|
||||
|
||||
|
|
@ -887,75 +953,73 @@
|
|||
make go-dependencies</code></pre></div>
|
||||
<h2 id="build-and-run-with-a-minikube">Build and run with a minikube</h2>
|
||||
|
||||
<p>Build and run <strong>Jenkins Operator</strong> locally:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make build minikube-run
|
||||
<p>Start minikube instance configured for <strong>Jenkins Operator</strong>. Appropriate minikube version will be downloaded to bin folder.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make minikube-start</code></pre></div>
|
||||
<p>Next run <strong>Jenkins Operator</strong> locally.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make run</code></pre></div>
|
||||
<p>Console output indicating readiness of this phase:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">+ build
|
||||
+ run
|
||||
kubectl config use-context minikube
|
||||
Switched to context <span style="color:#4e9a06">"minikube"</span>.
|
||||
Watching <span style="color:#4e9a06">'default'</span> namespace
|
||||
bin/manager --jenkins-api-hostname<span style="color:#ce5c00;font-weight:bold">=</span>192.168.99.252 --jenkins-api-port<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#0000cf;font-weight:bold">0</span> --jenkins-api-use-nodeport<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#204a87">true</span> --cluster-domain<span style="color:#ce5c00;font-weight:bold">=</span>cluster.local
|
||||
2021-02-08T14:14:45.263+0100 INFO cmd Version: v0.5.0
|
||||
2021-02-08T14:14:45.263+0100 INFO cmd Git commit: 305dbeda-dirty-dirty
|
||||
2021-02-08T14:14:45.264+0100 INFO cmd Go Version: go1.15.6
|
||||
2021-02-08T14:14:45.264+0100 INFO cmd Go OS/Arch: darwin/amd64
|
||||
2021-02-08T14:14:45.264+0100 INFO cmd Watch namespace: default
|
||||
2021-02-08T14:14:45.592+0100 INFO controller-runtime.metrics metrics server is starting to listen <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"addr"</span>: <span style="color:#4e9a06">"0.0.0.0:8383"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.599+0100 INFO cmd starting manager
|
||||
2021-02-08T14:14:45.599+0100 INFO controller-runtime.manager starting metrics server <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"path"</span>: <span style="color:#4e9a06">"/metrics"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.599+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: jenkins.io/v1alpha2, Kind=Jenkins"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.700+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: /, Kind="</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.800+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: /, Kind="</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.901+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: /, Kind="</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.003+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=ConfigMap"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: jenkins.io/v1alpha2, Kind=Jenkins"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting Controller <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting workers <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"reconciler group"</span>: <span style="color:#4e9a06">"jenkins.io"</span>, <span style="color:#4e9a06">"reconciler kind"</span>: <span style="color:#4e9a06">"Jenkins"</span>, <span style="color:#4e9a06">"worker count"</span>: 1<span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div>
|
||||
<p>Lastly apply Jenkins Custom Resource to minikube cluster:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl apply -f config/samples/jenkins.io_v1alpha2_jenkins.yaml
|
||||
|
||||
INFO<span style="color:#ce5c00;font-weight:bold">[</span>0000<span style="color:#ce5c00;font-weight:bold">]</span> Running deepcopy code-generation <span style="color:#204a87;font-weight:bold">for</span> Custom Resource group versions: <span style="color:#ce5c00;font-weight:bold">[</span>jenkins:<span style="color:#ce5c00;font-weight:bold">[</span>v1alpha2<span style="color:#ce5c00;font-weight:bold">]</span>, <span style="color:#ce5c00;font-weight:bold">]</span>
|
||||
INFO<span style="color:#ce5c00;font-weight:bold">[</span>0005<span style="color:#ce5c00;font-weight:bold">]</span> Code-generation complete.
|
||||
2020-04-27T09:52:26.520+0200 INFO controller-jenkins manager/main.go:51 Version: v0.4.0
|
||||
2020-04-27T09:52:26.520+0200 INFO controller-jenkins manager/main.go:52 Git commit: 4ffc58e-dirty
|
||||
2020-04-27T09:52:26.520+0200 INFO controller-jenkins manager/main.go:53 Go Version: go1.13.1
|
||||
2020-04-27T09:52:26.520+0200 INFO controller-jenkins manager/main.go:54 Go OS/Arch: linux/amd64
|
||||
2020-04-27T09:52:26.520+0200 INFO controller-jenkins manager/main.go:55 operator-sdk Version: v0.15.1
|
||||
2020-04-27T09:52:26.520+0200 INFO controller-jenkins manager/main.go:80 Watch namespace: default
|
||||
2020-04-27T09:52:26.527+0200 INFO leader leader/leader.go:46 Trying to become the leader.
|
||||
2020-04-27T09:52:26.527+0200 INFO leader leader/leader.go:51 Skipping leader election<span style="color:#000;font-weight:bold">;</span> not running in a cluster.
|
||||
2020-04-27T09:52:26.887+0200 INFO controller-runtime.metrics metrics/listener.go:40 metrics server is starting to listen <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"addr"</span>: <span style="color:#4e9a06">"0.0.0.0:8383"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:26.887+0200 INFO controller-jenkins manager/main.go:105 Registering Components.
|
||||
2020-04-27T09:52:26.897+0200 WARN controller-jenkins manager/main.go:138 Could not generate and serve custom resource metrics <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"namespace not found for current environment"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.250+0200 INFO metrics metrics/metrics.go:55 Skipping metrics Service creation<span style="color:#000;font-weight:bold">;</span> not running in a cluster.
|
||||
2020-04-27T09:52:27.601+0200 WARN controller-jenkins manager/main.go:157 Could not create ServiceMonitor object <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"no ServiceMonitor registered with the API"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.601+0200 WARN controller-jenkins manager/main.go:161 Install prometheus-operator in your cluster to create ServiceMonitor objects <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"error"</span>: <span style="color:#4e9a06">"no ServiceMonitor registered with the API"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.601+0200 INFO controller-jenkins manager/main.go:165 Starting the Cmd.
|
||||
2020-04-27T09:52:27.601+0200 INFO controller-runtime.manager manager/internal.go:356 starting metrics server <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"path"</span>: <span style="color:#4e9a06">"/metrics"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.601+0200 INFO controller-runtime.controller controller/controller.go:164 Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: jenkins.io/v1alpha2, Kind=Jenkins"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.702+0200 INFO controller-runtime.controller controller/controller.go:164 Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Pod"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.803+0200 INFO controller-runtime.controller controller/controller.go:164 Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.903+0200 INFO controller-runtime.controller controller/controller.go:164 Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=Secret"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:27.903+0200 INFO controller-runtime.controller controller/controller.go:164 Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"source"</span>: <span style="color:#4e9a06">"kind source: core/v1, Kind=ConfigMap"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:28.005+0200 INFO controller-runtime.controller controller/controller.go:171 Starting Controller <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:52:28.005+0200 INFO controller-runtime.controller controller/controller.go:190 Starting workers <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"controller"</span>: <span style="color:#4e9a06">"jenkins-controller"</span>, <span style="color:#4e9a06">"worker count"</span>: 1<span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div><div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl apply -f deploy/crds/jenkins_v1alpha2_jenkins_cr.yaml
|
||||
|
||||
2020-04-27T09:56:40.153+0200 INFO controller-jenkins jenkins/jenkins_controller.go:404 Setting default Jenkins container <span style="color:#204a87">command</span> <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.153+0200 INFO controller-jenkins jenkins/jenkins_controller.go:409 Setting default Jenkins container JAVA_OPTS environment variable <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.153+0200 INFO controller-jenkins jenkins/jenkins_controller.go:417 Setting default operator plugins <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.153+0200 INFO controller-jenkins jenkins/jenkins_controller.go:436 Setting default Jenkins master service <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.153+0200 INFO controller-jenkins jenkins/jenkins_controller.go:449 Setting default Jenkins slave service <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.153+0200 INFO controller-jenkins jenkins/jenkins_controller.go:479 Setting default Jenkins API settings <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.158+0200 INFO controller-jenkins jenkins/handler.go:89 *v1alpha2.Jenkins/example has been updated <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.562+0200 INFO controller-jenkins base/pod.go:161 Creating a new Jenkins Master Pod default/jenkins-example <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.575+0200 INFO controller-jenkins base/reconcile.go:528 The Admission controller has changed the Jenkins master pod spec.securityContext, changing the Jenkinc CR spec.master.securityContext to <span style="color:#4e9a06">'&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,}'</span> <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:56:40.584+0200 INFO controller-jenkins jenkins/handler.go:89 *v1alpha2.Jenkins/example has been updated <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:59:40.409+0200 INFO controller-jenkins base/reconcile.go:466 Generating Jenkins API token <span style="color:#204a87;font-weight:bold">for</span> operator <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:59:40.410+0200 WARN controller-jenkins jenkins/jenkins_controller.go:171 Reconcile loop failed: couldn<span style="color:#4e9a06">'t init Jenkins API client: Get http://192.168.99.100:32380/api/json: dial tcp 192.168.99.100:32380: connect: connection refused {"cr": "example"}
|
||||
</span><span style="color:#4e9a06">2020-04-27T09:59:40.455+0200 INFO controller-jenkins base/reconcile.go:466 Generating Jenkins API token for operator {"cr": "example"}
|
||||
</span><span style="color:#4e9a06">2020-04-27T09:59:41.415+0200 INFO controller-jenkins groovy/groovy.go:145 base-groovy ConfigMap '</span>jenkins-operator-base-configuration-example<span style="color:#4e9a06">' name '</span>1-basic-settings.groovy<span style="color:#4e9a06">' running groovy script {"cr": "example"}
|
||||
</span><span style="color:#4e9a06">...
|
||||
</span><span style="color:#4e9a06">2020-04-27T09:59:49.030+0200 INFO controller-jenkins groovy/groovy.go:145 base-groovy ConfigMap '</span>jenkins-operator-base-configuration-example<span style="color:#4e9a06">' name '</span>8-disable-job-dsl-script-approval.groovy<span style="color:#a40000">'</span> running groovy script <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
|
||||
2020-04-27T09:59:49.257+0200 INFO controller-jenkins jenkins/jenkins_controller.go:289 Base configuration phase is complete, took 3m9s <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T09:59:51.165+0200 INFO controller-jenkins seedjobs/seedjobs.go:232 Waiting <span style="color:#204a87;font-weight:bold">for</span> Seed Job Agent <span style="color:#4e9a06">`</span>seed-job-agent<span style="color:#4e9a06">`</span>... <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790690.875426,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Setting default Jenkins container command"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790690.8754492,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Setting default Jenkins container JAVA_OPTS environment variable"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790690.875456,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Setting default operator plugins"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790690.875463,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Setting default Jenkins master service"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790690.875467,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Setting default Jenkins slave service"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790690.881811,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"*v1alpha2.Jenkins/jenkins-example has been updated"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790691.252834,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Creating a new Jenkins Master Pod default/jenkins-jenkins-example"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790691.322793,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Jenkins master pod restarted by operator:"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790691.322817,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Jenkins Operator version has changed, actual '' new 'v0.5.0'"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790691.3228202,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Jenkins CR has been replaced"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790695.8789551,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Creating a new Jenkins Master Pod default/jenkins-jenkins-example"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"warn"</span>,<span style="color:#4e9a06">"ts"</span>:1612790817.9423082,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Reconcile loop failed: couldn't init Jenkins API client: Get \"http://192.168.99.254:31998/api/json\": dial tcp 192.168.99.254:31998: connect: connection refused"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"warn"</span>,<span style="color:#4e9a06">"ts"</span>:1612790817.9998221,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Reconcile loop failed: couldn't init Jenkins API client: Get \"http://192.168.99.254:31998/api/json\": dial tcp 192.168.99.254:31998: connect: connection refused"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790818.581316,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-example' name '1-basic-settings.groovy' running groovy script"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
...
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790820.9473379,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-example' name '8-disable-job-dsl-script-approval.groovy' running groovy script"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790821.244055,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Base configuration phase is complete, took 2m6s"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790821.7953842,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Waiting for Seed Job Agent `seed-job-agent`..."</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
...
|
||||
2020-04-27T10:00:03.886+0200 INFO controller-jenkins seedjobs/seedjobs.go:232 Waiting <span style="color:#204a87;font-weight:bold">for</span> Seed Job Agent <span style="color:#4e9a06">`</span>seed-job-agent<span style="color:#4e9a06">`</span>... <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2020-04-27T10:00:06.140+0200 INFO controller-jenkins jenkins/jenkins_controller.go:338 User configuration phase is complete, took 3m26s <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"cr"</span>: <span style="color:#4e9a06">"example"</span><span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div>
|
||||
<p>Two log lines says that Jenkins Operator works correctly:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>Base configuration phase is complete</code> - ensures manifests, Jenkins pod, Jenkins configuration and Jenkins API token<br /></li>
|
||||
<li><code>User configuration phase is complete</code> - ensures Jenkins restore, backup and seed jobs along with user configuration</li>
|
||||
</ul>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790851.843638,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"Waiting for Seed Job Agent `seed-job-agent`..."</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">"level"</span>:<span style="color:#4e9a06">"info"</span>,<span style="color:#4e9a06">"ts"</span>:1612790853.489524,<span style="color:#4e9a06">"logger"</span>:<span style="color:#4e9a06">"controller-jenkins"</span>,<span style="color:#4e9a06">"msg"</span>:<span style="color:#4e9a06">"User configuration phase is complete, took 2m38s"</span>,<span style="color:#4e9a06">"cr"</span>:<span style="color:#4e9a06">"jenkins-example"</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
|
||||
<blockquote>
|
||||
<p>Details about base and user phase can be found <a href="https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/">here</a>.</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl get jenkins -o yaml
|
||||
Two log lines says that Jenkins Operator works correctly:
|
||||
|
||||
* <span style="color:#4e9a06">`</span>Base configuration phase is <span style="color:#204a87">complete</span><span style="color:#4e9a06">`</span> - ensures manifests, Jenkins pod, Jenkins configuration and Jenkins API token
|
||||
* <span style="color:#4e9a06">`</span>User configuration phase is <span style="color:#204a87">complete</span><span style="color:#4e9a06">`</span> - ensures Jenkins restore, backup and seed <span style="color:#204a87">jobs</span> along with user configuration
|
||||
|
||||
> Details about base and user phase can be found <span style="color:#ce5c00;font-weight:bold">[</span>here<span style="color:#ce5c00;font-weight:bold">]</span><span style="color:#ce5c00;font-weight:bold">(</span>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/<span style="color:#ce5c00;font-weight:bold">)</span>.</code></pre></div><div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl get jenkins -o yaml
|
||||
|
||||
apiVersion: v1
|
||||
items:
|
||||
- apiVersion: jenkins.io/v1alpha2
|
||||
kind: Jenkins
|
||||
metadata:
|
||||
...
|
||||
...
|
||||
spec:
|
||||
backup:
|
||||
action: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
|
|
@ -963,18 +1027,19 @@ items:
|
|||
interval: <span style="color:#0000cf;font-weight:bold">0</span>
|
||||
makeBackupBeforePodDeletion: <span style="color:#204a87">false</span>
|
||||
configurationAsCode:
|
||||
configurations: null
|
||||
configurations: <span style="color:#ce5c00;font-weight:bold">[</span><span style="color:#ce5c00;font-weight:bold">]</span>
|
||||
secret:
|
||||
name: <span style="color:#4e9a06">""</span>
|
||||
groovyScripts:
|
||||
configurations: null
|
||||
configurations: <span style="color:#ce5c00;font-weight:bold">[</span><span style="color:#ce5c00;font-weight:bold">]</span>
|
||||
secret:
|
||||
name: <span style="color:#4e9a06">""</span>
|
||||
jenkinsAPISettings:
|
||||
authorizationStrategy: createUser
|
||||
master:
|
||||
basePlugins:
|
||||
...
|
||||
...
|
||||
containers:
|
||||
- command:
|
||||
- bash
|
||||
- -c
|
||||
|
|
@ -983,13 +1048,12 @@ items:
|
|||
- name: JAVA_OPTS
|
||||
value: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap
|
||||
-XX:MaxRAMFraction<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#0000cf;font-weight:bold">1</span> -Djenkins.install.runSetupWizard<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#204a87">false</span> -Djava.awt.headless<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#204a87">true</span>
|
||||
image: jenkins/jenkins:lts
|
||||
image: jenkins/jenkins:2.263.3-lts-alpine
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
...
|
||||
name: jenkins-master
|
||||
...
|
||||
readinessProbe:
|
||||
...
|
||||
...
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1500m
|
||||
|
|
@ -998,7 +1062,6 @@ items:
|
|||
cpu: <span style="color:#4e9a06">"1"</span>
|
||||
memory: 500Mi
|
||||
disableCSRFProtection: <span style="color:#204a87">false</span>
|
||||
securityContext: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
restore:
|
||||
action: <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
containerName: <span style="color:#4e9a06">""</span>
|
||||
|
|
@ -1029,28 +1092,39 @@ items:
|
|||
- configurationType: base-groovy
|
||||
hash: <span style="color:#000">2ownqpRyBjQYmzTRttUx7axok3CKe2E45frI5iRwH0w</span><span style="color:#ce5c00;font-weight:bold">=</span>
|
||||
name: 1-basic-settings.groovy
|
||||
source: jenkins-operator-base-configuration-example
|
||||
...
|
||||
baseConfigurationCompletedTime: <span style="color:#4e9a06">"2020-04-27T07:59:49Z"</span>
|
||||
source: jenkins-operator-base-configuration-jenkins-example
|
||||
...
|
||||
baseConfigurationCompletedTime: <span style="color:#4e9a06">"2021-02-08T13:27:01Z"</span>
|
||||
createdSeedJobs:
|
||||
- jenkins-operator
|
||||
operatorVersion: v0.4.0
|
||||
provisionStartTime: <span style="color:#4e9a06">"2020-04-27T07:56:40Z"</span>
|
||||
userAndPasswordHash: kAeBnhHKU3LZuw+uo9oHILB59kAFSGDUbHwCSDgtMnE<span style="color:#ce5c00;font-weight:bold">=</span>
|
||||
userConfigurationCompletedTime: <span style="color:#4e9a06">"2020-04-27T08:00:06Z"</span>
|
||||
operatorVersion: v0.5.0
|
||||
provisionStartTime: <span style="color:#4e9a06">"2021-02-08T13:24:55Z"</span>
|
||||
userAndPasswordHash: <span style="color:#000">nnfZsWmFfAYlYyVYeKhWW2KB4L8mE61JUfetAsr9IMM</span><span style="color:#ce5c00;font-weight:bold">=</span>
|
||||
userConfigurationCompletedTime: <span style="color:#4e9a06">"2021-02-08T13:27:33Z"</span>
|
||||
kind: List
|
||||
metadata:
|
||||
resourceVersion: <span style="color:#4e9a06">""</span>
|
||||
selfLink: <span style="color:#4e9a06">""</span></code></pre></div><div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl get po
|
||||
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
jenkins-example 1/1 Running <span style="color:#0000cf;font-weight:bold">0</span> 15m
|
||||
seed-job-agent-example-56569459c9-l69qf 1/1 Running <span style="color:#0000cf;font-weight:bold">0</span> 12m</code></pre></div>
|
||||
<p>Upon every next start of local <strong>Jenkins Operator</strong> switch first command with:</p>
|
||||
<pre><code>make minikube-start
|
||||
make minikube-run</code></pre>
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
jenkins-jenkins-example 1/1 Running <span style="color:#0000cf;font-weight:bold">0</span> 23m
|
||||
seed-job-agent-jenkins-example-758cc7cc5c-82hbl 1/1 Running <span style="color:#0000cf;font-weight:bold">0</span> 21m</code></pre></div>
|
||||
<h2 id="build-and-run-with-docker-desktop">Build and run with Docker Desktop</h2>
|
||||
|
||||
<p>Install Docker Desktop. If you are using Docker Desktop for Windows, you will also need to install WSL or WSL2. Ensure that Docker Desktop is currently running, and that you have enabled Kubernetes in it.</p>
|
||||
|
||||
<p>Run <strong>Jenkins Operator</strong> locally.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make <span style="color:#000">config</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">"config.docker-desktop.env"</span> run</code></pre></div>
|
||||
<p>From this point on, Docker Desktop usage is identical to minikube usage.</p>
|
||||
|
||||
<h3 id="debug-jenkins-operator">Debug Jenkins Operator</h3>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make build minikube-run <span style="color:#000">OPERATOR_EXTRA_ARGS</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">"--debug"</span></code></pre></div>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make run <span style="color:#000">OPERATOR_EXTRA_ARGS</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">"--debug"</span></code></pre></div>
|
||||
<h3 id="stop-or-delete-minikube-cluster">Stop or delete minikube cluster</h3>
|
||||
|
||||
<p>To stop Kubernetes cluster running locally on minikube:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">minikube stop</code></pre></div>
|
||||
<p>To delete the cluster altogether:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">minikube delete</code></pre></div>
|
||||
<h2 id="build-and-run-with-a-remote-kubernetes-cluster">Build and run with a remote Kubernetes cluster</h2>
|
||||
|
||||
<p>You can also run the controller locally and make it listen to a remote Kubernetes server.</p>
|
||||
|
|
@ -1061,29 +1135,41 @@ kubectl --context remote-k8s --namespace default get jenkins -o yaml
|
|||
kubectl --context remote-k8s --namespace default get po</code></pre></div>
|
||||
<h2 id="testing">Testing</h2>
|
||||
|
||||
<p>Run unit tests:</p>
|
||||
<p>Tests are written using <a href="https://onsi.github.io/ginkgo/">Ginkgo</a> with <a href="https://onsi.github.io/gomega/">Gomega</a>.</p>
|
||||
|
||||
<p>Run unit tests with go fmt, lint, staticcheck, vet:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make verify</code></pre></div>
|
||||
<p>Run unit tests only:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make test</code></pre></div>
|
||||
<h3 id="running-e2e-tests">Running E2E tests</h3>
|
||||
|
||||
<p>Run e2e tests with minikube:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make minikube-start
|
||||
make e2e</code></pre></div>
|
||||
<p>Run Helm e2e tests:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#204a87">eval</span> <span style="color:#204a87;font-weight:bold">$(</span>bin/minikube docker-env<span style="color:#204a87;font-weight:bold">)</span>
|
||||
make helm-e2e</code></pre></div>
|
||||
<p>Run the specific e2e test:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make build e2e <span style="color:#000">E2E_TEST_SELECTOR</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">'^TestConfiguration$'</span></code></pre></div>
|
||||
<h2 id="tips-tricks">Tips & Tricks</h2>
|
||||
|
||||
<h3 id="building-docker-image-on-minikube-for-e2e-tests">Building docker image on minikube (for e2e tests)</h3>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make e2e <span style="color:#000">E2E_TEST_SELECTOR</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">'^TestConfiguration$'</span></code></pre></div>
|
||||
<h3 id="building-docker-image-on-minikube">Building docker image on minikube</h3>
|
||||
|
||||
<p>To be able to work with the docker daemon on <code>minikube</code> machine run the following command before building an image:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#204a87">eval</span> <span style="color:#204a87;font-weight:bold">$(</span>minikube docker-env<span style="color:#204a87;font-weight:bold">)</span></code></pre></div>
|
||||
<h3 id="when-pkg-apis-jenkinsio-jenkins-types-go-has-changed">When <code>pkg/apis/jenkinsio/*/jenkins_types.go</code> has changed</h3>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#204a87">eval</span> <span style="color:#204a87;font-weight:bold">$(</span>bin/minikube docker-env<span style="color:#204a87;font-weight:bold">)</span></code></pre></div>
|
||||
<h3 id="when-api-v1alpha2-jenkins-types-go-has-changed">When <code>api/v1alpha2/jenkins_types.go</code> has changed</h3>
|
||||
|
||||
<p>Run:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make deepcopy-gen</code></pre></div>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make manifests</code></pre></div>
|
||||
<h3 id="getting-the-jenkins-url-and-basic-credentials">Getting the Jenkins URL and basic credentials</h3>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">minikube service jenkins-operator-http-<cr_name> --url
|
||||
kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style="color:#4e9a06">'jsonpath={.data.user}'</span> <span style="color:#000;font-weight:bold">|</span> base64 -d
|
||||
kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style="color:#4e9a06">'jsonpath={.data.password}'</span> <span style="color:#000;font-weight:bold">|</span> base64 -d</code></pre></div>
|
||||
<h3 id="webhook">Webhook</h3>
|
||||
|
||||
<p>To deploy the operator along with webhook, run :</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#204a87">eval</span> <span style="color:#204a87;font-weight:bold">$(</span>minikube docker-env<span style="color:#204a87;font-weight:bold">)</span>
|
||||
make deploy-webhook</code></pre></div>
|
||||
<p>It uses <a href="https://cert-manager.io/">cert-manager</a> as an external dependency.</p>
|
||||
|
||||
<h2 id="self-learning">Self-learning</h2>
|
||||
|
||||
<ul>
|
||||
|
|
@ -1091,6 +1177,10 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style="
|
|||
</a></p></li>
|
||||
|
||||
<li><p><a href="https://www.katacoda.com/openshift/courses/operatorframework">Operator Framework Training By OpenShift</a></p></li>
|
||||
|
||||
<li><p><a href="https://sdk.operatorframework.io/docs/building-operators/golang/tutorial/">Operator SDK Tutorial for Go</a></p></li>
|
||||
|
||||
<li><p><a href="https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html">Kubebuilder Validating Webhook Implementation</a></p></li>
|
||||
</ul>
|
||||
|
||||
<div class="section-index">
|
||||
|
|
@ -1215,13 +1305,13 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style="
|
|||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</h5>
|
||||
<p>Required tools for building and running Jenkins Operator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1253,13 +1343,19 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style="
|
|||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/preview/">Developer Guide</a>
|
||||
</h5>
|
||||
<p>Jenkins Operator for developers
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1269,7 +1365,7 @@ kubectl get secret jenkins-operator-credentials-<cr_name> -o <span style="
|
|||
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified October 20, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/</link>
|
||||
<description>Recent Hugo news from gohugo.io</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<lastBuildDate>Mon, 05 Aug 2019 00:00:00 +0000</lastBuildDate>
|
||||
<lastBuildDate>Wed, 20 Oct 2021 00:00:00 +0000</lastBuildDate>
|
||||
<image>
|
||||
<url>https://jenkinsci.github.io/kubernetes-operator/img/hugo.png</url>
|
||||
<title>GoHugo.io</title>
|
||||
|
|
@ -19,311 +19,5 @@
|
|||
|
||||
|
||||
|
||||
<item>
|
||||
<title>Docs: Tools</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/</link>
|
||||
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/</guid>
|
||||
<description>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document explains how to install the Go tools used by the development process.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2 id="configure-environment-variables">Configure environment variables</h2>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#204a87">export</span> <span style="color:#000">GOPATH</span><span style="color:#ce5c00;font-weight:bold">=</span>/home/go <span style="color:#8f5902;font-style:italic"># example value</span>
|
||||
<span style="color:#204a87">export</span> <span style="color:#000">GOROOT</span><span style="color:#ce5c00;font-weight:bold">=</span>/usr/lib/go-1.12 <span style="color:#8f5902;font-style:italic"># example value</span>
|
||||
<span style="color:#204a87">export</span> <span style="color:#000">PATH</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$GOPATH</span>/bin:<span style="color:#000">$PATH</span></code></pre></div>
|
||||
<h2 id="goimports">goimports</h2>
|
||||
<pre><code>go get golang.org/x/tools/cmd/goimports
|
||||
cd $GOPATH/src/golang.org/x/tools/cmd/goimports
|
||||
go build
|
||||
go install</code></pre>
|
||||
<h2 id="golint">golint</h2>
|
||||
<pre><code>go get -u golang.org/x/lint/golint
|
||||
cd $GOPATH/src/golang.org/x/lint/golint
|
||||
go build
|
||||
go install</code></pre>
|
||||
<h2 id="checkmake">checkmake</h2>
|
||||
<pre><code>go get github.com/mrtazz/checkmake
|
||||
cd $GOPATH/src/github.com/mrtazz/checkmake
|
||||
go build
|
||||
go install</code></pre>
|
||||
<h2 id="staticcheck">staticcheck</h2>
|
||||
<pre><code>mkdir -p $GOPATH/src/github.com/dominikh/
|
||||
cd $GOPATH/src/github.com/dominikh/
|
||||
git clone https://github.com/dominikh/go-tools.git
|
||||
cd $GOPATH/src/github.com/dominikh/go-tools/staticcheck
|
||||
go build
|
||||
go install</code></pre>
|
||||
</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Docs: Developer Guide</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/preview/</link>
|
||||
<pubDate>Sun, 09 Feb 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/preview/</guid>
|
||||
<description>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document explains how to setup your development environment.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2 id="prerequisites">Prerequisites</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/operator-framework/operator-sdk">operator_sdk</a> version 1.3.0</li>
|
||||
<li><a href="https://git-scm.com/downloads">git</a></li>
|
||||
<li><a href="https://golang.org/dl/">go</a> version 1.15.6</li>
|
||||
<li><a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/">goimports, golint, checkmake and staticcheck</a></li>
|
||||
<li><a href="https://kubernetes.io/docs/tasks/tools/install-minikube/">minikube</a> version 1.17.1 (preferred Hypervisor - <a href="https://www.virtualbox.org/wiki/Downloads">virtualbox</a>) (automatically downloaded)</li>
|
||||
<li><a href="https://docs.docker.com/install/">docker</a> version 17.03+</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="clone-repository-and-download-dependencies">Clone repository and download dependencies</h2>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">git clone git@github.com:jenkinsci/kubernetes-operator.git
|
||||
<span style="color:#204a87">cd</span> kubernetes-operator
|
||||
make go-dependencies</code></pre></div>
|
||||
<h2 id="build-and-run-with-a-minikube">Build and run with a minikube</h2>
|
||||
|
||||
<p>Start minikube instance configured for <strong>Jenkins Operator</strong>. Appropriate minikube version will be downloaded to bin folder.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make minikube-start</code></pre></div>
|
||||
<p>Next run <strong>Jenkins Operator</strong> locally.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">make run</code></pre></div>
|
||||
<p>Console output indicating readiness of this phase:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">+ build
|
||||
+ run
|
||||
kubectl config use-context minikube
|
||||
Switched to context <span style="color:#4e9a06">&#34;minikube&#34;</span>.
|
||||
Watching <span style="color:#4e9a06">&#39;default&#39;</span> namespace
|
||||
bin/manager --jenkins-api-hostname<span style="color:#ce5c00;font-weight:bold">=</span>192.168.99.252 --jenkins-api-port<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#0000cf;font-weight:bold">0</span> --jenkins-api-use-nodeport<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#204a87">true</span> --cluster-domain<span style="color:#ce5c00;font-weight:bold">=</span>cluster.local
|
||||
2021-02-08T14:14:45.263+0100 INFO cmd Version: v0.5.0
|
||||
2021-02-08T14:14:45.263+0100 INFO cmd Git commit: 305dbeda-dirty-dirty
|
||||
2021-02-08T14:14:45.264+0100 INFO cmd Go Version: go1.15.6
|
||||
2021-02-08T14:14:45.264+0100 INFO cmd Go OS/Arch: darwin/amd64
|
||||
2021-02-08T14:14:45.264+0100 INFO cmd Watch namespace: default
|
||||
2021-02-08T14:14:45.592+0100 INFO controller-runtime.metrics metrics server is starting to listen <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;addr&#34;</span>: <span style="color:#4e9a06">&#34;0.0.0.0:8383&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.599+0100 INFO cmd starting manager
|
||||
2021-02-08T14:14:45.599+0100 INFO controller-runtime.manager starting metrics server <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;path&#34;</span>: <span style="color:#4e9a06">&#34;/metrics&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.599+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: jenkins.io/v1alpha2, Kind=Jenkins&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.700+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: /, Kind=&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.800+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: /, Kind=&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:45.901+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: /, Kind=&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.003+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: core/v1, Kind=Secret&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: core/v1, Kind=ConfigMap&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting EventSource <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;source&#34;</span>: <span style="color:#4e9a06">&#34;kind source: jenkins.io/v1alpha2, Kind=Jenkins&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting Controller <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
2021-02-08T14:14:46.004+0100 INFO controller-runtime.manager.controller.jenkins Starting workers <span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;reconciler group&#34;</span>: <span style="color:#4e9a06">&#34;jenkins.io&#34;</span>, <span style="color:#4e9a06">&#34;reconciler kind&#34;</span>: <span style="color:#4e9a06">&#34;Jenkins&#34;</span>, <span style="color:#4e9a06">&#34;worker count&#34;</span>: 1<span style="color:#ce5c00;font-weight:bold">}</span></code></pre></div>
|
||||
<p>Lastly apply Jenkins Custom Resource to minikube cluster:</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl apply -f config/samples/jenkins.io_v1alpha2_jenkins.yaml
|
||||
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790690.875426,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Setting default Jenkins container command&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790690.8754492,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Setting default Jenkins container JAVA_OPTS environment variable&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790690.875456,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Setting default operator plugins&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790690.875463,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Setting default Jenkins master service&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790690.875467,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Setting default Jenkins slave service&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790690.881811,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;*v1alpha2.Jenkins/jenkins-example has been updated&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790691.252834,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Creating a new Jenkins Master Pod default/jenkins-jenkins-example&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790691.322793,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Jenkins master pod restarted by operator:&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790691.322817,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Jenkins Operator version has changed, actual &#39;&#39; new &#39;v0.5.0&#39;&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790691.3228202,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Jenkins CR has been replaced&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790695.8789551,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Creating a new Jenkins Master Pod default/jenkins-jenkins-example&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;warn&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790817.9423082,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Reconcile loop failed: couldn&#39;t init Jenkins API client: Get \&#34;http://192.168.99.254:31998/api/json\&#34;: dial tcp 192.168.99.254:31998: connect: connection refused&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;warn&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790817.9998221,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Reconcile loop failed: couldn&#39;t init Jenkins API client: Get \&#34;http://192.168.99.254:31998/api/json\&#34;: dial tcp 192.168.99.254:31998: connect: connection refused&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790818.581316,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;base-groovy ConfigMap &#39;jenkins-operator-base-configuration-jenkins-example&#39; name &#39;1-basic-settings.groovy&#39; running groovy script&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
...
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790820.9473379,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;base-groovy ConfigMap &#39;jenkins-operator-base-configuration-jenkins-example&#39; name &#39;8-disable-job-dsl-script-approval.groovy&#39; running groovy script&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790821.244055,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Base configuration phase is complete, took 2m6s&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790821.7953842,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Waiting for Seed Job Agent `seed-job-agent`...&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
...
|
||||
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790851.843638,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;Waiting for Seed Job Agent `seed-job-agent`...&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
<span style="color:#ce5c00;font-weight:bold">{</span><span style="color:#4e9a06">&#34;level&#34;</span>:<span style="color:#4e9a06">&#34;info&#34;</span>,<span style="color:#4e9a06">&#34;ts&#34;</span>:1612790853.489524,<span style="color:#4e9a06">&#34;logger&#34;</span>:<span style="color:#4e9a06">&#34;controller-jenkins&#34;</span>,<span style="color:#4e9a06">&#34;msg&#34;</span>:<span style="color:#4e9a06">&#34;User configuration phase is complete, took 2m38s&#34;</span>,<span style="color:#4e9a06">&#34;cr&#34;</span>:<span style="color:#4e9a06">&#34;jenkins-example&#34;</span><span style="color:#ce5c00;font-weight:bold">}</span>
|
||||
|
||||
Two log lines says that Jenkins Operator works correctly:
|
||||
|
||||
* <span style="color:#4e9a06">`</span>Base configuration phase is <span style="color:#204a87">complete</span><span style="color:#4e9a06">`</span> - ensures manifests, Jenkins pod, Jenkins configuration and Jenkins API token
|
||||
* <span style="color:#4e9a06">`</span>User configuration phase is <span style="color:#204a87">complete</span><span style="color:#4e9a06">`</span> - ensures Jenkins restore, backup and seed <span style="color:#204a87">jobs</span> along with user configuration
|
||||
|
||||
&gt; Details about base and user phase can be found <span style="color:#ce5c00;font-weight:bold">[</span>here<span style="color:#ce5c00;font-weight:bold">]</span><span style="color:#ce5c00;font-weight:bold">(</span>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/<span style="color:#ce5c00;font-weight:bold">)</span>.</code></pre></div>
|
||||
<p>bash
|
||||
kubectl get jenkins -o yaml</p>
|
||||
|
||||
<p>apiVersion: v1
|
||||
items:
|
||||
- apiVersion: jenkins.io/v1alpha2
|
||||
kind: Jenkins
|
||||
metadata:
|
||||
&hellip;
|
||||
spec:
|
||||
backup:
|
||||
action: {}
|
||||
containerName: &ldquo;&rdquo;
|
||||
interval: 0
|
||||
makeBackupBeforePodDeletion: false
|
||||
configurationAsCode:
|
||||
configurations: []
|
||||
secret:
|
||||
name: &ldquo;&rdquo;
|
||||
groovyScripts:
|
||||
configurations: []
|
||||
secret:
|
||||
name: &ldquo;&rdquo;
|
||||
jenkinsAPISettings:
|
||||
authorizationStrategy: createUser
|
||||
master:
|
||||
basePlugins:
|
||||
&hellip;
|
||||
containers:
|
||||
- command:
|
||||
- bash
|
||||
- -c
|
||||
- /var/jenkins/scripts/init.sh &amp;&amp; exec /sbin/tini -s &ndash; /usr/local/bin/jenkins.sh
|
||||
env:
|
||||
- name: JAVA_OPTS
|
||||
value: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap
|
||||
-XX:MaxRAMFraction=1 -Djenkins.install.runSetupWizard=false -Djava.awt.headless=true
|
||||
image: jenkins/jenkins:2.263.3-lts-alpine
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
&hellip;
|
||||
readinessProbe:
|
||||
&hellip;
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1500m
|
||||
memory: 3Gi
|
||||
requests:
|
||||
cpu: &ldquo;1&rdquo;
|
||||
memory: 500Mi
|
||||
disableCSRFProtection: false
|
||||
restore:
|
||||
action: {}
|
||||
containerName: &ldquo;&rdquo;
|
||||
getLatestAction: {}
|
||||
seedJobs:
|
||||
- additionalClasspath: &ldquo;&rdquo;
|
||||
bitbucketPushTrigger: false
|
||||
buildPeriodically: &ldquo;&rdquo;
|
||||
description: Jenkins Operator repository
|
||||
failOnMissingPlugin: false
|
||||
githubPushTrigger: false
|
||||
id: jenkins-operator
|
||||
ignoreMissingFiles: false
|
||||
pollSCM: &ldquo;&rdquo;
|
||||
repositoryBranch: master
|
||||
repositoryUrl: <a href="https://github.com/jenkinsci/kubernetes-operator.git">https://github.com/jenkinsci/kubernetes-operator.git</a>
|
||||
targets: cicd/jobs/*.jenkins
|
||||
unstableOnDeprecation: false
|
||||
service:
|
||||
port: 8080
|
||||
type: NodePort
|
||||
serviceAccount: {}
|
||||
slaveService:
|
||||
port: 50000
|
||||
type: ClusterIP
|
||||
status:
|
||||
appliedGroovyScripts:
|
||||
- configurationType: base-groovy
|
||||
hash: 2ownqpRyBjQYmzTRttUx7axok3CKe2E45frI5iRwH0w=
|
||||
name: 1-basic-settings.groovy
|
||||
source: jenkins-operator-base-configuration-jenkins-example
|
||||
&hellip;
|
||||
baseConfigurationCompletedTime: &ldquo;2021-02-08T13:27:01Z&rdquo;
|
||||
createdSeedJobs:
|
||||
- jenkins-operator
|
||||
operatorVersion: v0.5.0
|
||||
provisionStartTime: &ldquo;2021-02-08T13:24:55Z&rdquo;
|
||||
userAndPasswordHash: nnfZsWmFfAYlYyVYeKhWW2KB4L8mE61JUfetAsr9IMM=
|
||||
userConfigurationCompletedTime: &ldquo;2021-02-08T13:27:33Z&rdquo;
|
||||
kind: List
|
||||
metadata:
|
||||
resourceVersion: &ldquo;&rdquo;
|
||||
selfLink: &ldquo;&rdquo;</p>
|
||||
<pre><code></code></pre>
|
||||
<p>bash
|
||||
kubectl get po</p>
|
||||
|
||||
<p>NAME READY STATUS RESTARTS AGE
|
||||
jenkins-jenkins-example <sup>1</sup>&frasl;<sub>1</sub> Running 0 23m
|
||||
seed-job-agent-jenkins-example-758cc7cc5c-82hbl <sup>1</sup>&frasl;<sub>1</sub> Running 0 21m</p>
|
||||
<pre><code>### Debug Jenkins Operator</code></pre>
|
||||
<p>bash
|
||||
make run OPERATOR_EXTRA_ARGS=&ldquo;&ndash;debug&rdquo;</p>
|
||||
<pre><code>## Build and run with a remote Kubernetes cluster
|
||||
|
||||
You can also run the controller locally and make it listen to a remote Kubernetes server.</code></pre>
|
||||
<p>bash
|
||||
make run NAMESPACE=default KUBECTL_CONTEXT=remote-k8s EXTRA_ARGS=&lsquo;&ndash;kubeconfig ~/.kube/config&rsquo;</p>
|
||||
<pre><code>Once **Jenkins Operator** are up and running, apply Jenkins custom resource:</code></pre>
|
||||
<p>bash
|
||||
kubectl &ndash;context remote-k8s &ndash;namespace default apply -f deploy/crds/jenkins_v1alpha2_jenkins_cr.yaml
|
||||
kubectl &ndash;context remote-k8s &ndash;namespace default get jenkins -o yaml
|
||||
kubectl &ndash;context remote-k8s &ndash;namespace default get po</p>
|
||||
<pre><code>## Testing
|
||||
|
||||
Tests are written using [Ginkgo](https://onsi.github.io/ginkgo/) with [Gomega](https://onsi.github.io/gomega/).
|
||||
|
||||
Run unit tests with go fmt, lint, statickcheck, vet:</code></pre>
|
||||
<p>bash
|
||||
make verify</p>
|
||||
<pre><code>Run unit tests only:</code></pre>
|
||||
<p>bash
|
||||
make test</p>
|
||||
<pre><code>### Running E2E tests
|
||||
|
||||
Run e2e tests with minikube:</code></pre>
|
||||
<p>bash
|
||||
make minikube-start
|
||||
make e2e</p>
|
||||
<pre><code>Run the specific e2e test:</code></pre>
|
||||
<p>bash
|
||||
make e2e E2E_TEST_SELECTOR=&lsquo;^TestConfiguration$&rsquo;</p>
|
||||
<pre><code>### Building docker image on minikube
|
||||
|
||||
To be able to work with the docker daemon on `minikube` machine run the following command before building an image:</code></pre>
|
||||
<p>bash
|
||||
eval $(bin/minikube docker-env)</p>
|
||||
<pre><code>### When `api/v1alpha2/jenkins_types.go` has changed
|
||||
|
||||
Run:</code></pre>
|
||||
<p>bash
|
||||
make manifests</p>
|
||||
<pre><code>### Getting the Jenkins URL and basic credentials</code></pre>
|
||||
<p>bash
|
||||
minikube service jenkins-operator-http-<cr_name> &ndash;url
|
||||
kubectl get secret jenkins-operator-credentials-<cr_name> -o &lsquo;jsonpath={.data.user}&rsquo; | base64 -d
|
||||
kubectl get secret jenkins-operator-credentials-<cr_name> -o &lsquo;jsonpath={.data.password}&rsquo; | base64 -d
|
||||
```</p>
|
||||
|
||||
<h2 id="self-learning">Self-learning</h2>
|
||||
|
||||
<ul>
|
||||
<li><p><a href="https://www.youtube.com/watch?v=8_DaCcRMp5I">Tutorial: Deep Dive into the Operator Framework for&hellip; Melvin Hillsman, Michael Hrivnak, &amp; Matt Dorn
|
||||
</a></p></li>
|
||||
|
||||
<li><p><a href="https://www.katacoda.com/openshift/courses/operatorframework">Operator Framework Training By OpenShift</a></p></li>
|
||||
</ul>
|
||||
|
||||
</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="https://jenkinsci.github.io/kubernetes-operator/docs/faq/index.xml">
|
||||
|
||||
|
||||
<link rel="shortcut icon" href="/favicons/favicon.ico" >
|
||||
|
|
@ -20,25 +21,17 @@
|
|||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-144x144.png" sizes="144x144">
|
||||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-192x192.png"sizes="192x192">
|
||||
|
||||
<title>Tools | Jenkins Operator</title><meta property="og:title" content="Tools" />
|
||||
<meta property="og:description" content="Required tools for building and running Jenkins Operator
|
||||
<title>FAQ | Jenkins Operator</title><meta property="og:title" content="FAQ" />
|
||||
<meta property="og:description" content="Frequently Asked Questions about running Jenkins Operator
|
||||
" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/" />
|
||||
<meta property="article:published_time" content="2019-08-05T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Tools">
|
||||
<meta itemprop="description" content="Required tools for building and running Jenkins Operator
|
||||
">
|
||||
<meta itemprop="datePublished" content="2019-08-05T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2019-08-05T00:00:00+00:00" />
|
||||
<meta itemprop="wordCount" content="75">
|
||||
|
||||
|
||||
|
||||
<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Tools"/>
|
||||
<meta name="twitter:description" content="Required tools for building and running Jenkins Operator
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/faq/" />
|
||||
<meta property="og:updated_time" content="2021-08-19T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="FAQ">
|
||||
<meta itemprop="description" content="Frequently Asked Questions about running Jenkins Operator
|
||||
"><meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="FAQ"/>
|
||||
<meta name="twitter:description" content="Frequently Asked Questions about running Jenkins Operator
|
||||
"/>
|
||||
|
||||
|
||||
|
|
@ -54,9 +47,9 @@
|
|||
crossorigin="anonymous"></script>
|
||||
|
||||
|
||||
<title>Tools | Jenkins Operator</title>
|
||||
<title>FAQ | Jenkins Operator</title>
|
||||
</head>
|
||||
<body class="td-page">
|
||||
<body class="td-section">
|
||||
<header>
|
||||
|
||||
<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar">
|
||||
|
|
@ -125,52 +118,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -225,7 +172,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -235,25 +182,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -265,13 +230,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -283,12 +242,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -308,71 +261,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -555,77 +597,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -695,6 +666,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -734,17 +776,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page active" id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -757,10 +799,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -770,6 +812,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -796,11 +855,11 @@
|
|||
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Developer%20Guide/tools.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Tools" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/FAQ/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=FAQ" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -813,11 +872,12 @@
|
|||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#configure-environment-variables">Configure environment variables</a></li>
|
||||
<li><a href="#goimports">goimports</a></li>
|
||||
<li><a href="#golint">golint</a></li>
|
||||
<li><a href="#checkmake">checkmake</a></li>
|
||||
<li><a href="#staticcheck">staticcheck</a></li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#my-jenkins-pod-keeps-restarting-with-missing-plugins-errors">My Jenkins pod keeps restarting with ‘missing-plugins’ errors.</a></li>
|
||||
<li><a href="#my-job-fails-saying-i-don-t-have-necessary-permissions">My job fails saying I don’t have necessary permissions.</a></li>
|
||||
<li><a href="#how-can-i-change-jenkins-home-from-volume-to-persistent-volume">How can I change JENKINS_HOME from volume to Persistent Volume?</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
|
@ -836,9 +896,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="breadcrumb-item" >
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/">Documentation</a>
|
||||
</li>
|
||||
|
|
@ -846,15 +903,8 @@
|
|||
|
||||
|
||||
|
||||
<li class="breadcrumb-item" >
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/">Developer Guide</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/faq/">FAQ</a>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
|
@ -862,51 +912,219 @@
|
|||
|
||||
|
||||
<div class="td-content">
|
||||
<h1>Tools</h1>
|
||||
<div class="lead">Required tools for building and running Jenkins Operator</div>
|
||||
<h1>FAQ</h1>
|
||||
<div class="lead">Frequently Asked Questions about running Jenkins Operator</div>
|
||||
|
||||
|
||||
<p>This document answers the most frequently asked questions.</p>
|
||||
|
||||
<h3 id="my-jenkins-pod-keeps-restarting-with-missing-plugins-errors">My Jenkins pod keeps restarting with ‘missing-plugins’ errors.</h3>
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document explains how to install the Go tools used by the development process.</p>
|
||||
<p>Jenkins can lose compatibility with its plugins or their dependencies.
|
||||
If you want to reduce the probability of it happening, don’t use ‘latest’ Jenkins image tag.
|
||||
Use set version of Jenkins image and declare plugins and all their dependencies in the Jenkins
|
||||
Custom Resource under ‘plugins’. If you are not sure which plugins to pin, you can check the logs
|
||||
from the ‘initial-config’ initcontainer or ‘jenkins-master’.</p>
|
||||
|
||||
<h3 id="my-job-fails-saying-i-don-t-have-necessary-permissions">My job fails saying I don’t have necessary permissions.</h3>
|
||||
|
||||
<p>You can always add a custom Role for your Jenkins with the permissions you need and reference it in the
|
||||
Jenkins Custom Resource under ‘spec.roles’. The Operator will create a RoleBinding for it. Be careful.
|
||||
Operator may also not have these permissions. As a quick temporary workaround, you can manually bind this
|
||||
role to the Operator service account.</p>
|
||||
|
||||
<h3 id="how-can-i-change-jenkins-home-from-volume-to-persistent-volume">How can I change JENKINS_HOME from volume to Persistent Volume?</h3>
|
||||
|
||||
<p>In order to provide smooth extension, scalability and errorless backups, Jenkins needs to stay ephemeral.
|
||||
There is no way to change volume for JENKINS_HOME. All the configurations should be volatile in Jenkins
|
||||
and kept in a VCS.</p>
|
||||
|
||||
<div class="section-index">
|
||||
|
||||
|
||||
|
||||
|
||||
<hr class="panel-line">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2 id="configure-environment-variables">Configure environment variables</h2>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#204a87">export</span> <span style="color:#000">GOPATH</span><span style="color:#ce5c00;font-weight:bold">=</span>/home/go <span style="color:#8f5902;font-style:italic"># example value</span>
|
||||
<span style="color:#204a87">export</span> <span style="color:#000">GOROOT</span><span style="color:#ce5c00;font-weight:bold">=</span>/usr/lib/go-1.12 <span style="color:#8f5902;font-style:italic"># example value</span>
|
||||
<span style="color:#204a87">export</span> <span style="color:#000">PATH</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">$GOPATH</span>/bin:<span style="color:#000">$PATH</span></code></pre></div>
|
||||
<h2 id="goimports">goimports</h2>
|
||||
<pre><code>go get golang.org/x/tools/cmd/goimports
|
||||
cd $GOPATH/src/golang.org/x/tools/cmd/goimports
|
||||
go build
|
||||
go install</code></pre>
|
||||
<h2 id="golint">golint</h2>
|
||||
<pre><code>go get -u golang.org/x/lint/golint
|
||||
cd $GOPATH/src/golang.org/x/lint/golint
|
||||
go build
|
||||
go install</code></pre>
|
||||
<h2 id="checkmake">checkmake</h2>
|
||||
<pre><code>go get github.com/mrtazz/checkmake
|
||||
cd $GOPATH/src/github.com/mrtazz/checkmake
|
||||
go build
|
||||
go install</code></pre>
|
||||
<h2 id="staticcheck">staticcheck</h2>
|
||||
<pre><code>mkdir -p $GOPATH/src/github.com/dominikh/
|
||||
cd $GOPATH/src/github.com/dominikh/
|
||||
git clone https://github.com/dominikh/go-tools.git
|
||||
cd $GOPATH/src/github.com/dominikh/go-tools/staticcheck
|
||||
go build
|
||||
go install</code></pre>
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified August 19, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Jenkins Operator – Installation - Preview</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/installation/preview/</link>
|
||||
<title>Jenkins Operator – FAQ</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/faq/</link>
|
||||
<description>Recent Hugo news from gohugo.io</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<lastBuildDate>Mon, 05 Oct 2020 00:00:00 +0000</lastBuildDate>
|
||||
<lastBuildDate>Thu, 19 Aug 2021 00:00:00 +0000</lastBuildDate>
|
||||
<image>
|
||||
<url>https://jenkinsci.github.io/kubernetes-operator/img/hugo.png</url>
|
||||
<title>GoHugo.io</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/installation/preview/</link>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/faq/</link>
|
||||
</image>
|
||||
|
||||
<atom:link href="https://jenkinsci.github.io/kubernetes-operator/docs/installation/preview/index.xml" rel="self" type="application/rss+xml" />
|
||||
<atom:link href="https://jenkinsci.github.io/kubernetes-operator/docs/faq/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
|
||||
|
|
@ -22,16 +22,16 @@
|
|||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-192x192.png"sizes="192x192">
|
||||
|
||||
<title>Getting Started | Jenkins Operator</title><meta property="og:title" content="Getting Started" />
|
||||
<meta property="og:description" content="How to work with jenkins-operator
|
||||
<meta property="og:description" content="How to work with Jenkins Operator
|
||||
" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/" />
|
||||
<meta property="og:updated_time" content="2019-08-05T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta property="og:updated_time" content="2021-08-19T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Getting Started">
|
||||
<meta itemprop="description" content="How to work with jenkins-operator
|
||||
<meta itemprop="description" content="How to work with Jenkins Operator
|
||||
"><meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Getting Started"/>
|
||||
<meta name="twitter:description" content="How to work with jenkins-operator
|
||||
<meta name="twitter:description" content="How to work with Jenkins Operator
|
||||
"/>
|
||||
|
||||
|
||||
|
|
@ -118,52 +118,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -218,35 +172,53 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-latest">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -258,13 +230,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -276,12 +242,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -301,71 +261,77 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -384,10 +350,93 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.4.x/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">v0.4.x</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-v0-4-x">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.4.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.4.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-4-x">
|
||||
|
||||
|
||||
|
||||
|
|
@ -467,10 +516,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.3.x/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">v0.3.x</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.3.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.3.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-v0-3-x">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-3-x">
|
||||
|
||||
|
||||
|
||||
|
|
@ -550,81 +599,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-v0-2-x">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-2-x">
|
||||
|
||||
|
||||
|
||||
|
|
@ -688,6 +666,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -727,17 +776,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -750,10 +799,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -763,6 +812,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -790,10 +856,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Getting%20Started/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Getting%20Started" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Getting%20Started" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -833,7 +899,7 @@
|
|||
|
||||
<div class="td-content">
|
||||
<h1>Getting Started</h1>
|
||||
<div class="lead">How to work with jenkins-operator</div>
|
||||
<div class="lead">How to work with Jenkins Operator</div>
|
||||
|
||||
|
||||
|
||||
|
|
@ -848,7 +914,8 @@
|
|||
|
||||
<p>Prepare your Kubernetes cluster and set up your <code>kubectl</code> access.</p>
|
||||
|
||||
<p>Once you have a running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the <a href="/docs/installation/">Installation</a> guide.</p>
|
||||
<p>Once you have a running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installation</a> guide.</p>
|
||||
|
||||
<div class="section-index">
|
||||
|
||||
|
|
@ -862,33 +929,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.7.x)</a>
|
||||
</h5>
|
||||
<p>How to work with the latest, currently supported Jenkins Operator version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.6.x/">v0.6.x</a>
|
||||
</h5>
|
||||
<p>How to work with Jenkins Operator 0.6.x version. We recommend migrating to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
|
@ -916,9 +973,9 @@
|
|||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.5.x)</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.5.x/">v0.5.x</a>
|
||||
</h5>
|
||||
<p>How to work with jenkins-operator latest version
|
||||
<p>How to work with Jenkins Operator 0.5.x version. We recommend migrating to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -928,13 +985,7 @@
|
|||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/preview/">Preview</a>
|
||||
</h5>
|
||||
<p>How to work with jenkins-operator to be released version
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -950,7 +1001,7 @@
|
|||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.4.x/">v0.4.x</a>
|
||||
</h5>
|
||||
<p>How to work with jenkins-operator latest version
|
||||
<p>How to work with Jenkins Operator 0.4.x version. We recommend migrating to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -966,11 +1017,15 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.3.x/">v0.3.x</a>
|
||||
</h5>
|
||||
<p>How to work with an older version of jenkins-operator. We recommend migration to a newer version.
|
||||
<p>How to work with Jenkins Operator 0.3.x version. We recommend migrating to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -982,7 +1037,13 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/">v0.2.x</a>
|
||||
</h5>
|
||||
<p>How to work with Jenkins Operator 0.2.x version. We recommend migrating to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
|
@ -996,19 +1057,55 @@
|
|||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.1.x/">v0.1.x</a>
|
||||
</h5>
|
||||
<p>How to work with an older version of jenkins-operator. We recommend migration to a newer version.
|
||||
<p>How to work with Jenkins Operator 0.1.x version. We recommend migrating to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/">v0.2.x</a>
|
||||
</h5>
|
||||
<p>How to work with an older version of jenkins-operator. We recommend migration to a newer version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1058,7 +1155,7 @@
|
|||
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified August 5, 2019
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified August 19, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/</link>
|
||||
<description>Recent Hugo news from gohugo.io</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<lastBuildDate>Mon, 05 Aug 2019 00:00:00 +0000</lastBuildDate>
|
||||
<lastBuildDate>Thu, 19 Aug 2021 00:00:00 +0000</lastBuildDate>
|
||||
<image>
|
||||
<url>https://jenkinsci.github.io/kubernetes-operator/img/hugo.png</url>
|
||||
<title>GoHugo.io</title>
|
||||
|
|
@ -20,9 +20,9 @@
|
|||
|
||||
|
||||
<item>
|
||||
<title>Docs: Latest (v0.5.x)</title>
|
||||
<title>Docs: Latest (v0.7.x)</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/</link>
|
||||
<pubDate>Mon, 18 Jan 2021 00:00:00 +0000</pubDate>
|
||||
<pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/</guid>
|
||||
<description>
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.5.x</code> and an additional configuration.</p>
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.7.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -42,17 +42,18 @@
|
|||
|
||||
<p>Prepare your Kubernetes cluster and set up your <code>kubectl</code> access.</p>
|
||||
|
||||
<p>Once you have running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the <a href="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/docs/installation/">Installation</a> guide.</p>
|
||||
<p>Once you have a running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installation</a> guide.</p>
|
||||
|
||||
</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Docs: Preview</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/preview/</link>
|
||||
<pubDate>Mon, 18 Jan 2021 00:00:00 +0000</pubDate>
|
||||
<title>Docs: v0.6.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.6.x/</link>
|
||||
<pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/preview/</guid>
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.6.x/</guid>
|
||||
<description>
|
||||
|
||||
|
||||
|
|
@ -61,7 +62,36 @@
|
|||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> currently in preview version and an additional configuration.</p>
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.6.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2 id="first-steps">First Steps</h2>
|
||||
|
||||
<p>Prepare your Kubernetes cluster and set up your <code>kubectl</code> access.</p>
|
||||
|
||||
<p>Once you have a running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installation</a> guide.</p>
|
||||
|
||||
</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Docs: v0.5.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.5.x/</link>
|
||||
<pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.5.x/</guid>
|
||||
<description>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.5.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -78,7 +108,7 @@
|
|||
<item>
|
||||
<title>Docs: v0.4.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.4.x/</link>
|
||||
<pubDate>Mon, 13 Apr 2020 00:00:00 +0000</pubDate>
|
||||
<pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.4.x/</guid>
|
||||
<description>
|
||||
|
|
@ -89,7 +119,7 @@
|
|||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.4.x</code> and an additional configuration.</p>
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.4.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -106,7 +136,7 @@
|
|||
<item>
|
||||
<title>Docs: v0.3.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.3.x/</link>
|
||||
<pubDate>Fri, 20 Dec 2019 00:00:00 +0000</pubDate>
|
||||
<pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.3.x/</guid>
|
||||
<description>
|
||||
|
|
@ -117,7 +147,35 @@
|
|||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.3.x</code> and an additional configuration.</p>
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.3.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2 id="first-steps">First Steps</h2>
|
||||
|
||||
<p>Prepare your Kubernetes cluster and set up your <code>kubectl</code> access.</p>
|
||||
|
||||
<p>Once you have running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the <a href="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/docs/installation/">Installation</a> guide.</p>
|
||||
|
||||
</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Docs: v0.2.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/</link>
|
||||
<pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/</guid>
|
||||
<description>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.2.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -134,7 +192,7 @@
|
|||
<item>
|
||||
<title>Docs: v0.1.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.1.x/</link>
|
||||
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
|
||||
<pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.1.x/</guid>
|
||||
<description>
|
||||
|
|
@ -145,7 +203,7 @@
|
|||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.1.x</code> and an additional configuration.</p>
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.1.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -159,33 +217,5 @@
|
|||
</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Docs: v0.2.x</title>
|
||||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/</link>
|
||||
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.2.x/</guid>
|
||||
<description>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.2.x</code> and an additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h2 id="first-steps">First Steps</h2>
|
||||
|
||||
<p>Prepare your Kubernetes cluster and set up your <code>kubectl</code> access.</p>
|
||||
|
||||
<p>Once you have running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the <a href="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/docs/installation/">Installation</a> guide.</p>
|
||||
|
||||
</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -25,13 +25,13 @@
|
|||
" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/aks/" />
|
||||
<meta property="article:published_time" content="2021-01-18T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2021-01-18T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta property="article:published_time" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2021-12-08T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="AKS">
|
||||
<meta itemprop="description" content="Additional configuration for Azure Kubernetes Service
|
||||
">
|
||||
<meta itemprop="datePublished" content="2021-01-18T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2021-01-18T00:00:00+00:00" />
|
||||
<meta itemprop="datePublished" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta itemprop="wordCount" content="47">
|
||||
|
||||
|
||||
|
|
@ -125,52 +125,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -225,7 +179,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -235,25 +189,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -265,13 +237,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -283,12 +249,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -308,71 +268,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -555,77 +604,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -695,6 +673,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -734,17 +783,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -757,10 +806,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -770,6 +819,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -797,10 +863,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Getting%20Started/latest/aks.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=AKS" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=AKS" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -842,7 +908,7 @@
|
|||
|
||||
|
||||
<li class="breadcrumb-item" >
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.5.x)</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
|
@ -873,7 +939,7 @@ restart of a Jenkins pod over and over again.</p>
|
|||
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified January 18, 2021
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified December 8, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -20,24 +20,24 @@
|
|||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-144x144.png" sizes="144x144">
|
||||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-192x192.png"sizes="192x192">
|
||||
|
||||
<title>Custom Backup and Restore Providers | Jenkins Operator</title><meta property="og:title" content="Custom Backup and Restore Providers" />
|
||||
<title>Custom backup and restore providers | Jenkins Operator</title><meta property="og:title" content="Custom backup and restore providers" />
|
||||
<meta property="og:description" content="Custom backup and restore provider
|
||||
" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/" />
|
||||
<meta property="article:published_time" content="2021-01-18T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2021-01-18T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Custom Backup and Restore Providers">
|
||||
<meta property="article:published_time" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2021-12-08T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Custom backup and restore providers">
|
||||
<meta itemprop="description" content="Custom backup and restore provider
|
||||
">
|
||||
<meta itemprop="datePublished" content="2021-01-18T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2021-01-18T00:00:00+00:00" />
|
||||
<meta itemprop="datePublished" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta itemprop="wordCount" content="511">
|
||||
|
||||
|
||||
|
||||
<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Custom Backup and Restore Providers"/>
|
||||
<meta name="twitter:title" content="Custom backup and restore providers"/>
|
||||
<meta name="twitter:description" content="Custom backup and restore provider
|
||||
"/>
|
||||
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
crossorigin="anonymous"></script>
|
||||
|
||||
|
||||
<title>Custom Backup and Restore Providers | Jenkins Operator</title>
|
||||
<title>Custom backup and restore providers | Jenkins Operator</title>
|
||||
</head>
|
||||
<body class="td-page">
|
||||
<header>
|
||||
|
|
@ -125,52 +125,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -225,7 +179,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -235,25 +189,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page active" id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -265,13 +237,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page active" id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -283,12 +249,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -308,71 +268,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -555,77 +604,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -695,6 +673,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -734,17 +783,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -757,10 +806,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -770,6 +819,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -797,10 +863,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Getting%20Started/latest/custom-backup-and-restore.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Custom%20Backup%20and%20Restore%20Providers" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Custom%20backup%20and%20restore%20providers" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -855,14 +921,14 @@
|
|||
|
||||
|
||||
<li class="breadcrumb-item" >
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.5.x)</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
|
@ -870,7 +936,7 @@
|
|||
|
||||
|
||||
<div class="td-content">
|
||||
<h1>Custom Backup and Restore Providers</h1>
|
||||
<h1>Custom backup and restore providers</h1>
|
||||
<div class="lead">Custom backup and restore provider</div>
|
||||
|
||||
|
||||
|
|
@ -1045,7 +1111,7 @@ the number of backups under control, e.g. Cloud Formation fragment:</p>
|
|||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>DaysAfterInitiation<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">3</span></code></pre></div>
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified January 18, 2021
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified December 8, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -21,17 +21,17 @@
|
|||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-144x144.png" sizes="144x144">
|
||||
<link rel="icon" type="image/png" href="/kubernetes-operator/favicons/android-192x192.png"sizes="192x192">
|
||||
|
||||
<title>Latest (v0.5.x) | Jenkins Operator</title><meta property="og:title" content="Latest (v0.5.x)" />
|
||||
<meta property="og:description" content="How to work with jenkins-operator latest version
|
||||
<title>Latest (v0.7.x) | Jenkins Operator</title><meta property="og:title" content="Latest (v0.7.x)" />
|
||||
<meta property="og:description" content="How to work with the latest, currently supported Jenkins Operator version.
|
||||
" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/" />
|
||||
<meta property="og:updated_time" content="2021-01-18T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Latest (v0.5.x)">
|
||||
<meta itemprop="description" content="How to work with jenkins-operator latest version
|
||||
<meta property="og:updated_time" content="2021-12-08T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="Latest (v0.7.x)">
|
||||
<meta itemprop="description" content="How to work with the latest, currently supported Jenkins Operator version.
|
||||
"><meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Latest (v0.5.x)"/>
|
||||
<meta name="twitter:description" content="How to work with jenkins-operator latest version
|
||||
<meta name="twitter:title" content="Latest (v0.7.x)"/>
|
||||
<meta name="twitter:description" content="How to work with the latest, currently supported Jenkins Operator version.
|
||||
"/>
|
||||
|
||||
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
crossorigin="anonymous"></script>
|
||||
|
||||
|
||||
<title>Latest (v0.5.x) | Jenkins Operator</title>
|
||||
<title>Latest (v0.7.x) | Jenkins Operator</title>
|
||||
</head>
|
||||
<body class="td-section">
|
||||
<header>
|
||||
|
|
@ -118,52 +118,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -218,7 +172,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -228,25 +182,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -258,13 +230,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -276,12 +242,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -301,71 +261,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -548,77 +597,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -688,6 +666,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -727,17 +776,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -750,10 +799,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -763,6 +812,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -790,10 +856,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Getting%20Started/latest/_index.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=Latest%20%28v0.5.x%29" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=Latest%20%28v0.7.x%29" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -834,7 +900,7 @@
|
|||
|
||||
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.5.x)</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
|
@ -842,14 +908,14 @@
|
|||
|
||||
|
||||
<div class="td-content">
|
||||
<h1>Latest (v0.5.x)</h1>
|
||||
<div class="lead">How to work with jenkins-operator latest version</div>
|
||||
<h1>Latest (v0.7.x)</h1>
|
||||
<div class="lead">How to work with the latest, currently supported Jenkins Operator version.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="pageinfo pageinfo-primary">
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.5.x</code> and an additional configuration.</p>
|
||||
<p>This document describes a getting started guide for <strong>Jenkins Operator</strong> <code>v0.7.x</code> and also additional configuration.</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -858,7 +924,8 @@
|
|||
|
||||
<p>Prepare your Kubernetes cluster and set up your <code>kubectl</code> access.</p>
|
||||
|
||||
<p>Once you have running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the <a href="/kubernetes-operator/docs/installation/">Installation</a> guide.</p>
|
||||
<p>Once you have a running Kubernetes cluster you can focus on installing <strong>Jenkins Operator</strong> according to the
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installation</a> guide.</p>
|
||||
|
||||
<div class="section-index">
|
||||
|
||||
|
|
@ -870,9 +937,39 @@
|
|||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
</h5>
|
||||
<p>Deploy production ready Jenkins Operator manifest
|
||||
<p>How to install Jenkins Operator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
</h5>
|
||||
<p>Deploy production ready Jenkins manifest
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -896,27 +993,7 @@
|
|||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
</h5>
|
||||
<p>How to configure Jenkins with Operator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
</h5>
|
||||
<p>How to customize Jenkins
|
||||
</p>
|
||||
|
|
@ -936,9 +1013,29 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
</h5>
|
||||
<p>How to configure Jenkins with Operator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
</h5>
|
||||
<p>Prevent loss of job history
|
||||
</p>
|
||||
|
|
@ -948,6 +1045,38 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
</h5>
|
||||
<p>How to install Jenkins and Jenkins Operator in separate namespaces
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
</h5>
|
||||
<p>Custom backup and restore provider
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/aks/">AKS</a>
|
||||
|
|
@ -962,69 +1091,11 @@
|
|||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
</h5>
|
||||
<p>Custom backup and restore provider
|
||||
<p>Additional configuration for LDAP
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
</h5>
|
||||
<p>How to setup operator notifications.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1048,13 +1119,35 @@
|
|||
|
||||
|
||||
|
||||
<div class="entry">
|
||||
<h5>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
</h5>
|
||||
<p>How to deal with Jenkins Operator problems
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1090,6 +1183,10 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1100,7 +1197,7 @@
|
|||
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified January 18, 2021
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified December 8, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -25,14 +25,14 @@
|
|||
" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/openshift/" />
|
||||
<meta property="article:published_time" content="2020-04-29T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2020-04-29T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta property="article:published_time" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta property="article:modified_time" content="2021-12-08T00:00:00+00:00" /><meta property="og:site_name" content="Jenkins Operator" />
|
||||
<meta itemprop="name" content="OpenShift">
|
||||
<meta itemprop="description" content="Additional configuration for OpenShift
|
||||
">
|
||||
<meta itemprop="datePublished" content="2020-04-29T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2020-04-29T00:00:00+00:00" />
|
||||
<meta itemprop="wordCount" content="256">
|
||||
<meta itemprop="datePublished" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta itemprop="dateModified" content="2021-12-08T00:00:00+00:00" />
|
||||
<meta itemprop="wordCount" content="7">
|
||||
|
||||
|
||||
|
||||
|
|
@ -125,52 +125,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -225,7 +179,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -235,25 +189,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -265,13 +237,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -283,12 +249,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -308,71 +268,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -555,77 +604,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -695,6 +673,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -734,17 +783,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -757,10 +806,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -770,6 +819,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -797,10 +863,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Getting%20Started/latest/openshift.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=OpenShift" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=OpenShift" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -809,20 +875,6 @@
|
|||
|
||||
|
||||
|
||||
<nav id="TableOfContents">
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#securitycontext">SecurityContext</a></li>
|
||||
<li><a href="#openshift-jenkins-image">OpenShift Jenkins image</a>
|
||||
<ul>
|
||||
<li><a href="#sample-openshift-cr">Sample OpenShift CR</a></li>
|
||||
<li><a href="#openshift-oauth-integration">OpenShift OAuth integration</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -858,7 +910,7 @@
|
|||
|
||||
|
||||
<li class="breadcrumb-item" >
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.5.x)</a>
|
||||
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
|
@ -877,98 +929,11 @@
|
|||
<div class="lead">Additional configuration for OpenShift</div>
|
||||
|
||||
|
||||
<h2 id="securitycontext">SecurityContext</h2>
|
||||
|
||||
<p>OpenShift enforces Security Constraints Context (scc) when deploying an image.
|
||||
By default, container images run in restricted scc which prevents from setting
|
||||
a fixed user id to run with. You need to have ensure that you do not provide a
|
||||
securityContext with a runAsUser and that your image does not use a hardcoded user.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">securityContext<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>{}</code></pre></div>
|
||||
<h2 id="openshift-jenkins-image">OpenShift Jenkins image</h2>
|
||||
|
||||
<p>OpenShift provides a pre-configured Jenkins image containing 3 openshift plugins for
|
||||
jenkins (openshift-login-plugin, openshift-sync-plugin and openshift-client-plugin)
|
||||
which allows better jenkins integration with kubernetes and OpenShift.</p>
|
||||
|
||||
<p>The OpenShift Jenkins image requires additional configuration to be fully enabled.</p>
|
||||
|
||||
<h3 id="sample-openshift-cr">Sample OpenShift CR</h3>
|
||||
|
||||
<p>The following Custom Resource can be used to create a Jenkins instance using the<br />
|
||||
OpenShift Jenkins image and sets values for:
|
||||
- `image: ‘quay.io/openshift/origin-jenkins:latest’ : This is the OpenShift Jenkins image.</p>
|
||||
|
||||
<ul>
|
||||
<li><p>serviceAccount: to allow oauth authentication to work, the service account needs
|
||||
a specific annotation pointing to the route exposing the jenkins service. Here,
|
||||
the route is named <code>jenkins-route</code></p></li>
|
||||
|
||||
<li><p><code>OPENSHIFT_ENABLE_OAUTH</code> environment variable for the master container is set to true.</p></li>
|
||||
</ul>
|
||||
|
||||
<p>Here is a complete Jenkins CR allowing the deployment of the Jenkins OpenShift image.</p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">apiVersion<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/v1alpha2<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"></span>kind<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Jenkins<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"></span>metadata<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>annotations<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins.io/openshift-mode<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'true'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"></span>spec<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>serviceAccount<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>annotations<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>serviceaccounts.openshift.io/oauth-redirectreference.jenkins<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"jenkins-route"}}'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>master<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>containers<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-master<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>image<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'quay.io/openshift/origin-jenkins:latest'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>command<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>/usr/bin/go-init<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'-main'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>/usr/libexec/s2i/run<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>env<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>OPENSHIFT_ENABLE_OAUTH<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'true'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>OPENSHIFT_ENABLE_REDIRECT_PROMPT<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'true'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>DISABLE_ADMINISTRATIVE_MONITORS<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'false'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>KUBERNETES_MASTER<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'https://kubernetes.default:443'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>KUBERNETES_TRUST_CERTIFICATES<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'true'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>JENKINS_SERVICE_NAME<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator-http-jenkins<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>JNLP_SERVICE_NAME<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>jenkins-operator-slave-jenkins<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>JENKINS_UC_INSECURE<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">'false'</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>JENKINS_HOME<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>/var/lib/jenkins<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>name<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>JAVA_OPTS<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>value<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>><span style="color:#8f5902;font-style:italic">-
|
||||
</span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#8f5902;font-style:italic">-XX:+UnlockExperimentalVMOptions -XX:+UnlockExperimentalVMOptions</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-XX<span style="color:#000;font-weight:bold">:</span>+UseCGroupMemoryLimitForHeap<span style="color:#f8f8f8;text-decoration:underline"> </span>-XX<span style="color:#000;font-weight:bold">:</span>MaxRAMFraction=<span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-Djenkins.install.runSetupWizard=<span style="color:#204a87;font-weight:bold">false</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-Djava.awt.headless=<span style="color:#204a87;font-weight:bold">true</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>imagePullPolicy<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Always<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>service<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>port<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">8080</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ClusterIP<span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>slaveService<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>port<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">50000</span><span style="color:#f8f8f8;text-decoration:underline">
|
||||
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>type<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ClusterIP</code></pre></div>
|
||||
<h3 id="openshift-oauth-integration">OpenShift OAuth integration</h3>
|
||||
|
||||
<p>The creation of a Route is required for the integraiton of Jenkins with
|
||||
OpenShift oauth authentication. By default, the jenkins http service is named
|
||||
<code>jenkins-operator-http-${jenkins-cr-name}</code></p>
|
||||
<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">oc create route edge jenkins-route --service<span style="color:#ce5c00;font-weight:bold">=</span>jenkins-operator-http-jenkins</code></pre></div>
|
||||
<p>Note: the route name (jenkins-route) must match the pointed route on the serviceaccount annotation.</p>
|
||||
|
||||
<p>After the creation of the Route. It can be used to navigate to the Jenkins Login Page and login with your Openshift Credentials.</p>
|
||||
<h2 id="release-0-7-0-is-not-compatible-with-openshift">Release 0.7.0 is not compatible with OpenShift.</h2>
|
||||
|
||||
|
||||
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified April 29, 2020
|
||||
<div class="text-muted mt-5 pt-3 border-top">Last modified December 8, 2021
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -125,52 +125,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/installation/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Installation - Preview</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-installation-preview">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/how-it-works/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">How it works</a>
|
||||
|
|
@ -225,7 +179,7 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.5.x)</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/latest/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Latest (v0.7.x)</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-latest">
|
||||
|
|
@ -235,25 +189,43 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-installing-the-operator" href="/kubernetes-operator/docs/getting-started/latest/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuration" href="/kubernetes-operator/docs/getting-started/latest/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/latest/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customization" href="/kubernetes-operator/docs/getting-started/latest/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/latest/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-separate-namespaces" href="/kubernetes-operator/docs/getting-started/latest/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -265,13 +237,7 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-notifications" href="/kubernetes-operator/docs/getting-started/latest/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-ldap" href="/kubernetes-operator/docs/getting-started/latest/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
|
@ -283,12 +249,6 @@
|
|||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-diagnostics" href="/kubernetes-operator/docs/getting-started/latest/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-latest-schema" href="/kubernetes-operator/docs/getting-started/latest/schema/">Schema</a>
|
||||
|
||||
|
||||
|
|
@ -308,71 +268,160 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Preview</a>
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.6.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.6.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-6-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/preview/deploy-jenkins/">Deploy Jenkins</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-installing-the-operator" href="/kubernetes-operator/docs/getting-started/v0.6.x/installing-the-operator/">Installing the Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configuration" href="/kubernetes-operator/docs/getting-started/preview/configuration/">Configuration</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-deploying-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/deploying-jenkins/">Deploying Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-customization" href="/kubernetes-operator/docs/getting-started/preview/customization/">Customization</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-customizing-jenkins" href="/kubernetes-operator/docs/getting-started/v0.6.x/customizing-jenkins/">Customizing Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-seed-jobs-and-pipelines" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-seed-jobs-and-pipelines/">Configuring Seed Jobs and Pipelines</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-aks" href="/kubernetes-operator/docs/getting-started/preview/aks/">AKS</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-configuring-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/configuring-backup-and-restore/">Configuring backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/preview/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-separate-namespaces" href="/kubernetes-operator/docs/getting-started/v0.6.x/separate-namespaces/">Separate namespaces for Jenkins and Operator</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-notifications" href="/kubernetes-operator/docs/getting-started/preview/notifications/">Notifications</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.6.x/custom-backup-and-restore/">Custom backup and restore providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-openshift" href="/kubernetes-operator/docs/getting-started/preview/openshift/">OpenShift</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-aks" href="/kubernetes-operator/docs/getting-started/v0.6.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-diagnostics" href="/kubernetes-operator/docs/getting-started/preview/diagnostics/">Diagnostics</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-ldap" href="/kubernetes-operator/docs/getting-started/v0.6.x/ldap/">LDAP</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-preview-schema" href="/kubernetes-operator/docs/getting-started/preview/schema/">Schema</a>
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.6.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-6-x-schema" href="/kubernetes-operator/docs/getting-started/v0.6.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.5.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.5.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-getting-started-v0-5-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.5.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.5.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-customization" href="/kubernetes-operator/docs/getting-started/v0.5.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-aks" href="/kubernetes-operator/docs/getting-started/v0.5.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-custom-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.5.x/custom-backup-and-restore/">Custom Backup and Restore Providers</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-notifications" href="/kubernetes-operator/docs/getting-started/v0.5.x/notifications/">Notifications</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-openshift" href="/kubernetes-operator/docs/getting-started/v0.5.x/openshift/">OpenShift</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.5.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-5-x-schema" href="/kubernetes-operator/docs/getting-started/v0.5.x/schema/">Schema</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
|
@ -555,77 +604,6 @@
|
|||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page active" id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.2.x/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">v0.2.x</a>
|
||||
|
|
@ -695,6 +673,77 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/getting-started/v0.1.x/" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">v0.1.x</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse show" id="kubernetes-operator-docs-getting-started-v0-1-x">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-deploy-jenkins" href="/kubernetes-operator/docs/getting-started/v0.1.x/deploy-jenkins/">Deploy Jenkins</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configuration" href="/kubernetes-operator/docs/getting-started/v0.1.x/configuration/">Configuration</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-customization" href="/kubernetes-operator/docs/getting-started/v0.1.x/customization/">Customization</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page active" id="m-kubernetes-operator-docs-getting-started-v0-1-x-aks" href="/kubernetes-operator/docs/getting-started/v0.1.x/aks/">AKS</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-configure-backup-and-restore" href="/kubernetes-operator/docs/getting-started/v0.1.x/configure-backup-and-restore/">Configure backup and restore</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-diagnostics" href="/kubernetes-operator/docs/getting-started/v0.1.x/diagnostics/">Diagnostics</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-scheme" href="/kubernetes-operator/docs/getting-started/v0.1.x/scheme/">Scheme</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-getting-started-v0-1-x-migration-guide-v1alpha1-to-v1alpha2" href="/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/">Migration guide from v1alpha1 to v1alpha2</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -734,17 +783,17 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
<a href="/kubernetes-operator/docs/troubleshooting/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Troubleshooting</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
<li class="collapse " id="kubernetes-operator-docs-troubleshooting">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a class="td-sidebar-link td-sidebar-link__page " id="m-kubernetes-operator-docs-developer-guide-tools" href="/kubernetes-operator/docs/developer-guide/tools/">Tools</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -757,10 +806,10 @@
|
|||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/developer-guide/preview/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide - Preview</a>
|
||||
<a href="/kubernetes-operator/docs/developer-guide/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">Developer Guide</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide-preview">
|
||||
<li class="collapse " id="kubernetes-operator-docs-developer-guide">
|
||||
|
||||
|
||||
|
||||
|
|
@ -770,6 +819,23 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="td-sidebar-nav__section pr-md-3">
|
||||
<li class="td-sidebar-nav__section-title">
|
||||
<a href="/kubernetes-operator/docs/faq/" class="align-left pl-0 pr-2 collapsed td-sidebar-link td-sidebar-link__section">FAQ</a>
|
||||
</li>
|
||||
<ul>
|
||||
<li class="collapse " id="kubernetes-operator-docs-faq">
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
|
@ -797,10 +863,10 @@
|
|||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/edit/master/website/content/en/docs/Getting%20Started/v0.1.x/aks.md" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?title=AKS" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new?labels=documentation&template=documentation.md&title=AKS" target="_blank"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
||||
|
||||
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
<a href="https://github.com/jenkinsci/kubernetes-operator/issues/new/choose" target="_blank"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue