Skip to content

Commit afcec56

Browse files
committed
Merge 'v2.3' into master.
2 parents 326be29 + d2435cf commit afcec56

File tree

27 files changed

+499
-34
lines changed

27 files changed

+499
-34
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ PLEASE READ THIS MESSAGE.
33
44
Documentation fixes or enhancements:
55
- for Traefik v1: use branch v1.7
6-
- for Traefik v2: use branch v2.2
6+
- for Traefik v2: use branch v2.3
77
88
Bug fixes:
99
- for Traefik v1: use branch v1.7
10-
- for Traefik v2: use branch v2.2
10+
- for Traefik v2: use branch v2.3
1111
1212
Enhancements:
1313
- for Traefik v1: we only accept bug fixes

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## [v2.3.1](https://github.com/traefik/traefik/tree/v2.3.1) (2020-09-28)
2+
[All Commits](https://github.com/traefik/traefik/compare/v2.3.0...v2.3.1)
3+
4+
**Bug fixes:**
5+
- **[webui]** Fix blank webui on some browsers ([#7364](https://github.com/traefik/traefik/pull/7364) by [matthieuh](https://github.com/matthieuh))
6+
7+
**Documentation:**
8+
- **[k8s/helm]** Update of the helm repo localisation ([#7352](https://github.com/traefik/traefik/pull/7352) by [dgoujard](https://github.com/dgoujard))
9+
- restore traefik logo ([#7344](https://github.com/traefik/traefik/pull/7344) by [notsureifkevin](https://github.com/notsureifkevin))
10+
- Removes invalid items in the changelog. ([#7339](https://github.com/traefik/traefik/pull/7339) by [ldez](https://github.com/ldez))
11+
112
## [v2.3.0](https://github.com/traefik/traefik/tree/v2.3.0) (2020-09-23)
213
[All Commits](https://github.com/traefik/traefik/compare/v2.2.0-rc1...v2.3.0)
314

CODE_OF_CONDUCT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Representation of a project may be further defined and clarified by project main
3636

3737
## Enforcement
3838

39-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@containo.us
39+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@traefik.io
4040
All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.
4141
The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
4242
Further details of specific enforcement policies may be posted separately.
@@ -48,4 +48,4 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
4848
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
4949

5050
[homepage]: http://contributor-covenant.org
51-
[version]: http://contributor-covenant.org/version/1/4/
51+
[version]: http://contributor-covenant.org/version/1/4/

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![Go Report Card](https://goreportcard.com/badge/traefik/traefik)](https://goreportcard.com/report/traefik/traefik)
99
[![](https://images.microbadger.com/badges/image/traefik.svg)](https://microbadger.com/images/traefik)
1010
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/traefik/traefik/blob/master/LICENSE.md)
11-
[![Join the community support forum at https://community.containo.us/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.containo.us/)
11+
[![Join the community support forum at https://community.traefik.io/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.traefik.io/)
1212
[![Twitter](https://img.shields.io/twitter/follow/traefik.svg?style=social)](https://twitter.com/intent/follow?screen_name=traefik)
1313

1414

@@ -96,9 +96,9 @@ A collection of contributions around Traefik can be found at [https://awesome.tr
9696
## Support
9797

9898
To get community support, you can:
99-
- join the Traefik community forum: [![Join the chat at https://community.containo.us/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.containo.us/)
99+
- join the Traefik community forum: [![Join the chat at https://community.traefik.io/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.traefik.io/)
100100

101-
If you need commercial support, please contact [Containo.us](https://containo.us) by mail: <mailto:support@containo.us>.
101+
If you need commercial support, please contact [Traefik.io](https://traefik.io) by mail: <mailto:support@traefik.io>.
102102

103103
## Download
104104

@@ -122,7 +122,7 @@ git clone https://github.com/traefik/traefik
122122

123123
## Introductory Videos
124124

125-
You can find high level and deep dive videos on [videos.containo.us](https://videos.containo.us).
125+
You can find high level and deep dive videos on [videos.traefik.io](https://videos.traefik.io).
126126

127127
## Maintainers
128128

@@ -152,9 +152,9 @@ We use [Semantic Versioning](https://semver.org/).
152152

153153
## Credits
154154

155-
Kudos to [Peka](http://peka.byethost11.com/photoblog/) for his awesome work on the logo ![logo](docs/content/assets/img/traefik.icon.png).
155+
Kudos to [Peka](http://peka.byethost11.com/photoblog/) for his awesome work on the gopher's logo!.
156156

157-
Traefik's logo is licensed under the Creative Commons 3.0 Attributions license.
157+
The gopher's logo of Traefik is licensed under the Creative Commons 3.0 Attributions license.
158158

159-
Traefik's logo was inspired by the gopher stickers made by [Takuya Ueda](https://twitter.com/tenntenn).
159+
The gopher's logo of Traefik was inspired by the gopher stickers made by [Takuya Ueda](https://twitter.com/tenntenn).
160160
The original Go gopher was designed by [Renee French](https://reneefrench.blogspot.com/).

docs/content/getting-started/install-traefik.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ You can install Traefik with the following flavors:
99

1010
## Use the Official Docker Image
1111

12-
Choose one of the [official Docker images](https://hub.docker.com/_/traefik) and run it with the [sample configuration file](https://raw.githubusercontent.com/traefik/traefik/v2.3/traefik.sample.toml):
12+
Choose one of the [official Docker images](https://hub.docker.com/_/traefik) and run it with one sample configuration file:
13+
14+
* [TOML](https://raw.githubusercontent.com/traefik/traefik/v2.3/traefik.sample.toml)
15+
* [YAML](https://raw.githubusercontent.com/traefik/traefik/v2.3/traefik.sample.yml)
1316

1417
```bash
1518
docker run -d -p 8080:8080 -p 80:80 \
@@ -42,7 +45,7 @@ Ensure that the following requirements are met:
4245
Add Traefik's chart repository to Helm:
4346

4447
```bash
45-
helm repo add traefik https://traefik.github.io/traefik-helm-chart
48+
helm repo add traefik https://helm.traefik.io/traefik
4649
```
4750

4851
You can update the chart repository by running:

docs/content/https/acme.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,34 @@ certificatesResolvers:
516516
# ...
517517
```
518518

519+
### `keyType`
520+
521+
_Optional, Default="RSA4096"_
522+
523+
KeyType used for generating certificate private key. Allow value 'EC256', 'EC384', 'RSA2048', 'RSA4096', 'RSA8192'.
524+
525+
```toml tab="File (TOML)"
526+
[certificatesResolvers.myresolver.acme]
527+
# ...
528+
keyType = "RSA4096"
529+
# ...
530+
```
531+
532+
```yaml tab="File (YAML)"
533+
certificatesResolvers:
534+
myresolver:
535+
acme:
536+
# ...
537+
keyType: 'RSA4096'
538+
# ...
539+
```
540+
541+
```bash tab="CLI"
542+
# ...
543+
--certificatesresolvers.myresolver.acme.keyType="RSA4096"
544+
# ...
545+
```
546+
519547
## Fallback
520548

521549
If Let's Encrypt is not reachable, the following certificates will apply:

docs/content/reference/static-configuration/file.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@
251251
addEntryPointsLabels = true
252252
addServicesLabels = true
253253

254+
[pilot]
255+
token = "foobar"
256+
254257
[ping]
255258
entryPoint = "foobar"
256259
manualRouting = true
@@ -365,8 +368,6 @@
365368
[certificatesResolvers.CertificateResolver1.acme.tlsChallenge]
366369

367370
[experimental]
368-
[experimental.pilot]
369-
token = "foobar"
370371
[experimental.plugins]
371372
[experimental.plugins.Descriptor0]
372373
moduleName = "foobar"

docs/content/reference/static-configuration/file.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,8 @@ metrics:
270270
password: foobar
271271
addEntryPointsLabels: true
272272
addServicesLabels: true
273+
pilot:
274+
token: foobar
273275
ping:
274276
entryPoint: foobar
275277
manualRouting: true
@@ -384,8 +386,6 @@ certificatesResolvers:
384386
entryPoint: foobar
385387
tlsChallenge: {}
386388
experimental:
387-
pilot:
388-
token: foobar
389389
plugins:
390390
Descriptor0:
391391
moduleName: foobar

pkg/config/runtime/runtime.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type Configuration struct {
2323
TCPRouters map[string]*TCPRouterInfo `json:"tcpRouters,omitempty"`
2424
TCPServices map[string]*TCPServiceInfo `json:"tcpServices,omitempty"`
2525
UDPRouters map[string]*UDPRouterInfo `json:"udpRouters,omitempty"`
26-
UDPServices map[string]*UDPServiceInfo `json:"updServices,omitempty"`
26+
UDPServices map[string]*UDPServiceInfo `json:"udpServices,omitempty"`
2727
}
2828

2929
// NewConfig returns a Configuration initialized with the given conf. It never returns nil.

pkg/provider/acme/local_store.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ func (s *LocalStore) save(resolverName string, storedData *StoredData) {
3434
defer s.lock.Unlock()
3535

3636
s.storedData[resolverName] = storedData
37-
s.saveDataChan <- s.storedData
37+
38+
// we cannot pass s.storedData directly, map is reference type and as result
39+
// we can face with race condition, so we need to work with objects copy
40+
s.saveDataChan <- s.unSafeCopyOfStoredData()
3841
}
3942

4043
func (s *LocalStore) get(resolverName string) (*StoredData, error) {
@@ -81,7 +84,10 @@ func (s *LocalStore) get(resolverName string) (*StoredData, error) {
8184
}
8285
if len(certificates) < len(storedData.Certificates) {
8386
storedData.Certificates = certificates
84-
s.saveDataChan <- s.storedData
87+
88+
// we cannot pass s.storedData directly, map is reference type and as result
89+
// we can face with race condition, so we need to work with objects copy
90+
s.saveDataChan <- s.unSafeCopyOfStoredData()
8591
}
8692
}
8793
}
@@ -111,6 +117,15 @@ func (s *LocalStore) listenSaveAction() {
111117
})
112118
}
113119

120+
// unSafeCopyOfStoredData creates maps copy of storedData. Is not thread safe, you should use `s.lock`.
121+
func (s *LocalStore) unSafeCopyOfStoredData() map[string]*StoredData {
122+
result := map[string]*StoredData{}
123+
for k, v := range s.storedData {
124+
result[k] = v
125+
}
126+
return result
127+
}
128+
114129
// GetAccount returns ACME Account.
115130
func (s *LocalStore) GetAccount(resolverName string) (*Account, error) {
116131
storedData, err := s.get(resolverName)

0 commit comments

Comments
 (0)