Skip to content

Commit

Permalink
Master latest changes from Azure/acs-engine (#3)
Browse files Browse the repository at this point in the history
Master latest changes from Azure/acs-engine
  • Loading branch information
juhacket authored Apr 7, 2019
1 parent 0ba0143 commit 9bd628c
Show file tree
Hide file tree
Showing 12,844 changed files with 457,931 additions and 4,745,122 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
301 changes: 136 additions & 165 deletions .circleci/config.yml

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions .codecov/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
codecov:
notify:
require_ci_to_pass: no

coverage:
precision: 2
round: down
range: "50...100"

status:
project:
default:
threshold: 0.5
patch:
default:
threshold: 0.5
changes: no

parsers:
gcov:
branch_detection:
conditional: yes
loop: yes
method: no
macro: no

comment:
layout: "header, diff"
behavior: default
require_changes: no
43 changes: 2 additions & 41 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,3 @@
<!-- Thanks for filing an issue! Before hitting the button, please answer these questions. It's helpful to search the existing GitHub issues first. It's likely that another user has already reported the issue you're facing, or it's a known issue that we're already aware of-->

**Is this a request for help?**:

---

**Is this an ISSUE or FEATURE REQUEST?** (choose one):

---

**What version of acs-engine?**:

---


<!--
If this is a ISSUE, please:
- Fill in as much of the template below as you can. If you leave out
information, we can't help you as well.
If this is a FEATURE REQUEST, please:
- Describe *in detail* the feature/behavior/change you'd like to see.
In both cases, be ready for followup questions, and please respond in a timely
manner. If we can't reproduce a bug or think a feature already exists, we
might close your issue. If we're wrong, PLEASE feel free to reopen it and
explain why.
<!-- We're no longer fixing bugs in acs-engine as the project has migrated to aks-engine! Please go here instead:
- https://github.com/Azure/aks-engine/issues
-->

**Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)**


**What happened**:


**What you expected to happen**:


**How to reproduce it** (as minimally and precisely as possible):


**Anything else we need to know**:
18 changes: 2 additions & 16 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
<!-- Thanks for sending a pull request! Here are some tips for you:
1. If you want *faster* PR reviews, read how: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#best-practices-for-faster-reviews
<!-- We're no longer accepting incoming PRs in acs-engine as the project has migrated to aks-engine! Please go here instead:
- https://github.com/Azure/aks-engine/
-->

**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:
<!-- Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access)
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`.
-->
```release-note
```
61 changes: 61 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 60

# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7

# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- pinned
- security
- "[Status] Maybe Later"
- backlog

# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false

# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false

# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false

# Label to use when marking as stale
staleLabel: stale

# Comment to post when marking 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. Thank you for
your contribution.
Note that acs-engine is deprecated--see https://github.com/Azure/aks-engine instead.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.

# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.

# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30

# Limit to only `issues` or `pulls`
# only: issues

# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
pulls:
daysUntilStale: 7
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. Thank you for
your contribution.
Note that acs-engine is deprecated--see https://github.com/Azure/aks-engine instead.
# issues:
# exemptLabels:
# - confirmed
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ test/acs-engine-test/acs-engine-test
_dist/
bin/
.env
.coverprofile

test/junit/
test/acs-engine-test/acs-engine-test.exe
Expand All @@ -26,7 +27,18 @@ test/acs-engine-test/report/TestReport.json

# I have no idea why these get generated when I run the e2e test
test/e2e/kubernetes/translations/
test/e2e/openshift/translations/
pkg/openshift/translations/

# test outputs
cmd/_test_output

# packer
packer/settings.json
packer/sp.json

.idea
.vs

# exclude vendor directory from gitignore
!/vendor/**/*
3 changes: 3 additions & 0 deletions .prowci/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# prow-related secrets
hmac
oauth
26 changes: 26 additions & 0 deletions .prowci/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
prow: prow-config prow-secrets prow-services
.PHONY: prow

prow-config:
kubectl create cm config --from-file=config.yaml=config.yaml
kubectl create cm plugins --from-file=plugins.yaml=plugins.yaml
.PHONY: prow-config

prow-config-update:
kubectl create cm config --from-file=config.yaml=config.yaml -o yaml --dry-run | kubectl replace -f -
kubectl create cm plugins --from-file=plugins.yaml=plugins.yaml -o yaml --dry-run | kubectl replace -f -
.PHONY: prow-config-update

prow-secrets:
# hmac is used for encrypting Github webhook payloads.
kubectl create secret generic hmac-token --from-file=hmac
# oauth is used for merging PRs, adding/removing labels and comments.
kubectl create secret generic oauth-token --from-file=oauth
.PHONY: prow-secrets

prow-services:
kubectl create -f deck.yaml
kubectl create -f hook.yaml
kubectl create -f tide.yaml
kubectl create -f ingress.yaml
.PHONY: prow-services
39 changes: 39 additions & 0 deletions .prowci/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Prow

Prow is a CI system that offers various features such as rich Github automation,
and running tests in Jenkins or on a Kubernetes cluster. You can read more about
Prow in [upstream docs][0].

## acs-engine setup

Deploy a new Kubernetes cluster (eg. `az aks create -g acse-test-prow-ci -n prow)

