Skip to content

Commit

Permalink
Merge pull request #2 from argoproj/master
Browse files Browse the repository at this point in the history
Merge upstream master to my fork
  • Loading branch information
gaigepr authored Nov 8, 2018
2 parents aeed7f9 + afdac9b commit 33d5ce5
Show file tree
Hide file tree
Showing 191 changed files with 10,206 additions and 4,578 deletions.
11 changes: 4 additions & 7 deletions .argo-ci/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ spec:
- name: cmd
value: "{{item}}"
withItems:
- make controller-image
- make executor-image
- make controller-image executor-image
- make cli-linux
- make cli-darwin
- name: test
Expand All @@ -32,9 +31,7 @@ spec:
- name: cmd
value: "{{item}}"
withItems:
- dep ensure && make lint
- dep ensure && make test
- dep ensure && make verify-codegen
- dep ensure && make lint test verify-codegen

- name: ci-builder
inputs:
Expand All @@ -47,7 +44,7 @@ spec:
repo: "{{workflow.parameters.repo}}"
revision: "{{workflow.parameters.revision}}"
container:
image: argoproj/argo-ci-builder:1.0
image: argoproj/argo-ci-builder:latest
command: [sh, -c]
args: ["{{inputs.parameters.cmd}}"]
workingDir: /go/src/github.com/argoproj/argo
Expand All @@ -63,7 +60,7 @@ spec:
repo: "{{workflow.parameters.repo}}"
revision: "{{workflow.parameters.revision}}"
container:
image: argoproj/argo-ci-builder:1.0
image: argoproj/argo-ci-builder:latest
command: [sh, -c]
args: ["until docker ps; do sleep 3; done && {{inputs.parameters.cmd}}"]
workingDir: /go/src/github.com/argoproj/argo
Expand Down
15 changes: 8 additions & 7 deletions ARTIFACT_REPO.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,19 +106,20 @@ For Minio, the `accessKeySecret` and `secretKeySecret` naturally correspond the

Example:
```
$ kubectl edit configmap workflow-controller-configmap -n kube-system
$ kubectl edit configmap workflow-controller-configmap -n argo # assumes argo was installed in the argo namespace
...
executorImage: argoproj/argoexec:v2.1.1
data:
config: |
artifactRepository:
s3:
bucket: my-bucket
keyPrefix: prefix/in/bucket #optional
endpoint: my-minio-endpoint.default:9000
insecure: true
accessKeySecret:
keyPrefix: prefix/in/bucket #optional
endpoint: my-minio-endpoint.default:9000 #AWS => s3.amazonaws.com; GCS => storage.googleapis.com
insecure: true #omit for S3/GCS. Needed when minio runs without TLS
accessKeySecret: #omit if accessing via AWS IAM
name: my-minio-cred
key: accesskey
secretKeySecret:
secretKeySecret: #omit if accessing via AWS IAM
name: my-minio-cred
key: secretkey
```
Expand Down
82 changes: 82 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,87 @@
# Changelog

## 2.2.1 (2018-10-18)

