This adds new parameters to each Deployment in the argo-cd chart,
allowing users to specify custom volumes to mount. This makes it
possible to use a Git repository self-signed certificates by manually
adding a "known_hosts" file, as recommended in the documentation:
https://argoproj.github.io/argo-cd/user-guide/private-repositories/
"volumes" and "volumeMounts" parameters are added to each Deployment,
with defaults set to empty.
This change was tested by templating the chart with default parameters,
and by templating it with volume mounts specified for each service.
* Add application controller resources
First chart version for argo-cd
added the new labels recommeneded for k8
* Add repo server resources
Use legacy label and new one for application controller selectors
Set labels for deployment for easier discovery
* Configure git repositories, helm chart museums and dex connectors
This way argo-cd could be configured to update itself via helm
* Parameterize the rbac configmap
* Parameterize webhook secrets
* Parameterize server deployment and set services with the labels
* Add service account, role and rolebinding for server deployment
* Clean the old label, use only latest recommendations
Follow the ideas and changes of https://github.com/argoproj/argo-cd/pull/1035
* Fix var naming issues
* Fix server service incorrect ports
* Install crds with helm hook
* Enable cluster admin accessby default
Default installation will allow installing apps in the current cluster without
inputted credentials. For other clusters inputted credentials will be needed
* Parameterize the dex server
* Harcode resource names because code expects them this way
Some resource names and application urls are hardcoded in code with these
names. So they can't be parameterized.
* Create the ingress with tls passthrough support
Tls is terminated on the ArgoCD server, not on ingress
* Fix typo on application controller sa
* Add notes on how to connect to server UI after installation
* Chart Grooming
- Changed the default `workflow-controller` installation to use the `ServiceAccount` that is created and bound.
- Customized the instanceID logic:
- No longer defaults to installed (this was very difficult to see/understand when coming from starter tutorials)
- Kept logic to allow for release name or explicit mappings but changed structure a bit
- Added in optional configuration for:
- CRD Install hook's ServiceAccount to allow clean install if your
default roles aren't privledged
- Optional Pod and Service annotations
- Controller logging level configuration
- Minio Customizations
- Changed the Secret configuration to properly represent the path of a secret instead of the actual contents
- Changed the names of the secret and service that are represented to mirror that of the underlying chart
* Adding in role bindings for minio secrets if installed
helm has issues with conditional sub charts of a sub chart so I think it'd be better to have minio not be installed as part of the chart by default so if you want to leverage this chart as part of another chart you don't have to worry about unintended resources getting created on cluster.
* moved workflow CRD into helpers.tpl
* added new values to values.yaml
* added UI cluster role and binding
* add workflow controller cluster role and binding
* added ui service account creator
* added workflow controller service account yaml
* reformatted values.yaml to group similar items
* tweaked files to reflect values.yaml changes
* setup minio stuff to match subchart model
* changes to reflect minio rework
* added README to explain chart a bit
* changes made to reflect minio values changes
* changes to reflect minio values changes (again)
* updating minio to latest version
* move the crd definition into it's own tpl file
* Parameterize artifact configuration
**What**
- Add parameterization of artifact store configuration
**Why**
Enables configuration of artifact repo secrets or omitting for use with IAM credentials
* Add workflow CRD definition to argo chart
**Why**
The workflow CRD must exist in order for argo to function
* artifactRepository values follow tree structure
* Deploy CRD as a pre-install hook
**What**
Using `lachlanevenson/k8s-kubectl`, which appears to be the most popular, off the shelf container with `kubectl` applied, run a job to apply the `workflow` crd.
**Why**
CRD is not, and cannot, be parameterized with release and so attempting to deploy as a regular template causes failures when installing subsequent releases.