Set up an Ingress controller and a mechanism to do TLS. The [Azure docs][1]
explain how to setup Ingress with TLS on top of a Kubernetes cluster in Azure. (make sure you specify `--set rbac.create=true` when creating the ingress controller)

A Github webhook also needs to be setup in the repo that points to `dns-name/hook`.
`dns-name` is the DNS name setup during the DNS configuration of the Ingress controller.
The Github webhook also needs to send `application/json` type of payloads and use a
secret. This secret is going to be used by Prow to decrypt the payload inside Kubernetes.

Another secret that needs to be setup is a Github token from the bot account that is
going to manage PRs and issues. The token needs the `repo` and `read:org` scopes
enabled. The bot account also needs to be added as a collaborator in the repository
it is going to manage.

To automate the installation of Prow, store the webhook secret as `hmac` and the bot
token as `oauth` inside the `.prowci` directory. Then, installing Prow involves
running the following command:
```
make prow
```

## What is installed

`hook` is installed that manages receiving webhooks from Github and reacting
appropriately on Github. `deck` is installed as the Prow frontend. Last, `tide`
is also installed that takes care of merging pull requests that pass all tests
and satisfy a set of label requirements.

[0]: https://github.com/kubernetes/test-infra/tree/master/prow#prow
[1]: https://docs.microsoft.com/en-us/azure/aks/ingress
17 changes: 17 additions & 0 deletions .prowci/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
log_level: debug

tide:
# target_url: http://prow-ci-bot-ingress.eastus.cloudapp.azure.com/tide.html
merge_method:
Azure/acs-engine: squash
queries:
- repos:
- Azure/acs-engine
labels:
- lgtm
- approved
missingLabels:
- needs-ok-to-test
- DO-NOT-MERGE
- do-not-merge/work-in-progress
- do-not-merge/hold
55 changes: 55 additions & 0 deletions .prowci/deck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
name: deck
spec:
selector:
app: prow
component: deck
ports:
- port: 80
targetPort: 8080
type: ClusterIP
- apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: deck
labels:
app: prow
component: deck
spec:
replicas: 1
selector:
matchLabels:
app: prow
component: deck
revisionHistoryLimit: 2
template:
metadata:
labels:
app: prow
component: deck
spec:
containers:
- name: deck
image: registry.svc.ci.openshift.org/ci/deck:latest
imagePullPolicy: IfNotPresent
args:
- --tide-url=http://tide/
- --hook-url=http://hook:8888/plugin-help
# defaults to --config-path=/etc/config/config
ports:
- name: http
# not configurable today, deck serves in 8080
containerPort: 8080
volumeMounts:
- name: config
mountPath: /etc/config
readOnly: true
volumes:
- name: config
configMap:
name: config
Loading

0 comments on commit 9bd628c

Please sign in to comment.