### Changelog since v2.2.0
+ UI retrieve logs from artifacts location if logs archiving is enabled (issue #1018)
+ Add imagePullPolicy config for executors (@dtaniwaki)
+ Detect and indicate when container was OOMKilled
+ support force namespace isolation in UI
- Workflow executor panic: workflows.argoproj.io/template not found (issue #1033)
- gc-ttl dose not work (issue #1004)
- Resubmission of a terminated workflow creates a new workflow that is already terminated (issue #1011)
- ZIP containing single file cannot be used as an artifact due to errors in init container (issue #984) (@mthx)
- Regression when S3 secret has trailing newline (issue #981)
* Documentation fixes (@gsf, @davidB, @dtaniwaki)

## 2.2.0 (2018-08-30)

### Notes about upgrading from v2.1

* The `argo install` and `argo uninstall` commands have been removed from the CLI. Instead, plain
kubernetes manifests are provided to be installed using `kubectl apply`, or downstreamed into other
tools (e.g. helm chart, ksonnet prototype, kustomize, etc...).
* In 2.1, argo would install into the kube-system namespace by default. The new install instructions
have been updated to install into a different namespace, `argo`. In order to move to the recommended
installation location, you should delete the v2.1 resources from kube-system before applying the
new manifests to the `argo` namespace.

The following commands migrates the workflow-controller-configmap from the `kube-system` to the
`argo` namespace, and deletes all argo resources from the `kube-system` namespace. Note that this
will delete the argo-ui service, resulting in the LoadBalancer being deleted (if created).

```
kubectl get cm workflow-controller-configmap -o yaml -n kube-system --export | kubectl apply -n argo -f -
kubectl delete -n kube-system cm workflow-controller-configmap
kubectl delete -n kube-system deploy workflow-controller argo-ui
kubectl delete -n kube-system sa argo argo-ui
kubectl delete -n kube-system svc argo-ui
```

* In 2.1, the argoexec sidecar image was configured in the workflow-controller-configmap. This is
now configured using a new `--executor-image` flag in the `workflow-controller` deployment. This is
the preferred way to configure the executor image, since upgrades can now be performed without
changing the workflow-controller configmap. The executorImage setting in the config is deprecated
and may be removed/ignored in a future release.

### Changelog since v2.1
+ Support withItems/withParam and parameter aggregation with DAG templates (issue #801)
+ Add ability to aggregate and reference output parameters expanded by loops (issue #861)
+ Support for sophisticated expressions in `when` conditionals (issue #860)
+ Introduce Pending node state to highlight failures when starting workflow pods (issue #525)
+ Support additional container runtimes through kubelet executor (issue #902) (@JulienBalestra)
+ Introduce archive strategies with ability to disable tar.gz archiving (issue #784)
+ Introduce `keyFormat` workflow config to enable flexibility in archive location path (issue #953)
+ Introduce `argo watch` command to watch live workflows from terminal (issue #969)
+ Add ability to archive container logs to the artifact repository (issue #454)
+ Support for workflow level timeouts (issue #848)
+ Introduce `argo terminate` to terminate a workflow without deleting it (issue #527)
+ Introduce `withSequence` to iterate a range of numbers in a loop (issue #945)
+ Github login using go-git, with support for ssh keys (issue #793) (@andreimc)
+ Add TTLSecondsAfterFinished field and controller to garbage collect completed workflows (issue #911)
+ Add `argo delete --older` flag to delete completed workflows older than a duration
+ Support referencing of global workflow artifacts (issue #900)
+ Support submission of workflows from json files (issue #926)
+ Support submission of workflows from stdin (issue #926)
+ Prometheus metrics and telemetry (issue #896) (@bbc88ks)
+ Detect and fail upon unknown fields during argo submit & lint (issue #892)
+ Allow scaling of workflow and pod workers via controller CLI flags (issue #962)
+ Allow supplying of parameters from a file during `argo submit` (issue #796) (@vosmith)
+ [UI] UI support/spinning clock for pending pods (@EdanSneh)
* Remove installer/uninstaller (issue #928)
* Update golang compiler to v1.10.3
* Update k8s dependencies to v1.10 and client-go to v7.0
* Update argo-cluster-role to work with OpenShift
- Fix issue where retryStrategy with DAGs fails, even if the step passes after retries (issue #885)
- Fix issue where sidecars and daemons were not reliably killed (issue #879)
- Redundant verifyResolvedVariables check in controller precluded the ability to use {{ }} in other circumstances
- Fix issue where retryStrategy with DAGs fails, even if the step passes after retries (issue #885)
- Fix outbound node metadata with steps templates causing incorrect edges to be rendered in UI
- Fix outbound node metadata with retry nodes causing disconnected nodes to be rendered in UI (issue #880)
- Error workflows which hit k8s/etcd 1M resource size limit (issue #913)
- [UI] Fixed 'X' hiding under page (@EdanSneh)
- [UI] Beautified resource template. Yaml will now indent 2 spaces instead of one space

## 2.1.1 (2018-05-29)

### Changelog since v2.1.0
Expand Down
10 changes: 3 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ Go to https://groups.google.com/forum/#!forum/argoproj
## How to setup your dev environment

### Requirements
* Golang 1.9
* Golang 1.10
* Docker
* dep
* dep v0.5
* Mac Install: `brew install dep`
* Mac/Linux Install: `go get -u github.com/golang/dep/cmd/dep`
* gometalinter v2.0.5

### Quickstart
```
Expand All @@ -51,7 +51,3 @@ $ ./dist/argo version
```
$ argo install --controller-image jessesuen/workflow-controller:latest --executor-image jessesuen/argoexec:latest
```

## Most needed contributions

* TBD
29 changes: 6 additions & 23 deletions Dockerfile-argoexec
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:9.4
FROM debian:9.5-slim

RUN apt-get update && \
apt-get install -y curl jq procps git tar && \
Expand All @@ -7,27 +7,10 @@ RUN apt-get update && \
chmod +x ./kubectl && \
mv ./kubectl /bin/

ENV DOCKER_CHANNEL edge
ENV DOCKER_VERSION 17.10.0-ce
# TODO ENV DOCKER_SHA256
# https://github.com/docker/docker-ce/blob/5b073ee2cf564edee5adca05eee574142f7627bb/components/packaging/static/hash_files !!
# (no SHA file artifacts on download.docker.com yet as of 2017-06-07 though)

RUN set -ex; \
dockerArch='x86_64'; \
if ! curl -fL -o docker.tgz "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/${dockerArch}/docker-${DOCKER_VERSION}.tgz"; then \
echo >&2 "error: failed to download 'docker-${DOCKER_VERSION}' from '${DOCKER_CHANNEL}' for '${dockerArch}'"; \
exit 1; \
fi; \
\
tar --extract \
--file docker.tgz \
--strip-components 1 \
--directory /usr/local/bin/ \
; \
rm docker.tgz; \
\
dockerd -v; \
docker -v
ENV DOCKER_VERSION=18.06.0
RUN curl -O https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}-ce.tgz && \
tar -xzf docker-${DOCKER_VERSION}-ce.tgz && \
mv docker/docker /usr/local/bin/docker && \
rm -rf ./docker

COPY dist/argoexec /bin/
17 changes: 8 additions & 9 deletions Dockerfile-builder
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
FROM debian:9.4
FROM debian:9.5-slim

RUN apt-get update && apt-get install -y \
git \
make \
curl \
wget && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Install go
ENV GO_VERSION 1.9.3
ENV GO_VERSION 1.10.3
ENV GO_ARCH amd64
ENV GOPATH /root/go
ENV PATH ${GOPATH}/bin:/usr/local/go/bin:${PATH}
RUN wget https://storage.googleapis.com/golang/go${GO_VERSION}.linux-${GO_ARCH}.tar.gz && \
tar -C /usr/local/ -xf /go${GO_VERSION}.linux-${GO_ARCH}.tar.gz && \
rm /go${GO_VERSION}.linux-${GO_ARCH}.tar.gz && \
wget https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -O /usr/local/bin/dep && \
wget https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -O /usr/local/bin/dep && \
chmod +x /usr/local/bin/dep && \
wget https://github.com/gobuffalo/packr/releases/download/v1.10.4/packr_1.10.4_linux_amd64.tar.gz && \
tar -vxf packr*.tar.gz -C /tmp/ && \
mv /tmp/packr /usr/local/bin/packr
mkdir -p ${GOPATH}/bin && \
curl -sLo- https://github.com/alecthomas/gometalinter/releases/download/v2.0.5/gometalinter-2.0.5-linux-amd64.tar.gz | \
tar -xzC "$GOPATH/bin" --exclude COPYING --exclude README.md --strip-components 1 -f-

# A dummy directory is created under $GOPATH/src/dummy so we are able to use dep
# to install all the packages of our dep lock file
Expand All @@ -28,6 +29,4 @@ COPY Gopkg.lock ${GOPATH}/src/dummy/Gopkg.lock
RUN cd ${GOPATH}/src/dummy && \
dep ensure -vendor-only && \
mv vendor/* ${GOPATH}/src/ && \
rmdir vendor && \
go get -u github.com/alecthomas/gometalinter && \
gometalinter --install
rmdir vendor
13 changes: 7 additions & 6 deletions Dockerfile-ci-builder
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
FROM golang:1.9.2
FROM golang:1.10.3

WORKDIR /tmp

RUN curl -O https://get.docker.com/builds/Linux/x86_64/docker-1.13.1.tgz && \
tar -xzf docker-1.13.1.tgz && \
RUN curl -O https://download.docker.com/linux/static/stable/x86_64/docker-18.06.0-ce.tgz && \
tar -xzf docker-18.06.0-ce.tgz && \
mv docker/docker /usr/local/bin/docker && \
rm -rf ./docker && \
go get -u github.com/golang/dep/cmd/dep && \
go get -u github.com/alecthomas/gometalinter && \
gometalinter --install
wget https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -O /usr/local/bin/dep && \
chmod +x /usr/local/bin/dep && \
curl -sLo- https://github.com/alecthomas/gometalinter/releases/download/v2.0.5/gometalinter-2.0.5-linux-amd64.tar.gz | \
tar -xzC "$GOPATH/bin" --exclude COPYING --exclude README.md --strip-components 1 -f-
Loading

0 comments on commit 33d5ce5

Please sign in to comment.