Skip to content

Commit fbcb825

Browse files
Merge pull request #6 from bbrowning/openshift-newer-coredns
Bump to coredns/coredns v1.3.1
2 parents 4fbb9ba + f7b27ad commit fbcb825

File tree

11,838 files changed

+95665
-4463682
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

11,838 files changed

+95665
-4463682
lines changed

.benchmark.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env bash
2+
3+
set -e +o pipefail
4+
5+
# bit too spammy
6+
return
7+
8+
if [ "$TRAVIS_PULL_REQUEST" != "false" ] ; then
9+
echo -e "NOTE: The CPU benchmarks are performed on Travis VMs and vary widly between runs," > .benchmark.body
10+
echo -e " you can't trust them. The memory benchmarks are OK\n\n" >> .benchmark.body
11+
awk '/^benchmark.*old/ { printf "%s\n%s\n", "```", $0 };
12+
/^$/ { print "```" };
13+
/^Bench/ { print $0 };
14+
END{ print "```" }' .benchmark.log >> .benchmark.body
15+
jq -n --arg body "$(cat .benchmark.body)" '{body: $body}' > .benchmark.json
16+
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST \
17+
--data-binary "@.benchmark.json" \
18+
"https://api.github.com/repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}/comments"
19+
fi

.github/ISSUE_TEMPLATE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<!--
2+
When reporting bugs and requesting assistance, please include:
3+
* the version of CoreDNS you are using
4+
* your Corefile
5+
* logs, if applicable
6+
7+
Thanks for using CoreDNS!
8+
-->

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ Corefile
44
coredns
55
coredns.exe
66
coredns.exe~
7-
debug
8-
debug.test
97
kubectl
108
go-test-tmpfile*
119
coverage.txt

.presubmit/filename-hyphen

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ echo "** presubmit/$(basename $0)"
55
for dir in "$@"; do
66
if find $dir | grep '-'; then
77
echo "** presubmit/$(basename $0): please use an underscore in filenames instead of a hyphen"
8+
exit 1
89
fi
910
done

.presubmit/trailing-whitespace

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
echo "** presubmit/$(basename $0)"
4+
5+
if grep -r '[[:blank:]]$' "$@"; then
6+
echo "** presubmit/$(basename $0): please remove any trailing white space"
7+
fi

.stickler.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
linters:
3+
golint:
4+
min_confidence: 0.85
5+
fixer: true
6+
7+
files:
8+
ignore:
9+
- 'vendor/*'
10+
- 'pb/*'

.travis.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
sudo: required
2-
# Trusty distribution is much faster when sudo is required
32
dist: trusty
43

54
services:
65
- docker
76

87
language: go
98
go:
10-
- "1.10.x"
9+
- "1.11.x"
1110

1211
go_import_path: github.com/coredns/coredns
1312

1413
git:
1514
depth: 3
1615

16+
branches:
17+
only:
18+
- master
19+
1720
env:
18-
- TEST_TYPE=coverage ETCD_VERSION=2.3.1
19-
- TEST_TYPE=integration ETCD_VERSION=2.3.1
20-
- TEST_TYPE=core ETCD_VERSION=2.3.1
21-
- TEST_TYPE=plugin ETCD_VERSION=2.3.1
21+
- TEST_TYPE=coverage ETCD_VERSION=3.3.8
22+
- TEST_TYPE=integration ETCD_VERSION=3.3.8
23+
- TEST_TYPE=core ETCD_VERSION=3.3.8
24+
- TEST_TYPE=plugin ETCD_VERSION=3.3.8
2225

2326
# In the Travis VM-based build environment, IPv6 networking is not
2427
# enabled by default. The sysctl operations below enable IPv6.
@@ -35,10 +38,11 @@ before_install:
3538

3639
before_script:
3740
- docker run -d --net=host --name=etcd quay.io/coreos/etcd:v$ETCD_VERSION
41+
- make godeps
3842

3943
script:
4044
- make TEST_TYPE=$TEST_TYPE travis
4145

