You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Revert "fix agent uninstall (#90)"
This reverts commit ef3b241.
Revert "replace @ char in context name (#89)"
This reverts commit 5b3684a.
Revert "fix title of steps"
This reverts commit 53a6651.
Revert "set branch name on codefresh run cmd"
This reverts commit 01bdbea.
Revert "fix agent references in test agent yaml"
This reverts commit 397cf1a.
Revert "fix agent test yaml"
This reverts commit d44a327.
Revert "Saas 5009 (#88)"
This reverts commit 70510f3.
* update version
Migrating from Venona `< 1.x.x` to `> 1.x.x` is not done automatically, please use the [migration script](https://github.com/codefresh-io/venona/blob/master/scripts/migration.sh) to do that, check out which environment variables are required to run it.
56
-
```bash
57
-
# This script comes to migrate old versions of Venona installation ( version < 1.x.x ) to new version (version >= 1.0.0 )
58
-
# Please read carefully what the script does.
59
-
# There will be a "downtime" in terms of your builds targeted to this runtime environment
60
-
# Once the script is finished, all the builds during the downtime will start
61
-
# The script will:
62
-
# 1. Create new agent entity in Codefresh using Codefresh CLI - give it a name $CODEFRESH_AGENT_NAME, default is "codefresh"
63
-
# 2. Install the agent on you cluster pass variables:
64
-
# a. $VENONA_KUBE_NAMESPACE - required
65
-
# b. $VENONA_KUBE_CONTEXT - default is current-context
66
-
# c. $VENONA_KUBECONFIG_PATH - default is $HOME/.kube/config
67
-
# 3. Attach runtime to the new agent (downtime ends) - pass $CODEFRESH_RUNTIME_NAME - required
68
-
```
69
-
70
-
71
5
## Installation
72
6
73
7
### Prerequisite:
@@ -78,13 +12,42 @@ Migrating from Venona `< 1.x.x` to `> 1.x.x` is not done automatically, please u
78
12
*[Codefresh](https://codefresh-io.github.io/cli/) - Used to create resource in Codefresh
79
13
* Authenticated context exist under `$HOME/.cfconfig` or authenticate with [Codefesh CLI](https://codefresh-io.github.io/cli/getting-started/#authenticate)
| --build-annotations | stringArray | The kubernetes metadata.annotations as "key=value" to be used by venona build resources (default is no node selector) |
35
+
| --build-node-selector | string | The kubernetes node selector "key=value" to be used by venona build resources (default is no node selector) |
36
+
| --cluster-name | string | cluster name (if not passed runtime-environment will be created cluster-less); this is a friendly name used for metadata does not need to match the literal cluster name. Limited to 20 Characters. |
37
+
| --dry-run | boolean | Set to true to simulate installation |
38
+
| -h, --help | boolean | help for install |
39
+
| --in-cluster | boolean | Set flag if venona is been installed from inside a cluster |
40
+
| --kube-context-name | string | Name of the kubernetes context on which venona should be installed (default is current-context) [$KUBE_CONTEXT]|
41
+
| --kube-namespace | string |Name of the namespace on which venona should be installed [$KUBE_NAMESPACE]|
42
+
| --kube-node-selector | string | The kubernetes node selector "key=value" to be used by venona resources (default is no node selector) |
43
+
| --kubernetes-runner-type | boolean | Set the runner type to kubernetes (alpha feature) |
44
+
| --only-runtime-environment | boolean | Set to true to onlky configure namespace as runtime-environment for Codefresh |
45
+
| --runtime-environment | string | if --skip-runtime-installation set, will try to configure venona on current runtime-environment |
46
+
| --set-default | boolean | Mark the install runtime-environment as default one after installation |
47
+
| --skip-runtime-installation | boolean | Set flag if you already have a configured runtime-environment, add --runtime-environment flag with name |
48
+
| --storage-class | string | Set a name of your custom storage class, note: this will not install volume provisioning components |
49
+
| --tolerations | string | The kubernetes tolerations as JSON string to be used by venona resources (default is no tolerations). If prefixed with "@", loads from a file: @/tmp/tolerations.json |
50
+
| --venona-version | string | Version of venona to install (default is the latest) |
88
51
89
52
#### Install on cluster version < 1.10
90
53
* Make sure the `PersistentLocalVolumes`[feature gate](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) is turned on
@@ -115,11 +78,27 @@ Each one has own RBAC needs and therefore, created roles(and cluster-roles)
115
78
The resource descriptors are avaliable [here](https://github.com/codefresh-io/venona/tree/master/venonactl/templates/kubernetes)
116
79
List of the resources that will be created
117
80
* Agent (grouped by `/.*.venona.yaml/`)
118
-
* `service-account.re.yaml` - The service account that the Venona pod will use to create the resource on the runtime namespace(the resoucre installed on the runtime namespace)
119
-
* `role.re.yaml` - Allow to GET, CREATE and DELETE pods and persistentvolumeclaims
120
-
* `role-binding.re.yaml` - The agent is spinning up pods and pvc, this biniding binds `role.venona.yaml` to `service-account.venona.yaml`
81
+
* `service-account.venona.yaml` - The service account that the agent's pod will use at the end
121
82
* `cluster-role-binding.venona.yaml` - The agent discovering K8S apis by calling to `openapi/v2`, this ClusterRoleBinding binds bootstraped ClusterRole by Kubernetes `system:discovery` to `service-account.venona.yaml`. This role has only permissions to make a GET calls to non resources urls
83
+
* `role.venona.yaml` - Allow to GET, CREATE and DELETE pods and persistentvolumeclaims
84
+
* `role-binding.venona.yaml` - The agent is spinning up pods and pvc, this biniding binds `role.venona.yaml` to `service-account.venona.yaml`
122
85
* Runtime-environment (grouped by `/.*.re.yaml/`) Kubernetes controller that spins up all required resources to provide a good caching expirience during pipeline execution
123
86
* `service-account.dind-volume-provisioner.re.yaml` - The service account that the controller will use
124
87
* `cluster-role.dind-volume-provisioner.re.yaml` Defines all the permission needed for the controller to operate correctly
125
88
* `cluster-role-binding.dind-volume-provisioner.yaml` - Binds the ClusterRole to `service-account.dind-volume-provisioner.re.yaml`
89
+
90
+
### Access the cluster from executed pipeline
91
+
After a successfull installation of Venona, you'll be able to run a Codefresh pipeline on the configured cluster.
92
+
However, the pipeline itself dosent have any permission to connect to the hosted cluster.
93
+
To make it work you need to add the cluster to Codefresh (make sure the service acount has all the permissions you need)
0 commit comments