-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Motivation: triggered by #80 it became clear that documentation is in bad shape and needs to be improved. - generate readme from values.yaml and a template with [helm-docs](https://github.com/norwoodj/helm-docs) - while documenting, finding and fixing bugs and doing minimal refactoring (hence a minor version bump) Some configuration still needs improved documentation and testing strategies specifically for this helm chart. Since those require more effort, they will be done in separate PRs. --------- Co-authored-by: Brendan Le Glaunec <brendan@glaulabs.com>
- Loading branch information
1 parent
1044fcf
commit ee09531
Showing
10 changed files
with
323 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
{{- /* run `helm-docs` to generate README.md */ -}} | ||
|
||
# Athens Proxy Helm Chart: {{ template "chart.name" . }} | ||
|
||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} | ||
|
||
## What is Athens? | ||
|
||
[Athens](https://docs.gomods.io) is a repository for packages used by your go packages. | ||
|
||
Athens provides a repository for [Go Modules](https://github.com/golang/go/wiki/Modules) that you can run. It serves public code and your private code for you, so you don't have to pull directly from a version control system (VCS) like GitHub or GitLab. | ||
|
||
## Prerequisites | ||
|
||
{{ template "chart.kubeVersionLine" . }} | ||
|
||
## Requirements | ||
|
||
- A running Kubernetes cluster | ||
- [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) installed and setup to use the cluster | ||
- [Helm](https://helm.sh/) [installed](https://github.com/helm/helm#install) and setup to use the cluster (helm init) or [Tillerless Helm](https://github.com/rimusz/helm-tiller) | ||
|
||
## Deploy Athens | ||
|
||
The fastest way to install Athens using Helm is to deploy it from our public Helm chart repository. First, add the repository with this command: | ||
|
||
```console | ||
$ helm repo add athens https://gomods.github.io/athens-charts | ||
$ helm repo update | ||
``` | ||
|
||
Next, install the chart with default values in the `athens` namespace: | ||
|
||
``` | ||
$ helm install athens/athens-proxy -n athens --namespace athens | ||
``` | ||
|
||
This will deploy a single Athens instance in the `athens` namespace with `disk` storage enabled. Additionally, a `ClusterIP` service will be created. | ||
|
||
{{ template "chart.valuesSection" . }} | ||
|
||
## Advanced Configuration | ||
|
||
For more advanced configuration options please check Athens [docs](https://docs.gomods.io/install/install-on-kubernetes/#advanced-configuration). | ||
|
||
Available options: | ||
- [Replicas](https://docs.gomods.io/install/install-on-kubernetes/#replicas) | ||
- [Access to private repositories via Github](https://docs.gomods.io/install/install-on-kubernetes/#give-athens-access-to-private-repositories-via-github-token-optional) | ||
- [Storage Providers](https://docs.gomods.io/install/install-on-kubernetes/#storage-providers) | ||
- [Kubernetes Service](https://docs.gomods.io/install/install-on-kubernetes/#kubernetes-service) | ||
- [Ingress Resource](https://docs.gomods.io/install/install-on-kubernetes/#ingress-resource) | ||
- [Upstream module repository](https://docs.gomods.io/install/install-on-kubernetes/#upstream-module-repository) | ||
- [.netrc file support](https://docs.gomods.io/install/install-on-kubernetes/#netrc-file-support) | ||
- [gitconfig support](https://docs.gomods.io/install/install-on-kubernetes/#gitconfig-support) | ||
|
||
### Pass extra configuration environment variables | ||
|
||
You can pass any extra environment variables supported in [config.dev.toml](../../../config.dev.toml). | ||
The example below shows how to set username/password for basic auth: | ||
|
||
```yaml | ||
configEnvVars: | ||
- name: BASIC_AUTH_USER | ||
value: "some_user" | ||
- name: BASIC_AUTH_PASS | ||
value: "some_password" | ||
``` | ||
|
||
### Private git servers over ssh support | ||
|
||
One or more of git servers can added to `sshGitServers`, and the corresponding config files (git config and ssh config) and ssh keys will be created. Athens then will use these configs and keys to download the source from the git servers. | ||
|
||
```yaml | ||
sshGitServers: | ||
## Private git servers over ssh | ||
## to enable uncomment lines with single hash below | ||
## hostname of the git server | ||
- host: git.example.com | ||
## ssh username | ||
user: git | ||
## ssh private key for the user | ||
privateKey: | | ||
-----BEGIN RSA PRIVATE KEY----- | ||
... | ||
-----END RSA PRIVATE KEY----- | ||
## ssh port | ||
port: 22 | ||
``` | ||
|
||
## Testing | ||
|
||
Using `chart-testing` to lint, install and test the chart on a local Kubernetes (Minikube, Rancher Desktop, ...) | ||
|
||
```shell | ||
ct lint-and-install --all | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.