Skip to content

Commit e5b7d49

Browse files
author
Craig Jellick
authored
Create README.md
1 parent 439813c commit e5b7d49

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# channelserver
2+
This project is a micro-service for exposing multiple release channels for a software project. It is inspired by (and follows the convention of) GitHub’s `/releases/latest` paradigm, which will always redirect to the latest release of a project.
3+
4+
It expands on the `/releases/latest` concept by allowing you to create multiple release channels, each with their own URL that will redirect to the latest release for that channel.
5+
6+
A channel's latest release can be configured by [explicitly pinning it to a version](https://github.com/rancher/channelserver/blob/439813cefa7a0bd048052bcabc7b1c6ad796e97a/channels.yaml#L4) or by [selecting a set of releases via regular expression](https://github.com/rancher/channelserver/blob/439813cefa7a0bd048052bcabc7b1c6ad796e97a/channels.yaml#L11) (in which case the most recently release matching the regex will be resolved as the latest release). For more exmples, see the [sample config](https://github.com/rancher/channelserver/blob/master/channels.yaml).
7+
8+
The primary usecase for this project is currently Rancher's [system-upgrade-controller](https://github.com/rancher/system-upgrade-controller), which is used for automating upgrades of k3s and k3os. In the system-upgrade-controller, a user could specify an channel exposed by this sevice as the URL in the plan.spec.channel field.
9+
10+
This service in proudction for k3s here: https://update.k3s.io/v1-release/channels, which is driven by this config: https://github.com/rancher/k3s/blob/master/channel.yaml. Each channel's `self` link is the URL that will resolve to the latest GitHub release page for that channel.
11+
12+
## License
13+
Copyright (c) 2019 [Rancher Labs, Inc.](http://rancher.com)
14+
15+
Licensed under the Apache License, Version 2.0 (the "License");
16+
you may not use this file except in compliance with the License.
17+
You may obtain a copy of the License at
18+
19+
[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
20+
21+
Unless required by applicable law or agreed to in writing, software
22+
distributed under the License is distributed on an "AS IS" BASIS,
23+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24+
See the License for the specific language governing permissions and
25+
limitations under the License.

0 commit comments

Comments
 (0)