42-
4346
after_success:
4447
- bash <(curl -s https://codecov.io/bash)
48+
- bash .benchmark.sh

ADOPTERS.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,23 @@
77
* [Tradeshift](https://tradeshift.com/) uses CoreDNS to look up company identifiers across multiple shards/regions/zones
88
* [SoundCloud](https://soundcloud.com/) uses CoreDNS as internal cache+proxy in Kubernetes clusters to handle hundreds of thousands DNS service discovery requests per second.
99
* [Z Lab](https://zlab.co.jp) uses CoreDNS in production combination with Consul and Kuberenetes Clusters.
10+
* [Serpro/estaleiro](estaleiro.serpro.gov.br) uses CoreDNS as Kubernetes' DNS Server, in production with tuned Kubernetes plugin options
11+
* [Lumo](https://thinklumo.com) uses CoreDNS as Kubernetes' DNS Server, in production and lab with default configuration
12+
* [Booming Games](https://booming-games.com) uses CoreDNS in multiple Kubernetes clusters, with Federation plugin. expect going to production soon.
13+
* [Sodimac](http://www.sodimac.cl) uses CoreDNS with Kubernetes in production with default configuration.
14+
* [Bose](https://www.bose.com/) uses CoreDNS with Kubernetes in production on very large cluster (over 250 nodes)
15+
* [farmotive](https://farmotive.io) uses CoreDNS in Kubernetes using default configuration, in its Lab. Expect to be in production soon.
16+
* [Zalando SE](https://www.zalando.de) uses CoreDNS as Kubernetes' DNS Server, in production.
17+
* [Trainline](https://trainline.com) uses CoreDNS along with Kubernetes in production, with a tuned configuration.
18+
* [AnchorFree](https://www.anchorfree.com) uses CoreDNS within Kubernetes in production, with standard configuration.
19+
* [Datacom](https://datacom.co.nz) uses CoreDNS with a tuned configuration for Kubernetes, as production.
20+
* [Takealot.com](https://www.takealot.com) uses CoreDNS as Kubernetes' DNS Server, in production.
21+
* [scalable minds](https://scalableminds.com) uses CoreDNS with default configuration for Kubernetes in its production environment.
22+
* [ObjectRocket](https://www.objectrocket.com) uses CoreDNS on its numerous Kubernetes' clusters, using refined configurations. Address both Lab and Production environment
23+
* [Devino Telecom](https://devinotele.com) uses CoreDNS with default configuration for Kubernetes for its Lab and its Production.
24+
* [Yandex Money](https://money.yandex.ru) uses CoreDNS in Lab and Production, using default configuration for Kubernetes.
25+
* [AdGuard](https://adguard.com/) uses CoreDNS in [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome) and, therefore, in production public AdGuard DNS servers.
26+
* [Skyscanner](https://www.skyscanner.net) uses CoreDNS within Kubernetes in production with the configuration tuned to use the Autopath plugin.
27+
* [Zinza Technology](http://zinza.com.vn) uses CoreDNS within Kubernetes in production, with standard configuration.
28+
* [Hualala](http://www.hualala.com/home) uses CoreDNS in Kubernetes using default configuration, in its Lab. Expected to be in production soon.
29+
* [Hellofresh](https://www.hellofresh.com/) uses CoreDNS in multiple Kubernetes clusters, with Forward plugin.

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ $ go get -u github.com/golang/dep/cmd/dep
9595

9696
Use the following to update the locked versions of all dependencies
9797
```sh
98-
$ dep ensure -update
98+
$ make dep-ensure
9999
```
100100

101101
To add a dependency to the project, you might run

GOVERNANCE.md

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# CoreDNS Governance
2+
3+
## Principles
4+
5+
The CoreDNS community adheres to the following principles:
6+
7+
- Open: CoreDNS is open source, advertised on [our website](https://coredns.io/community).
8+
- Welcoming and respectful: See [Code of Conduct](CODE-OF-CONDUCT.md).
9+
- Transparent and accessible: Changes to the CoreDNS organization, CoreDNS code repositories, and CNCF related activities (e.g. level, involvement, etc) are done in public.
10+
- Merit: Ideas and contributions are accepted according to their technical merit and alignment with
11+
project objectives, scope, and design principles.
12+
13+
## Project Lead
14+
15+
The CoreDNS project has a project lead.
16+
17+
A project lead in CoreDNS is
18+
a single person that has a final say in any decision concerning the CoreDNS project.
19+
20+
The term of the project lead is one year, with no term limit restriction.
21+
22+
The project lead is elected by CoreDNS maintainers
23+
according to an individual's technical merit to CoreDNS project.
24+
25+
The current project lead is identified in the top level [OWNERS](OWNERS) file with the string
26+
`project lead` and the term behind the name.
27+
28+
29+
## Expectations from Maintainers
30+
31+
Every one carries water...
32+
33+
Making a community work requires input/effort from everyone. Maintainers should actively
34+
participate in Pull Request reviews. Maintainers are expected to respond to assigned Pull Requests
35+
in a *reasonable* time frame, either providing insights, or assign the Pull Requests to other
36+
maintainers.
37+
38+
Every Maintainer is listed in the top-level [OWNERS](https://github.com/coredns/coredns/blob/master/OWNERS)
39+
file, with their Github handle and a possibly obfuscated email address. Everyone in the
40+
`approvers` list is a Maintainer.
41+
42+
A Maintainer is also listed in a plugin specific OWNERS file.
43+
44+
A Maintainer should be a member of `[email protected]`, although this is not a hard requirement.
45+
46+
## Becoming a Maintainer
47+
48+
On successful merge of a significant pull request any current maintainer can reach
49+
to the author behind the pull request and ask them if they are willing to become a CoreDNS
50+
maintainer. The email of the new maintainer invitation should be cc'ed to `[email protected]`
51+
as part of the process.
52+
53+
## Changes in Maintainership
54+
55+
If a Maintainer feels she/he can not fulfill the "Expectations from Maintainers", they are free to
56+
step down.
57+
58+
The CoreDNS organization will never forcefully remove a current Maintainer, unless a maintainer
59+
fails to meet the principles of CoreDNS community,
60+
or adhere to the [Code of Conduct](CODE-OF-CONDUCT.md).
61+
62+
## Changes in Project Lead
63+
64+
Changes in project lead or term is initiated by opening a github PR.
65+
66+
Anyone from CoreDNS community can vote on the PR with either +1 or -1.
67+
68+
Only the following votes are binding:
69+
1) Any maintainer that has been listed in the top-level [OWNERS](OWNERS) file before the PR is opened.
70+
2) Any maintainer from an organization may cast the vote for that organization. However, no organization
71+
should have more binding votes than 1/5 of the total number of maintainers defined in 1).
72+
73+
The PR should only be opened no earlier than 6 weeks before the end of the project lead's term.
74+
The PR should be kept open for no less than 4 weeks. The PR can only be merged after the end of the
75+
last project lead's term, with more +1 than -1 in the binding votes.
76+
77+
When there are conflicting PRs about changes in project lead, the PR with the most binding +1 votes is merged.
78+
79+
The project lead can volunteer to step down.
80+
81+
## Changes in Project Governance
82+
83+
Changes in project governance (GOVERNANCE.md) could be initiated by opening a github PR.
84+
The PR should only be opened no earlier than 6 weeks before the end of the project lead's term.
85+
The PR should be kept open for no less than 4 weeks. The PR can only be merged follow the same
86+
voting process as in `Changes in Project Lead`.
87+
88+
## Decision making process
89+
90+
Decisions are build on consensus between maintainers.
91+
Proposals and ideas can either be submitted for agreement via a github issue or PR,
92+
or by sending an email to `[email protected]`.
93+
94+
In general, we prefer that technical issues and maintainer membership are amicably worked out between the persons involved.
95+
If a dispute cannot be decided independently, get a third-party maintainer (e.g. a mutual contact with some background
96+
on the issue, but not involved in the conflict) to intercede.
97+
If a dispute still cannot be decided, the project lead has the final say to decide an issue.
98+
99+
Decision making process should be transparent to adhere to
100+
the principles of CoreDNS project.
101+
102+
All proposals, ideas, and decisions by maintainers or the project lead
103+
should either be part of a github issue or PR, or be sent to `[email protected]`.
104+
105+
## Github Project Administration
106+
107+
The __coredns__ GitHub project maintainers team reflects the list of Maintainers.
108+
109+
## Other Projects
110+
111+
The CoreDNS organization is open to receive new sub-projects under its umbrella. To accept a project
112+
into the __CoreDNS__ organization, it has to meet the following criteria:
113+
114+
- Must be licensed under the terms of the Apache License v2.0
115+
- Must be related to one or more scopes of the CoreDNS ecosystem:
116+
- CoreDNS project artifacts (website, deployments, CI, etc)
117+
- External plugins
118+
- Other DNS related processing
119+
- Must be supported by a Maintainer not associated or affiliated with the author(s) of the sub-projects
120+
121+
The submission process starts as a Pull Request or Issue on the
122+
[coredns/coredns](https://github.com/coredns/coredns) repository with the required information
123+
mentioned above. Once a project is accepted, it's considered a __CNCF sub-project under the umbrella
124+
of CoreDNS__.
125+
126+
## New Plugins
127+
128+
The CoreDNS is open to receive new plugins as part of the CoreDNS repo. The submission process
129+
is the same as a Pull Request submission. Unlike small Pull Requests though, a new plugin submission
130+
should only be approved by a maintainer not associated or affiliated with the author(s) of the
131+
plugin.
132+
133+
## CoreDNS and CNCF
134+
135+
CoreDNS is a CNCF project. As such, CoreDNS might be involved in CNCF (or other CNCF projects) related
136+
marketing, events, or activities. Any maintainer could help driving the CoreDNS involvement, as long as
137+
she/he sends email to `[email protected]` (or create a GitHub Pull Request) to call for participation
138+
from other maintainers. The `Call for Participation` should be kept open for no less than a week if time
139+
permits, or a _reasonable_ time frame to allow maintainers to have a chance to volunteer.
140+
141+
## Code of Conduct
142+
143+
The [CoreDNS Code of Conduct](CODE-OF-CONDUCT.md) is aligned with the CNCF Code of Conduct.
144+
145+
## Credits
146+
147+
Sections of this documents have been borrowed from [Fluentd](https://github.com/fluent/fluentd/blob/master/GOVERNANCE.md) and [Envoy](https://github.com/envoyproxy/envoy/blob/master/GOVERNANCE.md) projects.

0 commit comments

Comments
 (0)