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
Copy file name to clipboardExpand all lines: pages/getting-started/advanced-config/sandboxing.md
+51-33Lines changed: 51 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,15 +38,30 @@ To set it up, you need to configure a few env vars as well, in particular:
38
38
39
39
To simplify permission management, you can also configure specific emails to automatically be made admins via another env var: `CONSOLE_ADMIN_EMAILS`. It should be a comma seperated list, and on login we'll provision that user to be an admin w/in your Plural console instance. We'd recommend only setting this for a small set of users, then using group bindings for permissions from then on
40
40
41
-
## Self-host git repos
41
+
## Self-Host Git Repos
42
42
43
-
If your enterprise cannot accept external communication to github, we recommend vendoring the above repos into your own source control provider (most have a mechanism for doing this, or can always build a cron to do it as well which we're happy to help with).
43
+
If your enterprise cannot accept external communication to github, we can provide a fully self-hosted git server built with [soft-serve](https://github.com/charmbracelet/soft-serve) with the required Plural repos pre-cloned at a compatible version for your instance of the console. This can be easily enabled via helm with the following values:
44
44
45
-
The deployment-operator and scaffolds repos were both designed to be forked or vendored. Once you've decided upon a strategy for both, you can configure them as repositories in your console, then go to https://{your-plural-console}/cd/settings/repositories and chose to rewire the relevant repos as needed. You can also just directly modify the url and authorization information for the https://github.com/pluralsh/deployment-operator.git and other repos if you'd like too.
45
+
```yaml
46
+
extraEnv:
47
+
- name: CONSOLE_DEPLOY_OPERATOR_URL
48
+
value: http://git-server.plrl-console:23232/deployment-operator.git # uses the git server for deployment operator updates
49
+
- name: CONSOLE_ARITIFACTS_URL
50
+
value: http://git-server.plrl-console:23232/scaffolds.git # uses the git server for our default service catalog setup artifacts
51
+
gitServer:
52
+
enabled: true
53
+
```
54
+
55
+
We publish a new version of this every release so you will simply need to ensure it's vendored and ready to pull on each helm upgrade. Many organizations have a natural way to vendor docker images, and since this is deployed as a fully self-contained container image, you can simply repurpose that process to managing the necessary git repositories as well.
46
56
47
-
To reconfigure a self-managed repo for compatibilities and deprecations, you'll need to fork or vendor https://github.com/pluralsh/console then configure the `GITHUB_RAW_URL` env var to point to the new location. The current default is https://raw.githubusercontent.com/pluralsh/console. This will then be appended w/ the branch + path (eg "${GITHUB_RAW_URL}/master/static/compatibilities) to fetch the relevant data for both uis.
57
+
If you want to vendor the repositories entirely, the upstream repos are here:
58
+
59
+
- https://github.com/pluralsh/deployment-operator
60
+
- https://github.com/pluralsh/scaffolds
48
61
49
-
Alternatively, we also bundle the compatibility and deprecation data in our docker images, and you can disable live polling github by setting the env var:
62
+
## Sandboxed Compatibility Tables
63
+
64
+
We also bundle the compatibility and deprecation data in our docker images, and you can disable live polling github by setting the env var:
50
65
51
66
```
52
67
CONSOLE_AIRGAP: "true"
@@ -63,6 +78,7 @@ Lots of enterprises have strict requirements around the docker registries they u
63
78
- pluralsh/deployment-controller
64
79
- pluralsh/deployment-operator
65
80
- pluralsh/agentk
81
+
- pluralsh/git-server (optional if you want to use our vendored git server)
66
82
67
83
The first three will be configured in the main console chart and are installed once in your management cluster, the latter two are needed for your deployment agent pod, and require a bit more advanced configuration to manage them in bulk.
68
84
@@ -110,42 +126,44 @@ First, you'll first want to use our agent settings to configure your helm update
110
126
111
127

112
128
113
-
When you're installing an agent on a new cluster, you'll want to specify your custom values so agent pods can properly bootstrap as well. You have two main options, install via cli or terraform. To configure custom values when using the cli, there's a `--values` flag that can point to a yaml file for your custom values, eg something like:
129
+
This can also be set via CRD using:
114
130
115
-
```bash
116
-
plural cd clusters bootstrap --name my-new-cluster --values ./agent-values.yaml
131
+
```yaml
132
+
apiVersion: deployments.plural.sh/v1alpha1
133
+
kind: DeploymentSettings
134
+
metadata:
135
+
name: global # this is a singleton resource that is always at this location
Copy file name to clipboardExpand all lines: pages/getting-started/first-steps/cli-quickstart.md
+4-36Lines changed: 4 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,45 +60,13 @@ We've also generated a README that should give an overview of how the repo can b
60
60
If you'd like to configure the plural cli to communicate with your new Console instance, the configuration process is pretty simple, you'll need to set your Console URL and Console token. Set them with:
61
61
62
62
```
63
-
PLURAL_CONSOLE_URL
64
-
PLURAL_CONSOLE_TOKEN
63
+
plural cd login
65
64
```
66
65
67
-
or alternatively you can run `plural cd login` to set them to a config file within `~/.plural`
68
-
69
66
{% callout severity="info" %}
70
-
`plural cd` is an alias for `plural deployments`, and can be used interchangeably within the CLI.
67
+
You'll need to generate an access token to perform this command, it'll be available at https://{your-console-url}/profile/access-tokens
71
68
{% /callout %}
72
69
73
-
## List Clusters, Services, Repositories
74
-
75
-
The following commands can help you list a lot of the clusters, services, etc that have already been registered:
76
-
77
-
```sh
78
-
plural cd clusters list
79
-
plural cd services list @{cluster-handle}
80
-
plural cd repositories list
81
-
```
82
-
83
-
## Import Git Repositories and Deploy services
84
-
85
-
You'll need to then import the Git repository containing your service and the associated Kubernetes manifests. To do so, use `plural cd repositories create`:
86
-
87
-
```sh
88
-
plural cd repositories create --url <REPO_URL>
89
-
```
90
-
91
-
Optionally add flags for Github authorization if necessary.
92
-
93
-
To then deploy your service, find the repo ID for the service you want to deploy using `plural cd repositories list`.
94
-
95
-
You can then use the `plural cd services create` command:
See deployed services with the `plural cd services list` command. Your service should populate initially as `Stale` until your components are Ready, at which point they will flip to `Healthy`.
70
+
or alternatively you can run the env vars `PLURAL_CONSOLE_URL` and `PLURAL_CONSOLE_TOKEN` or set them directly in the config file `~/.plural/console.yml`
103
71
104
-
Congratulations! You've deployed your first service with Plural.
72
+
To validate your cli is properly configured, simply run `plural cd clusters list`
2. Create a helm service referencing it in a folder currently being synced via GitOps:
85
85
86
86
```yaml
87
-
apiVersion: source.toolkit.fluxcd.io/v1beta2
88
-
kind: HelmRepository
89
-
metadata:
90
-
name: console
91
-
namespace: infra # or whatever namespace you prefer
92
-
spec:
93
-
interval: 5m0s
94
-
url: https://pluralsh.github.io/console
95
87
---
96
88
apiVersion: deployments.plural.sh/v1alpha1
97
89
kind: Cluster
@@ -110,14 +102,12 @@ spec:
110
102
namespace: plrl-console # this namespace must be correct
111
103
name: console
112
104
helm:
113
-
version: 0.3.x # can use floating versions with the .x syntax or pin to specific versions and automate w/ renovate
105
+
version: 0.x.x #VERSION (will be used below, 0.x.x means we float minor and patch versions)
114
106
chart: console
107
+
url: https://pluralsh.github.io/console
115
108
valuesFrom:
116
109
namespace: infra
117
-
name: console-values
118
-
repository:
119
-
namespace: infra
120
-
name: console # referenced helm repository above
110
+
name: console-values # maps to the secret we created above
121
111
clusterRef:
122
112
kind: Cluster
123
113
name: mgmt # must be set to your management cluster
@@ -126,3 +116,56 @@ spec:
126
116
127
117
You can then add additional values configuration using the `values` field of a helm service, or convert it to a multi-source service and source values files directly from git.
128
118
119
+
## Generate Console Update PRs instead of floating versions
120
+
121
+
If you want to pin your console version and generate PRs instead of auto-updating, you can use the following Plural CRs to automate that entirely:
122
+
123
+
```yaml
124
+
apiVersion: deployments.plural.sh/v1alpha1
125
+
kind: PrAutomation
126
+
metadata:
127
+
name: console-upgrader
128
+
spec:
129
+
name: console-upgrader
130
+
documentation: Updates the console service to a new helm version
131
+
updates:
132
+
regexReplacements:
133
+
- regex: "version: (.*) # VERSION" # the VERSION comment is simply to assist regex replacement here
134
+
file: bootstrap/console.yaml # rewrite to whatever the actual version of your console is
0 commit comments