forked from kubeflow/pipelines
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Define a v0.8 release (kubeflow#572)
* Define a v0.8 release * Update applications.yaml with a v0.8 release. * The purpose of this PR is to check that just by defining the appropriate release we can begin building images from release branches and updating the release branch of kubeflow/manifests * Related to kubeflow/testing#450 - Continuous delivery of Kubeflow applications * Create a python script for opening up the PR; this script replaces the bash script rebuild-manifests.sh that was used previously * The new script doesn't assume that the base branch for PRs is master. We need this to support updating release branches. * Create a profile in skaffold.yaml for running on the release cluster. * Create an image_util package to parse image URLs. * Use the Docker image for apps-cd to run create_manifests_pr.py * Add kustomize, go, and some other tools we need * In the docker image create a symbolic link for .ssh so we can pick up ssh credentials created by Tekton. * * Define a 1.0 release now that the branches have been cut * Related to kubeflow/kubeflow#4685
- Loading branch information
1 parent
ed4a09b
commit f60df7a
Showing
14 changed files
with
464 additions
and
154 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,46 @@ | ||
FROM ubuntu:18.04 | ||
|
||
RUN apt-get update -y && \ | ||
apt-get install -y curl git python3.8 python3-pip && \ | ||
apt-get install -y curl git python3.8 python3-pip wget && \ | ||
ln -sf /usr/bin/python3.8 /usr/bin/python | ||
|
||
# Install go | ||
RUN cd /tmp && \ | ||
wget -O /tmp/go.tar.gz https://redirector.gvt1.com/edgedl/go/go1.12.linux-amd64.tar.gz && \ | ||
tar -C /usr/local -xzf go.tar.gz | ||
|
||
# Install the hub CLI for git | ||
RUN cd /tmp && \ | ||
curl -LO https://github.com/github/hub/releases/download/v2.13.0/hub-linux-amd64-2.13.0.tgz && \ | ||
tar -xvf hub-linux-amd64-2.13.0.tgz && \ | ||
mv hub-linux-amd64-2.13.0 /usr/local && \ | ||
ln -sf /usr/local/hub-linux-amd64-2.13.0/bin/hub /usr/local/bin/hub | ||
|
||
RUN export KUSTOMIZE_VERSION=3.2.0 && \ | ||
cd /tmp && \ | ||
curl -LO https://github.com/kubernetes-sigs/kustomize/releases/download/v${KUSTOMIZE_VERSION}/kustomize_${KUSTOMIZE_VERSION}_linux_amd64 && \ | ||
mv kustomize_${KUSTOMIZE_VERSION}_linux_amd64 /usr/local/bin/kustomize && \ | ||
chmod a+x /usr/local/bin/kustomize | ||
|
||
|
||
RUN python -m pip install fire \ | ||
google-api-python-client \ | ||
google-cloud-storage \ | ||
kubernetes \ | ||
watchdog | ||
|
||
|
||
# Create go symlinks | ||
RUN ln -sf /usr/local/go/bin/go /usr/local/bin && \ | ||
ln -sf /usr/local/go/bin/gofmt /usr/local/bin && \ | ||
ln -sf /usr/local/go/bin/godoc /usr/local/bin | ||
|
||
RUN mkdir -p /app | ||
COPY update_launcher.py /app | ||
COPY run_with_auto_restart.py /app | ||
COPY run_with_auto_restart.py /app | ||
|
||
# See(https://github.com/tektoncd/pipeline/issues/1271): Tekton will put ssh | ||
# credentials in /tekton/home. We can't change the home directory | ||
# but we can create a symbolic link for .ssh | ||
RUN mkdir -p /tekton/home && \ | ||
ln -sf /tekton/home/.ssh /root/.ssh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Worker Images for Test and Release Workers | ||
|
||
This directory contains the source for the docker images | ||
that we use to run a bunch of our test and release scripts. | ||
|
||
|
||
## To build a release image | ||
|
||
``` | ||
skaffold build -v info -p kf-releasing | ||
``` | ||
|
||
* This will only work if you have access to the release project |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Reference: https://skaffold.dev/docs/references/yaml/ | ||
# | ||
# TODO(jlewi): This is just a rudimentary skaffold config. | ||
# Users probably need to create their own profile based on the resources (e.g. GCR) | ||
# They have access too. | ||
apiVersion: skaffold/v2alpha1 | ||
kind: Config | ||
metadata: | ||
name: notebook-controller | ||
profiles: | ||
- name: kf-releasing | ||
build: | ||
artifacts: | ||
# TODO(jlewi): We should probably use skaffold profiles to build this for the | ||
# test cluster vs release cluster | ||
- image: gcr.io/kubeflow-releasing/test-worker | ||
# Context should be ${KUBEFLOW_REPO}/components | ||
context: . | ||
kaniko: | ||
dockerfile: Dockerfile | ||
buildContext: | ||
gcsBucket: kubeflow-releasing_skaffold | ||
env: | ||
# TODO(GoogleContainerTools/skaffold#3468) skaffold doesn't | ||
# appear to work with workload identity and the kubeflow-testing | ||
# cluster isn't using it yet. | ||
- name: GOOGLE_APPLICATION_CREDENTIALS | ||
value: /secret/user-gcp-sa.json | ||
cache: {} | ||
cluster: | ||
pullSecretName: user-gcp-sa | ||
# Build in the kaniko namespace because we need to disable ISTIO sidecar injection | ||
# see GoogleContainerTools/skaffold#3442 | ||
namespace: kf-releasing | ||
resources: | ||
requests: | ||
# TODO(https://github.com/kubeflow/testing/issues/565): Right now the nodes in our cluster | ||
# have a max of 8 CPU so we need to set the requests small enough so the pods get scheduled. | ||
cpu: 6 | ||
memory: 16Gi | ||
# TODO(jlewi): We should add a deploy section to actually deploy the controller. Assuming | ||
# kubeflow/manifests is checked out we should be able to just point to he kustomize manifest in that | ||
# directory |
Oops, something went wrong.